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

Disassembly:
push ebx
push edi
push esi
sub esp, 0xf4
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0x108]
mov esi, dword [esp + 0x104]
xor edi, edi
mov dword [esp + 0xec], eax
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xe4], edx
mov dword [esp + 0xe0], esi
mov bx, word [0x48fec6]
movsx eax, bx
xor eax, 0xd816a5b5
mov dword [0x4914c4], eax
mov bx, word [0x4902d0]
mov ax, bx
add eax, 0x4173c317
mov bx, ax
mov word [0x4902d0], bx
mov eax, dword [0x497a68]
imul eax, eax, 0xcabd8217
mov dword [0x497a68], eax
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x6c], edi
call fcn.0040d200
cmp eax, 0
jne 0x435674
mov dword [esp + 0xf0], 0xfffffff4
jmp 0x436fa4
mov eax, dword [0x495264]
mov cx, word [0x490e4e]
mov dx, cx
and eax, edx
and eax, 0x44
mov cx, ax
mov word [0x490e4e], cx
mov eax, esp
lea edx, [esp + 0x90]
mov dword [eax + 0x10], edx
lea edx, [esp + 0x9c]
mov dword [eax + 0xc], edx
lea edx, [esp + 0xa8]
mov dword [eax + 8], edx
lea edx, [esp + 0xb4]
mov dword [eax + 4], edx
lea edx, [esp + 0xc0]
mov dword [eax], edx
mov dword [eax + 0x14], 0
call fcn.0043fe30
mov eax, dword [0x495518]
mov edx, dword [0x491538]
mov esi, edx
inc esi
mov dword [0x491538], esi
add edx, 0xc3de8195
xor eax, edx
mov cx, ax
mov word [0x490b16], cx
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0xe8]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00421f60
cmp eax, 0
jge 0x4357fe
mov eax, dword [0x494f58]
mov ecx, dword [0x49430c]
xor ecx, eax
mov dword [0x49430c], ecx
cmp dword [esp + 0xe0], 0
je 0x435772
xor eax, eax
mov ecx, dword [esp + 0xe0]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x68], eax
call fcn.00415760
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x43576d
jmp 0x436f2e
jmp 0x435772
mov eax, dword [0x491c9c]
mov ecx, dword [0x491f4c]
add ecx, eax
mov dword [0x491f4c], ecx
cmp dword [esp + 0xe4], 0
je 0x4357c7
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xe4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00422bb0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x4357c2
jmp 0x436f2e
jmp 0x4357c7
mov eax, dword [0x494c20]
mov ecx, eax
dec ecx
mov dword [0x494c20], ecx
imul eax, eax, 0xe7be8b25
and eax, 0x161714c7
mov ecx, dword [0x491898]
add ecx, eax
mov dword [0x491898], ecx
mov dword [esp + 0xf0], 0
jmp 0x436fa4
lea eax, [esp + 0xc0]
mov dword [0x492304], 0x9bae2bfa
mov ecx, dword [esp + 0xe8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00422bb0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x435837
jmp 0x436f2e
lea eax, [esp + 0xb4]
mov ecx, dword [0x496a14]
add ecx, 0xef2e0037
mov dword [0x496a14], ecx
mov ecx, dword [esp + 0xec]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00422bb0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x435878
jmp 0x436f2e
lea eax, [esp + 0xa8]
mov ecx, dword [0x4953d0]
dec ecx
mov dword [0x4953d0], ecx
imul ecx, ecx, 0xd4ecc044
mov edx, dword [0x493eec]
and edx, ecx
mov dword [0x493eec], edx
mov dword [esp + 0xb4], 1
mov dword [esp + 0xc0], 1
mov si, word [0x48f8d6]
mov cx, si
add ecx, 0xc679cc64
mov si, cx
mov word [0x48f8d6], si
mov ecx, dword [esp + 0xe8]
mov ecx, dword [ecx + 4]
add ecx, 2
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00450de0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x4358fe
jmp 0x436f2e
lea eax, [esp + 0xa8]
xor ecx, ecx
mov dx, word [0x48fef2]
mov si, dx
add esi, 0x2100d901
mov dx, si
mov word [0x48fef2], dx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x64], ecx
call fcn.00415760
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x43594a
jmp 0x436f2e
lea eax, [esp + 0x9c]
mov ecx, 2
mov edx, dword [0x4975f8]
dec edx
mov dword [0x4975f8], edx
mov esi, dword [0x49579c]
shl esi, 7
mov edi, 0x7ce436c0
sub edi, esi
and edx, edi
mov esi, dword [0x493f90]
and esi, edx
mov dword [0x493f90], esi
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 0x60], ecx
call fcn.00450de0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x4359ac
jmp 0x436f2e
mov eax, 0x55c4b53d
mov ecx, dword [0x493fb0]
shl ecx, 6
xor ecx, 0x2812280
mov edx, dword [0x493278]
mov esi, edx
dec esi
mov dword [0x493278], esi
sub eax, edx
cmp ecx, eax
jne 0x4359e8
mov eax, dword [0x494134]
add eax, 0xe42ca85a
mov dword [0x494134], eax
lea eax, [esp + 0x90]
mov ecx, 3
mov dword [esp], eax
mov dword [esp + 4], 3
mov dword [esp + 0x5c], ecx
call fcn.00450de0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x435a1d
jmp 0x436f2e
mov eax, dword [0x494394]
mov ecx, eax
dec ecx
mov dword [0x494394], ecx
mov dx, word [0x491098]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x491098], dx
mov eax, esp
lea ecx, [esp + 0xb4]
mov dword [eax], ecx
call fcn.0043aec0
mov ecx, eax
sar ecx, 0x1f
shr ecx, 0x1b
mov esi, eax
add esi, ecx
and esi, 0xffffffe0
sub eax, esi
mov dword [esp + 0xcc], eax
mov eax, dword [0x4967f8]
dec eax
mov dword [0x4967f8], eax
xor eax, 0xa00401f3
mov ecx, dword [0x492adc]
add ecx, eax
mov dword [0x492adc], ecx
cmp dword [esp + 0xcc], 0x1f
jge 0x435c7d
mov eax, 0x50ac
mov ecx, dword [0x493e40]
imul ecx, ecx, 0xd8130544
add ecx, 0x6ad0101b
mov dx, word [0x49089c]
mov si, dx
sub esi, ecx
mov dx, si
mov word [0x49089c], dx
mov ecx, dword [esp + 0xcc]
mov esi, 0x1f
sub esi, ecx
mov dword [esp + 0xcc], esi
mov ecx, dword [0x4911fc]
shl ecx, 3
mov esi, dword [0x4925dc]
imul esi, esi, 0x76e18a50
sub ecx, esi
cmp eax, ecx
jle 0x435b83
mov eax, dword [0x495164]
inc eax
mov dword [0x495164], eax
mov cx, word [0x48ec60]
movsx edx, cx
shl edx, 4
or edx, 0x2806bc4e
cmp eax, edx
je 0x435b4b
mov eax, dword [0x494e30]
mov ecx, dword [0x494cb0]
inc ecx
mov dword [0x494cb0], ecx
and eax, ecx
mov dx, word [0x490d22]
mov cx, dx
and ecx, eax
mov dx, cx
mov word [0x490d22], dx
jmp 0x435b7e
mov ax, word [0x48f3fe]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x48f3fe], ax
movsx ecx, ax
mov edx, 0x196255ec
sub edx, ecx
mov ecx, dword [0x4974b0]
or edx, ecx
mov ecx, dword [0x4955e4]
and ecx, edx
mov dword [0x4955e4], ecx
jmp 0x435bbd
mov ax, word [0x490a4c]
movsx ecx, ax
imul ecx, ecx, 0x3adfa3d0
or ecx, 0x8cfcd2fd
mov ax, word [0x48e96a]
movsx edx, ax
or edx, 0xbeee2214
cmp ecx, edx
jg 0x435bb8
mov word [0x48ff0c], 0xb2e4
jmp 0x435bbd
lea eax, [esp + 0xc0]
mov ecx, dword [esp + 0xcc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0044ede0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x435bec
jmp 0x436f2e
lea eax, [esp + 0xb4]
mov ecx, dword [0x4922e8]
imul ecx, ecx, 0x3abab0cc
mov dx, word [0x48ddec]
mov si, dx
dec esi
mov dx, si
mov word [0x48ddec], dx
movsx esi, dx
xor ecx, esi
mov dword [0x4938ac], ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0044ede0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x435c47
jmp 0x436f2e
mov ax, word [0x48fe36]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x48fe36], dx
movsx ecx, ax
imul ecx, ecx, 0x63fb71c9
or ecx, 0x7f957a1f
mov esi, dword [0x496fa8]
and esi, ecx
mov dword [0x496fa8], esi
jmp 0x435c88
mov dword [esp + 0xcc], 0
mov eax, dword [0x495794]
imul eax, eax, 0xb4ff8e20
mov dword [0x495794], eax
mov eax, dword [esp + 0xc4]
dec eax
mov dword [esp + 0xd4], eax
mov eax, dword [0x496b10]
mov ecx, dword [0x4918e8]
dec ecx
mov dword [0x4918e8], ecx
add eax, ecx
and eax, 0xa10371b7
cmp eax, 0x6bb5f7ff
jge 0x435cd5
mov dword [0x493610], 0x7420220
mov eax, 0xfff72764
mov ecx, dword [esp + 0xb8]
dec ecx
mov dword [esp + 0xd0], ecx
mov ecx, dword [0x49401c]
and ecx, 0x1ab3d05b
cmp eax, ecx
jle 0x435d0c
mov eax, dword [0x497844]
or eax, 0x689a7c71
mov dword [0x497844], eax
mov eax, 0xa251f2a8
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xd0]
sub ecx, edx
shl ecx, 5
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0xb4]
mov dword [edx], ecx
mov dword [esp + 0x58], eax
call fcn.0044ede0
mov ecx, dword [0x4972b8]
inc ecx
mov dword [0x4972b8], ecx
or ecx, 0xb85a03af
or ecx, 0x2def9af1
mov edx, dword [esp + 0x58]
cmp edx, ecx
mov dword [esp + 0x54], eax
jle 0x435d79
mov eax, dword [0x491688]
imul eax, eax, 0x7c06e2c8
mov dword [0x491688], eax
jmp 0x435d83
mov eax, dword [0x4960e8]
mov dword [0x494f48], eax
jmp 0x435d88
lea eax, [esp + 0xc0]
lea ecx, [esp + 0xb4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0043a8c0
cmp eax, 0
jl 0x435ece
mov eax, dword [0x496978]
or eax, 0xeefa4a16
mov ecx, dword [0x495110]
and ecx, eax
mov dword [0x495110], ecx
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd0]
sub eax, ecx
mov ecx, dword [esp + 0xb0]
mov edx, dword [ecx + eax*4]
inc edx
mov dword [ecx + eax*4], edx
mov si, word [0x48e51e]
movsx eax, si
cmp eax, 0xb9f770d4
jg 0x435e49
mov eax, dword [0x494ae4]
xor eax, 0x64ab09c9
mov ecx, dword [0x4953e0]
dec ecx
mov dword [0x4953e0], ecx
xor ecx, 0xb03faa32
xor ecx, 0x784c3ca
cmp eax, ecx
jg 0x435e35
mov eax, dword [0x496f8c]
and eax, 0xe671d87e
mov dword [0x496f8c], eax
jmp 0x435e44
mov eax, dword [0x492334]
xor eax, 0x399ddb7f
mov dword [0x492334], eax
jmp 0x435e49
mov eax, 0xfd87f6cf
mov ecx, esp
lea edx, [esp + 0xb4]
mov dword [ecx + 8], edx
lea edx, [esp + 0xc0]
mov dword [ecx + 4], edx
mov dword [ecx], edx
mov dword [esp + 0x50], eax
call fcn.00413bd0
mov si, word [0x48fdb0]
movsx ecx, si
sar ecx, 1
imul ecx, ecx, 0x90b52209
mov edx, dword [esp + 0x50]
cmp edx, ecx
mov dword [esp + 0x4c], eax
jge 0x435eb1
mov eax, dword [0x494df4]
not eax
and eax, 0xbe5537bf
mov ecx, dword [0x4939ec]
add ecx, eax
mov dword [0x4939ec], ecx
jmp 0x435ec9
mov ax, word [0x4903bc]
mov cx, ax
xor ecx, 0x5bbd
mov ax, cx
mov word [0x4903bc], ax
jmp 0x435d88
mov eax, dword [0x496b3c]
mov ecx, eax
inc ecx
mov dword [0x496b3c], ecx
xor eax, 0x2082a0a0
or eax, 0xdf1c5e17
mov ecx, dword [0x4927b8]
sub ecx, eax
mov dword [0x4927b8], ecx
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd0]
sub eax, ecx
shl eax, 5
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0xb4]
mov dword [ecx], eax
call fcn.00401420
mov ecx, dword [0x493960]
mov edx, ecx
dec edx
mov dword [0x493960], edx
mov edx, dword [0x497048]
lea ecx, [ecx + edx + 0x3e53352a]
mov dword [0x497048], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xd8]
cmp eax, dword [esp + 0xd0]
jle 0x436cd1
mov eax, 0x50755908
mov ecx, dword [0x494bf8]
mov edx, ecx
dec edx
mov dword [0x494bf8], edx
add ecx, 0xf46dae5b
mov si, word [0x48e8aa]
mov dx, si
dec edx
mov di, dx
mov word [0x48e8aa], di
movsx edx, si
or ecx, edx
cmp eax, ecx
je 0x435fb6
mov eax, dword [0x4951a4]
or eax, 0x6d3aa99
mov ecx, dword [0x494c40]
and ecx, eax
mov dword [0x494c40], ecx
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0xbc]
cmp eax, dword [edx + ecx*4]
jb 0x436002
mov eax, dword [esp + 0xd8]
sub eax, dword [esp + 0xd0]
sub eax, 1
mov ecx, dword [esp + 0xb0]
mov dword [ecx + eax*4], 0xffffffff
jmp 0x4366cc
mov eax, 0xab475f58
mov ecx, dword [0x493e5c]
dec ecx
mov dword [0x493e5c], ecx
mov dx, word [0x48fafa]
mov si, dx
sub esi, ecx
mov dx, si
mov word [0x48fafa], dx
mov ecx, dword [0x492224]
mov esi, ecx
inc esi
mov dword [0x492224], esi
or ecx, 0x870bbf3a
cmp eax, ecx
jle 0x43605b
mov eax, dword [0x491360]
and eax, 0xf5f442b9
mov dword [0x491360], eax
jmp 0x436073
mov eax, dword [0x4932f4]
or eax, 0xc908d6a3
mov ecx, dword [0x497684]
add ecx, eax
mov dword [0x497684], ecx
mov eax, dword [0x49675c]
mov ecx, 0xb3fac0bb
sub ecx, eax
mov eax, dword [0x491170]
sar eax, 2
and eax, 0x819b2e5
cmp ecx, eax
jg 0x4360e1
mov eax, dword [0x495350]
mov ecx, dword [0x4911d8]
or ecx, 0x2a4c6086
cmp eax, ecx
jge 0x4360dc
mov eax, 0x8dca750b
mov ecx, dword [0x495be4]
mov dx, word [0x48f150]
movsx esi, dx
xor esi, 0x365ddc60
or ecx, esi
cmp eax, ecx
jne 0x4360d7
jmp 0x4360d7
jmp 0x4360dc
jmp 0x4360e1
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x74], eax
mov eax, dword [0x491d58]
mov ecx, eax
inc ecx
mov dword [0x491d58], ecx
mov ecx, 0x3b8960a1
sub ecx, eax
mov dx, word [0x48f850]
mov ax, dx
add eax, ecx
mov dx, ax
mov word [0x48f850], dx
movzx eax, word [esp + 0x74]
mov dword [esp + 0x7c], eax
mov dx, word [0x490eb4]
mov ax, dx
xor eax, 0x2408
mov dx, ax
mov word [0x490eb4], dx
movzx eax, word [esp + 0x76]
mov dword [esp + 0x78], eax
mov eax, dword [0x492ba0]
xor eax, 0xffffff7b
mov dword [0x492ba0], eax
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x78]
xor edx, edx
div ecx
mov dword [esp + 0x88], eax
mov eax, dword [0x491c28]
and eax, 0x1ed8
mov si, word [0x48dd7c]
mov cx, si
imul ecx, eax
mov si, cx
mov word [0x48dd7c], si
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x88]
imul ecx, edx
sub eax, ecx
mov dword [esp + 0x80], eax
mov eax, dword [0x494930]
xor eax, 0x12395a9d
mov dword [0x494930], eax
mov eax, dword [esp + 0x80]
shl eax, 0x10
mov dword [esp + 0x80], eax
mov si, word [0x48dc5a]
movsx eax, si
sar eax, 4
xor eax, 0x38be4c4d
mov ecx, dword [0x492278]
imul ecx, ecx, 0x1eaf8cf
xor ecx, 0x288521d9
cmp eax, ecx
jne 0x436227
mov ax, word [0x48f18e]
movsx ecx, ax
mov edx, dword [0x4960e0]
and edx, ecx
mov dword [0x4960e0], edx
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xc8]
movzx eax, word [ecx + eax*4 - 2]
mov ecx, dword [esp + 0x80]
or ecx, eax
mov dword [esp + 0x80], ecx
mov dx, word [0x48e1e4]
mov ax, dx
xor eax, 0x8e1
mov dx, ax
mov word [0x48e1e4], dx
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x7c]
imul eax, ecx
mov dword [esp + 0x70], eax
mov eax, dword [0x494088]
mov ecx, eax
inc ecx
mov dword [0x494088], ecx
mov ecx, dword [0x492434]
not ecx
imul eax, ecx
imul eax, eax, 0x9a928cf7
mov ecx, dword [0x497250]
sub ecx, eax
mov dword [0x497250], ecx
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x70]
jae 0x436367
mov eax, dword [0x495758]
xor eax, 0x2a74c2b7
mov dword [0x495758], eax
mov eax, dword [esp + 0x88]
dec eax
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x80]
add ecx, eax
mov dword [esp + 0x80], ecx
mov eax, dword [0x496378]
or eax, 0x120a4821
mov dword [0x496378], eax
xor eax, eax
mov cl, al
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x74]
mov byte [esp + 0x47], cl
jb 0x43631f
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x70]
setb cl
mov byte [esp + 0x47], cl
mov al, byte [esp + 0x47]
test al, 1
jne 0x436330
jmp 0x436358
mov eax, dword [esp + 0x88]
add eax, 0xffffffff
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x74]
add eax, dword [esp + 0x80]
mov dword [esp + 0x80], eax
jmp 0x4362f4
mov eax, dword [0x494970]
or eax, 0xffef46a1
mov dword [0x494970], eax
mov ax, word [0x48e4d2]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x48e4d2], ax
movsx ecx, ax
mov edx, dword [0x494c94]
or ecx, edx
or ecx, 0x40404004
mov dword [0x494c94], ecx
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x80]
sub edx, ecx
mov dword [esp + 0x80], edx
mov ecx, dword [0x497008]
mov edx, 0xa2996ab0
sub edx, ecx
mov ecx, dword [0x495020]
imul ecx, edx
mov dword [0x495020], ecx
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x78]
xor edx, edx
div ecx
mov dword [esp + 0x8c], eax
mov eax, dword [0x497604]
mov ecx, eax
dec ecx
mov dword [0x497604], ecx
mov ecx, 0xa07bdf31
sub ecx, eax
mov eax, dword [0x49350c]
dec eax
mov dword [0x49350c], eax
imul eax, eax, 0x2f73bcbf
sub eax, 0x80666c72
cmp ecx, eax
jg 0x436442
mov eax, dword [0x495210]
imul eax, eax, 0x79d5663a
add eax, 0xf6736d63
cmp eax, 0x115b62b5
je 0x43643d
mov ax, word [0x48de3e]
mov cx, ax
add ecx, 0x9e173292
mov ax, cx
mov word [0x48de3e], ax
jmp 0x436442
mov eax, 0x1438611b
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x8c]
imul edx, esi
sub ecx, edx
mov dword [esp + 0x84], ecx
mov ecx, dword [0x49631c]
mov edx, ecx
dec edx
mov dword [0x49631c], edx
mov edx, dword [0x495e94]
mov esi, edx
inc esi
mov dword [0x495e94], esi
add edx, 0x82dcb6a6
and ecx, edx
mov di, word [0x48f14e]
mov dx, di
imul edx, ecx
mov di, dx
mov word [0x48f14e], di
mov ecx, dword [esp + 0x84]
shl ecx, 0x10
mov dword [esp + 0x84], ecx
mov word [0x48f85a], 0x5882
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xc8]
movzx ecx, word [edx + ecx*4 - 4]
mov edx, dword [esp + 0x84]
or edx, ecx
mov dword [esp + 0x84], edx
mov ecx, dword [0x4926d8]
or ecx, 0x79916e91
mov dword [0x4926d8], ecx
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x7c]
imul ecx, edx
mov dword [esp + 0x70], ecx
mov ecx, dword [0x494a94]
shl ecx, 5
cmp eax, ecx
jg 0x436523
mov eax, dword [0x493f10]
add eax, 0x3da93846
mov dword [0x493f10], eax
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0x70]
jae 0x43660d
mov word [0x49007c], 0x376c
mov eax, dword [esp + 0x8c]
dec eax
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x84]
add ecx, eax
mov dword [esp + 0x84], ecx
mov dx, word [0x48f652]
mov ax, dx
and eax, 0xc3b5
mov dx, ax
mov word [0x48f652], dx
xor eax, eax
mov cl, al
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0x74]
mov byte [esp + 0x46], cl
jb 0x4365a4
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0x70]
setb cl
mov byte [esp + 0x46], cl
mov al, byte [esp + 0x46]
test al, 1
jne 0x4365b5
jmp 0x4365dd
mov eax, dword [esp + 0x8c]
add eax, 0xffffffff
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x74]
add eax, dword [esp + 0x84]
mov dword [esp + 0x84], eax
jmp 0x436579
mov eax, 0xeeac0dad
mov ecx, dword [0x496018]
cmp eax, ecx
jg 0x436608
mov ax, word [0x48dffc]
mov cx, ax
or ecx, 0xd332
mov ax, cx
mov word [0x48dffc], ax
jmp 0x43660d
mov eax, dword [0x492490]
mov ecx, eax
dec ecx
mov dword [0x492490], ecx
add eax, 0xe19eefc3
mov ecx, dword [0x492e5c]
xor ecx, eax
mov dword [0x492e5c], ecx
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x84]
sub ecx, eax
mov dword [esp + 0x84], ecx
mov eax, dword [0x495378]
mov ecx, eax
inc ecx
mov dword [0x495378], ecx
mov ecx, dword [0x494108]
imul ecx, eax
mov dword [0x494108], ecx
mov eax, dword [esp + 0x88]
shl eax, 0x10
mov ecx, dword [esp + 0x8c]
or eax, ecx
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd0]
sub ecx, edx
mov edx, dword [esp + 0xb0]
mov dword [edx + ecx*4 - 4], eax
mov eax, dword [0x49723c]
add eax, 0xc81a6d00
and eax, 0x49b795a7
mov ecx, dword [0x491b88]
cmp eax, ecx
jle 0x4366c7
mov eax, dword [0x49278c]
add eax, 0xed9e1b9b
and eax, 0x900e2ac0
mov ecx, dword [0x492bd0]
xor ecx, eax
mov dword [0x492bd0], ecx
jmp 0x4366cc
mov ax, word [0x48e4be]
mov cx, ax
xor ecx, 0xe179
mov ax, cx
mov word [0x48e4be], ax
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd0]
sub ecx, edx
mov edx, dword [esp + 0xb0]
mov esi, dword [edx + ecx*4 - 4]
inc esi
mov dword [edx + ecx*4 - 4], esi
mov ax, word [0x48eb82]
mov cx, ax
imul ecx, ecx, 0x21200993
mov ax, cx
mov word [0x48eb82], ax
mov eax, 0x5cab54c9
mov ecx, dword [0x491680]
imul ecx, ecx, 0xbaae10d2
mov dword [0x491680], ecx
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd0]
sub ecx, edx
mov edx, dword [esp + 0xb0]
mov esi, dword [edx + ecx*4 - 4]
dec esi
mov dword [edx + ecx*4 - 4], esi
mov di, word [0x48ee40]
movsx ecx, di
mov edx, dword [0x4955a8]
sub ecx, edx
and ecx, 0xc2080914
cmp eax, ecx
jl 0x43678b
mov ax, word [0x490c90]
mov cx, ax
add ecx, 0xfff2b590
mov ax, cx
mov word [0x490c90], ax
lea eax, [esp + 0x9c]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x40], ecx
call fcn.00415760
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x4367bd
jmp 0x436f2e
mov eax, dword [0x497400]
mov ecx, dword [0x496268]
add ecx, eax
mov dword [0x496268], ecx
cmp dword [esp + 0xd0], 1
jge 0x4367e9
xor eax, eax
mov dword [esp + 0x3c], eax
jmp 0x436801
mov eax, dword [esp + 0xd0]
sub eax, 1
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x9c]
mov edx, dword [esp + 0xa4]
mov dword [edx], eax
mov si, word [0x48f342]
mov ax, si
and eax, 0x478
mov si, ax
mov word [0x48f342], si
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 0xbc]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0xa4]
mov dword [edx + 4], eax
mov dword [0x492fe0], 0xfff7ff7f
mov eax, dword [esp + 0xd8]
sub eax, dword [esp + 0xd0]
sub eax, 1
mov edx, dword [esp + 0xb0]
mov eax, dword [edx + eax*4]
mov dword [esp], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00417240
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x436893
jmp 0x436f2e
lea eax, [esp + 0x90]
xor ecx, ecx
mov edx, dword [0x494fbc]
add edx, 0xc1588300
mov dword [0x494fbc], edx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x38], ecx
call fcn.00415760
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x4368d7
jmp 0x436f2e
mov eax, dword [0x491784]
add eax, 0x42c4edde
mov dword [0x491784], eax
cmp dword [esp + 0xd8], 2
jge 0x4368ff
xor eax, eax
mov dword [esp + 0x34], eax
jmp 0x436917
mov eax, dword [esp + 0xd8]
sub eax, 2
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x98]
mov dword [ecx], eax
mov eax, dword [0x492b60]
add eax, 0xe648d954
mov dword [0x492b60], eax
cmp dword [esp + 0xd8], 1
jge 0x43694c
xor eax, eax
mov dword [esp + 0x30], eax
jmp 0x436964
mov eax, dword [esp + 0xd8]
sub eax, 1
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x98]
mov dword [ecx + 4], eax
mov eax, dword [0x4966b4]
xor eax, 0x1bf66db9
mov dword [0x4966b4], eax
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x98]
mov dword [ecx + 8], eax
mov eax, dword [0x497b44]
and eax, 0x74438db
mov ecx, dword [0x4912c4]
imul ecx, eax
mov dword [0x4912c4], ecx
lea eax, [esp + 0x9c]
lea ecx, [esp + 0x90]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0043a8c0
cmp eax, 0
jg 0x43671c
lea eax, [esp + 0x9c]
lea ecx, [esp + 0xb4]
mov edx, dword [0x495348]
or edx, 0x80ac0867
mov dword [0x495348], edx
mov edx, dword [esp + 0xd8]
sub edx, dword [esp + 0xd0]
sub edx, 1
mov esi, dword [esp + 0xb0]
mov edx, dword [esi + edx*4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00417240
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x436a38
jmp 0x436f2e
lea eax, [esp + 0x9c]
mov ecx, dword [0x491c9c]
mov edx, 0x9b3d60de
sub edx, ecx
xor edx, 0x74e510c7
mov dword [0x4967d4], edx
mov ecx, dword [esp + 0xd8]
sub ecx, dword [esp + 0xd0]
sub ecx, 1
shl ecx, 5
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0044ede0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x436a8d
jmp 0x436f2e
lea eax, [esp + 0xc0]
lea ecx, [esp + 0x9c]
mov dx, word [0x48fbd6]
mov si, dx
inc esi
mov dx, si
mov word [0x48fbd6], dx
movsx esi, dx
or esi, 0x4864001
mov edi, dword [0x495f80]
add edi, esi
mov dword [0x495f80], edi
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00413bd0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x436aec
jmp 0x436f2e
lea eax, [esp + 0xc0]
xor ecx, ecx
mov edx, dword [0x49624c]
imul edx, edx, 0x9cba4dd2
mov dword [0x49624c], edx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x2c], ecx
call fcn.0040d200
cmp eax, 0
jge 0x436c9e
lea eax, [esp + 0x9c]
lea ecx, [esp + 0xb4]
mov dx, word [0x4906fe]
mov si, dx
xor esi, 0x755f
mov dx, si
mov word [0x4906fe], dx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00422bb0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x436b6d
jmp 0x436f2e
mov eax, 0xbd3b5a46
mov cx, word [0x48fef0]
movsx edx, cx
sub eax, edx
cmp eax, 0x98e211f0
jne 0x436bb2
mov eax, dword [0x496784]
mov ecx, eax
inc ecx
mov dword [0x496784], ecx
mov dx, word [0x48e630]
mov cx, dx
xor eax, ecx
xor eax, 0x22c1
mov dx, ax
mov word [0x48e630], dx
lea eax, [esp + 0x9c]
mov ecx, dword [esp + 0xd8]
sub ecx, dword [esp + 0xd0]
sub ecx, 1
shl ecx, 5
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0044ede0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x436bee
jmp 0x436f2e
lea eax, [esp + 0xc0]
lea ecx, [esp + 0x9c]
mov edx, dword [0x491f88]
and edx, 0x93cc5b31
mov dword [0x491f88], edx
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004019d0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x436c33
jmp 0x436f2e
mov ax, word [0x48e7b4]
mov cx, ax
and ecx, 0xe4d0
mov ax, cx
mov word [0x48e7b4], ax
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd0]
sub ecx, edx
mov edx, dword [esp + 0xb0]
mov esi, dword [edx + ecx*4 - 4]
dec esi
mov dword [edx + ecx*4 - 4], esi
mov ax, word [0x490c76]
mov cx, ax
inc ecx
mov di, cx
mov word [0x490c76], di
movsx ecx, ax
mov edx, 0x5c630e16
sub edx, ecx
and edx, 0xc546a3f3
mov ecx, dword [0x497b40]
imul ecx, edx
mov dword [0x497b40], ecx
mov eax, dword [0x49272c]
imul eax, eax, 0x20fc61e3
mov ecx, dword [0x494928]
xor eax, ecx
xor eax, 0xd9ab0bf0
mov dword [0x494928], eax
mov eax, dword [esp + 0xd8]
add eax, 0xffffffff
mov dword [esp + 0xd8], eax
jmp 0x435f4e
mov eax, dword [0x49711c]
add eax, 0xf41d1e18
mov cx, word [0x48ee72]
movsx edx, cx
and eax, edx
mov edx, dword [0x4936a8]
add edx, eax
mov dword [0x4936a8], edx
cmp dword [esp + 0xe0], 0
je 0x436dcd
mov eax, 0x750f7367
mov ecx, dword [0x49323c]
mov edx, ecx
dec edx
mov dword [0x49323c], edx
cmp eax, ecx
jle 0x436d3c
mov ax, word [0x490cf8]
mov cx, ax
mov ax, word [0x48df1a]
mov dx, ax
xor edx, ecx
mov ax, dx
mov word [0x48df1a], ax
mov eax, dword [esp + 0xe0]
mov ecx, esp
lea edx, [esp + 0xa8]
mov dword [ecx + 4], edx
mov dword [ecx], eax
call fcn.00422bb0
mov si, word [0x48ed4c]
mov cx, si
mov si, word [0x48dd2e]
mov dx, si
add edx, ecx
mov si, dx
mov word [0x48dd2e], si
mov ecx, dword [esp + 0xe8]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xec]
mov edx, dword [edx]
imul ecx, edx
mov edx, dword [esp + 0xe0]
mov dword [edx], ecx
mov ecx, dword [0x494f94]
mov edx, ecx
dec edx
mov dword [0x494f94], edx
and ecx, 0xa382c8d0
cmp ecx, 0x655aaf5c
mov dword [esp + 0x28], eax
jl 0x436dc8
mov eax, dword [0x4947ec]
xor eax, 0x46ec0dbf
mov dword [0x4947ec], eax
jmp 0x436dcd
mov eax, dword [0x491748]
add eax, 0x799be674
mov dword [0x491748], eax
cmp dword [esp + 0xe4], 0
je 0x436f24
mov eax, dword [0x491a84]
mov ecx, eax
dec ecx
mov dword [0x491a84], ecx
mov dx, word [0x490a6c]
movsx ecx, dx
cmp eax, ecx
jne 0x436e19
mov eax, dword [0x4971d8]
add eax, 0x35fd6f9c
mov dword [0x4971d8], eax
xor eax, eax
mov ecx, dword [esp + 0xcc]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0xc0]
mov dword [edx], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
call fcn.00401420
mov ecx, dword [0x4936e0]
mov edx, dword [0x4948f4]
inc edx
and ecx, edx
mov dword [0x4948f4], edx
and ecx, 0x3d1738f7
mov edx, dword [0x493384]
imul edx, ecx
mov dword [0x493384], edx
mov ecx, dword [esp + 0xe4]
mov edx, esp
mov esi, dword [esp + 0x20]
mov dword [edx + 4], esi
mov dword [edx], ecx
mov dword [esp + 0x1c], eax
call fcn.00422bb0
mov di, word [0x48ff26]
movsx ecx, di
mov edx, dword [0x4932d4]
shl edx, 5
sub ecx, edx
mov edx, dword [0x491d70]
lea ecx, [ecx + edx + 0xd81b343]
mov dword [0x491d70], ecx
mov ecx, dword [esp + 0xe8]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xe4]
mov dword [edx], ecx
mov ecx, dword [0x4949d4]
imul ecx, ecx, 0xdb5873fb
mov dword [0x4949d4], ecx
mov ecx, dword [esp + 0xe4]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x18], eax
call fcn.0040d200
cmp eax, 0
jne 0x436eff
mov eax, dword [esp + 0xe4]
mov dword [eax], 1
mov eax, dword [0x494728]
add eax, 0x5e89b826
or eax, 0xbae4
mov cx, word [0x48ff88]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x48ff88], cx
mov dword [0x493870], 0xa277a74b
mov eax, esp
lea ecx, [esp + 0x90]
mov dword [eax + 0x10], ecx
lea ecx, [esp + 0x9c]
mov dword [eax + 0xc], ecx
lea ecx, [esp + 0xa8]
mov dword [eax + 8], ecx
lea ecx, [esp + 0xb4]
mov dword [eax + 4], ecx
lea ecx, [esp + 0xc0]
mov dword [eax], ecx
mov dword [eax + 0x14], 0
call fcn.00430eb0
mov eax, dword [0x493410]
add eax, 0x19d1716c
mov ecx, dword [0x495164]
mov edx, ecx
inc edx
mov dword [0x495164], edx
and eax, ecx
mov ecx, dword [0x4951d0]
and ecx, eax
mov dword [0x4951d0], ecx
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xf0]
add esp, 0xf4
pop esi
pop edi
pop ebx
ret