Function at 0x440190
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 dword [0x4952b4], 0x1ba174ff
mov eax, dword [0x497758]
imul eax, eax, 0x4671113
mov dword [0x497758], eax
mov eax, dword [0x495370]
xor eax, 0xffffffff
or eax, 0x545aa782
cmp eax, 0xfbe7df7f
je 0x44021d
mov eax, dword [0x499fe4]
not eax
or eax, 0x31e0add7
mov ecx, dword [0x4a43e4]
sub ecx, eax
mov dword [0x4a43e4], ecx
xor eax, eax
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x70], eax
call fcn.004237e0
cmp eax, 0
jne 0x440253
mov dword [esp + 0xf4], 0xfffffff4
jmp 0x441a2d
mov eax, dword [0x49ad70]
imul eax, eax, 0xb8f4f95e
neg eax
mov ecx, dword [0x49e4a4]
lea eax, [ecx + eax - 0x5ae7fdf7]
mov dword [0x49e4a4], 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.00450dc0
mov dx, word [0x495110]
mov ax, dx
and eax, 0x3a85
mov dx, ax
mov word [0x495110], dx
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004026f0
cmp eax, 0
jge 0x4403f1
mov eax, 0x689820f6
mov cx, word [0x491686]
movsx edx, cx
mov esi, dword [0x4963c0]
mov edi, esi
dec edi
mov dword [0x4963c0], edi
sub eax, esi
or eax, 0x34d736cb
cmp edx, eax
jge 0x440329
mov eax, dword [0x496970]
or eax, 0xb572543
mov dword [0x496970], eax
cmp dword [esp + 0xe4], 0
je 0x44036e
xor eax, eax
mov ecx, dword [esp + 0xe4]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x6c], eax
call fcn.0044fc80
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x440369
jmp 0x4419cc
jmp 0x44036e
mov eax, dword [0x49b814]
inc eax
mov dword [0x49b814], eax
mov ecx, dword [0x4a1bd8]
and ecx, eax
mov dword [0x4a1bd8], ecx
cmp dword [esp + 0xe8], 0
je 0x4403c9
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00417cc0
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x4403c4
jmp 0x4419cc
jmp 0x4403c9
mov ax, word [0x49146a]
mov cx, ax
imul ecx, ecx, 0x5f487994
mov ax, cx
mov word [0x49146a], ax
mov dword [esp + 0xf4], 0
jmp 0x441a2d
lea eax, [esp + 0xc4]
mov ecx, dword [0x4a4e54]
inc ecx
mov dword [0x4a4e54], ecx
mov edx, dword [0x4a53d4]
and edx, ecx
mov dword [0x4a53d4], edx
mov ecx, dword [esp + 0xec]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00417cc0
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x44043b
jmp 0x4419cc
lea eax, [esp + 0xb8]
mov ecx, dword [0x4a67d4]
add ecx, 0x78432a1b
mov dword [0x4a67d4], ecx
mov ecx, dword [esp + 0xf0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00417cc0
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x44047c
jmp 0x4419cc
lea eax, [esp + 0xac]
mov cx, word [0x48e342]
movsx edx, cx
sar edx, 0xa
xor edx, 0x519a58b0
mov esi, dword [0x4988bc]
add esi, edx
mov dword [0x4988bc], esi
mov dword [esp + 0xb8], 1
mov dword [esp + 0xc4], 1
mov edx, dword [0x49acb8]
and edx, 0xf907
mov cx, word [0x49231c]
mov si, cx
or esi, edx
mov cx, si
mov word [0x49231c], cx
mov edx, dword [esp + 0xec]
mov edx, dword [edx + 4]
add edx, 2
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00407590
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x44050a
jmp 0x4419cc
lea eax, [esp + 0xac]
xor ecx, ecx
mov edx, dword [0x4a2758]
shr edx, 3
xor edx, 0x1ec7
mov esi, dword [0x4966d4]
mov edi, esi
dec edi
mov dword [0x4966d4], edi
or edx, esi
mov bx, word [0x490224]
mov si, bx
sub esi, edx
mov bx, si
mov word [0x490224], bx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x68], ecx
call fcn.0044fc80
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x440572
jmp 0x4419cc
lea eax, [esp + 0xa0]
mov ecx, 2
mov edx, dword [0x49fd14]
inc edx
mov dword [0x49fd14], edx
imul edx, edx, 0x1e32834a
mov esi, dword [0x49fe8c]
and esi, edx
mov dword [0x49fe8c], esi
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 0x64], ecx
call fcn.00407590
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x4405c8
jmp 0x4419cc
lea eax, [esp + 0x94]
mov ecx, 3
mov edx, dword [0x49f620]
mov esi, edx
inc esi
mov dword [0x49f620], esi
mov esi, 0x159c8a50
sub esi, edx
mov di, word [0x48d228]
mov dx, di
imul edx, esi
mov di, dx
mov word [0x48d228], di
mov dword [esp], eax
mov dword [esp + 4], 3
mov dword [esp + 0x60], ecx
call fcn.00407590
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x44062a
jmp 0x4419cc
mov eax, dword [0x49e14c]
or eax, 0x2a7896e4
mov dword [0x49e14c], eax
mov eax, esp
lea ecx, [esp + 0xb8]
mov dword [eax], ecx
call fcn.004176d0
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 [0x4a247c]
imul eax, eax, 0xec66c77d
mov si, word [0x490cf8]
mov cx, si
add ecx, eax
mov si, cx
mov word [0x490cf8], si
cmp dword [esp + 0xd0], 0x1f
jge 0x440787
mov eax, 0xffd7b86c
mov ecx, dword [0x49dbb8]
imul ecx, ecx, 0x676e2c13
mov dword [0x49dbb8], ecx
mov ecx, dword [esp + 0xd0]
mov edx, 0x1f
sub edx, ecx
mov dword [esp + 0xd0], edx
mov ecx, dword [0x4a6d48]
mov edx, dword [0x4a2c44]
sub ecx, edx
or ecx, 0x726c1d1d
cmp eax, ecx
jg 0x4406fa
mov eax, dword [0x49d4a4]
mov ecx, eax
dec ecx
mov dword [0x49d4a4], ecx
imul eax, eax, 0x1d7fb482
mov ecx, dword [0x49a228]
and ecx, eax
mov dword [0x49a228], ecx
lea eax, [esp + 0xc4]
mov ecx, dword [esp + 0xd0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004318d0
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x440729
jmp 0x4419cc
lea eax, [esp + 0xb8]
mov ecx, dword [0x4a3f04]
add ecx, 0xfd585f01
mov dword [0x4a3f04], ecx
mov ecx, dword [esp + 0xd0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004318d0
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x44076a
jmp 0x4419cc
mov ax, word [0x48f51a]
mov cx, ax
imul ecx, ecx, 0x1728d79b
mov ax, cx
mov word [0x48f51a], ax
jmp 0x440792
mov dword [esp + 0xd0], 0
mov eax, 0x83a83ed
mov ecx, dword [0x4a6910]
or ecx, 0x24007d45
mov dword [0x4a6910], ecx
mov ecx, dword [esp + 0xc8]
dec ecx
mov dword [esp + 0xd8], ecx
mov ecx, dword [0x49d748]
mov edx, ecx
dec edx
mov dword [0x49d748], edx
mov edx, dword [0x4a118c]
not edx
add ecx, edx
and ecx, 0x43453e0
mov edx, dword [0x4a54dc]
or edx, ecx
mov dword [0x4a54dc], edx
mov ecx, dword [esp + 0xbc]
dec ecx
mov dword [esp + 0xd4], ecx
mov ecx, dword [0x49a6b8]
imul ecx, ecx, 0xb9fce67c
cmp eax, ecx
jge 0x440817
mov eax, dword [0x49c36c]
or eax, 0xff7effff
mov dword [0x49c36c], eax
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.004318d0
mov ecx, dword [0x4a32a0]
or ecx, 0x9614012e
mov dword [0x4a32a0], ecx
mov dword [esp + 0x5c], eax
lea eax, [esp + 0xc4]
lea ecx, [esp + 0xb8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00436780
cmp eax, 0
jl 0x4408fe
mov eax, dword [0x496f74]
imul eax, eax, 0x68a84adf
mov dword [0x496f74], 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 si, word [0x48c72c]
mov ax, si
dec eax
mov di, ax
mov word [0x48c72c], di
movsx eax, si
add eax, 0x61daf64c
mov dword [0x49f588], eax
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.0042a0c0
mov ecx, dword [0x4a3b34]
imul ecx, ecx, 0x455a90
mov dword [0x4a3b34], ecx
mov dword [esp + 0x58], eax
jmp 0x440853
mov eax, 0x9e9d8b80
mov ecx, dword [0x4a69d4]
mov edx, ecx
inc edx
mov dword [0x4a69d4], edx
cmp eax, ecx
jg 0x440932
mov ax, word [0x49109e]
mov cx, ax
add ecx, 0x9715cc1d
mov ax, cx
mov word [0x49109e], ax
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.004100f0
mov ecx, dword [0x49ac94]
inc ecx
mov dword [0x49ac94], ecx
and ecx, 0x5000223
mov edx, dword [0x496bc8]
imul edx, ecx
mov dword [0x496bc8], 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 0x44171d
mov eax, dword [0x4a3e24]
sar eax, 5
add eax, 0x163171ce
xor eax, 0x6ed56742
mov ecx, dword [0x497f38]
add ecx, eax
mov dword [0x497f38], ecx
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 0x440a0c
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 0x441092
mov dword [0x49bb0c], 0xb685feb7
mov eax, dword [0x49d374]
mov dword [0x49b5e8], eax
mov eax, dword [0x4a0398]
and eax, 0x80040006
mov dword [0x4a0398], eax
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xc0]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x78], eax
mov dx, word [0x491932]
mov ax, dx
imul eax, eax, 0x6d969eb3
mov dx, ax
mov word [0x491932], dx
movzx eax, word [esp + 0x78]
mov dword [esp + 0x80], eax
mov dx, word [0x494b34]
movsx eax, dx
imul eax, eax, 0x840cd392
mov ecx, dword [0x4a61fc]
xor ecx, eax
mov dword [0x4a61fc], ecx
movzx eax, word [esp + 0x7a]
mov dword [esp + 0x7c], eax
mov word [0x494776], 0x4104
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x7c]
xor edx, edx
div ecx
mov dword [esp + 0x8c], eax
mov si, word [0x48c5c4]
movsx eax, si
cmp eax, 0x1b84b75a
jne 0x440b1f
mov eax, dword [0x4985c8]
mov ecx, dword [0x49f074]
mov edx, ecx
dec edx
mov dword [0x49f074], edx
imul eax, ecx
mov ecx, dword [0x49f970]
or eax, ecx
mov si, word [0x48e7d2]
movsx ecx, si
xor ecx, 0xffffffff
cmp eax, ecx
je 0x440b1a
mov ax, word [0x48cc4c]
movsx ecx, ax
mov edx, dword [0x49cd1c]
sub edx, ecx
mov dword [0x49cd1c], edx
jmp 0x440b1f
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 si, word [0x48d21e]
mov ax, si
imul eax, eax, 0xf7aac49d
mov si, ax
mov word [0x48d21e], si
mov eax, dword [esp + 0x84]
shl eax, 0x10
mov dword [esp + 0x84], eax
mov si, word [0x48dbec]
movsx eax, si
mov ecx, dword [0x499160]
xor eax, ecx
not eax
mov dword [0x499160], 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 si, word [0x492dac]
mov ax, si
inc eax
mov si, ax
mov word [0x492dac], si
movsx eax, si
mov ecx, dword [0x4a16d8]
or ecx, eax
mov dword [0x4a16d8], ecx
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x80]
imul eax, ecx
mov dword [esp + 0x74], eax
mov eax, dword [0x496878]
or eax, 0x86dee28a
mov dword [0x496878], eax
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0x74]
jae 0x440cd8
mov eax, 0x4cd733eb
mov ecx, dword [0x49ed5c]
dec ecx
mov dword [0x49ed5c], ecx
cmp eax, ecx
jl 0x440c32
mov eax, dword [0x49ce28]
add eax, 0x6fe21f96
mov dword [0x49ce28], eax
mov eax, dword [esp + 0x8c]
dec eax
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
add ecx, eax
mov dword [esp + 0x84], ecx
mov eax, dword [0x496630]
xor eax, 0x2db6739f
mov dword [0x496630], eax
xor eax, eax
mov cl, al
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0x78]
mov byte [esp + 0x53], cl
jb 0x440c8f
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0x74]
setb cl
mov byte [esp + 0x53], cl
mov al, byte [esp + 0x53]
test al, 1
jne 0x440ca0
jmp 0x440cc8
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 0x440c64
mov eax, dword [0x4a04d4]
imul eax, eax, 0x9343da16
mov dword [0x4a04d4], eax
mov eax, dword [0x49b5f8]
dec eax
mov dword [0x49b5f8], eax
cmp eax, 0xf53356fc
jg 0x440cfd
mov eax, dword [0x4a3884]
add eax, 0x5f545e30
mov dword [0x4a3884], eax
mov eax, 0x962076e5
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x84]
sub edx, ecx
mov dword [esp + 0x84], edx
mov ecx, dword [0x498b88]
sar ecx, 2
xor ecx, 0x85efafb
cmp eax, ecx
jle 0x440d3c
mov eax, dword [0x4a10f0]
add eax, 0x8068134
mov dword [0x4a10f0], eax
mov eax, 0xfbf2ef73
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x7c]
xor esi, esi
mov dword [esp + 0x4c], eax
mov eax, ecx
mov dword [esp + 0x48], edx
mov edx, esi
mov ecx, dword [esp + 0x48]
div ecx
mov dword [esp + 0x90], eax
mov eax, dword [0x4997dc]
mov ecx, dword [0x4a5880]
xor eax, ecx
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jge 0x440d97
mov eax, dword [0x4a2a1c]
shl eax, 0xa
mov cx, ax
mov word [0x48cbaa], cx
jmp 0x440db2
mov eax, dword [0x4a0488]
shl eax, 7
add eax, 0x68afaa3d
mov ecx, dword [0x4a176c]
sub ecx, eax
mov dword [0x4a176c], ecx
mov eax, 0x570d99b2
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x7c]
mov esi, dword [esp + 0x90]
imul edx, esi
sub ecx, edx
mov dword [esp + 0x88], ecx
mov word [0x491e66], 0x7822
mov ecx, dword [esp + 0x88]
shl ecx, 0x10
mov dword [esp + 0x88], ecx
mov ecx, dword [0x4a3d04]
or ecx, 0x21acc071
mov dword [0x4a3d04], ecx
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xcc]
movzx ecx, word [edx + ecx*4 - 4]
mov edx, dword [esp + 0x88]
or edx, ecx
mov dword [esp + 0x88], edx
mov ecx, dword [0x498558]
inc ecx
mov dword [0x498558], ecx
xor ecx, 0x2ed29bb7
cmp eax, ecx
jne 0x440e53
mov eax, dword [0x497b34]
xor eax, 0xf77d9d1f
mov dword [0x497b34], eax
jmp 0x440e7e
mov eax, dword [0x4a3b74]
mov ecx, eax
dec ecx
mov dword [0x4a3b74], ecx
mov ecx, dword [0x4a1ad8]
inc ecx
mov dword [0x4a1ad8], ecx
or eax, ecx
mov ecx, dword [0x495678]
xor ecx, eax
mov dword [0x495678], ecx
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x80]
imul eax, ecx
mov dword [esp + 0x74], eax
mov eax, dword [0x496a98]
shl eax, 7
add eax, 0x178973bf
or eax, 0x97d70995
cmp eax, 0x213f903b
jge 0x440ecb
mov eax, dword [0x49b494]
sar eax, 2
xor eax, 0xdcde3f15
mov ecx, dword [0x496e24]
and ecx, eax
mov dword [0x496e24], ecx
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0x74]
jae 0x440fc4
mov ax, word [0x48dcc4]
mov cx, ax
or ecx, 0x8544
mov ax, cx
mov word [0x48dcc4], ax
mov ecx, dword [esp + 0x90]
dec ecx
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x88]
add edx, ecx
mov dword [esp + 0x88], edx
mov ecx, dword [0x49c16c]
dec ecx
mov dword [0x49c16c], ecx
xor ecx, 0x322d
mov ax, word [0x493cd0]
mov dx, ax
sub edx, ecx
mov ax, dx
mov word [0x493cd0], ax
xor eax, eax
mov cl, al
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0x78]
mov byte [esp + 0x47], cl
jb 0x440f69
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0x74]
setb cl
mov byte [esp + 0x47], cl
mov al, byte [esp + 0x47]
test al, 1
jne 0x440f7a
jmp 0x440fa2
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 0x440f3e
mov eax, dword [0x4a48dc]
not eax
add eax, 0xa2a34dca
mov cx, word [0x48cf74]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x48cf74], cx
mov ax, word [0x4946c2]
movsx ecx, ax
mov edx, dword [0x49a2d4]
mov esi, edx
inc esi
mov dword [0x49a2d4], esi
mov esi, dword [0x4a34b4]
inc esi
mov dword [0x4a34b4], esi
imul esi, esi, 0x289371f8
and edx, esi
cmp ecx, edx
je 0x44101b
mov eax, dword [0x495fb4]
and eax, 0x801008
or eax, 0x9f24a982
mov ecx, dword [0x4968ac]
and ecx, eax
mov dword [0x4968ac], ecx
jmp 0x44102a
mov eax, dword [0x4a61bc]
and eax, 0x49c8011d
mov dword [0x4a61bc], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x88]
sub ecx, eax
mov dword [esp + 0x88], ecx
mov eax, dword [0x4a1f90]
shl eax, 6
mov dword [0x498a08], eax
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 [0x492678]
mov ax, si
add eax, 0xb37fffef
mov si, ax
mov word [0x492678], si
mov eax, 0x6593b4aa
mov ecx, dword [0x4a53f4]
cmp eax, ecx
jl 0x4410b5
mov eax, dword [0x4a2da0]
imul eax, eax, 0x1428cf4b
mov dword [0x4a2da0], eax
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xd4]
sub eax, ecx
mov ecx, dword [esp + 0xb4]
mov edx, dword [ecx + eax*4 - 4]
inc edx
mov dword [ecx + eax*4 - 4], edx
mov eax, dword [0x49bb88]
or eax, 0x52be8959
mov dword [0x49bb88], eax
lea eax, [esp + 0xa0]
xor ecx, ecx
mov dword [0x4a4164], 0xfe3cfff6
mov edx, dword [esp + 0xdc]
mov esi, dword [esp + 0xd4]
sub edx, esi
mov esi, dword [esp + 0xb4]
mov edi, dword [esi + edx*4 - 4]
dec edi
mov dword [esi + edx*4 - 4], edi
mov dword [0x49e48c], 0x22eaa5a4
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x40], ecx
call fcn.0044fc80
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x44114a
jmp 0x4419cc
mov ax, word [0x49159a]
movsx ecx, ax
mov edx, dword [0x49b3c8]
sar edx, 2
mov ax, word [0x48c76a]
movsx esi, ax
xor esi, 0xffffffff
imul esi, esi, 0x1be58c4c
or edx, esi
cmp ecx, edx
jl 0x4411e5
mov eax, dword [0x4986a0]
sar eax, 1
add eax, 0xcc313606
mov ecx, dword [0x4a38b8]
mov edx, ecx
dec edx
mov dword [0x4a38b8], edx
mov edx, dword [0x49e078]
sub ecx, edx
and ecx, 0xd4faa2df
cmp eax, ecx
jl 0x4411e0
mov ax, word [0x49362e]
mov cx, ax
mov edx, ecx
dec edx
mov ax, dx
mov word [0x49362e], ax
mov edx, dword [0x49b0b8]
sub ecx, edx
add ecx, 0x8aff3162
mov ax, word [0x4929de]
mov dx, ax
and edx, ecx
mov ax, dx
mov word [0x4929de], ax
jmp 0x4411f4
mov eax, dword [0x4a2aac]
add eax, 0xe86869a0
mov dword [0x4a2aac], eax
cmp dword [esp + 0xd4], 1
jge 0x44120d
xor eax, eax
mov dword [esp + 0x3c], eax
jmp 0x441225
mov eax, dword [esp + 0xd4]
sub eax, 1
mov ecx, dword [esp + 0xc0]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0xa8]
mov dword [ecx], eax
mov eax, dword [0x49b968]
xor eax, 0xffffffff
xor eax, 0x311a4120
cmp eax, 0xc0622901
jne 0x44126b
mov eax, dword [0x499060]
dec eax
mov dword [0x499060], eax
mov cx, word [0x49100e]
mov dx, cx
xor edx, eax
mov cx, dx
mov word [0x49100e], cx
mov eax, 0xa1db2aa7
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xc0]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esp + 0xa8]
mov dword [edx + 4], ecx
mov si, word [0x48e878]
movsx ecx, si
cmp eax, ecx
jg 0x4412be
mov eax, dword [0x4a3794]
inc eax
mov dword [0x4a3794], eax
mov cx, word [0x490e30]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x490e30], cx
lea eax, [esp + 0xa0]
mov ecx, dword [esp + 0xdc]
sub ecx, dword [esp + 0xd4]
sub ecx, 1
mov edx, dword [esp + 0xb4]
mov ecx, dword [edx + ecx*4]
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00431320
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x441305
jmp 0x4419cc
lea eax, [esp + 0x94]
xor ecx, ecx
mov edx, dword [0x49fe74]
add edx, 0x7c982bee
mov dword [0x49fe74], edx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x38], ecx
call fcn.0044fc80
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x441349
jmp 0x4419cc
mov dword [0x49d820], 0xb7f4fe0
cmp dword [esp + 0xdc], 2
jge 0x44136c
xor eax, eax
mov dword [esp + 0x34], eax
jmp 0x441384
mov eax, dword [esp + 0xdc]
sub eax, 2
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x9c]
mov dword [ecx], eax
mov eax, dword [0x4a1874]
not eax
mov dx, word [0x48d238]
mov cx, dx
add ecx, eax
mov dx, cx
mov word [0x48d238], dx
cmp dword [esp + 0xdc], 1
jge 0x4413c7
xor eax, eax
mov dword [esp + 0x30], eax
jmp 0x4413df
mov eax, dword [esp + 0xdc]
sub eax, 1
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x9c]
mov dword [ecx + 4], eax
mov dx, word [0x492bea]
mov ax, dx
inc eax
mov si, ax
mov word [0x492bea], si
movsx eax, dx
add eax, 0xa75efe98
mov ecx, dword [0x495660]
xor ecx, eax
mov dword [0x495660], ecx
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x9c]
mov dword [ecx + 8], eax
mov eax, dword [0x49fe48]
imul eax, eax, 0x8cbc280
mov ecx, dword [0x4a1bb8]
add ecx, eax
mov dword [0x4a1bb8], ecx
lea eax, [esp + 0xa0]
lea ecx, [esp + 0x94]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00436780
cmp eax, 0
jg 0x4410e4
lea eax, [esp + 0xa0]
lea ecx, [esp + 0xb8]
mov dx, word [0x493820]
mov si, dx
add esi, 0x61041031
mov dx, si
mov word [0x493820], dx
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.00431320
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x4414d7
jmp 0x4419cc
lea eax, [esp + 0xa0]
mov ecx, dword [0x4a3630]
sar ecx, 5
add ecx, 0xe9a0c5af
and ecx, 0xee3a6281
mov edx, dword [0x49a314]
imul edx, ecx
mov dword [0x49a314], edx
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.004318d0
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x441537
jmp 0x4419cc
mov eax, 0x5881f330
mov ecx, dword [0x4989fc]
shl ecx, 5
cmp eax, ecx
jg 0x44155c
mov eax, dword [0x4a11d0]
xor eax, 0x9fe0a9f5
mov dword [0x4a11d0], 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.0042a0c0
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x44158f
jmp 0x4419cc
lea eax, [esp + 0xc4]
xor ecx, ecx
mov edx, dword [0x49fa80]
xor edx, 0x5449df54
mov dword [0x49fa80], edx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x2c], ecx
call fcn.004237e0
cmp eax, 0
jge 0x4416fe
lea eax, [esp + 0xa0]
lea ecx, [esp + 0xb8]
mov edx, dword [0x4a0e90]
and edx, 0x4dbeea39
mov dword [0x4a0e90], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00417cc0
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x441608
jmp 0x4419cc
lea eax, [esp + 0xa0]
mov dword [0x49c53c], 0x3180a4a5
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.004318d0
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x44164e
jmp 0x4419cc
mov eax, 0xf3ff7eb3
mov ecx, dword [0x49bc44]
cmp eax, ecx
jle 0x441681
mov ax, word [0x493e86]
movsx ecx, ax
shl ecx, 3
and ecx, 0x8ca9bec0
mov edx, dword [0x4a0f24]
or edx, ecx
mov dword [0x4a0f24], edx
lea eax, [esp + 0xc4]
lea ecx, [esp + 0xa0]
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0040df10
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x4416b4
jmp 0x4419cc
mov ax, word [0x48d746]
mov cx, ax
and ecx, 0x6c39
mov ax, cx
mov word [0x48d746], 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 [0x4a47cc]
add ecx, 0x14b93661
mov dword [0x4a47cc], ecx
mov word [0x48e222], 0xddcf
mov eax, dword [esp + 0xdc]
add eax, 0xffffffff
mov dword [esp + 0xdc], eax
jmp 0x44098c
mov ax, word [0x48ceb2]
mov cx, ax
add ecx, 0x480203
mov ax, cx
mov word [0x48ceb2], ax
cmp dword [esp + 0xe4], 0
je 0x4417e7
mov ax, word [0x48cc70]
mov cx, ax
mov edx, ecx
dec edx
mov ax, dx
mov word [0x48cc70], ax
add ecx, 0x2471bcf8
mov ax, word [0x493f7a]
mov dx, ax
imul edx, ecx
mov ax, dx
mov word [0x493f7a], ax
mov ecx, dword [esp + 0xe4]
mov edx, esp
lea esi, [esp + 0xac]
mov dword [edx + 4], esi
mov dword [edx], ecx
call fcn.00417cc0
mov di, word [0x4932a8]
movsx ecx, di
sar ecx, 9
xor ecx, 0xf352cbbf
mov edx, dword [0x4a06ac]
imul edx, ecx
mov dword [0x4a06ac], edx
mov ecx, dword [esp + 0xec]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xf0]
mov edx, dword [edx]
imul ecx, edx
mov edx, dword [esp + 0xe4]
mov dword [edx], ecx
mov di, word [0x494b4e]
movsx ecx, di
imul ecx, ecx, 0x5e0aa61b
mov dword [0x495860], ecx
mov dword [esp + 0x28], eax
mov eax, dword [0x4a3378]
add eax, 0xcf059373
mov dword [0x4a3378], eax
cmp dword [esp + 0xe8], 0
je 0x441938
mov eax, dword [0x4a40b8]
mov ecx, eax
dec ecx
mov dword [0x4a40b8], ecx
mov ecx, dword [0x4a20e0]
xor ecx, eax
mov dword [0x4a20e0], ecx
mov eax, dword [esp + 0xd0]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0xc4]
mov dword [ecx], eax
mov dword [esp + 0x24], eax
call fcn.004100f0
mov ecx, dword [0x499bf0]
imul ecx, ecx, 0xf91f789f
mov dword [0x499bf0], ecx
mov ecx, dword [esp + 0xe8]
mov edx, esp
mov esi, dword [esp + 0x24]
mov dword [edx + 4], esi
mov dword [edx], ecx
mov dword [esp + 0x20], eax
call fcn.00417cc0
mov di, word [0x48e93c]
movsx ecx, di
imul ecx, ecx, 0x90871678
add ecx, 0x32dbd976
mov edx, dword [0x4a6680]
imul edx, ecx
mov dword [0x4a6680], edx
mov ecx, dword [esp + 0xec]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xe8]
mov dword [edx], ecx
mov ecx, dword [0x4a49b8]
or ecx, 0x7f7ffb7f
mov edx, dword [0x4a28bc]
sar edx, 7
mov di, word [0x48fd94]
mov si, di
dec esi
mov bx, si
mov word [0x48fd94], bx
movsx esi, di
imul esi, esi, 0x3953980
xor edx, esi
cmp ecx, edx
mov dword [esp + 0x1c], eax
jl 0x4418f2
mov eax, dword [0x496168]
or eax, 0x4bf609c1
mov dword [0x4a58e0], eax
xor eax, eax
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x18], eax
call fcn.004237e0
cmp eax, 0
jne 0x441925
mov eax, dword [esp + 0xe8]
mov dword [eax], 1
mov eax, dword [0x4a250c]
mov ecx, dword [0x495398]
or ecx, eax
mov dword [0x495398], ecx
mov eax, 0xf8412b10
mov ecx, dword [0x4a01f8]
and ecx, 0xe4e0dacc
and ecx, 0x632a3aae
cmp eax, ecx
jge 0x4419af
mov eax, dword [0x49eeec]
mov ecx, eax
inc ecx
mov dword [0x49eeec], ecx
sub eax, 0x705061bc
cmp eax, 0xb976642c
jne 0x441992
mov ax, word [0x49395e]
mov cx, ax
and ecx, 0x692
mov ax, cx
mov word [0x49395e], ax
jmp 0x4419aa
mov eax, dword [0x4a5628]
xor eax, 0xb40b81be
mov ecx, dword [0x49e834]
or ecx, eax
mov dword [0x49e834], ecx
jmp 0x4419c7
mov ax, word [0x48c1ae]
mov cx, ax
xor ecx, 0x97db
mov ax, cx
mov word [0x48c1ae], ax
jmp 0x4419cc
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.0041a6a0
mov eax, dword [0x4a2474]
mov ecx, dword [0x499c08]
xor eax, ecx
not eax
mov dword [0x499c08], eax
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