Function at 0x517820
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84
mov dword [ebp - 0x18], 0xeca9e
mov dword [ebp - 0x10], 0x38f38
mov dword [ebp - 0x50], 0x507b5
mov dword [ebp - 0x1c], 0xd1dec
mov dword [ebp - 0x28], 0x559ca
mov dword [ebp - 0x48], 0x3e88a
mov dword [ebp - 0x4c], 0x808a6
mov dword [ebp - 0x24], 0x379fc
mov dword [ebp - 0x54], 0x48e45
mov dword [ebp - 0x34], 0x9eeed
mov dword [ebp - 0x20], 0xd7f53
mov dword [ebp - 8], 0x68425
mov dword [ebp - 0x3c], 0xbb5f4
mov dword [ebp - 0x40], 0x4aae7
mov dword [ebp - 0x2c], 0xac20a
mov dword [ebp - 0xc], 0x1338a
mov dword [ebp - 4], 0xd801
mov dword [ebp - 0x14], 0x84c1d
mov dword [ebp - 0x44], 0x6009d
mov dword [ebp - 0x5c], 0xb184d
mov dword [ebp - 0x58], 0x6991c
mov dword [ebp - 0x38], 0xa2398
mov dword [ebp - 0x30], 0xbcaf5
mov eax, dword [ebp - 0x4c]
xor eax, dword [ebp - 8]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x24]
add ecx, dword [ebp - 0x38]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x2c]
or edx, dword [ebp - 0x5c]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x28]
and eax, 0x608c2
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x2c]
xor ecx, dword [ebp - 0x54]
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x1c], 0x4d660
je 0x51797e
mov edx, dword [ebp - 0x30]
sub edx, 0x47ac3
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x38]
or eax, 0x9c987
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x58]
or edx, 0xa48d3
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x1c]
or eax, dword [ebp - 0x5c]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 0x1c]
mov dword [ebp - 4], ecx
cmp dword [ebp - 0x10], 0xefa12
jle 0x51797e
mov edx, dword [ebp - 0x24]
sub edx, 0x22cb6
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x54]
or eax, 0xd807e
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x10]
and ecx, 0x6cc7d
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0xc]
and edx, dword [ebp - 0x48]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x1c]
sub eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0xc]
and edx, 0x810a9
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x40]
xor eax, dword [ebp - 0x50]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x2c]
or ecx, dword [ebp - 0x10]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x18]
or edx, dword [ebp - 0x40]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x54]
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x14], 0xead63
je 0x517a4a
mov ecx, dword [ebp - 4]
add ecx, 0x62e14
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0xc]
sub edx, 0xbb8f0
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x30]
or eax, 0xec8f4
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0xc]
sub ecx, 0x69d1b
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x34]
sub edx, dword [ebp - 8]
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x58], 0xe9813
jge 0x517a4a
mov eax, dword [ebp - 0x38]
and eax, dword [ebp - 0x48]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x40]
or ecx, 0xa9ac7
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x18]
xor edx, dword [ebp - 0x54]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x30]
xor eax, dword [ebp - 0x38]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x58]
xor ecx, 0x4d96b
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0xc]
or edx, dword [ebp - 0x34]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x20], 0xd7f54
jl 0x5178ca
mov ecx, dword [ebp - 0x2c]
sub ecx, 0x9053a
push ecx
mov edx, dword [ebp - 0x58]
sub edx, 0xa6391
push edx
mov eax, dword [ebp - 4]
add eax, 0xf1163
push eax
mov ecx, dword [ebp - 0x14]
sub ecx, 0x505f3
push ecx
mov edx, dword [ebp - 0x2c]
sub edx, 0xb5404
push edx
call fcn.00414d80
add esp, 0x14
mov eax, dword [ebp - 0x20]
sub eax, 0x19259
push eax
call fcn.00440410
add esp, 4
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x20]
sub edx, 0xd5a01
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x40]
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x2c], 0xfdf3b
jge 0x517c51
mov ecx, dword [ebp - 0x34]
or ecx, dword [ebp - 4]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x30]
and edx, dword [ebp - 0x10]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x50]
or eax, 0xdb3af
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x38]
sub ecx, dword [ebp - 0x14]
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x44], 0x7e05b
jge 0x517bc7
mov edx, dword [ebp - 0xc]
add edx, 0x57ec8
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x38]
and eax, dword [ebp - 0x44]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x54], 0x1fa1c
je 0x517bc7
mov ecx, dword [ebp - 0x30]
or ecx, 0xe3da5
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp - 0x3c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x3c]
and eax, 0xd5fe1
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x44], 0x2fcc6
jge 0x517bc7
mov ecx, dword [ebp - 0x24]
or ecx, 0x303aa
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x58]
add edx, 0x2ab7b
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0xc]
sub eax, 0xdc387
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x28]
and ecx, 0x4da3f
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x10]
and edx, dword [ebp - 0x34]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x34]
xor eax, dword [ebp - 0x44]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x58], 0x2a5b3
je 0x517bc7
mov ecx, dword [ebp - 0xc]
sub ecx, dword [ebp - 0x40]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 8]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 8]
and ecx, 0xee877
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0xc]
add edx, 0x7e096
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x38]
and ecx, 0x12997
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x14]
and edx, 0xe6055
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0x3c]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x3c]
and ecx, dword [ebp - 0x34]
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0xc]
xor edx, 0x79f47
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x34]
sub eax, 0x93f1a
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x18], 0xb15cc
jne 0x517c4c
mov ecx, dword [ebp - 0x54]
add ecx, dword [ebp - 0x34]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x48]
add edx, dword [ebp - 0x58]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x24]
sub eax, 0x6d57b
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x58]
xor ecx, 0xb911
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x34]
or edx, dword [ebp - 0x18]
mov dword [ebp - 0x34], edx
jmp 0x517abf
mov eax, dword [ebp - 4]
sub eax, 0x70fad
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 0x14]
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x28], 0x77faf
jne 0x517d2d
mov edx, dword [ebp - 0x5c]
xor edx, 0x800f4
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x1c]
sub eax, 0xbefac
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x3c]
and ecx, 0x4b642
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x10]
and edx, 0x57c43
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x28]
xor eax, 0xe746b
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x38], 0x748f1
jne 0x517d2d
mov ecx, dword [ebp - 0x10]
and ecx, dword [ebp - 8]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x50]
or edx, 0x7bac6
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x10]
sub eax, 0x98de
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x44]
and ecx, dword [ebp - 0x48]
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x14], 0x5d59b
jge 0x517d2d
mov edx, dword [ebp - 0x10]
sub edx, 0x609ee
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x18]
xor eax, 0x521d8
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x2c]
sub ecx, 0xa11f4
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x14]
and edx, 0x947aa
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x38]
or eax, 0xde5da
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x50]
xor ecx, 0xa6174
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x20]
sub eax, 0x33345
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x4c]
xor ecx, dword [ebp - 0x30]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x5c]
sub edx, 0x921d0
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 8]
and eax, dword [ebp - 0x14]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x48]
or ecx, dword [ebp - 0x18]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x58]
add edx, 1
mov dword [ebp - 0x58], edx
cmp dword [ebp - 0x30], 0xfbdb6
jl 0x517c51
mov eax, dword [ebp - 0x24]
sub eax, 0x723b0
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x24]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x34]
or edx, 0x8332b
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0xc], 0xa6e13
jle 0x517e1e
mov eax, dword [ebp - 0x18]
or eax, dword [ebp - 0x3c]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 4]
or ecx, dword [ebp - 0x5c]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x2c]
and edx, 0xe73fa
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x54], 0x7b9e0
je 0x517e1e
mov eax, dword [ebp - 0xc]
add eax, 0x18785
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x38]
xor ecx, dword [ebp - 0x38]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x4c]
and edx, 0x7db15
mov dword [ebp - 0x4c], edx
cmp dword [ebp - 0x24], 0xdf250
jge 0x517e1e
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x14]
or ecx, dword [ebp - 0x44]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x4c]
add edx, 0x4dfbf
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x5c], eax
call fcn.00450050
nop
cmp dword [ebp - 0x58], 0xed9e1
jge 0x517f68
mov ecx, dword [ebp - 0x34]
xor ecx, 0x90d80
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x3c]
sub edx, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x30], 0x55573
jne 0x517e81
mov eax, dword [ebp - 4]
sub eax, 0xdcfee
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
xor ecx, dword [ebp - 0x38]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x24]
or edx, 0x950d8
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x58]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x2c]
sub ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x58]
add edx, 1
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0xc]
or eax, 0x61eb8
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 4]
and ecx, 0xad8f5
mov dword [ebp - 4], ecx
cmp dword [ebp - 0x30], 0x45efe
jne 0x517f63
mov edx, dword [ebp - 0x48]
xor edx, dword [ebp - 0x14]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x34]
xor eax, dword [ebp - 0x40]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x28]
or ecx, 0x28c19
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x30], 0xa95de
jne 0x517f63
mov eax, dword [ebp - 0x40]
and eax, dword [ebp - 0x1c]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x4c]
add ecx, 0xbda1c
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x14]
or edx, 0x89348
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x10]
add eax, 0xd5328
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x1d6e1
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x1c], 0xc3399
jge 0x517f63
mov edx, dword [ebp - 0x5c]
and edx, dword [ebp - 0x1c]
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x44]
and eax, 0x98c4b
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x30]
xor ecx, dword [ebp - 8]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x14]
and edx, 0x8f3d9
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0xc]
and eax, 0x1dbc0
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x5c]
and ecx, 0xc76be
mov dword [ebp - 0x5c], ecx
jmp 0x517e24
mov edx, dword [ebp - 0x24]
sub edx, dword [ebp - 4]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x10]
xor eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x50]
or ecx, dword [ebp - 0x58]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x54]
and edx, dword [ebp - 0x3c]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x44]
add ecx, 0x74153
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x1c]
sub edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x28]
add eax, 1
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x18]
and ecx, dword [ebp - 8]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x54]
xor edx, dword [ebp - 0x1c]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x50]
xor eax, 0x647c4
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x38]
sub ecx, 0x8633f
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 4]
xor edx, dword [ebp - 0x24]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x3c]
and eax, 0xbcf28
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x28], 0x408c3
jl 0x517f68
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x38]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x28]
and edx, dword [ebp - 8]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x28]
add ecx, 0xa813
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x10]
or edx, 0xa5b52
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x18]
sub eax, 0x9eb49
mov dword [ebp - 0x18], eax
mov ecx, dword [0x722394]
xor ecx, 0x7d11
add ecx, dword [0x7a7228]
mov dword [ebp - 0x6c], ecx
mov edx, dword [ebp - 0x44]
and edx, 0x7d50e
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x58]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x58], 0xf965
jle 0x5180f2
mov ecx, dword [ebp - 0x44]
or ecx, dword [ebp - 0x10]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x38]
sub edx, dword [ebp - 0xc]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x1c]
or eax, dword [ebp - 0x48]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
xor ecx, 0xb55c6
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x3c]
sub edx, 0x97373
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0xc]
and eax, 0xb463f
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0x23989
jge 0x5180f2
mov ecx, dword [ebp - 0x2c]
and ecx, dword [ebp - 0x54]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x58]
xor edx, dword [ebp - 0x28]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x30]
or eax, dword [ebp - 0xc]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x14]
sub ecx, 0x378b1
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x3c]
and edx, dword [ebp - 0x40]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x4c], 0x64389
jge 0x5181d1
mov ecx, dword [ebp - 0x28]
and ecx, 0x5700f
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x44]
sub edx, 0x26b9
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x40]
or eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x38]
sub ecx, 0x59b99
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x30]
xor edx, 0x2cb10
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
add eax, 0x117af
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x50]
or ecx, dword [ebp - 0x24]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x4c]
add edx, 1
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x48]
sub eax, 0xa11a4
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0xc]
or ecx, dword [ebp - 0x10]
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0x34], 0xd7bc2
jne 0x5181cc
mov edx, dword [ebp - 0x20]
and edx, 0xdfd42
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 8]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x1c]
or ecx, 0x26001
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x30]
sub edx, dword [ebp - 0x38]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x58]
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x48], 0xe570a
jle 0x5181cc
mov ecx, dword [ebp - 0x20]
and ecx, dword [ebp - 0x48]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x24]
or edx, 0xe3993
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 8]
sub eax, 1
mov dword [ebp - 8], eax
jmp 0x5180f2
mov ecx, dword [ebp - 0x10]
xor ecx, dword [ebp - 0x48]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x38]
xor edx, 0x4ee87
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0x10]
mov dword [ebp - 4], eax
cmp dword [ebp - 0x28], 0xccc69
jne 0x5183a0
mov ecx, dword [ebp - 0x44]
add ecx, 0xf0a1f
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x20]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x30]
xor eax, dword [ebp - 0xc]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x18]
or ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 4]
xor edx, dword [ebp - 0xc]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xae7ec
jle 0x5183a0
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x44]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x50]
xor edx, dword [ebp - 0x24]
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x44]
xor eax, 0x28572
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x20], 0x24573
jne 0x5183a0
mov ecx, dword [ebp - 0x50]
add ecx, 0x2981a
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x40]
and edx, 0x580b7
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x3c]
or eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x2c]
xor ecx, dword [ebp - 0x48]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x10]
xor edx, 0x1a29b
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x5c]
or eax, dword [ebp - 0x2c]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x28], 0x3e06f
jle 0x5183a0
mov ecx, dword [ebp - 0x58]
sub ecx, dword [ebp - 0x14]
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x24]
and edx, 0x36675
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x50]
sub eax, 0x32f34
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x24]
add ecx, dword [ebp - 0x58]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x40]
xor edx, 0xc402a
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x18]
and eax, 0xedea6
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x54]
xor ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 4]
sub edx, 0xca5d
mov dword [ebp - 4], edx
cmp dword [ebp - 0x5c], 0xb66a6
jge 0x5183a0
mov eax, dword [ebp - 0x28]
or eax, dword [ebp - 0xc]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x24]
sub ecx, dword [ebp - 0x14]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 4]
or edx, dword [ebp - 8]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x28], 0x597ad
jne 0x5183a0
mov ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x5c]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x20]
or edx, dword [ebp - 0x54]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x5c]
and eax, 0xc4710
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0xc]
or edx, 0x931a
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x18]
xor eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x24]
sub ecx, dword [ebp - 0xc]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x20]
sub edx, 0xd8de
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x18]
add eax, 1
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x58]
and edx, 0xb2d8b
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x24]
add eax, 0x55433
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x30]
or ecx, dword [ebp - 0x14]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x28]
and edx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x58]
add eax, 0x7a126
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x48]
xor ecx, dword [ebp - 0x30]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x3c]
and edx, dword [ebp - 0x20]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x34]
and eax, dword [ebp - 0x50]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x40], 0x39e6e
je 0x51841c
mov ecx, dword [ebp - 0x50]
or ecx, dword [ebp - 4]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x28]
sub edx, dword [ebp - 0x28]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x14]
sub eax, 1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x1c], 0x14aa3a
jl 0x5181d1
mov dword [ebp - 0x60], 0
jmp 0x51843b
mov ecx, dword [ebp - 0x60]
add ecx, 1
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x28]
add edx, 1
cmp dword [ebp - 0x60], edx
jge 0x518509
mov eax, dword [ebp - 0x48]
xor eax, dword [ebp - 0x24]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 8]
or ecx, dword [ebp - 0x28]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x38]
sub edx, dword [ebp - 0x5c]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x48]
xor eax, 0x8c483
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0xc4084
je 0x518504
mov ecx, dword [ebp - 8]
and ecx, dword [ebp - 0x34]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x2c]
xor edx, 0x3bde8
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x40]
sub eax, 0x27da6
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x14]
xor ecx, 0xb5ff0
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x40]
or edx, dword [ebp - 0xc]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x20]
sub eax, 0x934d6
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x3c], 0x43544
jle 0x518504
mov ecx, dword [ebp - 0x48]
xor ecx, dword [ebp - 0x14]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x4c]
sub edx, 0x9f17
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x48]
sub eax, 0x8aed9
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x44]
and ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x24]
sub edx, 0x9a89b
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 8]
sub eax, 1
mov dword [ebp - 8], eax
jmp 0x518432
mov ecx, dword [ebp - 0x20]
sub ecx, 0xb533f
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x3c]
xor edx, 0x23670
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x28]
xor eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x40], 0x11426
je 0x51856e
mov ecx, dword [ebp - 4]
or ecx, 0x602fe
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x54]
xor edx, dword [ebp - 4]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x2c]
or ecx, dword [ebp - 0x58]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x58]
and edx, dword [ebp - 0xc]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x1c]
sub eax, 0xe496f
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x64], 0
jmp 0x518580
mov ecx, dword [ebp - 0x64]
add ecx, 1
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0xc]
sub edx, 0xa5f7d
cmp dword [ebp - 0x64], edx
jge 0x5185ed
mov eax, dword [ebp - 0x18]
and eax, 0x40edf
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x50]
xor ecx, 0x1e07b
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x1c]
or edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x48]
xor eax, 0xce24f
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x3c]
or ecx, dword [ebp - 0x20]
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x5c]
and edx, 0xcc988
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x2c]
or eax, 0x77c3d
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
xor edx, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], edx
jmp 0x518577
mov eax, dword [0x72238c]
xor eax, 0x3d8c
push eax
mov ecx, dword [0x722390]
xor ecx, 0x4200
push ecx
mov edx, dword [ebp - 0x6c]
push edx
push 0
call fcn.00539da0
add esp, 0x10
mov dword [0x7a7224], eax
mov eax, dword [ebp - 0x38]
and eax, 0x4c9f8
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x34]
and ecx, 0xd3d08
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x40]
or edx, dword [ebp - 0x30]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x24]
sub ecx, 0x12658
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x10]
sub edx, 0x72b44
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 4]
add eax, 0x9f960
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x58]
xor ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0xc]
and edx, dword [ebp - 0x5c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x10]
and eax, dword [ebp - 0x38]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x10]
and edx, dword [ebp - 0x14]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x20]
and eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x3c]
add ecx, dword [ebp - 4]
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x18], 0xcf07b
jne 0x518774
mov edx, dword [ebp - 0x34]
or edx, 0xa278f
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x18]
add eax, 0x4b5da
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x58]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x44]
sub edx, dword [ebp - 8]
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x18], 0x67c00
jne 0x518774
mov eax, dword [ebp - 0x18]
or eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x54]
or ecx, 0xa9e37
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x44]
or edx, dword [ebp - 0x4c]
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x58]
and ecx, dword [ebp - 0x20]
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x28]
sub eax, 0x1240a
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x3c], 0x3b488
jge 0x518774
mov ecx, dword [ebp - 0xc]
or ecx, dword [ebp - 0x28]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x28]
and edx, dword [ebp - 0x20]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x24]
or eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x58]
sub edx, dword [ebp - 0x3c]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x54]
add eax, 0x69ca7
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x44]
and ecx, dword [ebp - 0x14]
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x1c], 0x1fef00
jl 0x518618
mov edx, dword [ebp - 0x1c]
sub edx, 0x14b11b
push edx
mov eax, dword [ebp - 0x10]
add eax, 0xa329d
push eax
mov ecx, dword [ebp - 0x30]
sub ecx, 0x99f1d
push ecx
mov edx, dword [ebp - 0x54]
add edx, 0x16bae9
push edx
mov eax, dword [ebp - 0x48]
sub eax, 0x4614e
push eax
mov ecx, dword [ebp - 0x2c]
add ecx, 0x87908
push ecx
call fcn.00429fc0
add esp, 0x18
cmp dword [ebp - 0x38], 0x4c8f1
jge 0x518a24
mov edx, dword [ebp - 0x28]
or edx, dword [ebp - 0x14]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x10]
and eax, dword [ebp - 0x34]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x18]
xor ecx, 0xb0ea7
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x1c]
or edx, dword [ebp - 0x5c]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x34]
xor ecx, 0x67c0
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x14]
xor edx, dword [ebp - 0x10]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x24]
add eax, 0x92cc3
mov dword [ebp - 0x24], eax
cmp dword [ebp - 4], 0xe446d
jge 0x51896c
mov ecx, dword [ebp - 0x50]
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 8]
or edx, 0x86300
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0x18d83
je 0x51896c
mov eax, dword [ebp - 0xc]
sub eax, 0x25da7
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x48]
sub ecx, 0xaaad4
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x10]
xor edx, 0x91f70
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x24]
xor eax, dword [ebp - 0x50]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 4], 0x9f8dc
jle 0x51896c
mov ecx, dword [ebp - 0x18]
and ecx, 0x6d212
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x4c]
xor edx, dword [ebp - 0x14]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x24]
sub eax, 0x5af47
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x5c]
add ecx, 0x9e33c
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x54]
xor edx, dword [ebp - 0x20]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x14]
xor ecx, 0x63a00
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x44]
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x54], 0xd7331
jne 0x51896c
mov eax, dword [ebp - 0x18]
xor eax, 0x9e363
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x54]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 4]
xor edx, dword [ebp - 0x38]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x34]
add eax, 0xdfc4f
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 8]
add ecx, 0xc33e7
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x18]
and edx, 0xa69aa
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x24]
add eax, 0x7f8b2
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x34]
add ecx, dword [ebp - 4]
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x40], 0x62154
jne 0x51896c
mov edx, dword [ebp - 0x44]
and edx, 0xc1bda
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x54]
or eax, dword [ebp - 8]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x50]
xor ecx, dword [ebp - 0x40]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x5c]
sub edx, 1
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x14]
sub ecx, 0xbbbd5
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x50]
or edx, dword [ebp - 0x3c]
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 8]
and eax, 0x60591
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 0x30]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x18]
and edx, 0xc7436
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x14], 0x908ea
je 0x518a1f
mov eax, dword [ebp - 0x28]
or eax, dword [ebp - 0x40]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x14]
or ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x5c]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x3c]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 4]
and ecx, 0xb54f7
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x3c]
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x14]
or eax, dword [ebp - 0x4c]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
xor ecx, dword [ebp - 0x50]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x4c]
and edx, 0x12532
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x40]
and eax, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x20]
or ecx, 0xec395
mov dword [ebp - 0x20], ecx
jmp 0x5187c3
mov edx, dword [ebp - 0x50]
or edx, dword [ebp - 0x4c]
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x48]
sub eax, 0x3ab00
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x30]
or ecx, dword [ebp - 0x24]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x20]
or edx, 0x109f5
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 8]
xor eax, 0x6a9e0
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x34]
sub ecx, 0x323a1
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x48]
sub edx, 0x97402
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 4]
and eax, dword [ebp - 0x44]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x28]
or ecx, dword [ebp - 0x54]
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x48], 0x9a0a1
jge 0x518aba
mov edx, dword [ebp - 0x20]
or edx, dword [ebp - 0x44]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x2c]
or eax, 0x73d35
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0xc]
sub ecx, dword [ebp - 0x40]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x48]
xor edx, dword [ebp - 8]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x28]
add eax, 1
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x5c]
add ecx, 1
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x34]
sub edx, dword [ebp - 0x18]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x3c]
or eax, dword [ebp - 0x2c]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x10]
or ecx, dword [ebp - 8]
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x28], 0x1ab8a
jne 0x518b3b
mov edx, dword [ebp - 0x2c]
or edx, dword [ebp - 0xc]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0xc]
xor eax, dword [ebp - 0x38]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 0x38]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
sub edx, dword [ebp - 0x3c]
mov dword [ebp - 4], edx
cmp dword [ebp - 0x40], 0x4cae
jge 0x518b3b
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 4]
and ecx, 0x1e0a3
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x38]
or edx, dword [ebp - 0x14]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 0x5c], 0xc009
jl 0x518a58
mov ecx, dword [ebp - 0x2c]
add ecx, 0x2afbe
push ecx
mov edx, dword [ebp - 0x44]
sub edx, 0xe13e6
push edx
mov eax, dword [ebp - 0x4c]
add eax, 0xa9328
push eax
mov ecx, dword [ebp - 0x14]
sub ecx, 0x4357c
push ecx
mov edx, dword [ebp - 0x14]
sub edx, 0x4243f
push edx
mov eax, dword [ebp - 0x18]
sub eax, 0xbd870
push eax
call fcn.00407e50
add esp, 0x18
mov ecx, dword [ebp - 4]
or ecx, 0x89acb
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x18]
sub edx, 0x1978e
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
and eax, 0xe2eb5
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x44]
xor ecx, dword [ebp - 0x18]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0x44]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x50]
and eax, dword [ebp - 0x5c]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 4]
xor ecx, 0x2b053
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x4c]
sub edx, 1
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 4]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x14]
xor ecx, 0xbab66
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 8]
or eax, dword [ebp - 0x20]
mov dword [ebp - 8], eax
call fcn.00429780
call fcn.00462fa0
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x50]
or ecx, dword [ebp - 0x24]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x40]
or edx, 0x5fc20
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x54]
add ecx, dword [ebp - 0x50]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x54]
xor edx, dword [ebp - 0x34]
mov dword [ebp - 0x54], edx
cmp dword [ebp - 0x40], 0xcdb7b
jle 0x518cdc
mov eax, dword [ebp - 0x1c]
or eax, 0xbd82c
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x48]
and ecx, dword [ebp - 0x18]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x34]
xor edx, dword [ebp - 0x10]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x4c]
or eax, dword [ebp - 0x1c]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0x34]
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x58], 0xc54cb
je 0x518cdc
mov edx, dword [ebp - 0x28]
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x5c]
xor ecx, 0x60af8
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x54]
xor edx, dword [ebp - 0x2c]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x34]
sub eax, 0x2c554
mov dword [ebp - 0x34], eax
cmp dword [ebp - 8], 0x312ec
jge 0x518cdc
mov ecx, dword [ebp - 0x4c]
xor ecx, dword [ebp - 0x58]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x5c]
xor edx, dword [ebp - 4]
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x40]
add eax, 1
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x5c]
sub ecx, 0x359df
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x24]
and edx, 0x25d4
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x30], 0x86164
jne 0x518e7b
mov eax, dword [ebp - 0x30]
and eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 4]
or ecx, 0x38f2f
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x2c]
sub edx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x10], 0x4d96b
jge 0x518e7b
mov eax, dword [ebp - 0x20]
xor eax, 0x17c1a
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x40]
sub ecx, 0x313c9
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x3c]
sub edx, dword [ebp - 8]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x14]
or eax, 0x173c4
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x48]
and ecx, 0x2d9e
mov dword [ebp - 0x48], ecx
cmp dword [ebp - 0x24], 0xaeb93
jle 0x518e7b
mov edx, dword [ebp - 0x4c]
xor edx, dword [ebp - 0x18]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x30]
xor eax, 0x2bd28
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 4]
or ecx, dword [ebp - 0x24]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x3c]
and edx, 0x11e4c
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x20], 0xb30b
jne 0x518e7b
mov eax, dword [ebp - 0x10]
xor eax, 0x5743e
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x30]
sub ecx, 0xd3ba0
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x54]
sub edx, 0x5a0f
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x30]
and eax, 0xb8bb9
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x28], 0x1f253
je 0x518e7b
mov ecx, dword [ebp - 0x30]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x2c]
and edx, 0xf3ea2
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x4c], 0x49c06
je 0x518e7b
mov eax, dword [ebp - 0x38]
sub eax, 0xc0377
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x5c]
add ecx, 0xbdf01
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x54]
xor edx, dword [ebp - 0x18]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x4c]
xor eax, dword [ebp - 0x50]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x28]
or ecx, 0xbb158
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x5c]
and edx, 0xdad83
mov dword [ebp - 0x5c], edx
cmp dword [ebp - 0x4c], 0xa10c6
jne 0x518e7b
mov eax, dword [ebp - 0x2c]
or eax, 0x147e3
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x24]
sub ecx, 0x3d449
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 8]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 8]
and eax, dword [ebp - 0x34]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
or ecx, dword [ebp - 0x28]
mov dword [ebp - 4], ecx
mov dword [ebp - 0x68], 0
jmp 0x518e8d
mov edx, dword [ebp - 0x68]
add edx, 1
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x50]
sub eax, 0x12fc10
cmp dword [ebp - 0x68], eax
jge 0x518ef2
mov ecx, dword [ebp - 0x4c]
xor ecx, dword [ebp - 0x38]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x48]
sub edx, dword [ebp - 0x50]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x34]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x40], 0xabb22
jge 0x518ef0
mov ecx, dword [ebp - 0x44]
and ecx, dword [ebp - 0x28]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x38]
sub edx, 0x1b1ad
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x2c]
add eax, 0x2668
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x34]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
jmp 0x518e84
call fcn.00423ca0
nop
mov eax, dword [ebp - 8]
add eax, 0x6948f
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x44]
sub ecx, dword [ebp - 0x28]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x40]
or edx, 0x1fff3
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x10]
xor ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x14], 0xc6c54
jne 0x519049
mov edx, dword [ebp - 8]
add edx, 0x8e13f
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
xor eax, 0x79d43
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x3c]
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x24]
xor edx, 0x910d
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x40], 0xafb01
jle 0x519049
mov eax, dword [ebp - 8]
xor eax, dword [ebp - 0x38]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x40]
xor ecx, 0x925af
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x5c]
and edx, dword [ebp - 0x3c]
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 8]
mov dword [ebp - 0x40], ecx
cmp dword [ebp - 0x50], 0xb0a44
jne 0x519049
mov edx, dword [ebp - 0x4c]
or edx, 0x9d80
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x54]
sub eax, 0x30d77
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x20]
xor ecx, 0xac046
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x38], 0x2a7b4
jle 0x519049
mov edx, dword [ebp - 0x30]
xor edx, dword [ebp - 0x44]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x10]
add eax, 0x53d4b
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x4c]
xor ecx, dword [ebp - 0x24]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x48]
or edx, 0x974f3
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x24], 0x44256
jge 0x519049
mov ecx, dword [ebp - 0x30]
or ecx, 0xd706f
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x44]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x34]
and eax, 0x3ac2e
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 8]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x40]
sub edx, 0x84e7c
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x18]
add eax, 1
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 8]
add edx, 0x3086a
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
or eax, 0x3e825
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x5c]
or ecx, 0x63190
mov dword [ebp - 0x5c], ecx
cmp dword [ebp - 0x18], 0x5898
jl 0x518ef8
cmp dword [ebp - 0x18], 0x5899
jge 0x51915e
mov edx, dword [ebp - 0x3c]
sub edx, 0xb7bf6
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x24]
or eax, dword [ebp - 0x4c]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x4c], 0xd270
jge 0x5190e2
mov ecx, dword [ebp - 8]
and ecx, 0xb66f3
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x10]
add edx, 0xb5137
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x24]
sub eax, 0x2e1c8
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x18]
add edx, 1
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 4]
add eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x38]
and edx, 0x2d
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x10]
and eax, dword [ebp - 0x3c]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x5c]
sub ecx, dword [ebp - 0x28]
mov dword [ebp - 0x5c], ecx
cmp dword [ebp - 0x30], 0xd3c75
jge 0x519159
mov edx, dword [ebp - 0x30]
xor edx, dword [ebp - 0x18]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0xc]
or eax, dword [ebp - 0x5c]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x48]
and ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x20]
sub eax, 0xe8a3b
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x50]
xor ecx, dword [ebp - 0x38]
mov dword [ebp - 0x50], ecx
jmp 0x51908b
cmp dword [ebp - 0x20], 0x252e5a
jge 0x5193a7
mov edx, dword [ebp - 0x18]
add edx, 0x6eabf
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 8]
xor eax, dword [ebp - 0x54]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x97779
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x58]
add edx, 0xb772d
mov dword [ebp - 0x58], edx
cmp dword [ebp - 4], 0x6722d
je 0x519366
mov eax, dword [ebp - 0x18]
and eax, 0xb1093
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x34]
xor ecx, dword [ebp - 0x48]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x2c]
sub edx, 0x43392
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x1c]
or eax, 0xa42c2
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x3c], 0x9d04c
jne 0x519366
mov ecx, dword [ebp - 0x40]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x54]
add edx, 0x1f5f6
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x24]
sub ecx, dword [ebp - 0x50]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0xc]
or edx, 0x3d8b8
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 8]
and eax, 0x441d0
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x50]
xor ecx, 0xcc2cc
mov dword [ebp - 0x50], ecx
cmp dword [ebp - 8], 0xdde47
jge 0x519366
mov edx, dword [ebp - 0x38]
add edx, 0x6ebca
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0xc]
sub eax, 0x3e370
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x38]
and ecx, 0x968fc
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0x10]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 8]
xor ecx, 0xe3e3a
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x34]
sub edx, dword [ebp - 0x58]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x28]
and eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x30], 0xa309
jle 0x519366
mov ecx, dword [ebp - 0x34]
and ecx, dword [ebp - 0x10]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0xc]
xor edx, dword [ebp - 0x1c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x48]
and eax, dword [ebp - 0x40]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x48]
and ecx, dword [ebp - 0x30]
mov dword [ebp - 0x48], ecx
cmp dword [ebp - 4], 0x4cf3d
jle 0x519366
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x3c]
xor eax, 0x8f558
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x54]
or ecx, 0xb1529
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x3c]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x1c]
or eax, 0x490b7
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x38], 0x773b2
jge 0x519366
mov ecx, dword [ebp - 8]
xor ecx, dword [ebp - 4]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x3c]
add edx, 0xd1040
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x58]
xor eax, 0x2eeb5
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x34]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0x14]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
xor eax, 0xe85fd
mov dword [ebp - 8], eax
cmp dword [ebp - 0x10], 0xece0c
jne 0x519366
mov ecx, dword [ebp - 0x58]
and ecx, dword [ebp - 8]
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x40]
and edx, 0x78058
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x5c]
sub edx, 0xd36fd
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x44]
or eax, dword [ebp - 0x58]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x54]
sub ecx, 0x7d2b2
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x28]
or edx, dword [ebp - 0x50]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 8]
or eax, dword [ebp - 0x2c]
mov dword [ebp - 8], eax
jmp 0x51915e
cmp dword [ebp - 0xc], 0xfffc5678
jge 0x519567
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0x54]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x14]
and edx, dword [ebp - 0x3c]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x34]
sub eax, 0x676e6
mov dword [ebp - 0x34], eax
cmp dword [ebp - 8], 0x8c1b0
jge 0x5193f8
mov ecx, dword [ebp - 0x30]
and ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x4c]
and edx, 0x3260a
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
or eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x58]
or edx, 0xc1280
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x3c]
and eax, 0x41b85
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x1c]
and ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x18]
xor edx, 0x5ef9d
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x20]
or eax, 0xb9a9e
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 4]
and ecx, 0xcf137
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x4c]
add edx, 0xbd455
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x50]
and eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x3c], 0x9c591
jle 0x519562
mov ecx, dword [ebp - 0x4c]
and ecx, dword [ebp - 0x20]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x3c]
and edx, 0x8b06
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x34]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 4]
or ecx, 0xdaede
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x50]
and edx, dword [ebp - 0x38]
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 8]
xor eax, 0x23c6f
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x44]
and ecx, 0xb7a81
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 4]
xor edx, 0x511c4
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x20]
or eax, dword [ebp - 0x54]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x6820e
jle 0x519562
mov ecx, dword [ebp - 0x54]
and ecx, dword [ebp - 0x54]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x44]
xor edx, dword [ebp - 0x38]
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x28], 0xd2652
jne 0x519562
mov eax, dword [ebp - 0x5c]
or eax, dword [ebp - 0x48]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x40]
add ecx, 0xec235
mov dword [ebp - 0x40], ecx
cmp dword [ebp - 0x54], 0xadd68
jge 0x519562
mov edx, dword [ebp - 0x14]
and edx, dword [ebp - 0x48]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x40]
and eax, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x44]
xor ecx, dword [ebp - 0x24]
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x14], 0x2ad19
jge 0x519562
mov edx, dword [ebp - 8]
xor edx, 0x9130e
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x28]
and eax, dword [ebp - 4]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x24]
xor ecx, dword [ebp - 4]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x34]
and edx, 0x5b92f
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x54]
add eax, 1
mov dword [ebp - 0x54], eax
jmp 0x5193a7
mov ecx, dword [ebp - 0x18]
or ecx, 0x9e3d3
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x24]
or edx, dword [ebp - 0x20]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x34]
xor eax, dword [ebp - 0x5c]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 4]
or ecx, 0x7170e
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0x44]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x58]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 4], 0x8929c
jne 0x519843
mov ecx, dword [ebp - 0x14]
xor ecx, 0x51285
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x34]
add edx, 0x6b8c9
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x4c]
or eax, dword [ebp - 0x18]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 0xc]
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 4], 0x3f9de
je 0x519843
mov edx, dword [ebp - 0x20]
sub edx, dword [ebp - 0x20]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
and ecx, dword [ebp - 0x50]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x2c]
and edx, 0xa9503
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x50]
add eax, dword [ebp - 0x34]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x10], 0xb4000
jge 0x519843
mov ecx, dword [ebp - 0x40]
sub ecx, 0x69928
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x38]
sub edx, 0xa9e62
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x48]
and eax, dword [ebp - 0x4c]
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x4c], 0x7705f
jne 0x519843
mov ecx, dword [ebp - 0x38]
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x2c]
sub edx, 0x51360
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x14]
add eax, 0x797a
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
add ecx, 0xf753
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x24]
and edx, dword [ebp - 0x24]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0x4c]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x20], 0xa46f6
jne 0x519843
mov ecx, dword [ebp - 0x28]
add ecx, 0x2bf93
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x2c]
xor edx, 0x7d984
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 4]
sub ecx, 0x6b26f
mov dword [ebp - 4], ecx
cmp dword [ebp - 0x54], 0x53bdf
jne 0x519843
mov edx, dword [ebp - 0x30]
and edx, 0xa359d
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x24], 0x7fdaf
je 0x519843
mov ecx, dword [ebp - 0xc]
or ecx, 0xefb1d
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x40]
sub edx, dword [ebp - 0x30]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x5c], 0x956ba
jge 0x519843
mov ecx, dword [ebp - 0x44]
or ecx, 0xf1642
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x4c]
or edx, 0x55f69
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x5c]
or eax, 0x7dbb5
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x38]
xor ecx, dword [ebp - 0x18]
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x48], 0xb954
jne 0x519843
mov edx, dword [ebp - 0x1c]
add edx, 0x6e9d1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x4c]
or eax, dword [ebp - 8]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x14]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x20]
xor edx, 0x8e729
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x34], 0x14a13
jle 0x519843
mov eax, dword [ebp - 0x30]
sub eax, 0x18996
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x20]
or edx, 0x17878
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x58]
xor ecx, 0x9275
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x14]
xor edx, dword [ebp - 0x4c]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0x40]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x34]
or ecx, dword [ebp - 0x34]
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x2c], 0x499e8
jne 0x519843
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x40]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x4c]
xor ecx, dword [ebp - 0x38]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x34]
add edx, dword [ebp - 0x40]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x14]
and eax, dword [ebp - 0x3c]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x40]
or edx, dword [ebp - 0x4c]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0xc]
or eax, 0xa408f
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x1c]
sub ecx, 0x71e83
mov dword [ebp - 0x1c], ecx
mov edx, dword [0x722388]
xor edx, 0x102c1
mov dword [ebp - 0x7c], edx
lea eax, [ebp - 0x6c]
push eax
mov ecx, dword [0x7a7224]
push ecx
lea edx, [ebp - 0x7c]
push edx
push 0xd837
push 0x4e6d
push 0xf878
push 0xeccb
call fcn.00463640
add esp, 0x10
push eax
push 0x7a722c
mov eax, dword [ebp - 0x80]
push eax
call fcn.004a5e80
add esp, 0x18
cmp dword [ebp - 0x30], 0x1efe56
jge 0x5199c2
mov ecx, dword [ebp - 0x10]
sub ecx, 0x2fba5
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x40]
xor edx, dword [ebp - 0x4c]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x44]
or eax, dword [ebp - 8]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x1c]
sub ecx, 0x26d07
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x10]
or edx, dword [ebp - 0x5c]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x48]
and eax, dword [ebp - 0x14]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x54]
sub ecx, 1
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 4]
or eax, 0x718bc
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0xc]
and ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x18]
xor edx, dword [ebp - 0x58]
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x48], 0x836e8
jle 0x5199bd
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x24]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x24]
and edx, 0xa03d5
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x28]
xor eax, dword [ebp - 4]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x14], 0x91e21
jge 0x5199bd
mov ecx, dword [ebp - 0x4c]
xor ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x24]
or edx, dword [ebp - 0x14]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x10]
xor eax, 0xa0ff4
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x48]
sub ecx, 0x1bd96
mov dword [ebp - 0x48], ecx
cmp dword [ebp - 0x38], 0xd0c7c
jge 0x5199bd
mov edx, dword [ebp - 0x10]
and edx, 0x150b
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x3c]
or eax, 0x4ddac
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x34]
or ecx, 0x592a9
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x54]
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x24]
or eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x54]
xor ecx, dword [ebp - 0x24]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 4]
sub edx, dword [ebp - 8]
mov dword [ebp - 4], edx
jmp 0x51988f
lea eax, [ebp - 0x84]
push eax
mov ecx, dword [0x722384]
xor ecx, 0x14f3e
push ecx
mov edx, dword [ebp - 0x6c]
push edx
mov eax, dword [0x7a7224]
push eax
call fcn.0053b490
add esp, 0x10
mov dword [ebp - 0x70], 0
jmp 0x5199fa
mov ecx, dword [ebp - 0x70]
add ecx, 1
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 8]
sub edx, 0x7aeccf
cmp dword [ebp - 0x70], edx
jge 0x519bc8
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 4]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x14]
or ecx, dword [ebp - 0x24]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x58], 0x379ae
je 0x519bc3
mov edx, dword [ebp - 0xc]
and edx, 0xce963
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x44]
add eax, 0x754d9
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x38]
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x10]
sub edx, 0xcdd3a
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 4]
and eax, 0x8ddd9
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x10]
xor edx, dword [ebp - 0x58]
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x18], 0xecf68
je 0x519bc3
mov eax, dword [ebp - 0x2c]
add eax, 0xd4480
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x44]
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x30]
or edx, dword [ebp - 0x20]
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x24], 0x7363a
jle 0x519bc3
mov eax, dword [ebp - 0x44]
xor eax, dword [ebp - 0x50]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x38]
sub ecx, dword [ebp - 0x10]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x38]
sub edx, 0x3168b
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 4]
and eax, 0x91529
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x38]
or ecx, dword [ebp - 0x48]
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x20], 0x34b9d
jge 0x519bc3
mov edx, dword [ebp - 0x48]
or edx, 0x84cf3
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x1c]
add eax, 0x1c751
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
or ecx, 0x1424e
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x38]
add edx, 0x6cad2
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x5c]
or eax, dword [ebp - 0x44]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x58], 0x77e8a
jle 0x519bc3
mov ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0x50]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x14]
or edx, 0x3a9db
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x334cb
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x38]
or edx, 0x72941
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x54], 0x81fa
jle 0x519bc3
mov eax, dword [ebp - 0x58]
add eax, 0x23ea
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x3c]
xor ecx, 0x8afdb
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x44], 0xd0371
je 0x519bc3
mov edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x48]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x40]
or eax, 0x8ce61
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x3c]
xor ecx, 0x2058f
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x3c]
or edx, 0x46b90
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x20]
sub eax, 1
mov dword [ebp - 0x20], eax
jmp 0x5199f1
mov dword [ebp - 0x74], 0
jmp 0x519bda
mov ecx, dword [ebp - 0x74]
add ecx, 1
mov dword [ebp - 0x74], ecx
mov edx, dword [ebp - 0x20]
sub edx, 0x2fbedd
cmp dword [ebp - 0x74], edx
jge 0x519c98
mov eax, dword [ebp - 0x30]
add eax, 0xe9988
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x24]
sub ecx, 0xc7c3d
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x38]
and edx, dword [ebp - 0x50]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x48]
and ecx, dword [ebp - 0x24]
mov dword [ebp - 0x48], ecx
cmp dword [ebp - 0x18], 0x4deff
jle 0x519c93
mov edx, dword [ebp - 0x28]
sub edx, dword [ebp - 0x34]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x48]
sub eax, 0x3121
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x38]
or ecx, 0x7b9cc
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x50]
xor edx, 0xdb908
mov dword [ebp - 0x50], edx
cmp dword [ebp - 0x4c], 0x10a6e
jne 0x519c93
mov eax, dword [ebp - 0x4c]
and eax, 0x6b8d6
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x2c]
sub ecx, 0x3a7d0
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0xc]
xor edx, 0x7d9fd
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
or eax, 0x785e9
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x44]
or ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x44], ecx
jmp 0x519bd1
mov dword [ebp - 0x78], 0
jmp 0x519caa
mov edx, dword [ebp - 0x78]
add edx, 1
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x14]
sub eax, 0x2fffde
cmp dword [ebp - 0x78], eax
jge 0x519d00
mov ecx, dword [ebp - 0x44]
xor ecx, 0x6897b
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x30]
or edx, dword [ebp - 4]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x50]
or eax, dword [ebp - 0x5c]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x18]
sub ecx, 0x4cae0
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0xc]
or edx, dword [ebp - 0x14]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x20]
sub eax, 0xef3bf
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
jmp 0x519ca1
mov edx, dword [ebp - 0x28]
add edx, dword [ebp - 0x24]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x1c]
xor eax, 0xd9323
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x10]
and ecx, dword [ebp - 0x54]
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x2c], 0xd2c27
jne 0x519d46
mov edx, dword [ebp - 0x10]
xor edx, 0xf3c20
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 4]
xor eax, 0x1abac
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
and ecx, dword [ebp - 0x2c]
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x10], 0xffc1a001
jge 0x519f32
mov edx, dword [ebp - 0x44]
xor edx, dword [ebp - 0x10]
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x1c]
xor eax, 0xc244d
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x20]
and ecx, 0x4f0c3
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x14]
and edx, dword [ebp - 0x14]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x50], 0xb85fa
jne 0x519e1c
mov eax, dword [ebp - 0x48]
xor eax, dword [ebp - 0x2c]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 4]
xor ecx, dword [ebp - 0x2c]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x28]
sub edx, 0x49535
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x50]
or eax, dword [ebp - 0x4c]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x18]
or ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x40]
xor edx, dword [ebp - 0x30]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x20]
or eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x24]
and ecx, 0x470ad
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x20], 0x14820
je 0x519e1c
mov edx, dword [ebp - 0x2c]
xor edx, dword [ebp - 0x54]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x40]
xor eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x18]
and ecx, 0x3b206
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x3c]
sub edx, 0x6dec4
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x14]
or eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x34]
sub ecx, 1
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x38]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x48]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x40]
xor edx, dword [ebp - 8]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x28]
add eax, 0x7077a
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x54]
sub ecx, 0xee3e2
mov dword [ebp - 0x54], ecx
cmp dword [ebp - 0x38], 0xa6932
jne 0x519f2d
mov edx, dword [ebp - 0x5c]
add edx, 0xd8840
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x38]
or eax, 0x936f4
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x20]
or ecx, dword [ebp - 4]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0xc]
or edx, 0x242b4
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0x50], 0xaa6fc
je 0x519f2d
mov eax, dword [ebp - 0xc]
and eax, 0x674ab
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x58]
xor ecx, 0x16716
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x34]
or edx, dword [ebp - 0x24]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x58]
xor ecx, 0x7fa50
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x38]
and edx, dword [ebp - 0x20]
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x48], 0x85051
je 0x519f2d
mov eax, dword [ebp - 0x14]
xor eax, 0x6441d
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x48]
or ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x30]
and edx, 0xeecfb
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x24]
or eax, 0x5289
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 8]
or ecx, 0x6a785
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x30]
add edx, dword [ebp - 0x24]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0xc], eax
jmp 0x519d46
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x34]
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x28]
sub eax, 1
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x20], 0xc004
jge 0x51a294
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x10]
xor edx, dword [ebp - 0x3c]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x2c]
xor eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x58]
and ecx, 0x640f9
mov dword [ebp - 0x58], ecx
cmp dword [ebp - 0x40], 0x5f175
jle 0x51a225
mov edx, dword [ebp - 0xc]
or edx, dword [ebp - 0x44]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0xa7032
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x34]
add edx, 0xe032e
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x18]
add eax, 0x3e683
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x54]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0x38]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x1c], 0xe9030
je 0x51a225
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x3c]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x50]
and ecx, dword [ebp - 0x20]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x14]
add edx, 0x8e1bc
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x28]
add ecx, dword [ebp - 0x14]
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 4], 0x73e4e
jne 0x51a225
mov edx, dword [ebp - 0x2c]
or edx, 0x5579a
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x40]
and eax, 0x2d70f
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x3c]
xor ecx, 0x5124c
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x1c], 0xa7f2e
je 0x51a225
mov edx, dword [ebp - 0x14]
and edx, dword [ebp - 0x24]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 8]
or eax, 0xd8075
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x4c]
and ecx, dword [ebp - 0x14]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x24]
or edx, dword [ebp - 0x14]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 4]
xor eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x30]
or ecx, dword [ebp - 0x48]
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0xc], 0x4ef0
jne 0x51a225
mov edx, dword [ebp - 0x18]
and edx, dword [ebp - 0x20]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x58]
or eax, 0x2da6b
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x24], 0x3f991
je 0x51a225
mov ecx, dword [ebp - 0x34]
sub ecx, dword [ebp - 0x40]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0xc]
xor edx, 0x35535
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0x14], 0x3c615
jge 0x51a225
mov eax, dword [ebp - 0x18]
or eax, dword [ebp - 4]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x54]
or ecx, dword [ebp - 0x34]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x58]
sub edx, 0x9d22a
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x50]
add ecx, dword [ebp - 0x44]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x28]
add edx, dword [ebp - 8]
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x34], 0xd37a9
je 0x51a225
mov eax, dword [ebp - 0x58]
xor eax, dword [ebp - 0x14]
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 8]
and ecx, dword [ebp - 0x10]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x1c]
or edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x34], 0xa393d
je 0x51a225
mov eax, dword [ebp - 0x14]
and eax, dword [ebp - 0x48]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x5c]
xor ecx, 0x80712
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 8]
xor edx, dword [ebp - 0x54]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x50]
and eax, dword [ebp - 0x48]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x28]
sub ecx, 0x79c79
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0xc]
xor edx, dword [ebp - 4]
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0x34], 0xa063c
jle 0x51a225
mov eax, dword [ebp - 8]
sub eax, 0x7a44e
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x1c]
xor ecx, 0x92e34
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 4]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x10]
sub ecx, 0x3e17c
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 8], 0x634e2
jge 0x51a225
mov edx, dword [ebp - 0x1c]
and edx, 0x4d4d2
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x50]
or eax, dword [ebp - 4]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 0x18]
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x48], 0x3e71b
je 0x51a225
mov edx, dword [ebp - 0x4c]
add edx, 0x688c6
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x14]
xor eax, 0x2858
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 8]
add ecx, dword [ebp - 8]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x30]
or edx, dword [ebp - 0x10]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x5c]
sub eax, 1
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 4]
or edx, 0xcedcf
mov dword [ebp - 4], edx
mov eax, dword [ebp - 8]
add eax, 0x3c6a1
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x10]
sub ecx, 0xc1664
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x5c], 0xc3adb
je 0x51a28f
mov edx, dword [ebp - 0x4c]
and edx, dword [ebp - 0x50]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x58]
sub eax, 0x5a6c9
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 4]
and ecx, 0x172d2
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x30]
sub edx, 0xb15f6
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x24]
sub eax, 1
mov dword [ebp - 0x24], eax
jmp 0x519f4d
mov esp, ebp
pop ebp
ret