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

Disassembly:
push edi
push esi
sub esp, 0xfc
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x10c]
mov esi, dword [esp + 0x108]
mov edi, 0xc46
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xec], edx
mov dword [esp + 0xe8], esi
mov eax, dword [0x49873c]
mov ecx, eax
inc ecx
mov dword [0x49873c], ecx
mov ecx, dword [0x495c70]
and eax, ecx
cmp edi, eax
jl 0x433170
mov ax, word [0x4a82b6]
movsx ecx, ax
or ecx, 0x945bfb31
mov edx, dword [0x494b80]
and edx, ecx
mov dword [0x494b80], edx
xor eax, eax
mov ecx, dword [0x4945c0]
mov edx, ecx
dec edx
mov dword [0x4945c0], edx
add ecx, 0x303eee67
mov edx, dword [0x4a1b14]
or edx, ecx
mov dword [0x4a1b14], edx
mov ecx, dword [0x49f508]
add ecx, 0xd1ebff57
mov dword [0x49f508], ecx
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x74], eax
call fcn.00439b00
cmp eax, 0
jne 0x4331db
mov dword [esp + 0xf8], 0xfffffff4
jmp 0x434b76
mov eax, 0x168e4a3b
mov cx, word [0x4a6964]
movsx edx, cx
shl edx, 0xa
cmp eax, edx
je 0x433204
mov eax, dword [0x49aef8]
add eax, 0xf96358c3
mov dword [0x49aef8], eax
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.0042dfe0
mov eax, dword [0x49e280]
mov ecx, dword [0x49d8ac]
dec ecx
mov dword [0x49d8ac], ecx
or eax, ecx
mov ecx, dword [0x4982dc]
sub ecx, eax
mov dword [0x4982dc], ecx
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0043ac90
cmp eax, 0
jge 0x433346
mov eax, dword [0x49d584]
add eax, 0x2edc60e3
mov dword [0x49d584], eax
cmp dword [esp + 0xe8], 0
je 0x4332dc
xor eax, eax
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x70], eax
call fcn.0044f9c0
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x4332d7
jmp 0x434b19
jmp 0x4332dc
mov word [0x4a50b4], 0x1161
cmp dword [esp + 0xec], 0
je 0x433327
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00429e70
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x433322
jmp 0x434b19
jmp 0x433327
mov eax, dword [0x49fa90]
or eax, 0xbbfbcb6f
mov dword [0x49fa90], eax
mov dword [esp + 0xf8], 0
jmp 0x434b76
lea eax, [esp + 0xc8]
mov dword [0x4993f8], 0x82ef323b
mov ecx, dword [esp + 0xf0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00429e70
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43337f
jmp 0x434b19
lea eax, [esp + 0xbc]
mov ecx, dword [0x498488]
and ecx, 0x53d07ba0
mov dword [0x498488], ecx
mov ecx, dword [esp + 0xf4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00429e70
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x4333c0
jmp 0x434b19
lea eax, [esp + 0xb0]
mov ecx, dword [0x4a0138]
and ecx, 0x61cfaea0
mov edx, dword [0x49ffac]
xor edx, ecx
mov dword [0x49ffac], edx
mov dword [esp + 0xbc], 1
mov dword [esp + 0xc8], 1
mov ecx, dword [0x498e14]
xor ecx, 0x8d2c85f0
mov dword [0x498e14], 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.0040f710
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x433437
jmp 0x434b19
mov eax, dword [0x498d90]
cmp eax, 0xdda119c
jg 0x43347d
mov eax, 0x15534916
mov cx, word [0x4a731e]
movsx edx, cx
shl edx, 5
mov esi, dword [0x49a8a8]
and edx, esi
cmp eax, edx
jg 0x433478
mov eax, dword [0x49b224]
add eax, 0x9d9e8601
mov dword [0x49b224], eax
jmp 0x433487
mov dword [0x49dbe4], 0x3ff38769
lea eax, [esp + 0xb0]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x6c], ecx
call fcn.0044f9c0
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x4334b9
jmp 0x434b19
lea eax, [esp + 0xa4]
mov ecx, 2
mov word [0x4a51c0], 0x326d
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 0x68], ecx
call fcn.0040f710
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x4334f7
jmp 0x434b19
lea eax, [esp + 0x98]
mov ecx, 3
mov edx, dword [0x49f214]
add edx, 0x62cb5431
mov dword [0x49f214], edx
mov dword [esp], eax
mov dword [esp + 4], 3
mov dword [esp + 0x64], ecx
call fcn.0040f710
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43353e
jmp 0x434b19
mov ax, word [0x4a7eb4]
movsx ecx, ax
sar ecx, 4
cmp ecx, 0x90895d0a
jne 0x433595
mov eax, 0x757bfdfe
mov ecx, dword [0x49a340]
inc ecx
mov dword [0x49a340], ecx
xor ecx, 0xfe21ab48
cmp eax, ecx
jge 0x433590
mov eax, dword [0x49e744]
not eax
add eax, 0xae03a5a
mov ecx, dword [0x4a1360]
xor ecx, eax
mov dword [0x4a1360], ecx
jmp 0x433595
mov eax, esp
lea ecx, [esp + 0xbc]
mov dword [eax], ecx
call fcn.0040fe40
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 si, word [0x4a3ab6]
mov ax, si
add eax, 0x64cb2a43
mov si, ax
mov word [0x4a3ab6], si
cmp dword [esp + 0xd4], 0x1f
jge 0x433705
mov ax, word [0x4a698c]
movsx ecx, ax
mov edx, dword [0x4955c0]
add edx, 0x76246371
cmp ecx, edx
jg 0x43365f
mov eax, 0xe4dbac34
mov cx, word [0x4a4164]
movsx edx, cx
imul edx, edx, 0x11f511bb
cmp eax, edx
jg 0x43365a
mov eax, dword [0x49be4c]
or eax, 0x5a6e2e96
and eax, 0x7a6ffef7
mov ecx, dword [0x49fcc4]
mov edx, ecx
dec edx
mov dword [0x49fcc4], edx
sub ecx, 0x4df23430
or ecx, 0x70c593df
cmp eax, ecx
jle 0x433655
jmp 0x433655
jmp 0x43365a
jmp 0x43365f
lea eax, [esp + 0xc8]
mov ecx, dword [esp + 0xd4]
mov edx, 0x1f
sub edx, ecx
mov dword [esp + 0xd4], edx
mov ecx, dword [0x493e20]
add ecx, 0xbeffdb9b
mov dword [0x493e20], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00435c50
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x4336b5
jmp 0x434b19
lea eax, [esp + 0xbc]
mov ecx, dword [0x4946fc]
imul ecx, ecx, 0x21cb727
mov dword [0x4946fc], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00435c50
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x4336f6
jmp 0x434b19
mov dword [0x498098], 0x2390ffd8
jmp 0x433710
mov dword [esp + 0xd4], 0
mov eax, dword [0x49c0f4]
add eax, 0x6c766153
mov dword [0x49c0f4], eax
mov eax, dword [esp + 0xcc]
dec eax
mov dword [esp + 0xdc], eax
mov eax, dword [0x4976d0]
inc eax
mov dword [0x4976d0], eax
and eax, 0xd083e5
cmp eax, 0xb33142a3
jg 0x433761
mov ax, word [0x4a7798]
mov cx, ax
add ecx, 0xafd72a2
mov ax, cx
mov word [0x4a7798], ax
mov eax, dword [esp + 0xc0]
dec eax
mov dword [esp + 0xd8], eax
mov eax, dword [0x49a40c]
add eax, 0x7f71729c
mov dword [0x49a40c], eax
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.00435c50
mov ecx, dword [0x49b87c]
or ecx, 0x502d54c9
mov dword [0x49b87c], 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.0040e570
cmp eax, 0
jl 0x4338a7
mov eax, dword [0x49ed38]
sar eax, 2
and eax, 0x9086cc47
xor eax, 0xd9a85c36
cmp eax, 0x94744226
jge 0x433842
mov eax, 0xbe27b789
mov cx, word [0x4a207c]
movsx edx, cx
cmp eax, edx
jge 0x43383d
mov eax, 0x6faffdbc
mov ecx, dword [0x495190]
xor ecx, 0xffffffff
sub ecx, 0x235fd3e8
cmp eax, ecx
jg 0x433833
jmp 0x433838
jmp 0x433838
jmp 0x43383d
jmp 0x433842
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xd8]
sub eax, ecx
mov ecx, dword [esp + 0xb8]
mov edx, dword [ecx + eax*4]
inc edx
mov dword [ecx + eax*4], edx
mov eax, dword [0x49b7f0]
add eax, 0x12006001
mov dword [0x49b7f0], eax
mov eax, esp
lea ecx, [esp + 0xbc]
mov dword [eax + 8], ecx
lea ecx, [esp + 0xc8]
mov dword [eax + 4], ecx
mov dword [eax], ecx
call fcn.0044fca0
mov ecx, dword [0x496fc0]
add ecx, 0x8b843060
mov dword [0x496fc0], ecx
mov dword [esp + 0x5c], eax
jmp 0x4337bb
mov eax, dword [0x4a0828]
and eax, 0x6b767583
mov dword [0x4a0828], eax
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.00428e80
mov ecx, dword [0x49e040]
mov edx, ecx
inc edx
mov dword [0x49e040], edx
or ecx, 0x6490f7f6
cmp ecx, 0x208cd810
mov dword [esp + 0x58], eax
jl 0x43391c
mov eax, dword [0x49c4e4]
mov ecx, dword [0x4972d8]
add eax, ecx
mov ecx, dword [0x497bb8]
or ecx, eax
mov dword [0x497bb8], ecx
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xe0]
cmp eax, dword [esp + 0xd8]
jle 0x43483a
mov eax, dword [0x49c59c]
add eax, 0x6db4a6d9
mov dword [0x49c59c], 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 0x433999
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 0x434008
mov eax, 0x6ad1391d
mov ecx, dword [0x49ebfc]
add ecx, 0xd17db22c
mov dword [0x49ebfc], ecx
mov ecx, dword [0x497c58]
mov edx, ecx
inc edx
mov dword [0x497c58], edx
mov edx, dword [0x49b6b8]
mov esi, edx
inc esi
mov dword [0x49b6b8], esi
or ecx, edx
mov edx, dword [0x49c38c]
add edx, ecx
mov dword [0x49c38c], edx
mov ecx, dword [0x4a0ef4]
add ecx, 0xb2dd2c2d
mov dword [0x4a0ef4], ecx
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xc4]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x7c], ecx
mov ecx, dword [0x49ced0]
mov edx, ecx
dec edx
mov dword [0x49ced0], edx
add ecx, 0xb3833744
mov dword [0x49b0ac], ecx
movzx ecx, word [esp + 0x7c]
mov dword [esp + 0x84], ecx
mov ecx, dword [0x49c644]
shl ecx, 0xa
cmp eax, ecx
je 0x433a61
mov ax, word [0x4a844c]
mov cx, ax
mov edx, ecx
inc edx
mov ax, dx
mov word [0x4a844c], ax
add ecx, 0xdf0d8be7
mov ax, cx
mov word [0x4a701c], ax
movzx eax, word [esp + 0x7e]
mov dword [esp + 0x80], eax
mov eax, dword [0x4a0fbc]
mov ecx, dword [0x49c5fc]
imul eax, ecx
mov dx, word [0x4a7258]
mov cx, dx
add ecx, eax
mov dx, cx
mov word [0x4a7258], dx
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 [0x49b7dc]
imul eax, eax, 0xeb65ac7b
mov ecx, dword [0x496f08]
or eax, ecx
or eax, 0x9eb407cc
mov dword [0x496f08], 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 [0x49de60]
sar eax, 5
mov ecx, 0x31953727
sub ecx, eax
mov eax, dword [0x494f08]
and eax, ecx
mov dword [0x494f08], eax
mov eax, dword [esp + 0x88]
shl eax, 0x10
mov dword [esp + 0x88], eax
mov eax, dword [0x4a03b4]
mov ecx, dword [0x4a19e8]
and eax, ecx
and eax, 0x9932bace
mov dword [0x49a9c8], eax
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 si, word [0x4a7ff8]
mov ax, si
add eax, 0xf18e2c96
mov si, ax
mov word [0x4a7ff8], si
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x84]
imul eax, ecx
mov dword [esp + 0x78], eax
mov si, word [0x4a2322]
mov ax, si
and eax, 0x890d
mov si, ax
mov word [0x4a2322], si
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0x78]
jae 0x433c6e
mov eax, dword [0x495968]
add eax, 0x4e21ab58
mov dword [0x495968], 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 [0x496944]
add eax, 0xb3c950f9
mov dword [0x496944], eax
xor eax, eax
mov cl, al
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0x7c]
mov byte [esp + 0x57], cl
jb 0x433c26
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 0x433c37
jmp 0x433c5f
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 0x433bfb
mov eax, dword [0x497170]
add eax, 0xcb95deb0
mov dword [0x497170], eax
mov ax, word [0x4a7396]
movsx ecx, ax
sar ecx, 1
and ecx, 0xa8c8621e
xor ecx, 0x7b6d546b
mov edx, dword [0x497a08]
cmp ecx, edx
jl 0x433ca2
mov eax, dword [0x49d860]
add eax, 0x98600028
mov dword [0x49d860], eax
mov eax, 0x71b096f5
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x88]
sub edx, ecx
mov dword [esp + 0x88], edx
mov ecx, dword [0x494058]
xor ecx, 0x149571d0
mov dword [0x494058], ecx
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x80]
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 + 0x94], eax
mov eax, dword [0x49d984]
inc eax
mov dword [0x49d984], eax
or eax, 0x5ab56b00
mov ecx, dword [0x498b98]
and ecx, eax
mov dword [0x498b98], ecx
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 eax, dword [0x494dc4]
imul eax, eax, 0xf4d33f6
mov dword [0x494dc4], eax
mov eax, dword [esp + 0x8c]
shl eax, 0x10
mov dword [esp + 0x8c], eax
mov word [0x4a463e], 0x7fdf
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 di, word [0x4a588a]
mov ax, di
and eax, 0x8622
mov di, ax
mov word [0x4a588a], di
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x84]
imul eax, ecx
mov dword [esp + 0x78], eax
mov eax, dword [0x4999c8]
shl eax, 9
mov ecx, dword [0x496c2c]
xor ecx, 0xffffffff
and eax, ecx
mov ecx, dword [esp + 0x50]
cmp ecx, eax
je 0x433dec
mov ax, word [0x4a3a32]
mov cx, ax
xor ecx, 0x2015
mov ax, cx
mov word [0x4a3a32], ax
jmp 0x433e05
mov eax, dword [0x49ac98]
and eax, 0x2723d7ed
mov ecx, dword [0x49e578]
imul ecx, eax
mov dword [0x49e578], ecx
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0x78]
jae 0x433f48
mov eax, dword [0x4986a8]
mov ecx, eax
dec ecx
mov dword [0x4986a8], ecx
add eax, 0x53e12426
mov dx, word [0x4a67d4]
mov cx, dx
xor ecx, eax
mov dx, cx
mov word [0x4a67d4], dx
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 dx, word [0x4a4cb0]
mov ax, dx
imul eax, eax, 0x689c13ab
mov dx, ax
mov word [0x4a4cb0], dx
xor eax, eax
mov cl, al
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0x7c]
mov byte [esp + 0x4b], cl
jb 0x433ea7
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 0x433eb8
jmp 0x433ee0
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 0x433e7c
mov eax, dword [0x49b364]
cmp eax, 0x7fe47f81
jl 0x433f43
mov eax, 0xfb0733fa
mov cx, word [0x4a329c]
mov dx, cx
inc edx
mov cx, dx
mov word [0x4a329c], cx
movsx edx, cx
and edx, 0x41135452
and edx, 0x47d3bb8a
cmp eax, edx
jl 0x433f3e
mov eax, 0x979c50fe
mov ecx, dword [0x49f930]
cmp eax, ecx
jl 0x433f39
jmp 0x433f39
jmp 0x433f3e
jmp 0x433f43
jmp 0x433f48
mov eax, dword [0x49939c]
cmp eax, 0xf2f351ff
jge 0x433f67
mov eax, dword [0x4a0630]
or eax, 0xebbb9a1f
mov dword [0x49da38], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x8c]
sub ecx, eax
mov dword [esp + 0x8c], ecx
mov eax, dword [0x49a144]
imul eax, eax, 0x62002012
mov dword [0x49a144], eax
mov eax, dword [esp + 0x90]
shl eax, 0x10
mov ecx, dword [esp + 0x94]
or eax, ecx
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xd8]
sub ecx, edx
mov edx, dword [esp + 0xb8]
mov dword [edx + ecx*4 - 4], eax
mov eax, dword [0x49d030]
mov ecx, eax
dec ecx
mov dword [0x49d030], ecx
cmp eax, 0x9d3f28df
jge 0x433ff4
mov ax, word [0x4a5b86]
movsx ecx, ax
mov edx, dword [0x49749c]
and ecx, edx
and ecx, 0xb80e81c0
mov dword [0x49749c], ecx
jmp 0x434003
mov eax, dword [0x49b700]
or eax, 0x2248777f
mov dword [0x49b700], eax
jmp 0x434008
mov eax, dword [0x49bdec]
mov ecx, eax
inc ecx
mov dword [0x49bdec], ecx
mov ecx, dword [0x49f60c]
mov edx, ecx
inc edx
mov dword [0x49f60c], edx
add eax, ecx
add eax, 0x307920e8
cmp eax, 0xee7f9ce2
jne 0x43405d
mov eax, dword [0x49b7e8]
imul eax, eax, 0x6530e127
mov cx, word [0x4a53ba]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x4a53ba], cx
jmp 0x4340c7
mov eax, 0x4c54e36d
mov ecx, dword [0x49e094]
inc ecx
mov dword [0x49e094], ecx
add ecx, 0x4b86e35
cmp eax, ecx
jge 0x43409e
mov eax, dword [0x496cb0]
mov ecx, eax
dec ecx
mov dword [0x496cb0], ecx
mov ecx, dword [0x4a01cc]
add ecx, eax
mov dword [0x4a01cc], ecx
jmp 0x4340c2
mov eax, 0x5f6f6c09
mov ecx, dword [0x498874]
dec ecx
mov dword [0x498874], ecx
cmp eax, ecx
jl 0x4340bd
jmp 0x4340bd
jmp 0x4340c2
jmp 0x4340c7
mov eax, 0xb44f0cfd
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xd8]
sub ecx, edx
mov edx, dword [esp + 0xb8]
mov esi, dword [edx + ecx*4 - 4]
inc esi
mov dword [edx + ecx*4 - 4], esi
mov ecx, dword [0x4959b4]
sar ecx, 0xa
add ecx, 0x61b0a5ab
cmp eax, ecx
jg 0x434112
mov dword [0x494f58], 0x928d0074
jmp 0x434171
mov eax, dword [0x49b5e0]
and eax, 0xbeb406e9
mov cx, word [0x4a571a]
movsx edx, cx
mov cx, word [0x4a8994]
mov si, cx
dec esi
mov cx, si
mov word [0x4a8994], cx
movsx esi, cx
imul edx, esi
imul edx, edx, 0xeded2083
cmp eax, edx
jge 0x43416c
mov eax, 0x9e4bdfcd
mov ecx, dword [0x49a230]
cmp eax, ecx
jne 0x434167
jmp 0x434167
jmp 0x43416c
jmp 0x434171
jmp 0x434176
lea eax, [esp + 0xa4]
xor ecx, ecx
mov edx, dword [0x49a170]
or edx, 0xe5fbfff7
mov esi, dword [0x499c1c]
imul esi, edx
mov dword [0x499c1c], esi
mov edx, dword [esp + 0xe0]
mov esi, dword [esp + 0xd8]
sub edx, esi
mov esi, dword [esp + 0xb8]
mov edi, dword [esi + edx*4 - 4]
dec edi
mov dword [esi + edx*4 - 4], edi
mov edx, dword [0x4962c0]
imul edx, edx, 0xf4c40d2c
mov dword [0x4962c0], edx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x44], ecx
call fcn.0044f9c0
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x4341f5
jmp 0x434b19
mov ax, word [0x4a2a9a]
mov cx, ax
xor ecx, 0xbfff
mov ax, cx
mov word [0x4a2a9a], ax
cmp dword [esp + 0xd8], 1
jge 0x434226
xor eax, eax
mov dword [esp + 0x40], eax
jmp 0x43423e
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]
mov ecx, 0xb1196ec9
mov edx, dword [esp + 0xac]
mov dword [edx], eax
mov si, word [0x4a46aa]
mov ax, si
dec eax
mov si, ax
mov word [0x4a46aa], si
movsx eax, si
sub eax, 0x700e095
cmp ecx, eax
jle 0x434284
mov eax, dword [0x4972e8]
xor eax, 0x2ec6c5eb
mov dword [0x4972e8], eax
mov eax, 0xffffbff7
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xc4]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esp + 0xac]
mov dword [edx + 4], ecx
mov ecx, dword [0x496e28]
mov edx, ecx
inc edx
mov dword [0x496e28], edx
xor ecx, 0x31e2873d
cmp eax, ecx
jle 0x4342de
mov ax, word [0x4a44a2]
mov cx, ax
and ecx, 0x3cbe
mov ax, cx
mov word [0x4a44a2], ax
jmp 0x4342ee
mov eax, dword [0x4964c8]
imul eax, eax, 0xd773500c
mov dword [0x4964c8], eax
lea eax, [esp + 0xa4]
mov ecx, dword [esp + 0xe0]
sub ecx, dword [esp + 0xd8]
sub ecx, 1
mov edx, dword [esp + 0xb8]
mov ecx, dword [edx + ecx*4]
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00451ac0
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x434335
jmp 0x434b19
lea eax, [esp + 0x98]
xor ecx, ecx
mov edx, dword [0x497580]
add edx, edx
mov esi, dword [0x4a1004]
sub esi, edx
mov dword [0x4a1004], esi
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x3c], ecx
call fcn.0044f9c0
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43437d
jmp 0x434b19
mov eax, 0x94fb3d70
mov ecx, dword [0x4994c4]
not ecx
mov dx, word [0x4a7f2a]
mov si, dx
inc esi
mov di, si
mov word [0x4a7f2a], di
movsx esi, dx
and ecx, esi
cmp eax, ecx
jge 0x4343c9
mov ax, word [0x4a71ca]
mov cx, ax
xor ecx, 0x638a
mov ax, cx
mov word [0x4a71ca], ax
jmp 0x4343ea
mov eax, dword [0x49be40]
mov ecx, eax
dec ecx
mov dword [0x49be40], ecx
mov ecx, 0x91bc152
sub ecx, eax
or ecx, 0x7a467865
mov dword [0x49e540], ecx
cmp dword [esp + 0xe0], 2
jge 0x434403
xor eax, eax
mov dword [esp + 0x38], eax
jmp 0x43441b
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, 0xbdfdfdce
mov edx, dword [esp + 0xa0]
mov dword [edx], eax
mov eax, dword [0x4a1a24]
cmp ecx, eax
jl 0x434452
mov ax, word [0x4a6872]
mov cx, ax
xor ecx, 0xc165
mov ax, cx
mov word [0x4a6872], ax
cmp dword [esp + 0xe0], 1
jge 0x43446b
xor eax, eax
mov dword [esp + 0x34], eax
jmp 0x434483
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, 0x3400ca34
mov edx, dword [esp + 0xa0]
mov dword [edx + 4], eax
mov eax, dword [0x4a08ec]
mov edx, eax
dec edx
mov dword [0x4a08ec], edx
mov edx, dword [0x498ca4]
xor edx, eax
mov dword [0x498ca4], edx
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xd0]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0xa0]
mov dword [edx + 8], eax
mov eax, dword [0x49cb60]
mov edx, dword [0x495a88]
mov esi, edx
dec esi
mov dword [0x495a88], esi
mov esi, dword [0x4a128c]
imul edx, esi
and eax, edx
cmp ecx, eax
jge 0x434534
mov eax, dword [0x49e9c0]
and eax, 0x2539eefc
xor eax, 0x8eeb623
cmp eax, 0x29e5fbad
jne 0x43452f
mov ax, word [0x4a7d86]
movsx ecx, ax
shl ecx, 2
and ecx, 0xaf51fe1c
mov edx, dword [0x49f710]
imul edx, ecx
mov dword [0x49f710], edx
jmp 0x434534
jmp 0x434539
lea eax, [esp + 0xa4]
lea ecx, [esp + 0x98]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040e570
cmp eax, 0
jg 0x434176
lea eax, [esp + 0xa4]
lea ecx, [esp + 0xbc]
mov edx, dword [0x49e6b4]
and edx, 0x759c3360
mov esi, dword [0x49786c]
or esi, edx
mov dword [0x49786c], esi
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.00451ac0
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x4345c4
jmp 0x434b19
lea eax, [esp + 0xa4]
mov ecx, dword [0x4a076c]
or ecx, 0x96a81c4d
mov dword [0x4a076c], 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.00435c50
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x434612
jmp 0x434b19
lea eax, [esp + 0xc8]
lea ecx, [esp + 0xa4]
mov dx, word [0x4a298e]
mov si, dx
and esi, 0x1bb6
mov dx, si
mov word [0x4a298e], dx
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044fca0
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43465f
jmp 0x434b19
lea eax, [esp + 0xc8]
xor ecx, ecx
mov edx, dword [0x49e20c]
not edx
mov esi, dword [0x49c380]
add esi, edx
mov dword [0x49c380], esi
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x30], ecx
call fcn.00439b00
cmp eax, 0
jge 0x434815
lea eax, [esp + 0xa4]
lea ecx, [esp + 0xbc]
mov edx, dword [0x4a0d1c]
and edx, 0xffaf77ad
mov dword [0x4a0d1c], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00429e70
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x4346dc
jmp 0x434b19
lea eax, [esp + 0xa4]
mov ecx, dword [0x494efc]
shl ecx, 4
mov dx, word [0x4a2c22]
mov si, dx
mov edi, esi
dec edi
mov dx, di
mov word [0x4a2c22], dx
add esi, 0xecdb9ba8
xor ecx, esi
mov dx, cx
mov word [0x4a5478], 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.00435c50
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43474a
jmp 0x434b19
lea eax, [esp + 0xc8]
lea ecx, [esp + 0xa4]
mov edx, dword [0x499980]
add edx, 0x233a971
mov dword [0x499980], edx
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00406fa0
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43478f
jmp 0x434b19
mov eax, dword [0x49b7e0]
mov ecx, eax
dec ecx
mov dword [0x49b7e0], ecx
add eax, 0x15063109
cmp eax, 0x3888004a
jl 0x4347d9
mov ax, word [0x4a77a0]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x4a77a0], dx
movsx ecx, ax
or ecx, 0xd730068e
mov esi, dword [0x49de40]
imul esi, ecx
mov dword [0x49de40], esi
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 eax, dword [0x496c1c]
mov ecx, eax
inc ecx
mov dword [0x496c1c], ecx
mov ecx, dword [0x495a80]
sub ecx, eax
mov dword [0x495a80], ecx
mov eax, dword [0x496144]
xor eax, 0x57a83fb5
mov dword [0x496144], eax
mov eax, dword [esp + 0xe0]
add eax, 0xffffffff
mov dword [esp + 0xe0], eax
jmp 0x43392a
mov eax, dword [0x49c428]
and eax, 0x6dc0cdf
mov dword [0x49c428], eax
cmp dword [esp + 0xe8], 0
je 0x4348d4
mov ax, word [0x4a3ea6]
movsx ecx, ax
not ecx
imul ecx, ecx, 0xee5962c5
or ecx, 0xe7e5bcd5
mov edx, dword [0x495044]
add edx, ecx
mov dword [0x495044], edx
mov ecx, dword [esp + 0xe8]
mov edx, esp
lea esi, [esp + 0xb0]
mov dword [edx + 4], esi
mov dword [edx], ecx
call fcn.00429e70
mov dword [0x497118], 0x72976bb5
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 ecx, dword [0x4a1a08]
add ecx, 0x1e4c0046
mov dword [0x4a1a08], ecx
mov dword [esp + 0x2c], eax
mov eax, dword [0x49ce78]
imul eax, eax, 0xe1b202e2
mov dword [0x49ce78], eax
cmp dword [esp + 0xec], 0
je 0x434a7a
mov ax, word [0x4a8638]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x4a8638], ax
movsx ecx, ax
mov ax, word [0x4a22f8]
mov dx, ax
dec edx
mov si, dx
mov word [0x4a22f8], si
movsx edx, ax
imul ecx, edx
mov edx, dword [0x493eb4]
and ecx, edx
mov edx, dword [0x496a84]
inc edx
mov dword [0x496a84], edx
imul edx, edx, 0xe4811ab4
cmp ecx, edx
jne 0x434955
mov eax, dword [0x4a02ec]
imul eax, eax, 0x51a124f2
mov dword [0x4a02ec], eax
mov eax, 0x7dbc39ca
mov ecx, dword [esp + 0xd4]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0xc8]
mov dword [edx], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
call fcn.00428e80
mov ecx, dword [0x497fac]
shr ecx, 9
mov edx, dword [0x49401c]
add edx, edx
or ecx, edx
mov si, word [0x4a3ce8]
mov dx, si
imul edx, ecx
mov si, dx
mov word [0x4a3ce8], si
mov ecx, dword [esp + 0xec]
mov edx, esp
mov edi, dword [esp + 0x24]
mov dword [edx + 4], edi
mov dword [edx], ecx
mov dword [esp + 0x20], eax
call fcn.00429e70
mov ecx, dword [0x4a07ac]
mov edx, dword [esp + 0x28]
cmp edx, ecx
mov dword [esp + 0x1c], eax
jg 0x4349f1
mov eax, dword [0x496dc4]
shl eax, 6
mov ecx, dword [0x494e2c]
xor eax, ecx
xor eax, 0x2b1e1743
mov dword [0x494e2c], eax
xor eax, eax
mov ecx, dword [esp + 0xf0]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xec]
mov dword [edx], ecx
mov ecx, dword [0x4991b4]
inc ecx
mov dword [0x4991b4], ecx
mov si, word [0x4a65f6]
mov dx, si
sub ecx, edx
mov si, word [0x4a3c74]
mov dx, si
sub edx, ecx
mov si, dx
mov word [0x4a3c74], si
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x18], eax
call fcn.00439b00
cmp eax, 0
jne 0x434a65
mov eax, dword [esp + 0xec]
mov dword [eax], 1
mov eax, dword [0x49f260]
not eax
mov ecx, dword [0x49b110]
and ecx, eax
mov dword [0x49b110], ecx
mov eax, 0x2176823a
mov cx, word [0x4a452e]
movsx edx, cx
mov esi, dword [0x49f204]
sar esi, 8
sub edx, esi
and edx, 0xfb612952
cmp eax, edx
je 0x434aca
mov ax, word [0x4a3510]
mov cx, ax
add ecx, 0xa8f154a1
mov ax, word [0x4a215c]
mov dx, ax
or edx, ecx
mov ax, dx
mov word [0x4a215c], ax
jmp 0x434b14
mov eax, dword [0x496634]
mov cx, word [0x4a5df0]
movsx edx, cx
shl edx, 4
xor edx, 0x7d205dd7
cmp eax, edx
jne 0x434b0f
mov eax, dword [0x49f4b4]
add eax, 0x212e060e
or eax, 0xf36c
mov cx, word [0x4a4e50]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x4a4e50], cx
jmp 0x434b14
jmp 0x434b19
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.00423030
mov eax, dword [0x49afac]
imul eax, eax, 0x10122580
mov dword [0x49afac], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xf8]
add esp, 0xfc
pop esi
pop edi
ret