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

Disassembly:
push ebx
push edi
push esi
sub esp, 0xfc
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
mov esi, dword [esp + 0x10c]
mov edi, 0x25d2d8a5
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xec], edx
mov dword [esp + 0xe8], esi
mov bx, word [0x491eec]
movsx eax, bx
mov ecx, 0x33f7a3f0
sub ecx, eax
xor ecx, 0xaad3f05
mov eax, dword [0x493970]
and eax, ecx
mov dword [0x493970], eax
mov eax, dword [0x493fd4]
not eax
mov ecx, dword [0x496050]
imul ecx, eax
mov dword [0x496050], ecx
mov eax, dword [0x49478c]
mov ecx, dword [0x4948f8]
mov edx, ecx
dec edx
mov dword [0x4948f8], edx
imul eax, ecx
cmp edi, eax
jne 0x43aa4e
mov eax, dword [0x496280]
mov ecx, eax
inc ecx
mov dword [0x496280], ecx
mov ecx, dword [0x494764]
lea eax, [eax + ecx - 0x5f46e25e]
mov dword [0x494764], eax
xor eax, eax
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x74], eax
call fcn.00419b80
cmp eax, 0
jne 0x43aa84
mov dword [esp + 0xf8], 0xfffffff4
jmp 0x43c594
mov eax, dword [0x494bd0]
or eax, 0x67bdbbd9
mov dword [0x4965e8], eax
mov eax, esp
lea ecx, [esp + 0x98]
mov dword [eax + 0x10], ecx
lea ecx, [esp + 0xa4]
mov dword [eax + 0xc], ecx
lea ecx, [esp + 0xb0]
mov dword [eax + 8], ecx
lea ecx, [esp + 0xbc]
mov dword [eax + 4], ecx
lea ecx, [esp + 0xc8]
mov dword [eax], ecx
mov dword [eax + 0x14], 0
call fcn.0044e6b0
mov eax, dword [0x494c20]
add eax, 0xbd7a94f0
mov dword [0x494c20], eax
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0043cd80
cmp eax, 0
jge 0x43ac04
mov eax, dword [0x49501c]
shl eax, 7
add eax, 0x69cc7ef2
mov ecx, dword [0x494b68]
mov edx, ecx
dec edx
mov dword [0x494b68], edx
xor ecx, 0x60220104
cmp eax, ecx
jg 0x43ab46
mov ax, word [0x492bb6]
mov cx, ax
xor ecx, 0x2ec0
mov ax, cx
mov word [0x492bb6], ax
cmp dword [esp + 0xe8], 0
je 0x43ab8b
xor eax, eax
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x70], eax
call fcn.00401120
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43ab86
jmp 0x43c511
jmp 0x43ab8b
mov eax, dword [0x4955f8]
or eax, 0x97ff68d0
mov dword [0x4955f8], eax
cmp dword [esp + 0xec], 0
je 0x43abdc
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0042fc70
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43abd7
jmp 0x43c511
jmp 0x43abdc
mov eax, dword [0x4954f0]
add eax, 0xe5dd5688
mov ecx, dword [0x494ec4]
sub ecx, eax
mov dword [0x494ec4], ecx
mov dword [esp + 0xf8], 0
jmp 0x43c594
mov eax, dword [0x4938ec]
not eax
add eax, 0xaa5dc8ba
mov ecx, dword [0x493908]
or eax, ecx
mov ecx, dword [0x495b78]
inc ecx
mov dword [0x495b78], ecx
cmp eax, ecx
jne 0x43ac73
mov eax, dword [0x494d0c]
cmp eax, 0xea9074a1
jg 0x43ac6e
mov eax, dword [0x496984]
dec eax
mov dword [0x496984], eax
imul eax, eax, 0x24d52115
imul eax, eax, 0xd47f2e8f
cmp eax, 0xcee6a012
jg 0x43ac64
jmp 0x43ac69
jmp 0x43ac69
jmp 0x43ac6e
jmp 0x43ac93
mov eax, dword [0x4943a4]
mov ecx, eax
inc ecx
mov dword [0x4943a4], ecx
mov ecx, dword [0x494174]
or eax, ecx
or eax, 0x1cc9e4ca
mov dword [0x494174], eax
lea eax, [esp + 0xc8]
mov ecx, dword [esp + 0xf0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0042fc70
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43acc2
jmp 0x43c511
lea eax, [esp + 0xbc]
mov ecx, dword [0x494d68]
mov edx, dword [0x493e2c]
add edx, ecx
mov dword [0x493e2c], edx
mov ecx, dword [esp + 0xf4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0042fc70
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43ad05
jmp 0x43c511
lea eax, [esp + 0xb0]
mov ecx, dword [0x495c78]
inc ecx
mov dword [0x495c78], ecx
mov dword [0x494594], ecx
mov dword [esp + 0xbc], 1
mov dword [esp + 0xc8], 1
mov ecx, dword [0x4943bc]
imul ecx, ecx, 0x896b1bd4
mov dword [0x4943bc], ecx
mov ecx, dword [esp + 0xf0]
mov ecx, dword [ecx + 4]
add ecx, 2
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0041eca0
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43ad75
jmp 0x43c511
mov eax, 0xa97d8d9a
mov ecx, dword [0x496468]
mov edx, ecx
dec edx
mov dword [0x496468], edx
or ecx, 0xe7396d9e
cmp eax, ecx
jge 0x43adb4
mov ax, word [0x492aca]
mov cx, ax
imul ecx, ecx, 0xe835e5b2
mov ax, cx
mov word [0x492aca], ax
jmp 0x43adcd
mov eax, dword [0x494c40]
or eax, 0x81e1cd2b
mov ecx, dword [0x494020]
imul ecx, eax
mov dword [0x494020], ecx
lea eax, [esp + 0xb0]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x6c], ecx
call fcn.00401120
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43adff
jmp 0x43c511
mov eax, dword [0x496428]
sar eax, 0xa
mov ecx, dword [0x4947d4]
mov edx, ecx
dec edx
mov dword [0x4947d4], edx
and ecx, 0x9f5087b5
xor eax, ecx
mov ecx, dword [0x495f28]
imul ecx, ecx, 0x6226d5a7
and ecx, 0x21837fb7
cmp eax, ecx
jge 0x43ae47
mov eax, dword [0x493d18]
add eax, 0xaf812df7
mov dword [0x493d18], eax
lea eax, [esp + 0xa4]
mov ecx, 2
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 0x68], ecx
call fcn.0041eca0
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43ae7c
jmp 0x43c511
lea eax, [esp + 0x98]
mov ecx, 3
mov edx, dword [0x494b54]
imul edx, edx, 0x2e0da8bc
mov dword [0x494b54], edx
mov dword [esp], eax
mov dword [esp + 4], 3
mov dword [esp + 0x64], ecx
call fcn.0041eca0
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43aec3
jmp 0x43c511
mov ax, word [0x491fc0]
mov cx, ax
and ecx, 0x8de0
mov ax, cx
mov word [0x491fc0], ax
mov ecx, esp
lea edx, [esp + 0xbc]
mov dword [ecx], edx
call fcn.00435a30
mov ecx, eax
sar ecx, 0x1f
shr ecx, 0x1b
mov edx, eax
add edx, ecx
and edx, 0xffffffe0
sub eax, edx
mov dword [esp + 0xd4], eax
mov eax, dword [0x494348]
imul eax, eax, 0xb0227a00
xor eax, 0xf7bfed6
mov ecx, dword [0x493adc]
add ecx, eax
mov dword [0x493adc], ecx
cmp dword [esp + 0xd4], 0x1f
jge 0x43afed
lea eax, [esp + 0xc8]
mov ecx, dword [0x495990]
add ecx, 0x63d0d76
mov dword [0x495990], ecx
mov ecx, dword [esp + 0xd4]
mov edx, 0x1f
sub edx, ecx
mov dword [esp + 0xd4], edx
mov ecx, dword [0x494590]
add ecx, 0x9418a861
mov dword [0x494590], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408a10
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43af97
jmp 0x43c511
lea eax, [esp + 0xbc]
mov ecx, dword [0x495d14]
imul ecx, ecx, 0x291b6140
mov dword [0x495d14], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408a10
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43afd8
jmp 0x43c511
mov eax, dword [0x49375c]
imul eax, eax, 0x9c9ed3a8
mov dword [0x49375c], eax
jmp 0x43aff8
mov dword [esp + 0xd4], 0
mov eax, 0x11d6000
mov ecx, dword [0x495ac0]
dec ecx
mov dword [0x495ac0], ecx
cmp eax, ecx
jge 0x43b034
mov eax, dword [0x493e7c]
mov ecx, dword [0x494664]
add ecx, ecx
sub eax, ecx
mov ecx, dword [0x495450]
xor ecx, eax
mov dword [0x495450], ecx
jmp 0x43b07b
mov eax, 0x19d58c9e
mov ecx, dword [0x493e30]
mov edx, ecx
dec edx
mov dword [0x493e30], edx
cmp eax, ecx
je 0x43b076
mov eax, 0xbcef7ddf
mov ecx, dword [0x4951f8]
mov edx, ecx
dec edx
mov dword [0x4951f8], edx
cmp eax, ecx
jl 0x43b071
jmp 0x43b071
jmp 0x43b076
jmp 0x43b07b
mov eax, dword [esp + 0xcc]
dec eax
mov dword [esp + 0xdc], eax
mov eax, dword [0x4959f0]
or eax, 0x44dc8a57
mov dword [0x4959f0], eax
mov eax, dword [esp + 0xc0]
dec eax
mov dword [esp + 0xd8], eax
mov eax, dword [0x494f58]
add eax, 0xe0653967
mov dword [0x494f58], eax
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xd8]
sub eax, ecx
shl eax, 5
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0xbc]
mov dword [ecx], eax
call fcn.00408a10
mov dword [0x493c98], 0x5d26a4bd
mov dword [esp + 0x60], eax
lea eax, [esp + 0xc8]
lea ecx, [esp + 0xbc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00407d30
cmp eax, 0
jl 0x43b1ea
mov eax, dword [0x495788]
dec eax
mov dword [0x495788], eax
imul eax, eax, 0xd4625eb7
or eax, 0x91a98421
cmp eax, 0x72219750
jl 0x43b185
mov eax, 0xc0db71fc
mov cx, word [0x49253c]
movsx edx, cx
sar edx, 6
imul edx, edx, 0x491bd155
and edx, 0x649280b2
cmp eax, edx
jge 0x43b180
mov eax, 0x75562ba2
mov ecx, dword [0x4958b4]
xor ecx, 0xffffffff
or ecx, 0xbb0b0efb
cmp eax, ecx
jg 0x43b176
jmp 0x43b17b
jmp 0x43b17b
jmp 0x43b180
jmp 0x43b185
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xd8]
sub eax, ecx
mov ecx, dword [esp + 0xb8]
mov edx, dword [ecx + eax*4]
inc edx
mov dword [ecx + eax*4], edx
mov eax, dword [0x493a14]
or eax, 0x588a971c
mov dword [0x493a14], eax
mov eax, esp
lea ecx, [esp + 0xbc]
mov dword [eax + 8], ecx
lea ecx, [esp + 0xc8]
mov dword [eax + 4], ecx
mov dword [eax], ecx
call fcn.004348e0
mov ecx, dword [0x4950b0]
add ecx, 0x7f65165b
mov dword [0x4950b0], ecx
mov dword [esp + 0x5c], eax
jmp 0x43b0eb
mov eax, 0xff3bff3f
mov cx, word [0x493386]
mov dx, cx
inc edx
mov si, dx
mov word [0x493386], si
movsx edx, cx
mov edi, dword [0x49654c]
add edi, edx
mov dword [0x49654c], edi
mov edx, dword [esp + 0xdc]
mov edi, dword [esp + 0xd8]
sub edx, edi
shl edx, 5
mov edi, esp
mov dword [edi + 4], edx
lea edx, [esp + 0xbc]
mov dword [edi], edx
mov dword [esp + 0x58], eax
call fcn.0041b830
mov edx, dword [0x493e90]
mov cx, word [0x49300c]
movsx edi, cx
sar edi, 6
imul edi, edi, 0x706b304b
sub edx, edi
mov edi, dword [esp + 0x58]
cmp edi, edx
mov dword [esp + 0x54], eax
jl 0x43b2c6
mov eax, 0xd4e720cd
mov cx, word [0x49276a]
movsx edx, cx
shl edx, 2
cmp eax, edx
jne 0x43b2a1
mov eax, dword [0x494eb4]
shl eax, 8
cmp eax, 0xaac04463
jle 0x43b29c
jmp 0x43b29c
jmp 0x43b2c1
mov eax, 0x5b7b90cd
mov ecx, dword [0x496860]
shl ecx, 0xa
cmp eax, ecx
jg 0x43b2bc
jmp 0x43b2bc
jmp 0x43b2c1
jmp 0x43b2c6
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xe0]
cmp eax, dword [esp + 0xd8]
jle 0x43c2f5
mov eax, 0x2ce95b8d
mov cx, word [0x492794]
movsx edx, cx
cmp eax, edx
jl 0x43b309
mov eax, dword [0x4960fc]
mov dword [0x493e4c], eax
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xc4]
cmp eax, dword [edx + ecx*4]
jb 0x43b355
mov eax, dword [esp + 0xe0]
sub eax, dword [esp + 0xd8]
sub eax, 1
mov ecx, dword [esp + 0xb8]
mov dword [ecx + eax*4], 0xffffffff
jmp 0x43ba9b
mov eax, 0x86f37734
mov ecx, dword [0x495284]
mov edx, ecx
dec edx
mov dword [0x495284], edx
imul ecx, ecx, 0x7be9aceb
cmp eax, ecx
jne 0x43b39f
mov eax, dword [0x49572c]
imul eax, eax, 0x72cbad55
mov ecx, 0x267791ef
sub ecx, eax
mov dx, word [0x492aac]
mov ax, dx
xor eax, ecx
mov dx, ax
mov word [0x492aac], dx
mov eax, 0xb43710d6
mov word [0x491e8a], 0x4001
mov ecx, dword [0x4952b8]
add ecx, 0xd9bfffd9
mov dword [0x4952b8], ecx
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xc4]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x7c], ecx
mov ecx, dword [0x494b3c]
and ecx, 0x5de28f89
mov dword [0x494b3c], ecx
movzx ecx, word [esp + 0x7c]
mov dword [esp + 0x84], ecx
mov ecx, dword [0x493b6c]
mov edx, ecx
inc edx
mov dword [0x493b6c], edx
add ecx, 0x2ecdc46f
mov edx, dword [0x494a90]
sub edx, ecx
mov dword [0x494a90], edx
movzx ecx, word [esp + 0x7e]
mov dword [esp + 0x80], ecx
mov ecx, dword [0x4952d4]
mov edx, ecx
dec edx
mov dword [0x4952d4], edx
mov edx, dword [0x4940b0]
mov esi, edx
inc esi
mov dword [0x4940b0], esi
sub ecx, edx
sub ecx, 0x481fe12f
cmp eax, ecx
jne 0x43b46a
mov eax, dword [0x4957b4]
shl eax, 6
add eax, 0xfd882ce6
mov ecx, dword [0x4966ec]
xor ecx, eax
mov dword [0x4966ec], ecx
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x80]
xor edx, edx
div ecx
mov dword [esp + 0x90], eax
mov word [0x492890], 0x182b
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x90]
imul ecx, edx
sub eax, ecx
mov dword [esp + 0x88], eax
mov eax, dword [0x495ee0]
shl eax, 8
sub eax, 0x8494c24
cmp eax, 0xe384513d
jne 0x43b4f0
mov eax, dword [0x494188]
shr eax, 3
and eax, 0x49d7
mov cx, ax
mov word [0x491d8a], cx
mov eax, dword [esp + 0x88]
shl eax, 0x10
mov dword [esp + 0x88], eax
mov eax, dword [0x49457c]
mov cx, word [0x49260c]
mov dx, cx
lea eax, [edx + eax*8]
mov cx, ax
mov word [0x49260c], cx
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xd0]
movzx eax, word [edx + eax*4 - 2]
mov edx, dword [esp + 0x88]
or edx, eax
mov dword [esp + 0x88], edx
mov eax, dword [0x4939cc]
mov edx, eax
dec edx
mov dword [0x4939cc], edx
and eax, 0x24080281
mov edx, dword [0x49587c]
xor edx, eax
mov dword [0x49587c], edx
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x84]
imul eax, edx
mov dword [esp + 0x78], eax
mov eax, dword [0x493b40]
inc eax
mov dword [0x493b40], eax
or eax, 0x4c72e08d
mov edx, dword [0x495570]
xor edx, eax
mov dword [0x495570], edx
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0x78]
jae 0x43b688
mov eax, dword [0x4942b0]
add eax, 0x454a90b6
mov dword [0x4942b0], eax
mov eax, dword [esp + 0x90]
dec eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x88]
add ecx, eax
mov dword [esp + 0x88], ecx
mov eax, dword [0x495804]
dec eax
mov dword [0x495804], eax
imul eax, eax, 0x88062210
cmp eax, 0x284519ff
je 0x43b601
mov word [0x4928b0], 0xb193
jmp 0x43b610
mov eax, dword [0x494cf8]
add eax, 0xcf315bf4
mov dword [0x494cf8], eax
jmp 0x43b615
xor eax, eax
mov cl, al
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0x7c]
mov byte [esp + 0x53], cl
jb 0x43b640
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0x78]
setb cl
mov byte [esp + 0x53], cl
mov al, byte [esp + 0x53]
test al, 1
jne 0x43b651
jmp 0x43b679
mov eax, dword [esp + 0x90]
add eax, 0xffffffff
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x7c]
add eax, dword [esp + 0x88]
mov dword [esp + 0x88], eax
jmp 0x43b615
mov eax, dword [0x494cb8]
or eax, 0x9529a69a
mov dword [0x494cb8], eax
mov eax, 0x12c1747a
mov cx, word [0x492d50]
mov dx, cx
mov cx, word [0x492db0]
mov si, cx
imul edx, esi
or edx, 0x3a63
mov cx, word [0x492032]
mov si, cx
add esi, edx
mov cx, si
mov word [0x492032], cx
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x88]
sub esi, edx
mov dword [esp + 0x88], esi
mov edx, dword [0x493cd8]
xor edx, 0xffffffff
cmp eax, edx
jne 0x43b6fd
mov ax, word [0x4933f0]
mov cx, ax
add ecx, 0xdf582913
mov ax, cx
mov word [0x4933f0], ax
mov eax, 0xe0fabfbe
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x80]
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 + 0x94], eax
mov eax, dword [0x494a78]
add eax, 0xb8a888dd
mov dword [0x494a78], eax
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x94]
imul ecx, edx
sub eax, ecx
mov dword [esp + 0x8c], eax
mov di, word [0x492262]
mov ax, di
inc eax
mov bx, ax
mov word [0x492262], bx
movsx eax, di
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jle 0x43b7b3
mov eax, 0x6ccea673
mov ecx, dword [0x496160]
xor ecx, 0xffffffff
sub eax, ecx
xor eax, 0x19f47021
cmp eax, 0xbd018038
jl 0x43b7ae
mov eax, dword [0x493ec4]
xor eax, 0xbc5464c1
mov dword [0x493ec4], eax
jmp 0x43b7b3
mov eax, dword [esp + 0x8c]
shl eax, 0x10
mov dword [esp + 0x8c], eax
mov cx, word [0x492cc4]
movsx eax, cx
not eax
or eax, 0xffa7678f
mov edx, dword [0x496118]
add edx, eax
mov dword [0x496118], edx
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xd0]
movzx eax, word [edx + eax*4 - 4]
mov edx, dword [esp + 0x8c]
or edx, eax
mov dword [esp + 0x8c], edx
mov eax, dword [0x49602c]
not eax
or eax, 0x89d70239
mov edx, dword [0x49658c]
cmp eax, edx
je 0x43b87c
mov eax, 0x923536f3
mov ecx, dword [0x4959fc]
not ecx
mov edx, dword [0x4951d8]
dec edx
mov dword [0x4951d8], edx
imul ecx, edx
sub ecx, 0x58ef9176
cmp eax, ecx
jg 0x43b877
mov eax, dword [0x495d7c]
sar eax, 8
mov ecx, dword [0x49399c]
mov edx, ecx
inc edx
mov dword [0x49399c], edx
lea eax, [eax + ecx - 0x58f93418]
mov ecx, dword [0x4942e8]
or ecx, eax
mov dword [0x4942e8], ecx
jmp 0x43b87c
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x84]
imul eax, ecx
mov dword [esp + 0x78], eax
mov eax, dword [0x494a24]
mov ecx, dword [0x493840]
and ecx, eax
mov dword [0x493840], ecx
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0x78]
jae 0x43ba17
mov eax, 0x21b30458
mov ecx, dword [0x493938]
sar ecx, 3
imul ecx, ecx, 0x5145f444
cmp eax, ecx
jl 0x43b8e8
mov eax, dword [0x496708]
mov ecx, dword [0x493d3c]
lea eax, [eax + ecx + 0x3a772146]
mov dword [0x493d3c], eax
mov eax, dword [esp + 0x94]
dec eax
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x8c]
add ecx, eax
mov dword [esp + 0x8c], ecx
mov dx, word [0x491e2c]
movsx eax, dx
cmp eax, 0xe0402294
je 0x43b98a
mov eax, dword [0x4947a0]
sar eax, 1
sub eax, 0x81b0d8b0
and eax, 0x5aee6c38
cmp eax, 0xc0045001
jne 0x43b95f
mov ax, word [0x4931a2]
movsx ecx, ax
imul ecx, ecx, 0xd899bba3
mov edx, dword [0x495018]
add edx, ecx
mov dword [0x495018], edx
jmp 0x43b985
mov eax, dword [0x494904]
imul eax, eax, 0x5504a832
xor eax, 0xeda8
mov cx, word [0x491ebc]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x491ebc], cx
jmp 0x43b999
mov eax, dword [0x495dac]
or eax, 0x8086bede
mov dword [0x495dac], eax
jmp 0x43b99e
xor eax, eax
mov cl, al
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0x7c]
mov byte [esp + 0x47], cl
jb 0x43b9c9
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0x78]
setb cl
mov byte [esp + 0x47], cl
mov al, byte [esp + 0x47]
test al, 1
jne 0x43b9da
jmp 0x43ba02
mov eax, dword [esp + 0x94]
add eax, 0xffffffff
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x7c]
add eax, dword [esp + 0x8c]
mov dword [esp + 0x8c], eax
jmp 0x43b99e
mov eax, dword [0x494ce8]
inc eax
mov dword [0x494ce8], eax
or eax, 0x6a2108f2
mov dword [0x49454c], eax
mov eax, dword [0x494c64]
or eax, 0x1020114
mov dword [0x494c64], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x8c]
sub ecx, eax
mov dword [esp + 0x8c], ecx
mov eax, dword [0x494978]
dec eax
mov dword [0x494978], eax
xor eax, 0x47c4
mov dx, ax
mov word [0x492202], dx
mov eax, dword [esp + 0x90]
shl eax, 0x10
mov ecx, dword [esp + 0x94]
or eax, ecx
mov ecx, dword [esp + 0xe0]
mov esi, dword [esp + 0xd8]
sub ecx, esi
mov esi, dword [esp + 0xb8]
mov dword [esi + ecx*4 - 4], eax
mov dx, word [0x491fd4]
mov ax, dx
xor eax, 0xb63c
mov dx, ax
mov word [0x491fd4], dx
mov eax, 0x5000c881
mov ecx, dword [0x494a54]
dec ecx
mov dword [0x494a54], ecx
cmp eax, ecx
jl 0x43bb23
mov eax, 0xcfffffeb
mov cx, word [0x492812]
mov dx, cx
inc edx
mov si, dx
mov word [0x492812], si
movsx edx, cx
mov edi, dword [0x4944cc]
or edx, edi
cmp eax, edx
je 0x43bb0f
mov eax, dword [0x494ccc]
mov ecx, eax
dec ecx
mov dword [0x494ccc], ecx
and eax, 0xdfcd589a
or eax, 0x4bfd8584
cmp eax, 0x71dc6b02
jg 0x43bb0a
jmp 0x43bb0a
jmp 0x43bb1e
mov eax, dword [0x493d8c]
or eax, 0x9f91b44d
mov dword [0x493d8c], eax
jmp 0x43bb23
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xd8]
sub eax, ecx
mov ecx, dword [esp + 0xb8]
mov edx, dword [ecx + eax*4 - 4]
inc edx
mov dword [ecx + eax*4 - 4], edx
mov eax, dword [0x494fa0]
add eax, 0xc4a6e6f0
xor eax, 0xe1ff2bfd
mov ecx, dword [0x495600]
imul ecx, eax
mov dword [0x495600], ecx
lea eax, [esp + 0xa4]
xor ecx, ecx
mov edx, dword [0x493f80]
add edx, 0xfffdd75b
mov dword [0x493f80], edx
mov edx, dword [esp + 0xe0]
mov esi, dword [esp + 0xd8]
sub edx, esi
mov esi, dword [esp + 0xb8]
mov edi, dword [esi + edx*4 - 4]
dec edi
mov dword [esi + edx*4 - 4], edi
mov dword [0x49372c], 0x21822b70
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x40], ecx
call fcn.00401120
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43bbcf
jmp 0x43c511
mov ax, word [0x4926d4]
mov cx, ax
add ecx, 0xaf18c694
mov ax, cx
mov word [0x4926d4], ax
cmp dword [esp + 0xd8], 1
jge 0x43bc00
xor eax, eax
mov dword [esp + 0x3c], eax
jmp 0x43bc18
mov eax, dword [esp + 0xd8]
sub eax, 1
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0xa4]
mov edx, dword [esp + 0xac]
mov dword [edx], eax
mov eax, dword [0x496614]
and eax, 0x7289
mov edx, dword [0x494070]
xor eax, edx
mov si, word [0x4928ea]
mov dx, si
add edx, eax
mov si, dx
mov word [0x4928ea], si
mov eax, dword [esp + 0xd8]
mov edx, dword [esp + 0xc4]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0xac]
mov dword [edx + 4], eax
mov eax, dword [0x4943d0]
mov edx, dword [0x494614]
sub edx, eax
mov dword [0x494614], edx
mov eax, dword [esp + 0xe0]
sub eax, dword [esp + 0xd8]
sub eax, 1
mov edx, dword [esp + 0xb8]
mov eax, dword [edx + eax*4]
mov dword [esp], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00418850
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43bcc2
jmp 0x43c511
mov eax, 0xa0298221
mov cx, word [0x4936c2]
mov dx, cx
dec edx
mov si, dx
mov word [0x4936c2], si
movsx edx, cx
mov edi, dword [0x4966cc]
sub edi, 0xa39d79
or edx, edi
cmp eax, edx
jle 0x43bd19
mov eax, dword [0x49663c]
shl eax, 6
and eax, 0x28942400
mov ecx, dword [0x4951b4]
lea eax, [ecx + eax - 0x6fdce625]
mov dword [0x4951b4], eax
jmp 0x43bd23
mov dword [0x4942f8], 0xe3f9d7f7
lea eax, [esp + 0x98]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x38], ecx
call fcn.00401120
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43bd55
jmp 0x43c511
mov eax, dword [0x493e9c]
mov ecx, dword [0x494ad0]
shr ecx, 8
lea eax, [eax + ecx - 0x5f086755]
mov dx, word [0x4931f2]
mov cx, dx
xor ecx, eax
mov dx, cx
mov word [0x4931f2], dx
cmp dword [esp + 0xe0], 2
jge 0x43bd99
xor eax, eax
mov dword [esp + 0x34], eax
jmp 0x43bdb1
mov eax, dword [esp + 0xe0]
sub eax, 2
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xa0]
mov dword [ecx], eax
mov dx, word [0x4935f8]
movsx eax, dx
shl eax, 0xa
add eax, 0x43fb1955
mov ecx, dword [0x494958]
imul ecx, eax
mov dword [0x494958], ecx
cmp dword [esp + 0xe0], 1
jge 0x43bdf8
xor eax, eax
mov dword [esp + 0x30], eax
jmp 0x43be10
mov eax, dword [esp + 0xe0]
sub eax, 1
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xa0]
mov dword [ecx + 4], eax
mov dx, word [0x4923de]
mov ax, dx
inc eax
mov si, ax
mov word [0x4923de], si
movsx eax, dx
and eax, 0x6944833c
mov ecx, dword [0x495348]
sar ecx, 3
imul ecx, ecx, 0x51807f43
and ecx, 0x686a021f
cmp eax, ecx
je 0x43be6c
mov eax, dword [0x494394]
and eax, 0x3a3ec99b
mov dword [0x493c5c], eax
jmp 0x43bed4
mov eax, 0x9fa130cd
mov cx, word [0x492012]
mov dx, cx
dec edx
mov cx, dx
mov word [0x492012], cx
movsx edx, cx
cmp eax, edx
jl 0x43beba
mov eax, dword [0x494d0c]
dec eax
mov dword [0x494d0c], eax
imul eax, eax, 0x65930c76
mov ecx, 0x20e3efaf
sub ecx, eax
mov eax, dword [0x495c68]
sub eax, ecx
mov dword [0x495c68], eax
jmp 0x43becf
mov eax, dword [0x493eb0]
imul eax, eax, 0x7fac291c
and eax, 0x78856e94
mov dword [0x493fec], eax
jmp 0x43bed4
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0xa0]
mov dword [ecx + 8], eax
mov dx, word [0x4921d4]
mov ax, dx
or eax, 0xb4b9
mov dx, ax
mov word [0x4921d4], dx
lea eax, [esp + 0xa4]
lea ecx, [esp + 0x98]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00407d30
cmp eax, 0
jg 0x43bb61
mov eax, dword [0x495d4c]
sub eax, 0x3f4703b3
cmp eax, 0x36414010
jge 0x43bf58
mov ax, word [0x49332a]
mov cx, ax
imul ecx, ecx, 0x7a15a985
mov ax, cx
mov word [0x49332a], ax
lea eax, [esp + 0xa4]
lea ecx, [esp + 0xbc]
mov edx, dword [esp + 0xe0]
sub edx, dword [esp + 0xd8]
sub edx, 1
mov esi, dword [esp + 0xb8]
mov edx, dword [esi + edx*4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00418850
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43bfa6
jmp 0x43c511
mov eax, dword [0x4965b0]
shl eax, 0xa
xor eax, 0xb1f25f4e
cmp eax, 0x4ded971b
jl 0x43bfd6
mov ax, word [0x4920f6]
mov cx, ax
add ecx, 0x5d12f9d
mov ax, cx
mov word [0x4920f6], ax
lea eax, [esp + 0xa4]
mov ecx, dword [esp + 0xe0]
sub ecx, dword [esp + 0xd8]
sub ecx, 1
shl ecx, 5
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408a10
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43c012
jmp 0x43c511
lea eax, [esp + 0xc8]
lea ecx, [esp + 0xa4]
mov edx, dword [0x4956dc]
xor edx, 0xb9833928
mov dword [0x4956dc], edx
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004348e0
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43c057
jmp 0x43c511
mov eax, 0xa652f263
mov cx, word [0x49360a]
movsx edx, cx
imul edx, edx, 0x180ee6f5
cmp eax, edx
jg 0x43c088
mov eax, dword [0x494ce8]
and eax, 0x507db2d4
mov dword [0x494ce8], eax
jmp 0x43c097
mov eax, dword [0x494f54]
xor eax, 0x5cbc2c49
mov dword [0x494f54], eax
lea eax, [esp + 0xc8]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x2c], ecx
call fcn.00419b80
cmp eax, 0
jge 0x43c2ad
mov eax, dword [0x493724]
and eax, 0x44619a70
mov ecx, dword [0x495648]
inc ecx
mov dword [0x495648], ecx
and ecx, 0xe233fac2
cmp eax, ecx
jge 0x43c112
mov eax, 0x46aabc44
mov ecx, dword [0x493834]
mov edx, ecx
inc edx
mov dword [0x493834], edx
cmp eax, ecx
je 0x43c10d
mov eax, dword [0x494a80]
xor eax, 0x1c03c848
mov dword [0x494a80], eax
jmp 0x43c11c
mov dword [0x495f4c], 0x3eeface8
lea eax, [esp + 0xa4]
lea ecx, [esp + 0xbc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0042fc70
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43c14b
jmp 0x43c511
lea eax, [esp + 0xa4]
mov ecx, dword [0x4955f8]
imul ecx, ecx, 0x34366bbb
mov dword [0x4955f8], ecx
mov ecx, dword [esp + 0xe0]
sub ecx, dword [esp + 0xd8]
sub ecx, 1
shl ecx, 5
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408a10
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43c199
jmp 0x43c511
mov eax, 0xdf62018a
mov ecx, dword [0x4957e8]
dec ecx
mov dword [0x4957e8], ecx
imul ecx, ecx, 0xe9a6aca
cmp eax, ecx
jle 0x43c1f5
mov eax, 0xc4652a5
mov cx, word [0x492570]
movsx edx, cx
cmp eax, edx
jne 0x43c1f0
mov eax, dword [0x495450]
inc eax
mov dword [0x495450], eax
cmp eax, 0xdcfdb2d9
jle 0x43c1eb
jmp 0x43c1eb
jmp 0x43c1f0
jmp 0x43c21f
mov eax, dword [0x4937a4]
mov ecx, dword [0x495f20]
add ecx, 0xe4c1c4b2
or eax, ecx
mov dx, word [0x491d8e]
mov cx, dx
imul ecx, eax
mov dx, cx
mov word [0x491d8e], dx
lea eax, [esp + 0xc8]
lea ecx, [esp + 0xa4]
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00417210
mov dword [esp + 0xe4], eax
cmp eax, 0
je 0x43c252
jmp 0x43c511
mov ax, word [0x492b64]
mov cx, ax
xor ecx, 0x2af3
mov ax, cx
mov word [0x492b64], ax
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xd8]
sub ecx, edx
mov edx, dword [esp + 0xb8]
mov esi, dword [edx + ecx*4 - 4]
dec esi
mov dword [edx + ecx*4 - 4], esi
mov ecx, dword [0x494a14]
shr ecx, 6
add ecx, 0xe8cdb469
mov ax, word [0x4934e0]
mov dx, ax
or edx, ecx
mov ax, dx
mov word [0x4934e0], ax
mov eax, dword [0x496440]
inc eax
mov dword [0x496440], eax
imul eax, eax, 0xe8736aef
mov ecx, dword [0x493f38]
shr ecx, 7
and eax, ecx
mov dx, word [0x492c6a]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x492c6a], dx
mov eax, dword [esp + 0xe0]
add eax, 0xffffffff
mov dword [esp + 0xe0], eax
jmp 0x43b2d4
mov eax, dword [0x496828]
imul eax, eax, 0x25f40a94
mov ecx, 0xfffb0dff
sub ecx, eax
mov eax, dword [0x495ce4]
xor eax, ecx
mov dword [0x495ce4], eax
cmp dword [esp + 0xe8], 0
je 0x43c3b3
mov eax, dword [0x493ce8]
add eax, 0xd278e3df
mov dword [0x493ce8], eax
mov eax, dword [esp + 0xe8]
mov ecx, esp
lea edx, [esp + 0xb0]
mov dword [ecx + 4], edx
mov dword [ecx], eax
call fcn.0042fc70
mov ecx, dword [0x493984]
add ecx, 0x8c01aa29
mov dword [0x493984], ecx
mov ecx, dword [esp + 0xf0]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xf4]
mov edx, dword [edx]
imul ecx, edx
mov edx, dword [esp + 0xe8]
mov dword [edx], ecx
mov ecx, dword [0x495d9c]
sar ecx, 5
add ecx, 0x9100e089
or ecx, 0x42e4d781
cmp ecx, 0xac900d11
mov dword [esp + 0x28], eax
jge 0x43c3ae
mov eax, dword [0x493cb4]
or eax, 0x95bb184c
mov dword [0x493cb4], eax
jmp 0x43c3b3
mov ax, word [0x492a1a]
mov cx, ax
or ecx, 0xea54
mov ax, cx
mov word [0x492a1a], ax
cmp dword [esp + 0xec], 0
je 0x43c502
xor eax, eax
mov word [0x491e38], 0x4549
mov ecx, dword [esp + 0xd4]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0xc8]
mov dword [edx], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
call fcn.0041b830
mov si, word [0x492eda]
movsx ecx, si
xor ecx, 0x102692bf
mov dword [0x4965c4], ecx
mov ecx, dword [esp + 0xec]
mov edx, esp
mov edi, dword [esp + 0x20]
mov dword [edx + 4], edi
mov dword [edx], ecx
mov dword [esp + 0x1c], eax
call fcn.0042fc70
mov ecx, dword [0x49642c]
imul ecx, ecx, 0x6400ae47
mov dword [0x49642c], ecx
mov ecx, dword [esp + 0xf0]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xec]
mov dword [edx], ecx
mov si, word [0x4921c8]
movsx ecx, si
add ecx, 0x481f3bdf
or ecx, 0xbc035993
mov edx, dword [0x493e1c]
xor edx, ecx
mov dword [0x493e1c], edx
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x18], eax
call fcn.00419b80
cmp eax, 0
jne 0x43c4b0
mov eax, dword [esp + 0xec]
mov dword [eax], 1
mov eax, 0xcb839703
mov ecx, dword [0x493d98]
sar ecx, 6
sub ecx, 0xb572a8a1
cmp eax, ecx
jne 0x43c4fd
mov ax, word [0x49365e]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x49365e], ax
movsx ecx, ax
mov edx, 0xf9df7ce5
sub edx, ecx
mov ecx, dword [0x4960f0]
xor edx, ecx
xor edx, 0xb7959bb7
mov dword [0x4960f0], edx
jmp 0x43c502
mov eax, dword [0x494eb8]
add eax, 0xb89c7625
mov dword [0x494eb8], eax
mov eax, esp
lea ecx, [esp + 0x98]
mov dword [eax + 0x10], ecx
lea ecx, [esp + 0xa4]
mov dword [eax + 0xc], ecx
lea ecx, [esp + 0xb0]
mov dword [eax + 8], ecx
lea ecx, [esp + 0xbc]
mov dword [eax + 4], ecx
lea ecx, [esp + 0xc8]
mov dword [eax], ecx
mov dword [eax + 0x14], 0
call fcn.00428b50
mov eax, dword [0x493e64]
mov ecx, eax
inc ecx
mov dword [0x493e64], ecx
and eax, 0x2ab9992c
cmp eax, 0x37beaffe
je 0x43c586
mov ax, word [0x49257e]
mov cx, ax
or ecx, 0x17a4
mov ax, cx
mov word [0x49257e], ax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xf8]
add esp, 0xfc
pop esi
pop edi
pop ebx
ret