Function at 0x4288c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebx
push edi
push esi
sub esp, 0xf8
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x10c]
mov esi, dword [esp + 0x108]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xec], ecx
mov dword [esp + 0xe8], edx
mov dword [esp + 0xe4], esi
mov eax, dword [0x497eec]
xor eax, 0x35723dd1
mov dword [0x497eec], eax
mov eax, dword [0x498b90]
and eax, 0xf3385214
or eax, 0x59bd8558
cmp eax, 0x7eb1b18c
jge 0x428986
mov eax, 0x992f5cfe
mov cx, word [0x4a2e4e]
mov dx, cx
dec edx
mov si, dx
mov word [0x4a2e4e], si
movsx edx, cx
cmp eax, edx
jge 0x42896c
mov ax, word [0x4a6ec4]
mov cx, ax
xor ecx, 0xc557
mov ax, cx
mov word [0x4a6ec4], ax
jmp 0x428981
mov eax, dword [0x49c9f4]
inc eax
mov dword [0x49c9f4], eax
or eax, 0x58146608
mov dword [0x49f8e4], eax
jmp 0x428986
xor eax, eax
mov cx, word [0x4a5656]
movsx edx, cx
mov cx, word [0x4a62e8]
movsx esi, cx
not esi
sub edx, esi
mov dword [0x4a11f8], edx
mov edx, dword [esp + 0xf0]
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 0x70], eax
call fcn.0044f460
cmp eax, 0
jne 0x4289da
mov dword [esp + 0xf4], 0xfffffff4
jmp 0x42a22e
mov eax, dword [0x49f440]
add eax, 0x96610fb7
xor eax, 0x79daf854
mov ecx, dword [0x497ec0]
or ecx, eax
mov dword [0x497ec0], ecx
mov eax, esp
lea ecx, [esp + 0x94]
mov dword [eax + 0x10], ecx
lea ecx, [esp + 0xa0]
mov dword [eax + 0xc], ecx
lea ecx, [esp + 0xac]
mov dword [eax + 8], ecx
lea ecx, [esp + 0xb8]
mov dword [eax + 4], ecx
lea ecx, [esp + 0xc4]
mov dword [eax], ecx
mov dword [eax + 0x14], 0
call fcn.0041a540
mov dword [0x4989a8], 0x4d68a03a
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0041ab10
cmp eax, 0
jge 0x428b62
mov eax, 0xed82bc5a
mov ecx, dword [0x499f04]
dec ecx
mov dword [0x499f04], ecx
cmp eax, ecx
jl 0x428aac
mov eax, dword [0x4999c4]
dec eax
mov dword [0x4999c4], eax
or eax, 0xfd51c230
cmp eax, 0x76428f6f
je 0x428aa7
mov eax, dword [0x49c8e4]
xor eax, 0x7bf90c75
mov dword [0x49c8e4], eax
jmp 0x428aac
cmp dword [esp + 0xe4], 0
je 0x428af1
xor eax, eax
mov ecx, dword [esp + 0xe4]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x6c], eax
call fcn.0044c7c0
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x428aec
jmp 0x42a1ba
jmp 0x428af1
mov eax, dword [0x4a15e8]
imul eax, eax, 0x3824bcc1
mov dword [0x4a15e8], eax
cmp dword [esp + 0xe8], 0
je 0x428b43
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0044b350
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x428b3e
jmp 0x42a1ba
jmp 0x428b43
mov eax, dword [0x49c7d4]
add eax, 0x19d0a954
mov dword [0x49c7d4], eax
mov dword [esp + 0xf4], 0
jmp 0x42a22e
mov eax, 0xab82b87f
mov ecx, dword [0x4a1390]
or ecx, 0x81f1d2f1
cmp eax, ecx
jle 0x428b8a
mov eax, dword [0x499df0]
add eax, 0x7ffe9ec6
mov dword [0x499df0], eax
lea eax, [esp + 0xc4]
mov ecx, dword [esp + 0xec]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0044b350
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x428bb9
jmp 0x42a1ba
mov eax, 0x8d74ea2e
mov ecx, dword [0x4994ec]
mov edx, ecx
dec edx
mov dword [0x4994ec], edx
cmp eax, ecx
jl 0x428be4
mov eax, dword [0x499148]
or eax, 0x7b7ededd
mov dword [0x499148], eax
lea eax, [esp + 0xb8]
mov ecx, dword [esp + 0xf0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0044b350
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x428c13
jmp 0x42a1ba
mov eax, 0x9278196d
mov cx, word [0x4a6796]
mov dx, cx
add edx, 0x421fd18c
mov cx, dx
mov word [0x4a6796], cx
mov dword [esp + 0xb8], 1
mov dword [esp + 0xc4], 1
mov edx, dword [0x4a0300]
and edx, 0xb9bc354a
cmp eax, edx
jg 0x428c66
mov dword [0x49b54c], 0xc05a468e
lea eax, [esp + 0xac]
mov ecx, dword [esp + 0xec]
mov ecx, dword [ecx + 4]
add ecx, 2
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00413260
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x428c9b
jmp 0x42a1ba
lea eax, [esp + 0xac]
xor ecx, ecx
mov dx, word [0x4a43f8]
movsx esi, dx
mov edi, 0x5fa78224
sub edi, esi
mov dword [0x4a17b4], edi
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x68], ecx
call fcn.0044c7c0
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x428ce4
jmp 0x42a1ba
lea eax, [esp + 0xa0]
mov ecx, 2
mov edx, dword [0x4a2794]
xor edx, 0x1201108
mov dword [0x4a2794], edx
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 0x64], ecx
call fcn.00413260
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x428d2b
jmp 0x42a1ba
lea eax, [esp + 0x94]
mov ecx, 3
mov edx, dword [0x4990b4]
imul edx, edx, 0xdffe6779
mov dword [0x4990b4], edx
mov dword [esp], eax
mov dword [esp + 4], 3
mov dword [esp + 0x60], ecx
call fcn.00413260
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x428d72
jmp 0x42a1ba
mov eax, dword [0x4a0a78]
mov ecx, eax
inc ecx
mov dword [0x4a0a78], ecx
mov ecx, dword [0x498394]
sar ecx, 2
xor eax, ecx
mov ecx, dword [0x4a21d8]
xor ecx, 0x92170cee
cmp eax, ecx
jle 0x428dc8
mov eax, dword [0x49f794]
mov ecx, eax
dec ecx
mov dword [0x49f794], ecx
add eax, 0x87b29616
mov dx, word [0x4a5914]
mov cx, dx
xor ecx, eax
mov dx, cx
mov word [0x4a5914], dx
mov eax, esp
lea ecx, [esp + 0xb8]
mov dword [eax], ecx
call fcn.0042e300
mov ecx, eax
sar ecx, 0x1f
shr ecx, 0x1b
mov edx, eax
add edx, ecx
and edx, 0xffffffe0
sub eax, edx
mov dword [esp + 0xd0], eax
mov eax, dword [0x49ae14]
add eax, 0xc91eadc8
mov dword [0x49ae14], eax
cmp dword [esp + 0xd0], 0x1f
jge 0x428f0b
lea eax, [esp + 0xc4]
mov cx, word [0x4a5ffe]
mov dx, cx
dec edx
mov cx, dx
mov word [0x4a5ffe], cx
movsx edx, cx
xor edx, 0xa0b50e20
or edx, 0x642609e
mov dword [0x49e4b8], edx
mov edx, dword [esp + 0xd0]
mov esi, 0x1f
sub esi, edx
mov dword [esp + 0xd0], esi
mov edx, dword [0x49f494]
mov esi, edx
inc esi
mov dword [0x49f494], esi
add edx, 0xba51e5d5
or edx, 0x9b46488d
mov esi, dword [0x49cd6c]
xor esi, edx
mov dword [0x49cd6c], esi
mov edx, dword [esp + 0xd0]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00437640
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x428ea4
jmp 0x42a1ba
mov eax, dword [0x499284]
or eax, 0xc05f8e4a
cmp eax, 0xddeede55
jl 0x428ec8
mov eax, dword [0x49b4d4]
xor eax, 0x19680280
mov dword [0x49b4d4], eax
lea eax, [esp + 0xb8]
mov ecx, dword [esp + 0xd0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00437640
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x428ef7
jmp 0x42a1ba
mov eax, dword [0x49ee80]
or eax, 0xa92b4792
mov dword [0x49ee80], eax
jmp 0x428f16
mov dword [esp + 0xd0], 0
mov ax, word [0x4a5e9a]
mov cx, ax
imul ecx, ecx, 0x3f4c854a
mov ax, cx
mov word [0x4a5e9a], ax
mov ecx, dword [esp + 0xc8]
dec ecx
mov dword [esp + 0xd8], ecx
mov ecx, dword [0x49ec98]
shl ecx, 4
add ecx, 0x73ecb142
mov edx, dword [0x49a2c4]
xor edx, 0xa4d67b1
xor edx, 0x3642320c
cmp ecx, edx
jg 0x428f83
mov ax, word [0x4a7012]
mov cx, ax
or ecx, 0xd8dd
mov ax, cx
mov word [0x4a7012], ax
jmp 0x428fd7
mov eax, 0xe34bd1bf
mov ecx, dword [0x499e10]
sar ecx, 8
sub ecx, 0xe1c9de07
or ecx, 0xb28f54df
cmp eax, ecx
jne 0x428fb9
mov eax, dword [0x4a016c]
xor eax, 0x93d8f8f1
mov dword [0x4a016c], eax
jmp 0x428fd2
mov eax, dword [0x49e328]
imul eax, eax, 0xc4c0d9c
mov ecx, dword [0x49cbd8]
add ecx, eax
mov dword [0x49cbd8], ecx
jmp 0x428fd7
mov eax, dword [esp + 0xbc]
dec eax
mov dword [esp + 0xd4], eax
mov eax, dword [0x498434]
mov ecx, eax
inc ecx
mov dword [0x498434], ecx
mov ecx, 0x67dc79b5
sub ecx, eax
mov eax, dword [0x4997a4]
and ecx, eax
cmp ecx, 0x98d203aa
je 0x42902e
mov eax, dword [0x49cb7c]
mov cx, word [0x4a468c]
mov dx, cx
or eax, edx
or eax, 0x333
mov cx, ax
mov word [0x4a468c], cx
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xd4]
sub eax, ecx
shl eax, 5
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0xb8]
mov dword [ecx], eax
call fcn.00437640
mov dword [0x49d19c], 0x23c00024
mov dword [esp + 0x5c], eax
lea eax, [esp + 0xc4]
lea ecx, [esp + 0xb8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0041d9b0
cmp eax, 0
jl 0x4290f4
mov eax, dword [0x4a2a00]
xor eax, 0xd4b92594
mov dword [0x4a2a00], eax
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xd4]
sub eax, ecx
mov ecx, dword [esp + 0xb4]
mov edx, dword [ecx + eax*4]
inc edx
mov dword [ecx + eax*4], edx
mov dword [0x49b2e8], 0xde736c7e
mov eax, esp
lea ecx, [esp + 0xb8]
mov dword [eax + 8], ecx
lea ecx, [esp + 0xc4]
mov dword [eax + 4], ecx
mov dword [eax], ecx
call fcn.00439770
mov ecx, dword [0x49de34]
add ecx, 0x7d95b9f8
mov dword [0x49de34], ecx
mov dword [esp + 0x58], eax
jmp 0x429062
mov eax, 0x95612bb3
mov ecx, dword [0x49d388]
sub ecx, 0xc77bcef8
cmp eax, ecx
jl 0x429134
mov eax, 0x943cd057
mov ecx, dword [0x498970]
cmp eax, ecx
jne 0x42912f
mov eax, dword [0x4a1090]
and eax, 0xc9146295
mov dword [0x4a1090], eax
jmp 0x429134
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xd4]
sub eax, ecx
shl eax, 5
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0xb8]
mov dword [ecx], eax
call fcn.0041dd90
mov ecx, dword [0x49b338]
sar ecx, 0xa
imul ecx, ecx, 0xa4696cc
mov edx, dword [0x4a19c0]
and edx, ecx
mov dword [0x4a19c0], edx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xdc]
cmp eax, dword [esp + 0xd4]
jle 0x429f22
mov eax, 0xae83578
mov ecx, dword [0x4a2954]
xor ecx, 0xffffffff
or ecx, 0xc6b2fb66
cmp eax, ecx
jl 0x4291e9
mov eax, dword [0x4a1814]
cmp eax, 0xc4207efd
jle 0x4291e4
mov eax, dword [0x49a92c]
sar eax, 4
add eax, 0x84611b24
mov ecx, dword [0x4a20b0]
and ecx, eax
mov dword [0x4a20b0], ecx
jmp 0x4291e9
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xc0]
cmp eax, dword [edx + ecx*4]
jb 0x429235
mov eax, dword [esp + 0xdc]
sub eax, dword [esp + 0xd4]
sub eax, 1
mov ecx, dword [esp + 0xb4]
mov dword [ecx + eax*4], 0xffffffff
jmp 0x429851
mov eax, 0xcf3c2709
mov ecx, dword [0x49ada4]
add ecx, 0xc9b30e3b
mov dx, word [0x4a64b2]
mov si, dx
sub esi, ecx
mov dx, si
mov word [0x4a64b2], dx
mov ecx, dword [0x49be74]
imul ecx, ecx, 0x3c784e83
mov dword [0x49be74], ecx
mov ecx, dword [0x49ca58]
and ecx, 0xd1df8dd5
cmp eax, ecx
jg 0x429296
mov eax, dword [0x4a0f8c]
and eax, 0x2d34d4ab
mov dword [0x4a0f8c], eax
jmp 0x4292a0
mov dword [0x4a02fc], 0x23de2ed2
mov eax, 0xf0ce05b2
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xc0]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x78], ecx
mov si, word [0x4a2e40]
movsx ecx, si
mov edx, dword [0x4992ec]
imul edx, ecx
mov dword [0x4992ec], edx
movzx ecx, word [esp + 0x78]
mov dword [esp + 0x80], ecx
mov ecx, dword [0x49a044]
mov edx, ecx
inc edx
mov dword [0x49a044], edx
cmp eax, ecx
jne 0x429305
mov eax, dword [0x49d4b8]
xor eax, 0x721041a2
mov dword [0x49d4b8], eax
mov eax, 0xf5d9813e
movzx ecx, word [esp + 0x7a]
mov dword [esp + 0x7c], ecx
mov ecx, dword [0x4a2b54]
add ecx, 0x10680111
mov dword [0x4a2b54], ecx
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xcc]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esp + 0x7c]
xor esi, esi
mov dword [esp + 0x50], eax
mov eax, ecx
mov dword [esp + 0x4c], edx
mov edx, esi
mov ecx, dword [esp + 0x4c]
div ecx
mov dword [esp + 0x8c], eax
mov di, word [0x4a7752]
mov ax, di
xor eax, 0x7fdf
mov di, ax
mov word [0x4a7752], di
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x8c]
imul ecx, edx
sub eax, ecx
mov dword [esp + 0x84], eax
mov eax, dword [0x49b3f4]
mov ecx, eax
inc ecx
mov dword [0x49b3f4], ecx
add eax, 0xce884cc4
mov ecx, dword [0x49e930]
xor ecx, eax
mov dword [0x49e930], ecx
mov eax, dword [esp + 0x84]
shl eax, 0x10
mov dword [esp + 0x84], eax
mov eax, dword [0x4985bc]
mov ecx, dword [0x49de10]
mov edx, ecx
dec edx
mov dword [0x49de10], edx
and ecx, 0x45b9bc8e
or eax, ecx
mov ecx, dword [esp + 0x50]
cmp ecx, eax
jl 0x429447
mov eax, 0x7dd35977
mov cx, word [0x4a80d0]
mov dx, cx
inc edx
mov cx, dx
mov word [0x4a80d0], cx
movsx edx, cx
imul edx, edx, 0x906ccfc
and edx, 0x2b011b1d
cmp eax, edx
jne 0x429442
mov eax, dword [0x49bbdc]
mov ecx, eax
dec ecx
mov dword [0x49bbdc], ecx
and eax, 0xdf1e0f95
mov ecx, dword [0x4986e8]
sub ecx, eax
mov dword [0x4986e8], ecx
jmp 0x429456
mov eax, dword [0x49cc24]
or eax, 0x69ee0596
mov dword [0x49cc24], eax
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xcc]
movzx eax, word [ecx + eax*4 - 2]
mov ecx, dword [esp + 0x84]
or ecx, eax
mov dword [esp + 0x84], ecx
mov dx, word [0x4a55bc]
mov ax, dx
imul eax, eax, 0xc9c48580
mov dx, ax
mov word [0x4a55bc], dx
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x80]
imul eax, ecx
mov dword [esp + 0x74], eax
mov eax, dword [0x4a0310]
add eax, 0xe9a73648
mov dword [0x4a0310], eax
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0x74]
jae 0x42958a
mov eax, dword [0x49efec]
mov cx, word [0x4a77ca]
mov dx, cx
xor eax, edx
not eax
mov cx, ax
mov word [0x4a77ca], cx
mov eax, dword [esp + 0x8c]
dec eax
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x84]
add edx, eax
mov dword [esp + 0x84], edx
mov eax, dword [0x49e298]
xor eax, 0x9814ceae
mov dword [0x49e298], eax
xor eax, eax
mov cl, al
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0x78]
mov byte [esp + 0x4b], cl
jb 0x429542
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0x74]
setb cl
mov byte [esp + 0x4b], cl
mov al, byte [esp + 0x4b]
test al, 1
jne 0x429553
jmp 0x42957b
mov eax, dword [esp + 0x8c]
add eax, 0xffffffff
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x78]
add eax, dword [esp + 0x84]
mov dword [esp + 0x84], eax
jmp 0x429517
mov eax, dword [0x49e64c]
or eax, 0x88035008
mov dword [0x49e64c], eax
mov eax, dword [0x49cdcc]
mov ecx, eax
dec ecx
mov dword [0x49cdcc], ecx
mov dx, word [0x4a2d66]
mov cx, dx
or ecx, eax
mov dx, cx
mov word [0x4a2d66], dx
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x84]
sub ecx, eax
mov dword [esp + 0x84], ecx
mov dx, word [0x4a621c]
movsx eax, dx
xor eax, 0xfe78d50d
mov ecx, dword [0x498be0]
or ecx, eax
mov dword [0x498be0], ecx
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x7c]
xor edx, edx
div ecx
mov dword [esp + 0x90], eax
mov dword [0x4a29f8], 0x2496928b
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x90]
imul ecx, edx
sub eax, ecx
mov dword [esp + 0x88], eax
mov eax, dword [0x49eb8c]
mov ecx, eax
inc ecx
mov dword [0x49eb8c], ecx
add eax, 0x75e44edf
and eax, 0x1241c2fd
mov ecx, dword [0x49aab8]
add ecx, eax
mov dword [0x49aab8], ecx
mov eax, dword [esp + 0x88]
shl eax, 0x10
mov dword [esp + 0x88], eax
mov eax, dword [0x49b814]
dec eax
mov dword [0x49b814], eax
or eax, 0xf5bd7207
mov ecx, dword [0x4a0348]
sub ecx, eax
mov dword [0x4a0348], ecx
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xcc]
movzx eax, word [ecx + eax*4 - 4]
mov ecx, dword [esp + 0x88]
or ecx, eax
mov dword [esp + 0x88], ecx
mov eax, dword [0x4a2598]
inc eax
mov dword [0x4a2598], eax
xor eax, 0x8179ace5
mov ecx, dword [0x4a25ec]
add ecx, eax
mov dword [0x4a25ec], ecx
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x80]
imul eax, ecx
mov dword [esp + 0x74], eax
mov eax, dword [0x49d728]
add eax, 0x9d9ebab7
mov dword [0x49d728], eax
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0x74]
jae 0x42979c
mov eax, dword [0x4a03a8]
add eax, 0x8d75b4c5
mov dword [0x4a03a8], eax
mov eax, dword [esp + 0x90]
dec eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x88]
add ecx, eax
mov dword [esp + 0x88], ecx
mov eax, dword [0x49a4bc]
xor eax, 0xf4c775e6
mov dword [0x49a4bc], eax
xor eax, eax
mov cl, al
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0x78]
mov byte [esp + 0x4a], cl
jb 0x429754
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0x74]
setb cl
mov byte [esp + 0x4a], cl
mov al, byte [esp + 0x4a]
test al, 1
jne 0x429765
jmp 0x42978d
mov eax, dword [esp + 0x90]
add eax, 0xffffffff
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x78]
add eax, dword [esp + 0x88]
mov dword [esp + 0x88], eax
jmp 0x429729
mov eax, dword [0x4984e8]
add eax, 0x9d81893a
mov dword [0x4984e8], eax
mov eax, dword [0x4989bc]
mov ecx, dword [0x4a1cec]
add ecx, 0x818b6500
cmp eax, ecx
je 0x4297c9
mov eax, dword [0x49b6b4]
add eax, 0x6de9e033
mov dword [0x49b6b4], eax
jmp 0x4297d2
mov word [0x4a4ec2], 0x45f2
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x88]
sub ecx, eax
mov dword [esp + 0x88], ecx
mov eax, dword [0x4a041c]
mov ecx, eax
dec ecx
mov dword [0x4a041c], ecx
mov ecx, dword [0x4a1368]
imul ecx, eax
mov dword [0x4a1368], ecx
mov eax, dword [esp + 0x8c]
shl eax, 0x10
mov ecx, dword [esp + 0x90]
or eax, ecx
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xd4]
sub ecx, edx
mov edx, dword [esp + 0xb4]
mov dword [edx + ecx*4 - 4], eax
mov si, word [0x4a32c0]
mov ax, si
mov si, word [0x4a516c]
mov cx, si
and ecx, eax
mov si, cx
mov word [0x4a516c], si
mov ax, word [0x4a3a4e]
mov cx, ax
and ecx, 0x3170
mov ax, cx
mov word [0x4a3a4e], ax
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xd4]
sub ecx, edx
mov edx, dword [esp + 0xb4]
mov esi, dword [edx + ecx*4 - 4]
inc esi
mov dword [edx + ecx*4 - 4], esi
mov ecx, dword [0x499984]
inc ecx
mov dword [0x499984], ecx
mov edx, dword [0x4a0d90]
sub edx, ecx
mov dword [0x4a0d90], edx
lea eax, [esp + 0xa0]
xor ecx, ecx
mov dx, word [0x4a3412]
mov si, dx
imul esi, esi, 0x7ccffacd
mov dx, si
mov word [0x4a3412], dx
mov esi, dword [esp + 0xdc]
mov edi, dword [esp + 0xd4]
sub esi, edi
mov edi, dword [esp + 0xb4]
mov ebx, dword [edi + esi*4 - 4]
dec ebx
mov dword [edi + esi*4 - 4], ebx
mov esi, dword [0x498fa0]
mov edi, esi
inc edi
mov dword [0x498fa0], edi
and esi, 0x23b2
mov dx, word [0x4a54d4]
mov di, dx
sub edi, esi
mov dx, di
mov word [0x4a54d4], dx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x44], ecx
call fcn.0044c7c0
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x42993b
jmp 0x42a1ba
mov eax, dword [0x4a2748]
or eax, 0x3b917938
mov ecx, dword [0x497e3c]
imul ecx, eax
mov dword [0x497e3c], ecx
cmp dword [esp + 0xd4], 1
jge 0x42996d
xor eax, eax
mov dword [esp + 0x40], eax
jmp 0x429985
mov eax, dword [esp + 0xd4]
sub eax, 1
mov ecx, dword [esp + 0xc0]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0xa0]
mov edx, dword [esp + 0xa8]
mov dword [edx], eax
mov eax, dword [0x49cf48]
or eax, 0x80000041
mov dword [0x49cf48], eax
mov eax, dword [esp + 0xd4]
mov edx, dword [esp + 0xc0]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0xa8]
mov dword [edx + 4], eax
mov eax, dword [0x49ab98]
imul eax, eax, 0x6f150a24
mov dword [0x49ab98], eax
mov eax, dword [esp + 0xdc]
sub eax, dword [esp + 0xd4]
sub eax, 1
mov edx, dword [esp + 0xb4]
mov eax, dword [edx + eax*4]
mov dword [esp], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0041f4c0
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x429a13
jmp 0x42a1ba
mov eax, 0xac1a9a53
mov ecx, dword [0x4a2a1c]
cmp eax, ecx
jle 0x429a3e
mov ax, word [0x4a4968]
mov cx, ax
add ecx, 0xadabc43d
mov ax, cx
mov word [0x4a4968], ax
lea eax, [esp + 0x94]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x3c], ecx
call fcn.0044c7c0
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x429a70
jmp 0x42a1ba
mov ax, word [0x4a7574]
movsx ecx, ax
sar ecx, 2
mov edx, dword [0x4998e8]
inc edx
and ecx, edx
mov dword [0x4998e8], edx
mov edx, dword [0x49a124]
and ecx, edx
and ecx, 0x8bceef6f
mov dword [0x49a124], ecx
cmp dword [esp + 0xdc], 2
jge 0x429ab8
xor eax, eax
mov dword [esp + 0x38], eax
jmp 0x429ad0
mov eax, dword [esp + 0xdc]
sub eax, 2
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x9c]
mov dword [ecx], eax
mov eax, dword [0x4a259c]
mov ecx, 0x34335a8a
sub ecx, eax
mov eax, dword [0x49cf30]
mov edx, eax
inc edx
mov dword [0x49cf30], edx
add eax, 0x79a4f55e
cmp ecx, eax
jne 0x429b2d
mov ax, word [0x4a5c38]
mov cx, ax
imul ecx, ecx, 0x762f844a
add ecx, 0x98dde7e7
mov ax, word [0x4a3a5c]
mov dx, ax
sub edx, ecx
mov ax, dx
mov word [0x4a3a5c], ax
cmp dword [esp + 0xdc], 1
jge 0x429b46
xor eax, eax
mov dword [esp + 0x34], eax
jmp 0x429b5e
mov eax, dword [esp + 0xdc]
sub eax, 1
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov ecx, 0xdbe36228
mov edx, dword [esp + 0x9c]
mov dword [edx + 4], eax
mov eax, dword [0x49adf4]
xor eax, 0x70526880
mov dword [0x49adf4], eax
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xcc]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x9c]
mov dword [edx + 8], eax
mov eax, dword [0x4a0610]
not eax
mov edx, dword [0x49bd48]
sub ecx, edx
and ecx, 0x105b6cb4
cmp eax, ecx
jl 0x429bc8
mov eax, dword [0x4a0cb0]
imul eax, eax, 0x2a326757
mov dword [0x4a0cb0], eax
jmp 0x429bcd
lea eax, [esp + 0xa0]
lea ecx, [esp + 0x94]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0041d9b0
cmp eax, 0
jg 0x4298a4
lea eax, [esp + 0xa0]
lea ecx, [esp + 0xb8]
mov dx, word [0x4a4792]
movsx esi, dx
xor esi, 0xdaf87ffc
mov edi, dword [0x49b798]
and edi, esi
mov dword [0x49b798], edi
mov esi, dword [esp + 0xdc]
sub esi, dword [esp + 0xd4]
sub esi, 1
mov edi, dword [esp + 0xb4]
mov esi, dword [edi + esi*4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.0041f4c0
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x429c5c
jmp 0x42a1ba
mov eax, 0x722d10da
mov cx, word [0x4a2e5e]
mov dx, cx
inc edx
mov cx, dx
mov word [0x4a2e5e], cx
movsx edx, cx
imul edx, edx, 0xf2130da2
xor edx, 0xb03194bb
cmp eax, edx
jge 0x429c9c
mov eax, dword [0x4a1f94]
and eax, 0x204a4808
mov dword [0x4a1f94], eax
lea eax, [esp + 0xa0]
mov ecx, dword [esp + 0xdc]
sub ecx, dword [esp + 0xd4]
sub ecx, 1
shl ecx, 5
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00437640
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x429cd8
jmp 0x42a1ba
lea eax, [esp + 0xc4]
lea ecx, [esp + 0xa0]
mov edx, dword [0x498fc4]
imul edx, edx, 0x6400fb60
mov dword [0x498fc4], edx
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00439770
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x429d1d
jmp 0x42a1ba
lea eax, [esp + 0xc4]
xor ecx, ecx
mov dx, word [0x4a36f4]
mov si, dx
and esi, 0x37de
mov dx, si
mov word [0x4a36f4], dx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x30], ecx
call fcn.0044f460
cmp eax, 0
jge 0x429efd
lea eax, [esp + 0xa0]
lea ecx, [esp + 0xb8]
mov edx, dword [0x49a878]
imul edx, edx, 0x10303768
mov si, word [0x4a4818]
mov di, si
and edi, edx
mov si, di
mov word [0x4a4818], si
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0044b350
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x429dae
jmp 0x42a1ba
mov eax, 0x214317b8
mov ecx, dword [0x49eb1c]
shl ecx, 2
add ecx, 0x658923e8
cmp eax, ecx
jle 0x429e0e
mov eax, 0xdfe337ba
mov cx, word [0x4a4fd6]
movsx edx, cx
cmp eax, edx
jle 0x429e09
mov eax, dword [0x49d3f8]
inc eax
mov dword [0x49d3f8], eax
mov cx, word [0x4a61d4]
mov dx, cx
imul eax, edx
imul eax, eax, 0x28dd707f
mov cx, ax
mov word [0x4a61d4], cx
jmp 0x429e0e
lea eax, [esp + 0xa0]
mov ecx, dword [esp + 0xdc]
sub ecx, dword [esp + 0xd4]
sub ecx, 1
shl ecx, 5
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00437640
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x429e4a
jmp 0x42a1ba
mov eax, 0x1fd82c77
mov ecx, dword [0x49ff14]
cmp eax, ecx
jne 0x429e6d
mov eax, dword [0x49c2ac]
imul eax, eax, 0xa49e42fa
mov dword [0x49c2ac], eax
lea eax, [esp + 0xc4]
lea ecx, [esp + 0xa0]
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00444ae0
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x429ea0
jmp 0x42a1ba
mov ax, word [0x4a422e]
mov cx, ax
mov ax, word [0x4a3a06]
mov dx, ax
xor ecx, edx
xor ecx, 0xdafe
mov ax, cx
mov word [0x4a3a06], ax
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xd4]
sub ecx, edx
mov edx, dword [esp + 0xb4]
mov esi, dword [edx + ecx*4 - 4]
dec esi
mov dword [edx + ecx*4 - 4], esi
mov ecx, dword [0x499e20]
imul ecx, ecx, 0xbfde339
mov edx, dword [0x49edf4]
and edx, ecx
mov dword [0x49edf4], edx
mov eax, dword [0x49f220]
or eax, 0x38418205
mov dword [0x49f220], eax
mov eax, dword [esp + 0xdc]
add eax, 0xffffffff
mov dword [esp + 0xdc], eax
jmp 0x429189
mov eax, dword [0x49a4ec]
mov ecx, dword [0x49bdfc]
and eax, ecx
mov ecx, dword [0x498d9c]
not ecx
and eax, ecx
mov ecx, dword [0x499064]
and ecx, eax
mov dword [0x499064], ecx
cmp dword [esp + 0xe4], 0
je 0x429fee
mov eax, 0x24476088
mov ecx, dword [0x49ac4c]
imul ecx, ecx, 0x3c965252
mov dword [0x49ac4c], ecx
mov ecx, dword [esp + 0xe4]
mov edx, esp
lea esi, [esp + 0xac]
mov dword [edx + 4], esi
mov dword [edx], ecx
mov dword [esp + 0x2c], eax
call fcn.0044b350
mov ecx, dword [0x49fbec]
sar ecx, 5
add ecx, 0xb2621ab3
mov edx, dword [esp + 0x2c]
cmp edx, ecx
mov dword [esp + 0x28], eax
je 0x429fb9
mov eax, dword [0x4a0454]
imul eax, eax, 0xac800136
mov dword [0x4a0454], eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax]
mov ecx, dword [esp + 0xf0]
mov ecx, dword [ecx]
imul eax, ecx
mov ecx, dword [esp + 0xe4]
mov dword [ecx], eax
mov dx, word [0x4a799e]
movsx eax, dx
not eax
imul eax, eax, 0xe933d429
mov dword [0x49a29c], eax
mov ax, word [0x4a57ca]
mov cx, ax
and ecx, 0x7df2
mov ax, cx
mov word [0x4a57ca], ax
cmp dword [esp + 0xe8], 0
je 0x42a19e
mov eax, dword [0x49b98c]
sar eax, 0xa
or eax, 0xc34f2ccd
mov ecx, dword [0x49d4ec]
and ecx, eax
mov dword [0x49d4ec], ecx
mov eax, dword [esp + 0xd0]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0xc4]
mov dword [ecx], eax
call fcn.0041dd90
mov ecx, dword [0x4980b0]
mov edx, ecx
inc edx
mov dword [0x4980b0], edx
add ecx, 0x6d5aa2d1
mov si, word [0x4a60a0]
movsx edx, si
and edx, 0x1f9f69b5
xor edx, 0xa78f3e6
cmp ecx, edx
mov dword [esp + 0x24], eax
jg 0x42a09d
mov ax, word [0x4a6d4c]
mov cx, ax
and ecx, 0x2218
mov ax, cx
mov word [0x4a6d4c], ax
jmp 0x42a0ba
mov ax, word [0x4a7b6e]
movsx ecx, ax
add ecx, 0x244575e1
mov edx, dword [0x49b24c]
xor edx, ecx
mov dword [0x49b24c], edx
mov eax, 0xde1a05d2
mov ecx, dword [esp + 0xe8]
mov edx, esp
lea esi, [esp + 0xc4]
mov dword [edx + 4], esi
mov dword [edx], ecx
mov dword [esp + 0x20], eax
call fcn.0044b350
mov ecx, dword [0x49bb9c]
mov edx, dword [esp + 0x20]
cmp edx, ecx
mov dword [esp + 0x1c], eax
je 0x42a10b
mov ax, word [0x4a52d8]
mov cx, ax
xor ecx, 0x54bb
mov ax, cx
mov word [0x4a52d8], ax
mov eax, 0x44088068
mov ecx, dword [esp + 0xec]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xe8]
mov dword [edx], ecx
mov ecx, dword [0x49d1d8]
imul ecx, ecx, 0xc231d11c
cmp eax, ecx
jne 0x42a153
mov eax, dword [0x49e4a0]
add eax, 0xfd56c85a
xor eax, 0x56983414
mov ecx, dword [0x4a0dec]
and ecx, eax
mov dword [0x4a0dec], ecx
xor eax, eax
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x18], eax
call fcn.0044f460
cmp eax, 0
jne 0x42a186
mov eax, dword [esp + 0xe8]
mov dword [eax], 1
mov ax, word [0x4a470e]
mov cx, ax
add ecx, 0x6d736665
mov ax, cx
mov word [0x4a470e], ax
mov eax, dword [0x4a1dc4]
add eax, 0xcc0ef893
mov ecx, dword [0x4a1f2c]
xor eax, ecx
xor eax, 0x4ee6ea27
mov dword [0x4a1f2c], eax
mov eax, esp
lea ecx, [esp + 0x94]
mov dword [eax + 0x10], ecx
lea ecx, [esp + 0xa0]
mov dword [eax + 0xc], ecx
lea ecx, [esp + 0xac]
mov dword [eax + 8], ecx
lea ecx, [esp + 0xb8]
mov dword [eax + 4], ecx
lea ecx, [esp + 0xc4]
mov dword [eax], ecx
mov dword [eax + 0x14], 0
call fcn.004461a0
mov dx, word [0x4a44b4]
mov ax, dx
lea eax, [eax*8 - 0x35379732]
mov dx, word [0x4a6c96]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x4a6c96], dx
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0xf4]
add esp, 0xf8
pop esi
pop edi
pop ebx
ret