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

Disassembly:
push ebx
push edi
push esi
sub esp, 0x110
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x120]
mov edx, 0x9142d7b8
mov dword [esp + 0x108], eax
mov dword [esp + 0x104], ecx
mov eax, dword [0x49ddb8]
mov ecx, eax
dec ecx
mov dword [0x49ddb8], ecx
mov si, word [0x48fd06]
movsx ecx, si
sub eax, ecx
xor eax, 0x1d024239
cmp edx, eax
jne 0x43775b
mov dword [0x4a47d4], 0x403eb30
mov eax, 0x884b424d
mov ecx, dword [0x49d54c]
add ecx, 0x7866e678
mov dword [0x49d54c], ecx
mov ecx, dword [0x4a3304]
inc ecx
mov dword [0x4a3304], ecx
or ecx, 0xa8ce6367
cmp eax, ecx
jle 0x43779c
mov eax, dword [0x49dba4]
and eax, 0x23140340
mov dword [0x49dba4], eax
mov eax, 0x13215806
mov ecx, dword [0x4a1d50]
not ecx
mov edx, dword [0x496944]
imul ecx, edx
imul ecx, ecx, 0x535a9ca1
mov dword [0x496944], ecx
mov dword [esp + 0xe0], 0
mov si, word [0x492b0a]
movsx ecx, si
cmp eax, ecx
jle 0x4377f3
mov ax, word [0x491442]
mov cx, ax
add ecx, 0x76bfe5fb
mov ax, cx
mov word [0x491442], ax
mov eax, dword [esp + 0x108]
mov ecx, eax
call fcn.0044fff0
cmp eax, 0xb
jbe 0x437a5c
mov eax, dword [0x4a0b34]
mov ecx, dword [0x495c90]
cmp eax, ecx
jl 0x437835
mov ax, word [0x493e26]
mov cx, ax
or ecx, 0x5efb
mov ax, cx
mov word [0x493e26], ax
lea ecx, [esp + 0xcc]
call fcn.00420600
mov dx, word [0x494fec]
mov cx, dx
dec ecx
mov si, cx
mov word [0x494fec], si
movsx ecx, dx
or ecx, 0x77e94ae6
cmp ecx, 0x88a070f1
mov dword [esp + 0x60], eax
je 0x43787e
mov eax, dword [0x4a0090]
add eax, 0x30f29707
mov dword [0x4a0090], eax
mov eax, dword [0x4a48e8]
shl eax, 6
mov ecx, dword [0x49c8dc]
add ecx, eax
mov dword [0x49c8dc], ecx
mov ecx, dword [esp + 0x108]
mov eax, esp
lea edx, [esp + 0xb4]
mov dword [eax], edx
mov dword [eax + 8], 0xb
mov dword [eax + 4], 0
mov dword [esp + 0x5c], edx
call fcn.004329f0
sub esp, 0xc
mov eax, esp
mov ecx, dword [esp + 0x5c]
mov dword [eax], ecx
lea eax, [esp + 0xcc]
mov ecx, eax
mov dword [esp + 0x58], eax
call fcn.00414b40
sub esp, 4
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x54], eax
call fcn.00420fa0
mov eax, dword [0x496d1c]
add eax, 0x60c9109d
mov dword [0x496d1c], eax
mov eax, esp
mov dword [eax + 4], 0xc
mov dword [eax], 0x3b0f
call fcn.00428730
mov dword [esp + 0x100], eax
mov eax, dword [0x49fc58]
or eax, 0xfd3fdef7
mov dword [0x49fc58], eax
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x50], eax
call fcn.00419100
mov ecx, esp
mov edx, dword [esp + 0x50]
mov dword [ecx + 4], edx
mov dword [ecx], eax
call fcn.00455d50
test eax, eax
sete bl
movzx eax, bl
mov dword [esp + 0xc8], eax
mov eax, dword [0x49cc2c]
add eax, 0x2899b0d6
and eax, 0xe447f8fe
mov ecx, dword [0x495790]
xor ecx, eax
mov dword [0x495790], ecx
mov eax, dword [esp + 0x100]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0xc
call fcn.00419110
mov eax, dword [0x496c68]
or eax, 0xa05c321e
mov dword [0x496c68], eax
cmp dword [esp + 0xc8], 0
je 0x437a41
mov eax, dword [0x4a1684]
cmp eax, 0xe58418e6
je 0x437a0b
mov eax, 0x77d4dcd1
mov ecx, dword [0x49f828]
cmp eax, ecx
jle 0x437a06
mov ax, word [0x48d054]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x48d054], ax
movsx ecx, ax
mov edx, dword [0x49f17c]
mov esi, edx
dec esi
mov dword [0x49f17c], esi
sub ecx, edx
xor ecx, 0x41c3d0d3
mov edx, dword [0x498f78]
imul edx, ecx
mov dword [0x498f78], edx
jmp 0x437a0b
mov ecx, dword [esp + 0x108]
call fcn.0044fff0
add eax, 0xfffffff5
mov dword [esp + 0xe0], eax
mov dx, word [0x4905d6]
movsx eax, dx
mov ecx, dword [0x49d678]
sub eax, ecx
mov ecx, dword [0x4a01fc]
add ecx, eax
mov dword [0x4a01fc], ecx
mov eax, dword [0x49d030]
and eax, 0x144d2649
mov dword [0x49d030], eax
lea ecx, [esp + 0xcc]
call fcn.0041d3a0
mov eax, 0xcc0567cf
mov cx, word [0x48e694]
movsx edx, cx
add edx, 0x50e9d3f
or edx, 0x94fb24aa
mov esi, dword [0x4a0970]
add esi, edx
mov dword [0x4a0970], esi
mov edx, dword [esp + 0x104]
mov esi, esp
mov dword [esi], edx
lea ecx, [esp + 0xa0]
mov dword [esp + 0x4c], eax
call fcn.00414f20
sub esp, 4
mov ecx, dword [0x49abe8]
and ecx, 0xc3d39d2c
mov dword [0x49abe8], ecx
mov ecx, esp
mov dword [ecx + 4], 2
mov dword [ecx], 0x6fc
mov dword [esp + 0x48], eax
call fcn.00428730
mov dword [esp + 0xfc], eax
mov eax, dword [0x495240]
sar eax, 8
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jl 0x437b0b
mov eax, dword [0x4a6ddc]
or eax, 0x41a9f20f
and eax, 0x61fdfe6f
mov ecx, dword [0x4a5060]
imul ecx, eax
mov dword [0x4a5060], ecx
jmp 0x437b1a
mov eax, dword [0x4a6bc8]
xor eax, 0x62717ba5
mov dword [0x4a6bc8], eax
mov eax, esp
mov dword [eax + 4], 8
mov dword [eax], 0x2e8d
call fcn.00428730
mov dword [esp + 0xf8], eax
mov cx, word [0x493238]
movsx eax, cx
imul eax, eax, 0x18e41f40
mov edx, dword [0x49d1c8]
shl edx, 3
mov cx, word [0x49252e]
movsx esi, cx
and edx, esi
and edx, 0x8f43c0d2
cmp eax, edx
jl 0x437b76
mov word [0x490276], 0x3151
jmp 0x437b8c
mov eax, dword [0x4a0c0c]
shl eax, 0xa
mov ecx, dword [0x4a64f0]
add ecx, eax
mov dword [0x4a64f0], ecx
mov eax, esp
mov dword [eax + 4], 8
mov dword [eax], 0x3580
call fcn.00428730
mov dword [esp + 0xf4], eax
mov cx, word [0x48d57e]
mov ax, cx
and eax, 0x9c97
mov cx, ax
mov word [0x48d57e], cx
mov eax, dword [esp + 0xfc]
mov edx, dword [esp + 0x104]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00455de0
cmp eax, 0
jne 0x437ca4
mov eax, 0x1dd35500
mov ecx, dword [0x4a08e0]
sub eax, ecx
cmp eax, 0x27edf7df
jg 0x437c21
mov eax, dword [0x497328]
add eax, 0xfc7cb267
mov ecx, dword [0x497068]
cmp eax, ecx
jge 0x437c1c
mov word [0x48e990], 0xf10
jmp 0x437c21
mov eax, dword [esp + 0xf8]
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x8c]
mov ecx, eax
mov dword [esp + 0x44], eax
call fcn.00414f20
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x44]
mov dword [ecx], edx
lea ecx, [esp + 0xa0]
mov dword [esp + 0x40], eax
call fcn.0043a890
sub esp, 4
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x3c], eax
call fcn.0041d3a0
mov si, word [0x48db00]
movsx eax, si
shl eax, 0xa
mov ecx, dword [0x4a0f38]
shl ecx, 3
and eax, ecx
mov ecx, dword [0x49e430]
dec ecx
mov dword [0x49e430], ecx
and eax, ecx
mov ecx, dword [0x4a3200]
imul ecx, eax
mov dword [0x4a3200], ecx
jmp 0x437d02
mov eax, dword [0x4a5d14]
or eax, 0xfff9aadc
mov dword [0x4a5d14], eax
mov eax, dword [esp + 0xf4]
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x78]
mov ecx, eax
mov dword [esp + 0x38], eax
call fcn.00414f20
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x38]
mov dword [ecx], edx
lea ecx, [esp + 0xa0]
mov dword [esp + 0x34], eax
call fcn.0043a890
sub esp, 4
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x30], eax
call fcn.0041d3a0
mov dword [0x49c138], 0x3eda6c70
mov eax, dword [0x4a05ec]
imul eax, eax, 0xbf2fdf0e
mov dword [0x4a05ec], eax
mov eax, dword [esp + 0xfc]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 2
call fcn.00419110
mov dx, word [0x494dd0]
movsx eax, dx
and eax, 0x15ad47e7
xor eax, 0xb91b61fe
mov ecx, dword [0x4a3d8c]
sub ecx, eax
mov dword [0x4a3d8c], ecx
mov eax, dword [esp + 0xf8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 8
call fcn.00419110
mov dx, word [0x494e86]
mov ax, dx
xor eax, 0x280c
mov dx, ax
mov word [0x494e86], dx
mov eax, dword [esp + 0xf4]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 8
call fcn.00419110
mov eax, dword [0x499a38]
or eax, 0xe58abb50
mov dword [0x499a38], eax
lea ecx, [esp + 0xa0]
call fcn.0044fff0
mov ecx, dword [esp + 0xe0]
lea eax, [eax + ecx + 0xd]
mov dword [esp + 0xec], eax
mov dx, word [0x493620]
mov ax, dx
or eax, 0xb87b
mov dx, ax
mov word [0x493620], dx
mov eax, dword [esp + 0xec]
add eax, 4
mov ecx, esp
mov dword [ecx], eax
call fcn.00452389
mov dword [esp + 0xf0], eax
mov dx, word [0x48c7a8]
mov ax, dx
xor eax, 0x6780
mov dx, ax
mov word [0x48c7a8], dx
cmp dword [esp + 0xf0], 0
jne 0x437e40
mov eax, dword [0x495b84]
add eax, 0xfeed4442
mov dword [0x495b84], eax
mov dword [esp + 0x10c], 0
mov dword [esp + 0x74], 1
jmp 0x4383f0
mov ax, word [0x494fc0]
movsx ecx, ax
mov edx, dword [0x496200]
not edx
sub ecx, edx
mov edx, dword [0x4a6914]
imul edx, ecx
mov dword [0x4a6914], edx
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
mov dword [edx], ecx
mov dword [0x497cc4], 0xbf83eae3
mov ecx, dword [esp + 0xf0]
mov dword [ecx + 4], 0
mov ecx, dword [0x49f288]
add ecx, 0xa598bb16
mov dword [0x49f288], ecx
lea ecx, [esp + 0xa0]
mov dword [esp + 0x2c], ecx
call fcn.0044fff0
mov ecx, dword [esp + 0xf0]
mov dword [ecx + 8], eax
mov eax, dword [0x49c160]
or eax, 0xb0055c86
mov dword [0x49c160], eax
mov eax, dword [esp + 0xf0]
mov byte [eax + 0xc], 2
mov eax, dword [0x49b234]
mov ecx, eax
inc ecx
mov dword [0x49b234], ecx
or eax, 0xa05bc318
mov ecx, dword [0x4a355c]
sub ecx, eax
mov dword [0x4a355c], ecx
mov eax, dword [esp + 0xf0]
add eax, 0xd
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
call fcn.0043b040
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
call fcn.0044fff0
mov ecx, esp
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x24]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x28]
mov dword [ecx], edx
call fcn.00451680
mov eax, dword [0x4a21f0]
dec eax
mov dword [0x4a21f0], eax
and eax, 0x5c488d0
mov ecx, dword [0x49f5b8]
lea eax, [ecx + eax - 0x67e6bdd1]
mov dword [0x49f5b8], eax
cmp dword [esp + 0xe0], 0
je 0x437ff3
mov eax, 0xa77161a4
mov ecx, dword [0x4a3e70]
mov edx, dword [0x4a058c]
or ecx, edx
or ecx, 0x4e22e364
mov dword [0x4a058c], ecx
lea ecx, [esp + 0xa0]
mov dword [esp + 0x20], eax
call fcn.0044fff0
mov ecx, dword [esp + 0xf0]
lea eax, [eax + ecx + 0xd]
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x1c], eax
call fcn.0043b040
add eax, 0xb
mov ecx, dword [esp + 0xe0]
mov edx, esp
mov dword [edx + 8], ecx
mov dword [edx + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [edx], eax
call fcn.00451680
mov eax, dword [0x4a546c]
imul eax, eax, 0x680fac74
or eax, 0x93360d1e
mov ecx, dword [esp + 0x20]
cmp ecx, eax
jge 0x437fee
mov eax, dword [0x49a410]
add eax, 0x408d3d3a
mov dword [0x49a410], eax
jmp 0x437ff3
mov eax, dword [0x49b0fc]
sar eax, 3
mov cx, word [0x48f65a]
movsx edx, cx
shl edx, 9
and edx, 0x1bcfe587
cmp eax, edx
jl 0x438025
mov eax, dword [0x495a40]
add eax, 0xc34d9f15
mov dword [0x495a40], eax
mov dword [esp + 0xe4], 0
mov ax, word [0x493eee]
mov cx, ax
xor ecx, 0xffef
mov ax, cx
mov word [0x493eee], ax
cmp dword [0x4a741c], 0
je 0x4383cb
mov eax, dword [0x49df08]
not eax
or eax, 0x9854725d
mov ecx, dword [0x4a48d0]
sub ecx, eax
mov dword [0x4a48d0], ecx
mov ecx, dword [esp + 0x108]
call fcn.00418840
mov eax, dword [0x49ed40]
mov ecx, eax
inc ecx
mov dword [0x49ed40], ecx
and eax, 0x717ee0d8
mov ecx, dword [0x49c89c]
add ecx, 0x2d2b6e3b
cmp eax, ecx
jl 0x4380b2
mov eax, dword [0x496d28]
imul eax, eax, 0x2000140
mov dword [0x496d28], eax
mov ecx, dword [esp + 0x108]
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
mov esi, esp
mov dword [esi + 4], eax
mov dword [esi], edx
call fcn.00422dd0
sub esp, 8
mov ecx, dword [0x49ead0]
xor ecx, 0xc0800430
mov dword [0x49ead0], ecx
mov ecx, dword [0x49e27c]
add ecx, 0xbde154af
mov dword [0x49e27c], ecx
mov ecx, dword [0x4a741c]
mov edx, esp
lea esi, [esp + 0x64]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0x18], eax
call fcn.00411910
sub esp, 8
cmp eax, 0
jle 0x43838e
mov ax, word [0x492be0]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x492be0], dx
movsx ecx, ax
mov esi, dword [0x495b58]
inc esi
mov dword [0x495b58], esi
xor ecx, esi
mov esi, dword [0x49d1e0]
or esi, ecx
mov dword [0x49d1e0], esi
mov ecx, dword [0x4a741c]
mov esi, dword [esp + 0x108]
mov edi, esp
mov dword [edi + 4], esi
lea esi, [esp + 0x64]
mov dword [edi], esi
mov dword [edi + 0xc], 0
mov dword [edi + 8], 2
call fcn.004361c0
sub esp, 0x10
mov dword [esp + 0xe4], eax
mov eax, dword [0x49a0e4]
mov ecx, 0xc70b31b7
sub ecx, eax
mov eax, dword [0x4a0ae4]
sub ecx, eax
mov eax, dword [0x499c70]
and eax, ecx
mov dword [0x499c70], eax
cmp dword [esp + 0xe4], 0
jg 0x438303
mov ax, word [0x48e968]
movsx ecx, ax
not ecx
mov edx, dword [0x49dea4]
and edx, ecx
mov dword [0x49dea4], edx
mov ecx, dword [0x4a741c]
mov edx, esp
lea esi, [esp + 0x64]
mov dword [edx], esi
mov dword [edx + 4], 1
call fcn.00411910
sub esp, 8
cmp eax, 0
jle 0x4382f0
mov eax, 0xef7d2c4c
mov ecx, dword [0x4a4ee4]
xor ecx, 0x94ffe6ef
mov dword [0x4a4ee4], ecx
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x14], eax
call fcn.00418840
mov eax, dword [0x495dc4]
xor eax, 0xffffffff
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jne 0x438248
mov eax, dword [0x4953f0]
add eax, 0x5bf6d39
mov dword [0x4953f0], eax
jmp 0x438266
mov eax, dword [0x49b43c]
add eax, 0x80bf5c9c
or eax, 0xbb712e
mov ecx, dword [0x4a2d18]
imul ecx, eax
mov dword [0x4a2d18], ecx
mov ecx, dword [esp + 0x108]
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
mov esi, esp
mov dword [esi + 4], eax
mov dword [esi], edx
call fcn.00422dd0
sub esp, 8
mov ecx, dword [0x4a1248]
not ecx
mov di, word [0x491496]
mov dx, di
sub edx, ecx
mov di, dx
mov word [0x491496], di
mov ecx, dword [0x4a741c]
mov edx, dword [esp + 0x108]
mov esi, esp
mov dword [esi + 4], edx
lea edx, [esp + 0x64]
mov dword [esi], edx
mov dword [esi + 0xc], 0
mov dword [esi + 8], 2
mov dword [esp + 0x10], eax
call fcn.004361c0
sub esp, 0x10
mov dword [esp + 0xe4], eax
mov eax, dword [0x4a4964]
add eax, 0x465b817d
mov dword [0x4a4964], eax
mov eax, dword [0x49be04]
mov ecx, dword [0x4a176c]
or ecx, eax
mov dword [0x4a176c], ecx
mov eax, dword [0x497ae0]
mov ecx, dword [0x4a6258]
sub ecx, eax
mov dword [0x4a6258], ecx
cmp dword [esp + 0xe4], 0
jg 0x43837f
mov eax, dword [0x4a2f48]
not eax
imul eax, eax, 0x81c5ed72
add eax, 0x5df0e057
mov ecx, dword [0x49ead4]
imul ecx, eax
mov dword [0x49ead4], ecx
mov ecx, dword [esp + 0x108]
call fcn.00418840
mov eax, dword [0x4a5c18]
sar eax, 5
mov ecx, dword [0x499e84]
xor ecx, 0xffffffff
and ecx, 0xca6535da
cmp eax, ecx
jl 0x43837a
mov dword [0x499614], 0x139a69d7
jmp 0x43837f
mov eax, dword [0x4a0c5c]
or eax, 0x4914f23c
mov dword [0x4a0c5c], eax
mov eax, 0xfbf1fff7
mov ecx, dword [0x4a0a40]
inc ecx
mov dword [0x4a0a40], ecx
and ecx, 0x84b50acf
cmp eax, ecx
jl 0x4383c6
mov ax, word [0x49261e]
mov cx, ax
and ecx, 0x699e
mov ax, cx
mov word [0x49261e], ax
jmp 0x4383cb
mov eax, dword [0x4a0dac]
add eax, 0x48f4a7b6
mov dword [0x4a0dac], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x74], 1
lea ecx, [esp + 0xa0]
call fcn.0041d3a0
mov eax, dword [esp + 0x10c]
add esp, 0x110
pop esi
pop edi
pop ebx
ret