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

Disassembly:
push ebx
push edi
push esi
sub esp, 0x5ac
mov eax, 0x133c4322
mov ecx, dword [0x49fdc4]
shl ecx, 9
and ecx, 0xfb482f68
cmp eax, ecx
jl 0x43b8e9
mov eax, dword [0x49d6f4]
add eax, 0x674c2a54
mov dword [0x49d6f4], eax
jmp 0x43b909
mov eax, dword [0x4a24c0]
sar eax, 0xa
imul eax, eax, 0x1d99f414
mov ecx, dword [0x4a06c4]
or eax, ecx
or eax, 0xedbb8149
mov dword [0x4a06c4], eax
lea ecx, [esp + 0x56c]
call fcn.004469d0
mov ecx, dword [0x4a3e5c]
mov edx, dword [0x497050]
shr edx, 7
mov esi, dword [0x492174]
xor edx, esi
or ecx, edx
mov di, word [0x4ad9cc]
mov dx, di
add edx, ecx
mov di, dx
mov word [0x4ad9cc], di
mov ecx, dword [0x4a1d9c]
sar ecx, 7
add ecx, 0xfa21faf2
xor ecx, 0x1fb936e9
cmp ecx, 0x1c4a3883
mov dword [esp + 0x110], eax
jle 0x43b9ab
mov eax, 0x6767c0e9
mov cx, word [0x4aeee2]
mov dx, cx
dec edx
mov si, dx
mov word [0x4aeee2], si
movsx edx, cx
sub edx, 0x5e4d9806
cmp eax, edx
jle 0x43b9a6
mov eax, dword [0x4a0aa4]
and eax, 0xffffbfbd
mov dword [0x4a0aa4], eax
jmp 0x43b9ab
mov eax, dword [0x49a678]
lea eax, [eax*8 - 0x4d454eda]
mov ecx, dword [0x4a066c]
xor ecx, eax
mov dword [0x4a066c], ecx
mov eax, dword [0x493700]
add eax, 0xd9f39ff8
mov dword [0x493700], eax
mov dword [esp + 0x114], 0
mov dx, word [0x4b3b24]
movsx eax, dx
add eax, 0xc0f53187
xor eax, 0x4140966a
cmp eax, 0xc0bc6eeb
jle 0x43ba0d
mov eax, dword [0x49e9d4]
and eax, 0x9cfcfeff
mov dword [0x49e9d4], eax
mov dword [0x4b60b0], 0x94
mov eax, dword [0x49ebc4]
and eax, 0xc71f0d54
xor eax, 0xff6f700f
mov dword [0x496e60], eax
mov eax, dword [0x491d20]
mov ecx, esp
mov dword [ecx], 0x4b60b0
call eax
sub esp, 4
mov ecx, dword [0x49e6e8]
add ecx, 0x51b891a
mov dword [0x49e6e8], ecx
mov dword [esp + 0x10c], eax
call fcn.0041e650
mov dword [0x4b69dc], eax
mov eax, dword [0x49e418]
imul eax, eax, 0xbbff6edc
mov dword [0x49e418], eax
call fcn.004224d0
mov dword [0x4b69e0], eax
mov eax, dword [0x4a01f0]
and eax, 0xbed46feb
mov dword [0x4a01f0], eax
mov eax, dword [0x4b69dc]
cmp eax, 0
je 0x43bda2
mov eax, 0xc58bd77b
mov cx, word [0x4b02d8]
mov dx, cx
inc edx
mov cx, dx
mov word [0x4b02d8], cx
movsx edx, cx
mov esi, dword [0x49b2b8]
shl esi, 5
sub eax, esi
cmp edx, eax
jg 0x43bae0
mov eax, dword [0x497b1c]
or eax, 0xced6b829
mov ecx, dword [0x4a5818]
imul ecx, eax
mov dword [0x4a5818], ecx
mov eax, esp
lea ecx, [esp + 0x126]
mov dword [eax], ecx
call fcn.00423900
mov dword [esp + 0x120], eax
mov eax, dword [0x49dbbc]
imul eax, eax, 0xa82bd800
mov dx, word [0x4b0bb2]
movsx ecx, dx
add ecx, 0x9e9c67f
and ecx, 0x225ad4ff
cmp eax, ecx
jl 0x43bb2f
mov eax, dword [0x4a86e8]
and eax, 0x588152ac
mov dword [0x4a86e8], eax
mov eax, dword [esp + 0x120]
mov byte [esp + eax + 0x126], 0x5c
mov eax, dword [0x4a637c]
sar eax, 8
mov ecx, 0xec47b7b5
sub ecx, eax
or ecx, 0x5253b9a0
mov eax, dword [0x4a0050]
imul eax, eax, 0x82d0014b
imul eax, eax, 0xf52bf67
cmp ecx, eax
je 0x43bb96
mov eax, dword [0x4a6610]
inc eax
mov dword [0x4a6610], eax
mov ecx, dword [0x4a3c7c]
sar ecx, 1
add ecx, 0x183ed495
xor eax, ecx
mov ecx, dword [0x4a2758]
imul ecx, eax
mov dword [0x4a2758], ecx
mov eax, dword [esp + 0x120]
inc eax
mov dword [esp + 0x120], eax
mov eax, dword [0x4a4c64]
sar eax, 6
mov dword [0x495748], eax
mov eax, dword [esp + 0x120]
mov byte [esp + eax + 0x126], 0
mov eax, dword [0x4977c8]
cmp eax, 0xfd8e758b
jg 0x43bbec
mov eax, dword [0x49e7a4]
sar eax, 7
xor eax, 0x67b23c6e
mov ecx, dword [0x492e48]
sub ecx, eax
mov dword [0x492e48], ecx
mov eax, 0xfd4f6f50
mov ecx, dword [0x4b6a20]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x126]
mov dword [edx], ecx
mov dword [esp + 0x108], eax
mov dword [esp + 0x104], ecx
call fcn.00455420
mov ecx, dword [0x4a9b9c]
and ecx, 0x4580be22
mov dword [0x4940f4], ecx
mov ecx, dword [0x491d68]
mov edx, esp
mov esi, dword [esp + 0x104]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0x100], eax
call ecx
sub esp, 8
mov ecx, dword [0x494c68]
dec ecx
mov dword [0x494c68], ecx
mov edx, dword [0x4932cc]
imul edx, ecx
mov dword [0x4932cc], edx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x33e
mov dword [esp + 0xfc], eax
call fcn.0042df40
mov dword [esp + 0x5a8], eax
mov di, word [0x4b5bcc]
movsx eax, di
mov ecx, dword [0x4a7b48]
and eax, ecx
mov ecx, dword [esp + 0x108]
cmp ecx, eax
jl 0x43bd1d
mov eax, dword [0x4a3118]
inc eax
mov dword [0x4a3118], eax
mov ecx, dword [0x4a5740]
xor ecx, 0xffffffff
imul eax, ecx
or eax, 0xf29496e7
cmp eax, 0xb37a2e11
jge 0x43bd09
mov ax, word [0x4b514a]
movsx ecx, ax
not ecx
add ecx, 0x20e1d3ad
mov edx, dword [0x49d6b4]
add edx, 0xf12a4963
xor edx, 0x74596536
cmp ecx, edx
jl 0x43bd04
jmp 0x43bd04
jmp 0x43bd18
mov eax, dword [0x4a9a44]
xor eax, 0x41ededb5
mov dword [0x4a9a44], eax
jmp 0x43bd1d
mov eax, dword [esp + 0x5a8]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x126]
mov dword [ecx], eax
call fcn.00455420
mov dx, word [0x4b0880]
mov cx, dx
mov esi, ecx
inc esi
mov dx, si
mov word [0x4b0880], dx
add ecx, 0xb6f2a539
mov dx, word [0x4b5106]
mov si, dx
or ecx, esi
or ecx, 0xa756
mov dx, cx
mov word [0x4b5106], dx
mov ecx, dword [esp + 0x5a8]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 0x1f
mov dword [esp + 0xf8], eax
call fcn.0041e970
mov eax, dword [0x49f3f8]
add eax, 0xc4dc8963
mov dword [0x49f3f8], eax
jmp 0x43be0d
mov eax, dword [0x4a17d0]
add eax, 0x7e3ac0c4
mov cx, word [0x4b1c88]
mov dx, cx
xor edx, eax
mov cx, dx
mov word [0x4b1c88], cx
mov byte [esp + 0x126], 0
mov eax, dword [0x4a8b04]
mov edx, dword [0x4923e0]
mov esi, edx
inc esi
mov dword [0x4923e0], esi
and eax, edx
or eax, 0x7dbc0548
cmp eax, 0xc4bfbb99
jge 0x43be08
mov eax, dword [0x4a80b0]
xor eax, 0x9c913e05
mov ecx, dword [0x4a7b08]
sub ecx, eax
mov dword [0x4a7b08], ecx
jmp 0x43be0d
lea eax, [esp + 0x56c]
lea ecx, [esp + 0x126]
mov edx, dword [0x4a5404]
mov esi, edx
inc esi
mov dword [0x4a5404], esi
imul edx, edx, 0x806e7d57
mov di, word [0x4af464]
mov si, di
sub esi, edx
mov di, si
mov word [0x4af464], di
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0x389a
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf0], ecx
call fcn.0042df40
mov dword [esp + 0x5a4], eax
mov di, word [0x4aae12]
mov ax, di
or eax, 0xc592
mov di, ax
mov word [0x4aae12], di
mov eax, dword [esp + 0x5a4]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x56c]
call fcn.00432a90
sub esp, 4
mov ecx, dword [0x49b530]
dec ecx
mov dword [0x49b530], ecx
and ecx, 0x3c91318e
mov edx, dword [0x492d2c]
xor edx, ecx
mov dword [0x492d2c], edx
mov ecx, dword [esp + 0x5a4]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xec], eax
call fcn.0041e970
mov dword [0x49463c], 0x3e90a8ef
mov eax, dword [esp + 0xf4]
mov ecx, eax
call fcn.0042ce10
lea ecx, [esp + 0x56c]
mov dword [esp + 0xe8], eax
call fcn.00413b90
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0xe4], ecx
call fcn.00419770
cmp eax, 0
je 0x43c067
mov eax, 0x4deff7c7
mov ecx, dword [0x49ce20]
mov edx, ecx
inc edx
mov dword [0x49ce20], edx
mov edx, dword [0x4a645c]
lea ecx, [ecx + edx + 0x73d0ede3]
mov dword [0x4a645c], ecx
mov dword [esp + 0x114], 1
mov ecx, dword [0x493bf0]
mov edx, ecx
inc edx
mov dword [0x493bf0], edx
cmp eax, ecx
jg 0x43bfda
mov eax, dword [0x4a0980]
mov ecx, eax
inc ecx
mov dword [0x4a0980], ecx
xor eax, 0x49124801
cmp eax, 0x928c3986
je 0x43bfd5
mov eax, dword [0x4a72f4]
xor eax, 0xffffffff
add eax, 0x2b7470d6
cmp eax, 0xdbb35ffc
je 0x43bfcb
jmp 0x43bfd0
jmp 0x43bfd0
jmp 0x43bfd5
jmp 0x43bfda
mov eax, dword [0x491cf4]
mov ecx, esp
lea edx, [esp + 0x126]
mov dword [ecx], edx
mov dword [esp + 0xe0], edx
call eax
sub esp, 4
mov si, word [0x4ad7d6]
mov cx, si
imul ecx, ecx, 0xffffff7f
mov si, cx
mov word [0x4ad7d6], si
mov ecx, dword [esp + 0x120]
mov byte [esp + ecx + 0x126], 0
mov ecx, dword [0x49433c]
imul ecx, ecx, 0x8dd014c1
mov dword [0x49433c], ecx
mov ecx, dword [0x491d6c]
mov edx, esp
mov edi, dword [esp + 0xe0]
mov dword [edx], edi
mov dword [esp + 0xdc], eax
call ecx
sub esp, 4
mov ecx, dword [0x49b164]
and ecx, 0x3ab13984
mov dword [0x49b164], ecx
mov dword [esp + 0xd8], eax
mov eax, dword [0x492560]
add eax, 0x20442c
mov dword [0x492560], eax
mov eax, esp
lea ecx, [esp + 0x126]
mov dword [eax], ecx
mov dword [esp + 0xd4], ecx
call fcn.00423900
mov dx, word [0x4b076e]
movsx ecx, dx
add ecx, 0x29e6c671
or ecx, 0x8cda2014
mov esi, dword [0x4a401c]
and esi, ecx
mov dword [0x4a401c], esi
mov byte [esp + 0x129], 0
mov ecx, dword [0x491e9c]
mov esi, dword [0x49f7d4]
sub ecx, esi
mov esi, dword [0x49f780]
or ecx, esi
or ecx, 0x720374e7
mov dword [0x49f780], ecx
mov ecx, dword [0x4b6a20]
mov esi, esp
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esi], ecx
mov dword [esp + 0xd0], eax
call fcn.00455420
mov ecx, dword [0x4a9344]
add ecx, 0x7feffbef
mov dword [0x4a9344], ecx
mov ecx, dword [0x491d68]
mov esi, esp
mov edi, dword [esp + 0xd4]
mov dword [esi], edi
mov dword [esi + 4], 0
mov dword [esp + 0xcc], eax
call ecx
sub esp, 8
mov dx, word [0x4ac5fa]
mov cx, dx
mov esi, ecx
dec esi
mov dx, si
mov word [0x4ac5fa], dx
or ecx, 0xbddb
mov dx, word [0x4aed9c]
mov si, dx
imul esi, ecx
mov dx, si
mov word [0x4aed9c], dx
mov ecx, esp
mov esi, dword [esp + 0xd4]
mov dword [ecx + 4], esi
mov dword [ecx], 0x4b62b4
mov dword [esp + 0xc8], eax
call fcn.00455410
mov ecx, dword [0x497990]
not ecx
imul ecx, ecx, 0x578a9d34
add ecx, 0x55c89be2
mov esi, dword [0x4a83c8]
or esi, ecx
mov dword [0x4a83c8], esi
cmp dword [esp + 0x114], 0
mov dword [esp + 0xc4], eax
jne 0x43c1f4
mov eax, dword [0x49d280]
add eax, 0x7ff776ed
mov dword [0x49d280], eax
mov dword [0x4b69d8], 0
mov eax, dword [0x4a1734]
shl eax, 8
or eax, 0xb8661d13
and eax, 0xbe773f13
mov ecx, dword [0x4944f4]
imul ecx, eax
mov dword [0x4944f4], ecx
mov eax, dword [0x4a3acc]
shl eax, 7
mov ecx, dword [0x4946a4]
mov edx, ecx
inc edx
mov dword [0x4946a4], edx
xor eax, ecx
cmp eax, 0x20dabcd4
jle 0x43c235
mov ax, word [0x4b4b38]
mov cx, ax
add ecx, 0x9fae4a3f
mov ax, cx
mov word [0x4b4b38], ax
jmp 0x43c25a
mov ax, word [0x4ab0e2]
movsx ecx, ax
not ecx
imul ecx, ecx, 0x684b9d69
or ecx, 0x140b6653
mov edx, dword [0x4a4a40]
sub edx, ecx
mov dword [0x4a4a40], edx
mov eax, esp
lea ecx, [esp + 0x126]
mov dword [eax], ecx
mov dword [esp + 0xc0], ecx
call fcn.0043a120
mov dword [esp + 0x120], eax
mov dx, word [0x4adcc8]
mov ax, dx
xor eax, 0x4f2e
mov dx, ax
mov word [0x4adcc8], dx
mov eax, dword [0x491d68]
mov ecx, esp
mov esi, dword [esp + 0xc0]
mov dword [ecx], esi
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov ecx, dword [0x497ec0]
xor ecx, 0x726e81fd
mov dword [0x497ec0], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x33e
mov dword [esp + 0xbc], eax
call fcn.0042df40
mov dword [esp + 0x5a0], eax
mov eax, dword [0x4a5fec]
dec eax
mov dword [0x4a5fec], eax
mov ecx, dword [0x49b35c]
xor eax, ecx
xor eax, 0x653dddfd
mov dword [0x49b35c], eax
mov eax, dword [esp + 0x5a0]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [ecx], eax
call fcn.00455420
mov dx, word [0x4b5914]
movsx ecx, dx
sar ecx, 8
mov esi, dword [0x495138]
and esi, ecx
mov dword [0x495138], esi
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x389a
mov dword [esp + 0xb8], eax
call fcn.0042df40
mov dword [esp + 0x59c], eax
mov eax, dword [0x491f74]
inc eax
mov dword [0x491f74], eax
xor eax, 0x9458f381
cmp eax, 0x10d454f
je 0x43c384
mov eax, dword [0x49b20c]
add eax, 0x3a243322
mov dword [0x49b20c], eax
jmp 0x43c393
mov eax, dword [0x4a1d50]
or eax, 0x88ef551b
mov dword [0x4a1d50], eax
mov eax, dword [esp + 0x5a0]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.0041e970
mov eax, dword [0x49d598]
mov dx, word [0x4b5ac8]
movsx ecx, dx
xor eax, ecx
not eax
mov ecx, dword [0x49fdf8]
or ecx, eax
mov dword [0x49fdf8], ecx
mov eax, dword [esp + 0x59c]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x56c]
call fcn.00432a90
sub esp, 4
mov ecx, dword [0x495c04]
sar ecx, 8
cmp ecx, 0xa75ae17a
mov dword [esp + 0xb4], eax
jne 0x43c424
mov ax, word [0x4b2d54]
mov cx, ax
imul ecx, ecx, 0x9f75b1a2
mov ax, word [0x4aa326]
mov dx, ax
add edx, ecx
mov ax, dx
mov word [0x4aa326], ax
lea eax, [esp + 0x56c]
lea ecx, [esp + 0x126]
mov edx, dword [esp + 0x59c]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0xb0], eax
mov dword [esp + 0xac], ecx
call fcn.0041e970
mov eax, dword [0x4a4f30]
mov ecx, dword [0x49b03c]
mov edx, 0xee4363f5
sub edx, ecx
xor eax, edx
mov ecx, dword [0x493f8c]
imul ecx, eax
mov dword [0x493f8c], ecx
mov eax, dword [esp + 0xb0]
mov ecx, eax
call fcn.0042ce10
lea ecx, [esp + 0x56c]
mov dword [esp + 0xa8], eax
call fcn.00413b90
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0xa4], ecx
call fcn.00419770
cmp eax, 0
jne 0x43d150
mov eax, dword [0x495bf4]
not eax
mov ecx, dword [0x49e048]
mov edx, ecx
inc edx
mov dword [0x49e048], edx
mov si, word [0x4b1714]
movsx edx, si
sar edx, 5
lea ecx, [ecx + edx + 1]
or eax, ecx
mov ecx, dword [0x496448]
xor ecx, eax
mov dword [0x496448], ecx
cmp dword [0x4b60b4], 6
jb 0x43c635
mov eax, 0xeff93947
mov ecx, dword [0x4a5494]
add ecx, 0xf4ffb03b
mov dword [0x4a5494], ecx
mov ecx, esp
mov dword [ecx + 4], 0x12
mov dword [ecx], 0x311e
mov dword [esp + 0xa0], eax
call fcn.0042df40
mov dword [esp + 0x598], eax
mov dx, word [0x4ac170]
movsx eax, dx
mov ecx, dword [0x4a2bac]
xor ecx, 0xffffffff
imul eax, ecx
mov ecx, dword [esp + 0xa0]
cmp ecx, eax
jl 0x43c597
mov eax, dword [0x4a481c]
mov ecx, eax
dec ecx
mov dword [0x4a481c], ecx
mov ecx, 0x87251828
sub ecx, eax
mov dx, cx
mov word [0x4af3cc], dx
mov eax, 0x4480772d
mov ecx, dword [esp + 0x598]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x126]
mov dword [edx], ecx
mov dword [edx + 8], 0x4b6144
mov dword [esp + 0x9c], eax
call fcn.00455d50
mov ecx, dword [0x4a143c]
shl ecx, 8
mov edx, dword [esp + 0x9c]
cmp edx, ecx
mov dword [esp + 0x98], eax
jge 0x43c5f7
mov eax, dword [0x4a587c]
add eax, 0xee866fd7
mov dword [0x4a587c], eax
jmp 0x43c606
mov eax, dword [0x4a58b4]
xor eax, 0x896b77ec
mov dword [0x4a58b4], eax
mov eax, dword [esp + 0x598]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x12
call fcn.0041e970
mov eax, dword [0x498c90]
mov ecx, dword [0x492fa4]
xor ecx, eax
mov dword [0x492fa4], ecx
jmp 0x43c6ed
mov eax, dword [0x4a1a1c]
xor eax, 0x1a400894
mov ecx, dword [0x4a2dd8]
imul ecx, eax
mov dword [0x4a2dd8], ecx
mov eax, esp
mov dword [eax + 4], 0x24
mov dword [eax], 0x2ad2
call fcn.0042df40
mov dword [esp + 0x594], eax
mov dx, word [0x4aff9c]
mov ax, dx
imul eax, eax, 0x8060c25
mov dx, ax
mov word [0x4aff9c], dx
mov eax, dword [esp + 0x594]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x126]
mov dword [ecx], eax
mov dword [ecx + 8], 0x4b6144
call fcn.00455d50
mov ecx, dword [0x49a324]
or ecx, 0x3eba5546
mov dword [0x49a324], ecx
mov ecx, dword [esp + 0x594]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 0x24
mov dword [esp + 0x94], eax
call fcn.0041e970
mov dx, word [0x4ab6a8]
mov ax, dx
xor eax, 0x8289
mov dx, ax
mov word [0x4ab6a8], dx
mov ax, word [0x4ae714]
movsx ecx, ax
add ecx, ecx
mov edx, dword [0x497ae0]
dec edx
mov dword [0x497ae0], edx
cmp ecx, edx
jl 0x43c741
mov eax, 0xbbe7ff67
mov cx, word [0x4ad6ea]
movsx edx, cx
cmp eax, edx
jge 0x43c73c
mov ax, word [0x4ae6a8]
mov cx, ax
or ecx, 0xb843
mov ax, cx
mov word [0x4ae6a8], ax
jmp 0x43c750
mov eax, dword [0x49e664]
add eax, 0x8f840414
mov dword [0x49e664], eax
mov eax, 0x3df89e3
mov byte [esp + 0x56b], 0
mov cx, word [0x4b5d0c]
mov dx, cx
and edx, 0xdc6a
mov cx, dx
mov word [0x4b5d0c], cx
mov edx, dword [0x4b6a20]
mov esi, esp
mov dword [esi + 4], edx
lea edx, [esp + 0x126]
mov dword [esi], edx
mov dword [esp + 0x90], eax
mov dword [esp + 0x8c], edx
call fcn.00455420
mov edx, dword [0x4996cc]
mov esi, 0x82599d88
sub esi, edx
mov edx, dword [0x49c9bc]
xor edx, esi
mov dword [0x49c9bc], edx
mov edx, dword [0x491d68]
mov esi, esp
mov edi, dword [esp + 0x8c]
mov dword [esi], edi
mov dword [esi + 4], 0
mov dword [esp + 0x88], eax
call edx
sub esp, 8
mov edx, dword [0x499bb8]
inc edx
mov dword [0x499bb8], edx
or edx, 0xe181d201
mov esi, dword [0x4a6278]
imul esi, edx
mov dword [0x4a6278], esi
mov edx, esp
mov esi, dword [esp + 0x8c]
mov dword [edx + 4], esi
mov dword [edx], 0x4b62b4
mov dword [esp + 0x84], eax
call fcn.00455410
mov cx, word [0x4acfde]
movsx edx, cx
and edx, 0x38c683c4
mov esi, dword [0x498eb0]
xor esi, edx
mov dword [0x498eb0], esi
mov edx, esp
mov esi, dword [esp + 0x8c]
mov dword [edx], esi
mov dword [esp + 0x80], eax
call fcn.0043a120
mov dword [esp + 0x120], eax
mov eax, dword [0x49cf9c]
mov edx, eax
inc edx
mov dword [0x49cf9c], edx
mov edx, dword [0x49f380]
inc edx
mov dword [0x49f380], edx
imul edx, edx, 0xfa7e1537
neg edx
lea eax, [eax + edx + 1]
mov edx, dword [0x49323c]
sub edx, eax
mov dword [0x49323c], edx
mov eax, dword [0x491d68]
mov edx, esp
mov esi, dword [esp + 0x8c]
mov dword [edx], esi
mov dword [edx + 4], 0
call eax
sub esp, 8
mov edx, dword [0x496318]
mov esi, edx
dec esi
mov dword [0x496318], esi
mov esi, 0xff53cc88
sub esi, edx
mov edx, dword [0x4a7144]
add edx, esi
mov dword [0x4a7144], edx
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0x33e
mov dword [esp + 0x7c], eax
call fcn.0042df40
mov dword [esp + 0x590], eax
mov cx, word [0x4ac6be]
mov ax, cx
or eax, 0x2db7
mov cx, ax
mov word [0x4ac6be], cx
mov eax, dword [esp + 0x590]
mov edx, esp
mov dword [edx + 4], eax
mov eax, dword [esp + 0x8c]
mov dword [edx], eax
call fcn.00455420
mov edx, dword [0x49a070]
add edx, 0x8892f31
mov dword [0x49a070], edx
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0x389a
mov dword [esp + 0x78], eax
call fcn.0042df40
mov dword [esp + 0x58c], eax
mov eax, dword [0x4a51bc]
add eax, 0xefa42810
mov dword [0x4a51bc], eax
mov eax, dword [esp + 0x590]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], 0x1f
call fcn.0041e970
mov eax, dword [0x499aec]
or eax, 0x7ffa
mov cx, ax
mov word [0x4acc78], cx
mov eax, dword [esp + 0x58c]
mov edx, esp
mov dword [edx], eax
lea ecx, [esp + 0x56c]
call fcn.00432a90
sub esp, 4
mov bx, word [0x4ad124]
movsx ecx, bx
or ecx, 0xa7cf3298
mov edx, dword [esp + 0x90]
cmp edx, ecx
mov dword [esp + 0x74], eax
jl 0x43ca01
mov eax, 0x2b43b1e6
mov ecx, dword [0x494c3c]
sar ecx, 2
and ecx, 0x621c0926
cmp eax, ecx
jl 0x43c9fc
mov ax, word [0x4afdb6]
mov cx, ax
add ecx, 0x5cbd6e59
mov ax, cx
mov word [0x4afdb6], ax
jmp 0x43ca01
mov eax, dword [esp + 0x58c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.0041e970
mov eax, dword [0x4969e4]
sar eax, 4
cmp eax, 0xd26a23ed
jle 0x43ca3a
mov eax, dword [0x4992bc]
add eax, 0x1345c1f4
mov dword [0x4992bc], eax
lea eax, [esp + 0x56c]
lea ecx, [esp + 0x126]
mov dword [esp + 0x70], ecx
mov ecx, eax
call fcn.0042ce10
lea ecx, [esp + 0x56c]
mov dword [esp + 0x6c], eax
call fcn.00413b90
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0x68], ecx
call fcn.00419770
cmp eax, 0
jne 0x43d138
mov eax, dword [0x4a85cc]
and eax, 0x76e5743e
mov dword [0x4a85cc], eax
mov eax, dword [0x491d10]
mov ecx, esp
lea edx, [esp + 0x126]
mov dword [ecx + 4], edx
mov dword [ecx], 0x104
call eax
sub esp, 8
mov si, word [0x4ae612]
movsx ecx, si
mov edx, dword [0x49f214]
sar edx, 0xa
cmp ecx, edx
mov dword [esp + 0x64], eax
jg 0x43caf7
mov ax, word [0x4b10da]
mov cx, ax
or ecx, 0x95af
mov ax, cx
mov word [0x4b10da], ax
mov eax, esp
lea ecx, [esp + 0x126]
mov dword [eax], ecx
call fcn.00452290
mov dword [esp + 0x120], eax
mov dx, word [0x4b3de0]
mov ax, dx
or eax, 0x2fe9
mov dx, ax
mov word [0x4b3de0], dx
mov eax, dword [esp + 0x120]
add eax, 0xfffffffe
mov dword [esp + 0x120], eax
mov dx, word [0x4abd6a]
movsx eax, dx
xor eax, 0xffffffff
imul eax, eax, 0xae7ca6bf
cmp eax, 0xb17f0028
jg 0x43cb60
mov dword [0x49f304], 0x1d11a9fc
mov eax, dword [esp + 0x120]
mov dword [esp + 0x11c], eax
cmp dword [esp + 0x11c], 0
jle 0x43cca1
mov eax, dword [0x496dc0]
mov ecx, dword [0x4a2d3c]
sar ecx, 1
add ecx, 0x7f4ae02
mov dx, word [0x4b1efe]
movsx esi, dx
xor ecx, esi
cmp eax, ecx
jg 0x43cbb2
mov eax, dword [0x4a1300]
or eax, 0xf25a28d9
mov dword [0x4a1300], eax
mov eax, dword [esp + 0x11c]
movsx eax, byte [esp + eax + 0x126]
cmp eax, 0x5c
jne 0x43cc77
mov eax, dword [0x494f00]
imul eax, eax, 0xeff869f2
mov dword [0x494f00], eax
mov eax, dword [esp + 0x11c]
inc eax
mov dword [esp + 0x11c], eax
mov cx, word [0x4b3b18]
mov ax, cx
mov edx, eax
dec edx
mov cx, dx
mov word [0x4b3b18], cx
imul eax, eax, 0x9b7b4e07
mov cx, word [0x4b33fa]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x4b33fa], cx
mov eax, dword [esp + 0x11c]
mov byte [esp + eax + 0x126], 0
mov cx, word [0x4ad324]
movsx eax, cx
or eax, 0x4f33f6bf
cmp eax, 0xe66dcdbc
jg 0x43cc55
mov eax, dword [0x4a4bcc]
imul eax, eax, 0x5c292a78
mov dword [0x4a4bcc], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x120], eax
mov eax, dword [0x49d610]
or eax, 0x66b72165
mov dword [0x49d610], eax
jmp 0x43cca1
mov eax, dword [0x4a089c]
xor eax, 0x6ab
mov cx, ax
mov word [0x4aa06e], cx
mov eax, dword [esp + 0x11c]
add eax, 0xffffffff
mov dword [esp + 0x11c], eax
jmp 0x43cb6e
mov dword [0x4a7d14], 0xc486753e
mov eax, esp
lea ecx, [esp + 0x126]
mov dword [eax + 4], ecx
mov dword [eax], 0x4b62b4
mov dword [esp + 0x60], ecx
call fcn.00455410
mov ecx, dword [0x49fb0c]
shl ecx, 3
mov edx, dword [0x4a09fc]
xor edx, ecx
mov dword [0x4a09fc], edx
mov ecx, esp
mov edx, dword [esp + 0x60]
mov dword [ecx], edx
mov dword [esp + 0x5c], eax
call fcn.0043a120
mov dword [esp + 0x120], eax
mov eax, dword [0x4a58e8]
xor eax, 0x38a09e94
mov dword [0x4a58e8], eax
mov eax, dword [0x491d68]
mov ecx, esp
mov edx, dword [esp + 0x60]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov si, word [0x4afee2]
movsx ecx, si
sar ecx, 8
sub ecx, 0x4cd2c882
cmp ecx, 0xdf148aa5
mov dword [esp + 0x58], eax
jne 0x43cd60
mov eax, dword [0x4a09e0]
or eax, 0xb217
mov cx, word [0x4b4a28]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x4b4a28], cx
mov eax, 0xa6b4e302
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x33e
mov dword [esp + 0x54], eax
call fcn.0042df40
mov dword [esp + 0x588], eax
mov eax, dword [0x4a4ab8]
or eax, 0xc04590d0
mov dword [0x4a4ab8], eax
mov eax, dword [esp + 0x588]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x126]
mov dword [ecx], eax
call fcn.00455420
mov ecx, dword [0x4a91f0]
inc ecx
mov dword [0x4a91f0], ecx
imul ecx, ecx, 0xe8ea194a
mov edx, dword [0x494888]
or edx, ecx
mov dword [0x494888], edx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x389a
mov dword [esp + 0x50], eax
call fcn.0042df40
mov dword [esp + 0x584], eax
mov eax, dword [0x4946c4]
add eax, 0x276bb99d
mov dword [0x4946c4], eax
mov eax, dword [esp + 0x588]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.0041e970
mov si, word [0x4b4ef8]
mov ax, si
inc eax
mov di, ax
mov word [0x4b4ef8], di
movsx eax, si
imul eax, eax, 0x925cb556
xor eax, 0x80aaf251
mov ecx, dword [esp + 0x54]
cmp ecx, eax
jle 0x43ce51
mov eax, dword [0x4a99a4]
and eax, 0x7ea916da
mov dword [0x4a99a4], eax
mov eax, 0xf48ee463
mov ecx, dword [esp + 0x584]
mov edx, esp
mov dword [edx], ecx
lea ecx, [esp + 0x56c]
mov dword [esp + 0x4c], eax
call fcn.00432a90
sub esp, 4
mov ecx, dword [0x4a2d18]
shl ecx, 4
and ecx, 0x60c067b9
mov edx, dword [esp + 0x4c]
cmp edx, ecx
mov dword [esp + 0x48], eax
jl 0x43cea3
mov eax, dword [0x4964c4]
imul eax, eax, 0x5c4df58
mov dword [0x4964c4], eax
mov eax, 0x23000141
mov ecx, dword [esp + 0x584]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x44], eax
call fcn.0041e970
mov si, word [0x4b2a44]
movsx eax, si
mov ecx, dword [esp + 0x44]
cmp ecx, eax
je 0x43cf11
mov eax, 0x14cd54b3
mov ecx, dword [0x4943a8]
dec ecx
mov dword [0x4943a8], ecx
cmp eax, ecx
jge 0x43cf02
mov dword [0x497c5c], 0xbf7de7ff
jmp 0x43cf0c
mov dword [0x4a7cdc], 0xc17b8a49
jmp 0x43cf11
lea eax, [esp + 0x56c]
lea ecx, [esp + 0x126]
mov dword [esp + 0x40], ecx
mov ecx, eax
call fcn.0042ce10
lea ecx, [esp + 0x56c]
mov dword [esp + 0x3c], eax
call fcn.00413b90
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0x38], ecx
call fcn.00419770
cmp eax, 0
jne 0x43d11b
mov eax, 0x60afe31e
mov ecx, dword [0x4986f4]
and ecx, 0xe43d3f5d
mov dword [0x4986f4], ecx
mov ecx, dword [0x491d10]
mov edx, esp
lea esi, [esp + 0x126]
mov dword [edx + 4], esi
mov dword [edx], 0x104
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], esi
call ecx
sub esp, 8
mov ecx, dword [0x4a10f8]
mov edx, ecx
dec edx
mov dword [0x4a10f8], edx
add ecx, 0xa044dbdd
mov di, word [0x4ab52c]
mov dx, di
xor edx, ecx
mov di, dx
mov word [0x4ab52c], di
mov ecx, esp
mov edx, dword [esp + 0x30]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4b62b4
mov dword [esp + 0x2c], eax
call fcn.00455410
mov dword [0x4a94e4], 0xa48c01c6
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x33e
mov dword [esp + 0x28], eax
call fcn.0042df40
mov dword [esp + 0x580], eax
mov eax, dword [0x495890]
mov ecx, eax
inc ecx
mov dword [0x495890], ecx
mov ecx, dword [0x49e424]
mov edx, ecx
inc edx
mov dword [0x49e424], edx
sub ecx, 0x7560b725
and eax, ecx
mov ecx, dword [esp + 0x34]
cmp ecx, eax
je 0x43d078
mov eax, 0xe73d9ccd
mov ecx, dword [0x49f540]
xor ecx, 0xffefb6d0
or ecx, 0x5dd381ec
cmp eax, ecx
jle 0x43d073
mov eax, dword [0x49c270]
add eax, 0xcfbb5163
mov dword [0x49c270], eax
jmp 0x43d095
mov ax, word [0x4ab196]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x4ab196], dx
movsx ecx, ax
mov dword [0x494cd4], ecx
mov eax, 0x707106fe
mov ecx, dword [esp + 0x580]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x126]
mov dword [edx], ecx
mov dword [esp + 0x24], eax
call fcn.00455420
mov ecx, dword [0x49cbc0]
mov edx, ecx
dec edx
mov dword [0x49cbc0], edx
sub ecx, 0x9ba1075d
mov edx, dword [esp + 0x24]
cmp edx, ecx
mov dword [esp + 0x20], eax
jg 0x43d0e7
mov dword [0x4a3c34], 0xbbda3bad
mov eax, dword [esp + 0x580]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.0041e970
mov dx, word [0x4aafa8]
movsx eax, dx
mov ecx, 0xa0d5f59a
sub ecx, eax
mov eax, dword [0x4a34fc]
sub eax, ecx
mov dword [0x4a34fc], eax
mov ax, word [0x4af3e2]
movsx ecx, ax
imul ecx, ecx, 0x2ea6d3d7
mov edx, dword [0x4a0b0c]
xor edx, ecx
mov dword [0x4a0b0c], edx
mov ax, word [0x4b355a]
mov cx, ax
imul ecx, ecx, 0x53c3b66e
mov ax, cx
mov word [0x4b355a], ax
mov eax, 0x6919ba83
mov cx, word [0x4ad384]
movsx edx, cx
mov esi, dword [0x49f3dc]
imul esi, edx
mov dword [0x49f3dc], esi
mov edx, esp
lea esi, [esp + 0x126]
mov dword [edx], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], esi
call fcn.0043a120
mov edx, dword [0x499ec0]
or edx, 0x9b199892
mov dword [0x499ec0], edx
mov edx, dword [0x491d1c]
mov esi, esp
mov edi, dword [esp + 0x18]
mov dword [esi], edi
mov dword [esi + 4], 2
mov dword [esp + 0x14], eax
call edx
sub esp, 8
mov edx, dword [0x49c5d0]
dec edx
mov dword [0x49c5d0], edx
add edx, 0xbb6d6c1
mov esi, dword [esp + 0x1c]
cmp esi, edx
mov dword [esp + 0x10], eax
jne 0x43d1f6
mov ax, word [0x4acc48]
mov cx, ax
add ecx, 0x7debfdcf
mov ax, cx
mov word [0x4acc48], ax
jmp 0x43d205
mov eax, dword [0x4a41ec]
xor eax, 0xbb57e13f
mov dword [0x4a41ec], eax
mov eax, esp
lea ecx, [esp + 0x126]
mov dword [eax], ecx
mov dword [eax + 4], 0x446
call fcn.00439e20
mov eax, dword [0x4a8be8]
and eax, 0xd93575df
mov dword [0x4a8be8], eax
lea ecx, [esp + 0x56c]
call fcn.00432a00
add esp, 0x5ac
pop esi
pop edi
pop ebx
ret