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

Disassembly:
push ebx
push edi
push esi
sub esp, 0xfc
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
mov esi, dword [esp + 0x10c]
xor edi, edi
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xec], edx
mov dword [esp + 0xe8], esi
mov eax, dword [0x499e48]
add eax, 0x92e30bde
mov dword [0x499e48], eax
mov eax, dword [0x496608]
and eax, 0x3bb82696
xor eax, 0xa1f4c1bb
mov ecx, dword [0x49ae74]
imul ecx, eax
mov dword [0x49ae74], ecx
mov eax, dword [0x499924]
xor eax, 0x392d6aeb
mov dword [0x499924], eax
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x74], edi
call fcn.0043ec20
cmp eax, 0
jne 0x43c653
mov dword [esp + 0xf8], 0xfffffff4
jmp 0x43e0e5
mov eax, 0xde97cf71
mov cx, word [0x49e928]
movsx edx, cx
sub edx, 0xc55e76cc
and edx, 0x9e6040a9
cmp eax, edx
jle 0x43c68e
mov eax, dword [0x498074]
mov ecx, 0x677da200
sub ecx, eax
xor ecx, 0x51a0276c
mov dword [0x494378], ecx
mov eax, esp
lea ecx, [esp + 0x98]
mov dword [eax + 0x10], ecx
lea ecx, [esp + 0xa4]
mov dword [eax + 0xc], ecx
lea ecx, [esp + 0xb0]
mov dword [eax + 8], ecx
lea ecx, [esp + 0xbc]
mov dword [eax + 4], ecx
lea ecx, [esp + 0xc8]
mov dword [eax], ecx
mov dword [eax + 0x14], 0
call fcn.00403b10
mov eax, dword [0x499474]
xor eax, 0xbadfb768
mov dword [0x499474], eax
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004483a0
cmp eax, 0
jge 0x43c82d
mov eax, 0xfbaf5357
mov ecx, dword [0x4942cc]
or ecx, 0x41060e95
cmp eax, ecx
jne 0x43c746
mov eax, dword [0x498098]
mov ecx, eax
dec ecx
mov dword [0x498098], ecx
add eax, 0xc26482d9
mov dx, word [0x49ddc4]
mov cx, dx
xor eax, ecx
xor eax, 0xbb02
mov dx, ax
mov word [0x49ddc4], dx
cmp dword [esp + 0xe8], 0
je 0x43c78b
xor eax, eax
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x70], eax
call fcn.0042da00
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43c786
jmp 0x43e003
jmp 0x43c78b
mov ax, word [0x49cb24]
mov cx, ax
mov edx, ecx
inc edx
mov ax, dx
mov word [0x49cb24], ax
and ecx, 0x1400
or ecx, 0x6bfe
mov ax, word [0x49dfac]
mov dx, ax
and edx, ecx
mov ax, dx
mov word [0x49dfac], ax
cmp dword [esp + 0xec], 0
je 0x43c802
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040abb0
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43c7fd
jmp 0x43e003
jmp 0x43c802
mov eax, dword [0x49a7ec]
not eax
imul eax, eax, 0x11dbeaf7
mov ecx, dword [0x495224]
xor ecx, eax
mov dword [0x495224], ecx
mov dword [esp + 0xf8], 0
jmp 0x43e0e5
mov eax, 0xe7ce444f
mov ecx, dword [0x49438c]
cmp eax, ecx
jge 0x43c869
mov ax, word [0x49df0c]
mov cx, ax
and ecx, 0x68a4
mov ax, word [0x49c1a0]
mov dx, ax
imul edx, ecx
mov ax, dx
mov word [0x49c1a0], ax
jmp 0x43c8a5
mov eax, 0xe90db374
mov ecx, dword [0x494ce0]
imul ecx, ecx, 0xbfb5cbbb
or ecx, 0xe04c84e2
cmp eax, ecx
jg 0x43c8a0
mov ax, word [0x49e608]
mov cx, ax
add ecx, 0xc19905f8
mov ax, cx
mov word [0x49e608], ax
jmp 0x43c8a5
lea eax, [esp + 0xc8]
mov ecx, dword [esp + 0xf0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040abb0
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43c8d4
jmp 0x43e003
mov eax, 0xcb07f442
mov ecx, dword [0x494588]
sar ecx, 8
add ecx, 0x4a058acc
cmp eax, ecx
jle 0x43c8ff
mov eax, dword [0x499618]
add eax, 0x98c895a9
mov dword [0x499618], eax
lea eax, [esp + 0xbc]
mov ecx, dword [esp + 0xf4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040abb0
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43c92e
jmp 0x43e003
mov ax, word [0x49bde6]
movsx ecx, ax
mov edx, dword [0x496edc]
mov esi, edx
inc esi
mov dword [0x496edc], esi
sub edx, 0x8ff37863
or ecx, edx
cmp ecx, 0xf68ca2e8
jle 0x43c98c
mov eax, dword [0x494f08]
mov ecx, eax
inc ecx
mov dword [0x494f08], ecx
mov dx, word [0x49d19a]
movsx ecx, dx
shl ecx, 1
cmp eax, ecx
jne 0x43c987
mov dword [0x495534], 0x51e3146d
jmp 0x43c98c
lea eax, [esp + 0xb0]
mov dword [esp + 0xbc], 1
mov dword [esp + 0xc8], 1
mov ecx, dword [0x494114]
imul ecx, ecx, 0xbf3ba897
mov dword [0x494114], ecx
mov ecx, dword [esp + 0xf0]
mov ecx, dword [ecx + 4]
add ecx, 2
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409c10
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43c9e9
jmp 0x43e003
lea eax, [esp + 0xb0]
xor ecx, ecx
mov edx, dword [0x498ac4]
add edx, 0x3cfb3597
mov dword [0x498ac4], edx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x6c], ecx
call fcn.0042da00
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43ca2d
jmp 0x43e003
mov eax, 0x405c44ce
mov ecx, dword [0x495b60]
xor ecx, 0xffffffff
imul ecx, ecx, 0x4b23770a
cmp eax, ecx
jne 0x43ca5d
mov eax, dword [0x4972c0]
or eax, 0xf3806b2c
mov dword [0x4972c0], eax
jmp 0x43ca66
mov word [0x49c200], 0x6e9
lea eax, [esp + 0xa4]
mov ecx, 2
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 0x68], ecx
call fcn.00409c10
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43ca9b
jmp 0x43e003
lea eax, [esp + 0x98]
mov ecx, 3
mov edx, dword [0x498324]
add edx, 0x912737bd
and edx, 0xf4595b34
mov esi, dword [0x49a344]
or esi, edx
mov dword [0x49a344], esi
mov dword [esp], eax
mov dword [esp + 4], 3
mov dword [esp + 0x64], ecx
call fcn.00409c10
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43caf0
jmp 0x43e003
mov ax, word [0x49e17e]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x49e17e], ax
and ecx, 0xaff4
mov ax, word [0x49d6be]
mov dx, ax
add edx, ecx
mov ax, dx
mov word [0x49d6be], ax
mov ecx, esp
lea edx, [esp + 0xbc]
mov dword [ecx], edx
call fcn.00436b90
mov ecx, eax
sar ecx, 0x1f
shr ecx, 0x1b
mov edx, eax
add edx, ecx
and edx, 0xffffffe0
sub eax, edx
mov dword [esp + 0xd4], eax
mov eax, dword [0x499838]
add eax, 0x997be4ac
mov ecx, dword [0x49a790]
or ecx, eax
mov dword [0x49a790], ecx
cmp dword [esp + 0xd4], 0x1f
jge 0x43cd19
mov eax, dword [0x499438]
mov ecx, eax
inc ecx
mov dword [0x499438], ecx
imul eax, eax, 0x35de5867
mov ecx, dword [0x4995ec]
inc ecx
mov dword [0x4995ec], ecx
xor ecx, 0x36cd1102
cmp eax, ecx
jge 0x43cbaf
mov eax, dword [0x495564]
imul eax, eax, 0x93089128
mov dword [0x495564], eax
jmp 0x43cbbe
mov eax, dword [0x49a834]
add eax, 0x5711bd5f
mov dword [0x49a834], eax
lea eax, [esp + 0xc8]
mov ecx, dword [esp + 0xd4]
mov edx, 0x1f
sub edx, ecx
mov dword [esp + 0xd4], edx
mov si, word [0x49e03c]
movsx ecx, si
shl ecx, 7
and ecx, 0x60e5f00
mov edx, dword [0x493db8]
sub edx, ecx
mov dword [0x493db8], edx
mov ecx, dword [esp + 0xd4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0041c310
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43cc23
jmp 0x43e003
mov ax, word [0x49c598]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x49c598], dx
movsx ecx, ax
add ecx, 0x1e973042
mov esi, dword [0x495750]
shl esi, 9
mov edi, dword [0x494a50]
add esi, edi
mov edi, dword [0x49ac28]
add esi, edi
cmp ecx, esi
jl 0x43ccac
mov eax, 0x47f7b7f0
mov cx, word [0x49c510]
mov dx, cx
dec edx
mov si, dx
mov word [0x49c510], si
movsx edx, cx
mov edi, dword [0x498e00]
sar edi, 3
imul edx, edi
cmp eax, edx
jle 0x43cca7
mov ax, word [0x49df98]
movsx ecx, ax
xor ecx, 0x3305457
mov dword [0x497d00], ecx
jmp 0x43cccd
mov eax, dword [0x496bb8]
shl eax, 7
add eax, 0xe5510d19
xor eax, 0x1342ec36
mov ecx, dword [0x49a244]
imul ecx, eax
mov dword [0x49a244], ecx
lea eax, [esp + 0xbc]
mov ecx, dword [esp + 0xd4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0041c310
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43ccfc
jmp 0x43e003
mov ax, word [0x49c3e4]
mov cx, ax
add ecx, 0xb85aed93
mov ax, cx
mov word [0x49c3e4], ax
jmp 0x43cd24
mov dword [esp + 0xd4], 0
mov eax, 0x72e9fd35
mov ecx, dword [0x49ae30]
xor ecx, 0x6a43da80
mov dword [0x49ae30], ecx
mov ecx, dword [esp + 0xcc]
dec ecx
mov dword [esp + 0xdc], ecx
mov dx, word [0x49cbf0]
mov cx, dx
imul ecx, ecx, 0x2d1d5911
mov dx, cx
mov word [0x49cbf0], dx
mov ecx, dword [esp + 0xc0]
dec ecx
mov dword [esp + 0xd8], ecx
mov ecx, dword [0x498150]
mov esi, ecx
dec esi
mov dword [0x498150], esi
cmp eax, ecx
jg 0x43cde4
mov eax, 0x7862a59a
mov ecx, dword [0x496334]
cmp eax, ecx
jg 0x43cdbf
mov eax, dword [0x497ae8]
mov ecx, eax
inc ecx
mov dword [0x497ae8], ecx
mov ecx, dword [0x494a68]
imul ecx, eax
mov dword [0x494a68], ecx
jmp 0x43cddf
mov eax, 0x9345d3db
mov ecx, dword [0x494b5c]
shl ecx, 7
cmp eax, ecx
jne 0x43cdda
jmp 0x43cdda
jmp 0x43cddf
jmp 0x43cde4
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xd8]
sub eax, ecx
shl eax, 5
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0xbc]
mov dword [ecx], eax
call fcn.0041c310
mov ecx, dword [0x495ef8]
imul ecx, ecx, 0x4aed3e39
mov dword [0x495ef8], ecx
mov dword [esp + 0x60], eax
lea eax, [esp + 0xc8]
lea ecx, [esp + 0xbc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004161b0
cmp eax, 0
jl 0x43ceda
mov ax, word [0x49e0ee]
movsx ecx, ax
mov edx, dword [0x497494]
sub edx, ecx
mov dword [0x497494], edx
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xd8]
sub ecx, edx
mov edx, dword [esp + 0xb8]
mov esi, dword [edx + ecx*4]
inc esi
mov dword [edx + ecx*4], esi
mov ecx, dword [0x4995d8]
not ecx
mov edx, dword [0x4944ac]
and ecx, edx
and ecx, 0x35aa18f6
mov dword [0x4944ac], ecx
mov ecx, esp
lea edx, [esp + 0xbc]
mov dword [ecx + 8], edx
lea edx, [esp + 0xc8]
mov dword [ecx + 4], edx
mov dword [ecx], edx
call fcn.0043c260
mov ecx, dword [0x497a20]
mov di, word [0x49d378]
movsx edx, di
or ecx, edx
mov edx, dword [0x494654]
or edx, ecx
mov dword [0x494654], edx
mov dword [esp + 0x5c], eax
jmp 0x43ce20
mov ax, word [0x49e39a]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x49e39a], ax
movsx ecx, ax
add ecx, 0x2827b21a
xor ecx, 0x5880f82e
mov edx, dword [0x4949d4]
and edx, ecx
mov dword [0x4949d4], edx
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xd8]
sub ecx, edx
shl ecx, 5
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0xbc]
mov dword [edx], ecx
call fcn.0042db40
mov ecx, dword [0x497308]
add ecx, 0x4fd35535
mov dword [0x497308], ecx
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xe0]
cmp eax, dword [esp + 0xd8]
jle 0x43dd9a
mov eax, 0x1d2aaf86
mov ecx, dword [0x49668c]
mov edx, ecx
inc edx
mov dword [0x49668c], edx
mov edx, dword [0x4973c8]
imul edx, ecx
shl edx, 4
mov ecx, dword [0x497ab8]
inc ecx
mov dword [0x497ab8], ecx
xor edx, ecx
cmp eax, edx
jle 0x43cfae
mov eax, dword [0x495864]
or eax, 0xcda326f1
mov dword [0x495864], eax
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xc4]
cmp eax, dword [edx + ecx*4]
jb 0x43cffa
mov eax, dword [esp + 0xe0]
sub eax, dword [esp + 0xd8]
sub eax, 1
mov ecx, dword [esp + 0xb8]
mov dword [ecx + eax*4], 0xffffffff
jmp 0x43d6b2
mov ax, word [0x49e66e]
movsx ecx, ax
add ecx, 0x711b939a
mov ax, word [0x49c120]
movsx edx, ax
sub ecx, edx
mov edx, dword [0x49566c]
or edx, ecx
mov dword [0x49566c], edx
mov ecx, dword [0x496984]
mov edx, dword [0x49571c]
xor edx, 0x1c1a9bae
cmp ecx, edx
jge 0x43d04c
mov eax, dword [0x4996ac]
imul eax, eax, 0xc3410094
mov dword [0x4996ac], eax
mov eax, dword [0x498400]
imul eax, eax, 0xa7a7c544
mov dword [0x498400], eax
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x7c], eax
mov eax, dword [0x494860]
add eax, 0x3d4c7223
mov dword [0x494860], eax
movzx eax, word [esp + 0x7c]
mov dword [esp + 0x84], eax
mov eax, dword [0x49858c]
imul eax, eax, 0x3eb952a9
mov ecx, dword [0x497244]
or ecx, eax
mov dword [0x497244], ecx
movzx eax, word [esp + 0x7e]
mov dword [esp + 0x80], eax
mov eax, dword [0x49ab88]
imul eax, eax, 0xb6a3c2f9
mov dword [0x49ab88], eax
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x80]
xor edx, edx
div ecx
mov dword [esp + 0x90], eax
mov eax, dword [0x49846c]
or eax, 0xe980b880
mov dword [0x49846c], eax
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x90]
imul ecx, edx
sub eax, ecx
mov dword [esp + 0x88], eax
mov eax, dword [0x49916c]
imul eax, eax, 0x8fa466ef
mov si, word [0x49c4c2]
mov cx, si
dec ecx
mov di, cx
mov word [0x49c4c2], di
movsx ecx, si
or ecx, 0xc3f6ffb
cmp eax, ecx
jl 0x43d15e
mov eax, dword [0x494244]
or eax, 0x83a87346
mov dword [0x494244], eax
mov eax, dword [esp + 0x88]
shl eax, 0x10
mov dword [esp + 0x88], eax
mov eax, dword [0x495044]
dec eax
mov dword [0x495044], eax
or eax, 0x8fe177ec
mov ecx, dword [0x499ed8]
imul ecx, eax
mov dword [0x499ed8], ecx
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xd0]
movzx eax, word [ecx + eax*4 - 2]
mov ecx, dword [esp + 0x88]
or ecx, eax
mov dword [esp + 0x88], ecx
mov eax, dword [0x499ed8]
inc eax
mov dword [0x499ed8], eax
cmp eax, 0x89f46591
je 0x43d1db
mov eax, dword [0x4942a0]
and eax, 0xc074bed2
mov dword [0x4942a0], eax
jmp 0x43d200
mov eax, dword [0x496e38]
cmp eax, 0x63e4d84a
jge 0x43d1fb
mov eax, dword [0x49a798]
imul eax, eax, 0x24ab8cf0
mov dword [0x49a798], eax
jmp 0x43d200
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x84]
imul eax, ecx
mov dword [esp + 0x78], eax
mov eax, dword [0x494e08]
dec eax
mov dword [0x494e08], eax
mov ecx, dword [0x495ac4]
or ecx, eax
mov dword [0x495ac4], ecx
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0x78]
jae 0x43d324
mov eax, dword [0x497484]
inc eax
mov dword [0x497484], eax
or eax, 0xc321e6d8
cmp eax, 0x3e3f7bcf
jg 0x43d269
mov eax, dword [0x4982fc]
or eax, 0x3b61008c
mov dword [0x4982fc], eax
mov eax, dword [esp + 0x90]
dec eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x88]
add ecx, eax
mov dword [esp + 0x88], ecx
mov eax, dword [0x49a084]
add eax, 0xd4020c61
mov dword [0x49a084], eax
xor eax, eax
mov cl, al
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0x7c]
mov byte [esp + 0x57], cl
jb 0x43d2c6
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0x78]
setb cl
mov byte [esp + 0x57], cl
mov al, byte [esp + 0x57]
test al, 1
jne 0x43d2d7
jmp 0x43d2ff
mov eax, dword [esp + 0x90]
add eax, 0xffffffff
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x7c]
add eax, dword [esp + 0x88]
mov dword [esp + 0x88], eax
jmp 0x43d29b
mov ax, word [0x49c32c]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x49c32c], dx
movsx ecx, ax
mov esi, dword [0x49ab0c]
and esi, ecx
mov dword [0x49ab0c], esi
mov eax, 0xa6642a4b
mov ecx, dword [0x4986a4]
mov edx, dword [0x497ddc]
sub ecx, edx
mov si, word [0x49b6aa]
mov dx, si
and edx, ecx
mov si, dx
mov word [0x49b6aa], si
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x88]
sub edx, ecx
mov dword [esp + 0x88], edx
mov ecx, dword [0x49912c]
xor ecx, 0x604fe57b
mov dword [0x49912c], ecx
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x80]
xor edi, edi
mov dword [esp + 0x50], eax
mov eax, ecx
mov dword [esp + 0x4c], edx
mov edx, edi
mov ecx, dword [esp + 0x4c]
div ecx
mov dword [esp + 0x94], eax
mov eax, dword [0x49add0]
and eax, 0x11a3b9d1
mov dword [0x49add0], eax
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x94]
imul ecx, edx
sub eax, ecx
mov dword [esp + 0x8c], eax
mov si, word [0x49c802]
mov ax, si
xor eax, 0x9fe7
mov si, ax
mov word [0x49c802], si
mov eax, dword [esp + 0x8c]
shl eax, 0x10
mov dword [esp + 0x8c], eax
mov eax, dword [0x49af2c]
mov ecx, dword [esp + 0x50]
cmp ecx, eax
jge 0x43d468
mov eax, dword [0x496fc0]
mov ecx, eax
inc ecx
mov dword [0x496fc0], ecx
add eax, 0x524ffd40
cmp eax, 0x1a5a69da
jg 0x43d463
mov ax, word [0x49b37a]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x49b37a], dx
movsx ecx, ax
xor ecx, 0x9be6db5e
mov ax, word [0x49ca26]
movsx esi, ax
add esi, 0x4e641907
cmp ecx, esi
jge 0x43d45e
jmp 0x43d45e
jmp 0x43d463
jmp 0x43d4ab
mov eax, 0x5eff7def
mov ecx, dword [0x498108]
inc ecx
mov dword [0x498108], ecx
sub ecx, 0xb013a455
add ecx, 0x9113a048
cmp eax, ecx
jl 0x43d4a6
mov eax, dword [0x496034]
or eax, 0xbed9f13
mov ecx, dword [0x4972a0]
add ecx, eax
mov dword [0x4972a0], ecx
jmp 0x43d4ab
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xd0]
movzx eax, word [ecx + eax*4 - 4]
mov ecx, dword [esp + 0x8c]
or ecx, eax
mov dword [esp + 0x8c], ecx
mov dx, word [0x49e812]
mov ax, dx
xor eax, 0xa802
mov dx, ax
mov word [0x49e812], dx
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x84]
imul eax, ecx
mov dword [esp + 0x78], eax
mov eax, dword [0x498224]
imul eax, eax, 0x8e621ccf
xor eax, 0x72aa9c5a
mov ecx, dword [0x497534]
and ecx, 0x687cde78
cmp eax, ecx
jl 0x43d54e
mov eax, 0x8d8c793
mov ecx, dword [0x49a124]
inc ecx
mov dword [0x49a124], ecx
cmp eax, ecx
jle 0x43d549
mov eax, dword [0x499958]
add eax, 0xb6536fe4
mov dword [0x499958], eax
jmp 0x43d54e
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0x78]
jae 0x43d603
mov word [0x49ce00], 0x89df
mov eax, dword [esp + 0x94]
dec eax
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x8c]
add ecx, eax
mov dword [esp + 0x8c], ecx
mov dword [0x496020], 0xd7268c1b
xor eax, eax
mov cl, al
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0x7c]
mov byte [esp + 0x4b], cl
jb 0x43d5c0
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0x78]
setb cl
mov byte [esp + 0x4b], cl
mov al, byte [esp + 0x4b]
test al, 1
jne 0x43d5d1
jmp 0x43d5f9
mov eax, dword [esp + 0x94]
add eax, 0xffffffff
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x7c]
add eax, dword [esp + 0x8c]
mov dword [esp + 0x8c], eax
jmp 0x43d595
mov dword [0x498494], 0x7b288386
mov eax, 0x3aeaab42
mov ecx, dword [0x495c80]
dec ecx
mov dword [0x495c80], ecx
and ecx, 0xf0046c93
and ecx, 0x4e40f2c7
cmp eax, ecx
jl 0x43d638
mov eax, dword [0x49ae10]
and eax, 0x1126baf3
mov dword [0x49ae10], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x8c]
sub ecx, eax
mov dword [esp + 0x8c], ecx
mov eax, dword [0x494cdc]
mov ecx, eax
dec ecx
mov dword [0x494cdc], ecx
add eax, 0x970422b8
mov dx, word [0x49d3c6]
mov cx, dx
xor ecx, eax
mov dx, cx
mov word [0x49d3c6], dx
mov eax, dword [esp + 0x90]
shl eax, 0x10
mov ecx, dword [esp + 0x94]
or eax, ecx
mov ecx, dword [esp + 0xe0]
mov esi, dword [esp + 0xd8]
sub ecx, esi
mov esi, dword [esp + 0xb8]
mov dword [esi + ecx*4 - 4], eax
mov eax, dword [0x4970d8]
add eax, 0xb768187e
mov dword [0x4970d8], eax
mov eax, dword [0x495838]
not eax
mov cx, ax
mov word [0x49dd10], cx
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xd8]
sub eax, edx
mov edx, dword [esp + 0xb8]
mov esi, dword [edx + eax*4 - 4]
inc esi
mov dword [edx + eax*4 - 4], esi
mov eax, dword [0x4998fc]
shl eax, 6
and eax, 0xaee10f00
mov dword [0x49624c], eax
lea eax, [esp + 0xa4]
xor ecx, ecx
mov edx, dword [0x49a244]
imul edx, edx, 0xd5697800
mov esi, 0x278d0cae
sub esi, edx
mov di, word [0x49e0d6]
mov dx, di
xor edx, esi
mov di, dx
mov word [0x49e0d6], di
mov edx, dword [esp + 0xe0]
mov esi, dword [esp + 0xd8]
sub edx, esi
mov esi, dword [esp + 0xb8]
mov ebx, dword [esi + edx*4 - 4]
dec ebx
mov dword [esi + edx*4 - 4], ebx
mov edx, dword [0x49543c]
mov esi, dword [0x4957ac]
mov ebx, esi
dec ebx
mov dword [0x4957ac], ebx
imul edx, esi
or edx, 0x5433107e
mov esi, dword [0x493eb8]
imul esi, edx
mov dword [0x493eb8], esi
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x44], ecx
call fcn.0042da00
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43d79d
jmp 0x43e003
mov eax, dword [0x49aa20]
and eax, 0xf75f5faf
mov dword [0x49aa20], eax
cmp dword [esp + 0xd8], 1
jge 0x43d7c5
xor eax, eax
mov dword [esp + 0x40], eax
jmp 0x43d7dd
mov eax, dword [esp + 0xd8]
sub eax, 1
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0xa4]
mov edx, dword [esp + 0xac]
mov dword [edx], eax
mov si, word [0x49d6de]
mov ax, si
and eax, 0xee3a
mov si, ax
mov word [0x49d6de], si
mov eax, dword [esp + 0xd8]
mov edx, dword [esp + 0xc4]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0xac]
mov dword [edx + 4], eax
mov eax, dword [0x49402c]
mov edx, eax
inc edx
mov dword [0x49402c], edx
mov edx, 0xd625d13d
sub edx, eax
mov eax, dword [0x498ea4]
imul eax, edx
mov dword [0x498ea4], eax
mov eax, dword [esp + 0xe0]
sub eax, dword [esp + 0xd8]
sub eax, 1
mov edx, dword [esp + 0xb8]
mov eax, dword [edx + eax*4]
mov dword [esp], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00419870
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43d887
jmp 0x43e003
mov ax, word [0x49e0cc]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x49e0cc], dx
movsx ecx, ax
mov esi, dword [0x49842c]
sar esi, 2
sub ecx, esi
and ecx, 0xa1ef422a
mov ax, word [0x49dc56]
movsx esi, ax
sar esi, 4
mov edi, dword [0x49525c]
sar edi, 6
and esi, edi
cmp ecx, esi
jge 0x43d923
mov eax, dword [0x4960a8]
not eax
add eax, 0x8da175ac
xor eax, 0xd93a4e5e
mov cx, word [0x49c790]
movsx edx, cx
imul edx, edx, 0xf106ec9f
mov esi, dword [0x496c58]
dec esi
mov dword [0x496c58], esi
and edx, esi
cmp eax, edx
jne 0x43d91e
mov ax, word [0x49db96]
mov cx, ax
or ecx, 0x1929
mov ax, cx
mov word [0x49db96], ax
jmp 0x43d945
mov eax, dword [0x497140]
mov ecx, eax
dec ecx
mov dword [0x497140], ecx
xor eax, 0x6ef11c5a
mov ecx, dword [0x498978]
imul ecx, eax
mov dword [0x498978], ecx
lea eax, [esp + 0x98]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x3c], ecx
call fcn.0042da00
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43d977
jmp 0x43e003
mov eax, dword [0x4940a0]
mov ecx, eax
dec ecx
mov dword [0x4940a0], ecx
add eax, 0x741b27cc
or eax, 0x4869
mov dx, word [0x49cc0e]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x49cc0e], dx
cmp dword [esp + 0xe0], 2
jge 0x43d9be
xor eax, eax
mov dword [esp + 0x38], eax
jmp 0x43d9d6
mov eax, dword [esp + 0xe0]
sub eax, 2
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0xa0]
mov dword [ecx], eax
mov eax, dword [0x495474]
add eax, 0x7404a62c
mov dword [0x495474], eax
cmp dword [esp + 0xe0], 1
jge 0x43da0b
xor eax, eax
mov dword [esp + 0x34], eax
jmp 0x43da23
mov eax, dword [esp + 0xe0]
sub eax, 1
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xa0]
mov dword [ecx + 4], eax
mov dx, word [0x49cc3e]
mov ax, dx
add eax, 0x519297cf
mov dx, ax
mov word [0x49cc3e], dx
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0xa0]
mov dword [ecx + 8], eax
mov dx, word [0x49e838]
mov ax, dx
add eax, 0xd017474c
mov dx, ax
mov word [0x49e838], dx
lea eax, [esp + 0xa4]
lea ecx, [esp + 0x98]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004161b0
cmp eax, 0
jg 0x43d6f5
mov eax, 0xefb1d8dc
mov cx, word [0x49bee8]
mov dx, cx
inc edx
mov si, dx
mov word [0x49bee8], si
movsx edx, cx
mov cx, word [0x49e19e]
movsx edi, cx
imul edi, edi, 0x5d6abe1c
sub edx, edi
cmp eax, edx
jg 0x43db01
mov ax, word [0x49d652]
mov cx, ax
mov edx, 0xd264af07
sub edx, ecx
mov ax, word [0x49beea]
mov cx, ax
lea ecx, [edx + ecx - 0x3bfa5209]
mov ax, cx
mov word [0x49beea], ax
lea eax, [esp + 0xa4]
lea ecx, [esp + 0xbc]
mov edx, dword [esp + 0xe0]
sub edx, dword [esp + 0xd8]
sub edx, 1
mov esi, dword [esp + 0xb8]
mov edx, dword [esi + edx*4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00419870
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43db4f
jmp 0x43e003
lea eax, [esp + 0xa4]
mov ecx, dword [0x49ab98]
or ecx, 0xfdc8
mov dx, word [0x49babe]
mov si, dx
sub esi, ecx
mov dx, si
mov word [0x49babe], dx
mov ecx, dword [esp + 0xe0]
sub ecx, dword [esp + 0xd8]
sub ecx, 1
shl ecx, 5
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0041c310
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43dbad
jmp 0x43e003
lea eax, [esp + 0xc8]
lea ecx, [esp + 0xa4]
mov edx, dword [0x497800]
xor edx, 0x25f65db9
mov esi, dword [0x496ef0]
and esi, edx
mov dword [0x496ef0], esi
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0043c260
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43dbfa
jmp 0x43e003
mov eax, 0xedeb56f6
mov cx, word [0x49d150]
movsx edx, cx
xor edx, 0xffffffff
cmp eax, edx
jle 0x43dc2c
mov ax, word [0x49bfaa]
mov cx, ax
or ecx, 0xa25e
mov ax, cx
mov word [0x49bfaa], ax
lea eax, [esp + 0xc8]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x30], ecx
call fcn.0043ec20
cmp eax, 0
jge 0x43dd75
lea eax, [esp + 0xa4]
lea ecx, [esp + 0xbc]
mov edx, dword [0x496b4c]
dec edx
mov dword [0x496b4c], edx
mov si, word [0x49deee]
mov di, si
imul edi, edx
mov si, di
mov word [0x49deee], si
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040abb0
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43dca5
jmp 0x43e003
lea eax, [esp + 0xa4]
mov ecx, dword [0x493ff8]
xor ecx, 0x39e26db2
mov dword [0x493ff8], ecx
mov ecx, dword [esp + 0xe0]
sub ecx, dword [esp + 0xd8]
sub ecx, 1
shl ecx, 5
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0041c310
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43dcf3
jmp 0x43e003
lea eax, [esp + 0xc8]
lea ecx, [esp + 0xa4]
mov edx, dword [0x4945c8]
imul edx, edx, 0x4a2ceaff
mov dword [0x4945c8], edx
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044f070
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43dd38
jmp 0x43e003
mov eax, dword [0x49601c]
add eax, 0x4dcc94e8
mov dword [0x49601c], eax
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xd8]
sub eax, ecx
mov ecx, dword [esp + 0xb8]
mov edx, dword [ecx + eax*4 - 4]
dec edx
mov dword [ecx + eax*4 - 4], edx
mov si, word [0x49c404]
mov word [0x49c404], si
mov eax, dword [0x49851c]
and eax, 0xb553a079
mov dword [0x49851c], eax
mov eax, dword [esp + 0xe0]
add eax, 0xffffffff
mov dword [esp + 0xe0], eax
jmp 0x43cf54
mov eax, dword [0x4976d0]
add eax, 0x4cb72185
mov dword [0x4976d0], eax
cmp dword [esp + 0xe8], 0
je 0x43debc
mov eax, dword [0x49a484]
cmp eax, 0xbcdf84e1
jl 0x43ddd6
mov eax, dword [0x494ce8]
add eax, 0x5edfff7f
mov dword [0x494ce8], eax
mov eax, 0xa82f7c51
mov ecx, dword [esp + 0xe8]
mov edx, esp
lea esi, [esp + 0xb0]
mov dword [edx + 4], esi
mov dword [edx], ecx
mov dword [esp + 0x2c], eax
call fcn.0040abb0
mov ecx, dword [0x494e08]
mov edx, ecx
dec edx
mov dword [0x494e08], edx
or ecx, 0x9890352
mov edx, dword [0x4991d0]
sub edx, ecx
mov dword [0x4991d0], edx
mov ecx, dword [esp + 0xf0]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xf4]
mov edx, dword [edx]
imul ecx, edx
mov edx, dword [esp + 0xe8]
mov dword [edx], ecx
mov di, word [0x49cf56]
movsx ecx, di
and ecx, 0xe0e65fe9
mov edx, dword [esp + 0x2c]
cmp edx, ecx
mov dword [esp + 0x28], eax
jl 0x43deb7
mov eax, 0xfb4f8224
mov cx, word [0x49c57a]
movsx edx, cx
xor edx, 0xf65a2077
cmp eax, edx
jle 0x43de9b
mov eax, 0x1d70cb3d
mov ecx, dword [0x496270]
dec ecx
mov dword [0x496270], ecx
cmp eax, ecx
jge 0x43de96
jmp 0x43de96
jmp 0x43deb2
mov eax, dword [0x499910]
mov ecx, dword [0x49a2e8]
lea eax, [eax + ecx - 0x5b80c9fb]
mov dword [0x49a2e8], eax
jmp 0x43deb7
jmp 0x43debc
mov dword [0x495444], 0x58229055
cmp dword [esp + 0xec], 0
je 0x43dfb5
xor eax, eax
mov ecx, dword [0x49a148]
or ecx, 0xe3430a29
mov dword [0x49a148], ecx
mov ecx, dword [esp + 0xd4]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0xc8]
mov dword [edx], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
call fcn.0042db40
mov si, word [0x49e24e]
mov cx, si
add ecx, 0xc150942
mov si, cx
mov word [0x49e24e], si
mov ecx, dword [esp + 0xec]
mov edx, esp
mov edi, dword [esp + 0x20]
mov dword [edx + 4], edi
mov dword [edx], ecx
mov dword [esp + 0x1c], eax
call fcn.0040abb0
mov ecx, dword [0x499f4c]
or ecx, 0x25ec40d3
mov dword [0x499f4c], ecx
mov ecx, dword [esp + 0xf0]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xec]
mov dword [edx], ecx
mov ecx, dword [0x49a944]
imul ecx, ecx, 0x6ebe0bbe
mov dword [0x49a944], ecx
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x18], eax
call fcn.0043ec20
cmp eax, 0
jne 0x43dfa6
mov eax, dword [esp + 0xec]
mov dword [eax], 1
mov eax, dword [0x49ab8c]
or eax, 0x7ebfdafd
mov dword [0x49ab8c], eax
mov eax, 0x5eac3fd4
mov ecx, dword [0x499e40]
or ecx, 0xb65f15e3
cmp eax, ecx
jle 0x43dfe2
mov eax, dword [0x495b90]
add eax, 0x3b5a7ecc
mov dword [0x495b90], eax
jmp 0x43dffe
mov eax, dword [0x494358]
sar eax, 5
imul eax, eax, 0x588a5d83
mov ecx, dword [0x493f40]
and ecx, eax
mov dword [0x493f40], ecx
jmp 0x43e003
mov eax, esp
lea ecx, [esp + 0x98]
mov dword [eax + 0x10], ecx
lea ecx, [esp + 0xa4]
mov dword [eax + 0xc], ecx
lea ecx, [esp + 0xb0]
mov dword [eax + 8], ecx
lea ecx, [esp + 0xbc]
mov dword [eax + 4], ecx
lea ecx, [esp + 0xc8]
mov dword [eax], ecx
mov dword [eax + 0x14], 0
call fcn.00438dd0
mov eax, dword [0x493e10]
mov ecx, eax
dec ecx
mov dword [0x493e10], ecx
mov dx, word [0x49bc0a]
movsx ecx, dx
add ecx, 0x5feea4be
and ecx, 0x71904ed6
cmp eax, ecx
jge 0x43e0d7
mov eax, dword [0x496550]
inc eax
mov dword [0x496550], eax
mov ecx, dword [0x4971cc]
mov edx, ecx
dec edx
mov dword [0x4971cc], edx
imul ecx, ecx, 0x1f7362fd
cmp eax, ecx
jne 0x43e0d2
mov eax, dword [0x4962c4]
not eax
mov cx, word [0x49e0c8]
mov dx, cx
dec edx
mov si, dx
mov word [0x49e0c8], si
movsx edx, cx
imul edx, edx, 0xcdfb970e
add eax, edx
cmp eax, 0x27dac6e6
je 0x43e0cd
jmp 0x43e0cd
jmp 0x43e0d2
jmp 0x43e0d7
mov eax, dword [esp + 0xe4]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xf8]
add esp, 0xfc
pop esi
pop edi
pop ebx
ret