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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x90
mov esi, ecx
movzx eax, word [0x441cc2]
and eax, 0x8ca0
or eax, 0xf55a625f
movsx ecx, word [0x4415ca]
imul ecx, ecx, 0x15862d6f
cmp eax, ecx
jle 0x409037
mov dword [0x4453d8], 0x30cd5fe
jmp 0x409072
movsx eax, word [0x44198a]
sar eax, 6
or eax, 0xeafedeb
xor eax, 0xf1501210
cmp eax, 0x9e7d35e9
jl 0x40905d
add word [0x4414d4], 0xb2ff
jmp 0x409072
imul eax, dword [0x44745c], 0x54f2b2e6
add eax, 0xe8f8b97b
or dword [0x443814], eax
xor dword [0x446558], 0xffab7c5d
push 0
call sub.msvcrt.dll_time
add esp, 4
mov edi, eax
mov eax, dword [0x4470a8]
lea ecx, [eax - 1]
mov dword [0x4470a8], ecx
cmp eax, 0x254e6065
jg 0x4090c0
mov eax, dword [0x444d10]
and eax, 0xfffffff8
cmp eax, 0x506588c0
jne 0x4090d1
mov ax, word [0x4415b2]
dec dword [0x4475a0]
inc dword [0x4455f4]
jmp 0x4090da
imul eax, dword [0x444c50], 0x756050cd
mov dword [0x444c50], eax
jmp 0x4090da
mov word [0x44274e], 0xff0f
mov bl, byte [ebp + 0xc]
movsx eax, word [0x4426fc]
sar eax, 6
imul eax, eax, 0xe1aeb549
mov ecx, dword [0x447678]
sar ecx, 6
xor ecx, dword [0x4439d4]
xor ecx, eax
mov dword [0x4439d4], ecx
push esi
call dword [0x4411b8]
movsx eax, word [0x443076]
mov ecx, dword [0x44435c]
sar ecx, 6
mov edx, 0xb41276c2
sub edx, ecx
cmp eax, edx
jge 0x409152
movsx eax, word [0x44191c]
shl eax, 8
or eax, 0x7e39f8b
cmp eax, 0x1e306927
jg 0x409152
mov eax, dword [0x4439d0]
movzx ecx, word [0x4415d6]
imul ecx, eax
mov word [0x4415d6], cx
test bl, bl
je 0x409181
imul eax, dword [0x444154], 0xa2b07e53
mov dword [0x444154], eax
lea eax, [esi + 0x18]
mov dword [esi + 0x1c], 0
mov dword [esi + 0x18], 0
or word [0x441e48], 0xec87
jmp 0x409184
lea eax, [esi + 0x18]
mov dword [esp + 0x20], edi
mov edx, edi
sar edx, 0x1f
mov dword [esp + 0x1c], edx
or word [0x4417d4], 0xd79
cmp dword [eax], edi
setbe cl
cmp dword [eax + 4], edx
setbe al
je 0x4091a9
mov cl, al
mov edx, dword [ebp + 8]
test cl, cl
jne 0x409205
imul eax, dword [0x446840], 0x24d1253c
add eax, 0x5503d4ad
xor dword [0x4438dc], eax
movsd xmm0, qword [esi + 0x20]
movsd xmm1, qword [esi + 0x28]
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
add dword [0x443628], 0xac518e88
mov eax, dword [0x446148]
dec eax
mov dword [0x446148], eax
cmp eax, 0x9eeb2f90
jl 0x409237
mov dword [0x44727c], 0x183d34fb
mov edi, 1
jmp 0x409279
add dword [0x445370], 0x8a8d0216
mov eax, dword [0x444aa4]
and eax, 0x1a22
lea eax, [eax + eax + 0x893b]
movzx ecx, word [0x442496]
imul ecx, eax
mov word [0x442496], cx
xor edi, edi
mov bl, 1
jmp 0x40927b
mov eax, dword [0x443510]
mov ecx, dword [0x444a5c]
lea edx, [ecx - 1]
mov dword [0x444a5c], edx
xor eax, ecx
mov edi, 1
cmp eax, 0xeeadee77
jl 0x409279
mov eax, dword [0x4458c0]
lea ecx, [eax - 1]
mov dword [0x4458c0], ecx
mov ecx, dword [0x445ae4]
lea eax, [eax + ecx + 0x53cff568]
mov dword [0x445ae4], eax
xor ebx, ebx
movzx eax, word [0x443248]
not eax
imul eax, eax, 0x6f9d
or ax, word [0x44290c]
or eax, 0x40a6
mov word [0x44290c], ax
push esi
call dword [0x4411bc]
mov eax, dword [0x443c14]
and dword [0x444330], eax
test bl, bl
je 0x40a44d
mov eax, 0xad305a17
xor eax, dword [0x445628]
sub dword [0x444694], eax
mov eax, dword [0x445114]
lea ecx, [eax - 1]
mov dword [0x445114], ecx
xor eax, 0x12a699b9
mov dword [0x445774], eax
add dword [0x4468d0], 0x9f5c18a4
push 0x600
push 0x19b1
call fcn.004036ba
add esp, 8
mov ebx, eax
mov dword [0x4460bc], 0x41f26d51
movzx eax, byte [ebx]
mov dword [esp + 0x30], eax
add dword [0x4440a4], 0xe8addfc0
dec word [0x44227e]
mov eax, dword [0x44699c]
add dword [0x444bfc], 0xfd7f5fd7
xorpd xmm0, xmm0
movapd xmmword [esp + 0x70], xmm0
add dword [0x4440ac], 0xc5a6966b
mov word [esp + 0x70], 2
or dword [0x444a04], 0x35b9fc9b
add dword [0x445cb8], 0x163af5a8
mov dword [esp + 0x5c], 0x13
mov eax, 0xcc54669b
and eax, dword [0x443764]
xor eax, 0x80f80d9
cmp eax, 0x566304e
jg 0x4093a2
mov eax, dword [0x447590]
shr eax, 6
imul eax, eax, 0xb000a619
add eax, 0x4c9d73a2
movzx ecx, word [0x442240]
imul ecx, eax
mov word [0x442240], cx
jmp 0x4093b1
imul eax, dword [0x445a3c], 0x8e9d8d9c
mov dword [0x445a3c], eax
mov dword [esp + 0x60], 0
mov eax, dword [0x4442ec]
lea ecx, [eax - 1]
mov dword [0x4442ec], ecx
imul eax, eax, 0x822709aa
or eax, 0x51a0dc3d
imul eax, dword [0x445d2c]
mov dword [0x445d2c], eax
mov dword [esp + 0x64], 7
mov eax, dword [0x444c04]
add eax, 0x7359c4ff
movzx ecx, word [0x4425a0]
imul ecx, eax
mov word [0x4425a0], cx
mov byte [esp + 0x68], 3
mov eax, dword [0x4439ec]
lea ecx, [eax - 1]
mov dword [0x4439ec], ecx
cmp eax, 0xce4f7d75
jg 0x40943e
mov eax, dword [0x44414c]
lea ecx, [eax + 1]
mov dword [0x44414c], ecx
and eax, 0x87205b02
or eax, dword [0x446554]
or eax, 0x60db04ed
mov dword [0x446554], eax
lea ecx, [esp + 0x48]
call fcn.004026de
mov eax, dword [0x444ec0]
add eax, 0x51880365
movsx ecx, word [0x442908]
or ecx, 0xbd5c4380
cmp eax, ecx
jg 0x40946c
add dword [0x44418c], 0xfb7edda
mov dword [esp + 0x2c], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x18], esi
or dword [0x444884], 0xc16d6fef
mov eax, dword [0x443c54]
lea ecx, [eax - 1]
mov dword [0x443c54], ecx
imul eax, dword [0x4457c8]
mov dword [0x4457c8], eax
inc word [0x443166]
and word [0x442ede], 0xb752
mov ecx, dword [esp + 0x30]
lea eax, [ecx*4]
mov esi, ecx
lea ecx, [esp + 0x48]
push 0
push eax
call fcn.00411cfe
mov eax, dword [0x4454d4]
lea ecx, [eax + 1]
mov dword [0x4454d4], ecx
and eax, 0x77675208
cmp eax, 0x1c54097
ja 0x409502
mov eax, dword [0x44670c]
lea ecx, [eax - 1]
mov dword [0x44670c], ecx
or eax, 0x27b1
movzx ecx, word [0x441a0e]
and ecx, eax
mov word [0x441a0e], cx
imul eax, dword [0x4442b4], 0xad4ba5d5
mov dword [0x4442b4], eax
mov eax, esi
test al, al
mov edi, eax
je 0x409703
xor esi, esi
mov ebx, 0x566e091b
movsx eax, word [0x44278e]
sar eax, 4
or eax, 0x49ec2c43
mov ecx, dword [0x447670]
lea edx, [ecx - 1]
mov dword [0x447670], edx
cmp eax, ecx
jle 0x409560
movsx eax, word [0x442088]
not eax
imul eax, eax, 0xc964ba3a
add eax, 0x8cc7d73a
and dword [0x443ed8], eax
xor dword [0x447280], 0xb9cf88c8
mov eax, dword [0x446558]
lea ecx, [eax - 1]
mov dword [0x446558], ecx
and dword [0x443b4c], eax
imul eax, dword [0x444138], 0x6b40085a
mov dword [0x444138], eax
movzx eax, word [0x4422ca]
add eax, 0x72b3
xor word [0x441742], ax
mov eax, dword [esp + 0x50]
add eax, 4
lea ecx, [esp + 0x48]
push 0
push eax
call fcn.00411cfe
and dword [0x44691c], 0xaaa6d2dc
imul eax, dword [0x444138], 0x6b40085a
mov dword [0x444138], eax
movzx eax, word [0x4422ca]
add eax, 0x72b3
xor word [0x441742], ax
mov eax, dword [esp + 0x50]
add eax, 4
and dword [0x447444], 0x51dd143f
mov dword [esp + 0x50], eax
movsx eax, word [0x442346]
sub dword [0x446c40], eax
add dword [0x447854], 0xc935794c
mov eax, dword [0x447400]
mov ecx, 0xe3cdf9dc
or eax, ecx
and dword [0x445f7c], eax
mov eax, dword [0x44767c]
cmp eax, 0x1a704358
jg 0x409635
add dword [0x44558c], 0xa9021c2
jmp 0x40963f
and dword [0x446b80], 0x367061d7
imul eax, dword [0x444138], 0x6b40085a
mov dword [0x444138], eax
movzx eax, word [0x4422ca]
add eax, 0x72b3
xor word [0x441742], ax
mov eax, dword [esp + 0x50]
mov word [0x441dde], 0x7a3b
add word [0x442cc6], 0xb1a7
or dword [0x445a84], 0x1e92961b
mov ecx, dword [0x446b74]
not ecx
mov edx, dword [0x443bc0]
not edx
imul edx, ecx
add edx, dword [0x447208]
cmp edx, 0xbbd12744
je 0x4096a8
inc dword [0x445a10]
mov ecx, dword [0x445784]
or ecx, ebx
xor ecx, 0xa991f6e4
imul ecx, dword [0x444aa4]
mov dword [0x444aa4], ecx
mov ecx, dword [0x4445b0]
inc ecx
mov dword [0x4445b0], ecx
movsx edx, word [0x442cf8]
xor edx, ecx
xor dword [0x4451c0], edx
mov ecx, dword [esp + 0x4c]
mov dword [ecx + eax - 4], esi
or dword [0x445de8], 0x59598a82
add word [0x44302c], 0x575b
inc esi
cmp edi, esi
jne 0x409524
xor dword [0x443ad0], 0xeabe2aa2
or dword [0x445a84], 0x1e92961b
mov eax, dword [0x446b74]
not eax
mov ecx, dword [0x443bc0]
not ecx
imul ecx, eax
add ecx, dword [0x447208]
cmp ecx, 0xbbd12744
je 0x40973d
inc dword [0x445a10]
mov eax, 0x566e091b
or eax, dword [0x445784]
xor eax, 0xa991f6e4
imul eax, dword [0x444aa4]
mov dword [0x444aa4], eax
mov eax, dword [0x4445b0]
inc eax
mov dword [0x4445b0], eax
movsx ecx, word [0x442cf8]
xor ecx, eax
xor dword [0x4451c0], ecx
mov eax, dword [esp + 0x4c]
mov ecx, 0xe3cdf9dc
or ecx, dword [0x447400]
and dword [0x445f7c], ecx
mov ecx, dword [0x44767c]
cmp ecx, 0x1a704358
mov ebx, dword [esp + 0x2c]
jg 0x4097a6
add dword [0x44558c], 0xa9021c2
jmp 0x4097b0
and dword [0x446b80], 0x367061d7
imul ecx, dword [0x444138], 0x6b40085a
mov dword [0x444138], ecx
movzx ecx, word [0x4422ca]
add ecx, 0x72b3
xor word [0x441742], cx
mov ecx, dword [esp + 0x50]
mov word [0x441dde], 0x7a3b
add word [0x442cc6], 0xb1a7
or dword [0x445a84], 0x1e92961b
mov edx, dword [0x446b74]
not edx
mov esi, dword [0x443bc0]
not esi
imul esi, edx
add esi, dword [0x447208]
cmp esi, 0xbbd12744
je 0x40981b
inc dword [0x445a10]
mov esi, 0x566e091b
mov edx, dword [0x445784]
or edx, esi
xor edx, 0xa991f6e4
imul edx, dword [0x444aa4]
mov dword [0x444aa4], edx
mov edx, dword [0x4445b0]
inc edx
mov dword [0x4445b0], edx
movsx esi, word [0x442cf8]
xor esi, edx
xor dword [0x4451c0], esi
add ecx, dword [esp + 0x4c]
push ecx
push eax
call fcn.004384d8
add esp, 8
dec word [0x442f6c]
mov eax, dword [0x445e14]
not eax
movsx ecx, word [0x442be6]
lea edx, [ecx + 1]
mov word [0x442be6], dx
xor ecx, 0x4b409c2e
or ecx, eax
imul ecx, dword [0x444420]
mov dword [esp + 0x14], 0
mov eax, edi
mov dword [esp + 0x30], eax
test al, al
mov dword [0x444420], ecx
mov dword [esp + 0x10], 0
mov esi, dword [esp + 0x18]
je 0x40a190
xor edi, edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x24], 0
jmp 0x409d1d
mov dword [esp + 8], ebx
mov ecx, dword [0x443c04]
lea edx, [ecx + 1]
mov dword [0x443c04], edx
mov edx, dword [0x4459e8]
lea ecx, [ecx + edx + 0x4c5def6c]
mov dword [0x4459e8], ecx
mov ecx, 0x312f5d43
sub ecx, dword [0x443ebc]
xor dword [0x443ae4], ecx
test ax, ax
je 0x409a1f
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x38]
movzx esi, word [esp + 0x72]
mov dword [esp + 0x24], esi
add edx, 0xe
or dword [0x443728], 0x9a355225
mov esi, dword [0x445784]
mov ebx, 0x566e091b
or esi, ebx
xor esi, 0xa991f6e4
imul esi, dword [0x444aa4]
mov dword [0x444aa4], esi
mov esi, dword [0x4445b0]
inc esi
mov dword [0x4445b0], esi
movsx ebx, word [0x442cf8]
xor ebx, esi
xor dword [0x4451c0], ebx
cmp ecx, dword [edx - 4]
jne 0x409a0b
mov dword [esp + 0x28], edi
mov edi, ecx
or dword [0x44474c], 0x56ae6ef3
mov esi, dword [0x445784]
mov ebx, 0x566e091b
or esi, ebx
xor esi, 0xa991f6e4
imul esi, dword [0x444aa4]
mov dword [0x444aa4], esi
mov esi, dword [0x4445b0]
inc esi
mov dword [0x4445b0], esi
movsx ebx, word [0x442cf8]
xor ebx, esi
xor dword [0x4451c0], ebx
mov ecx, dword [esp + 0x24]
movzx esi, cx
movzx ebx, word [edx]
cmp esi, ebx
je 0x409a68
mov esi, dword [0x4461e4]
lea ebx, [esi + 1]
mov dword [0x4461e4], ebx
mov ebx, dword [0x445c70]
mov ecx, 0xdc11d765
add ebx, ecx
cmp esi, ebx
mov ecx, edi
mov edi, dword [esp + 0x28]
jg 0x409a0b
or dword [0x44470c], 0x32866330
or dword [0x447064], 0xedb5b3fe
add edx, 6
dec eax
jne 0x40992e
and dword [0x446f24], 0x890e4a80
mov eax, dword [0x44380c]
xor eax, 0xb90b2d7a
mov ecx, dword [0x44464c]
sar ecx, 6
xor ecx, dword [0x446520]
or ecx, 0x192a69c4
cmp eax, ecx
jle 0x409a55
and word [0x441558], 0x53d8
mov dword [esp + 0x24], 0
xor ebx, ebx
mov esi, dword [esp + 0x18]
jmp 0x40a166
movsx eax, word [0x4431b2]
mov ecx, dword [0x446a50]
mov edx, 0x5a3d61d3
add ecx, edx
or ecx, eax
cmp ecx, dword [0x44426c]
mov edi, dword [esp + 0x28]
jle 0x409ab3
mov eax, dword [0x4452e8]
lea ecx, [eax - 1]
mov dword [0x4452e8], ecx
add eax, 0x92652c3e
or eax, 0x3d26675e
cmp eax, 0x638c10da
jg 0x409ab3
xor dword [0x444118], 0x37a20105
mov eax, dword [0x445bfc]
lea ecx, [eax + 1]
mov dword [0x445bfc], ecx
imul eax, eax, 0x349a440f
and eax, 0xb071
movzx ecx, word [0x4420dc]
imul ecx, eax
mov word [0x4420dc], cx
and dword [0x446f24], 0x890e4a80
mov eax, dword [0x446338]
dec eax
mov dword [0x446338], eax
mov dword [0x44678c], eax
push 0x408
push 0x2500
call fcn.004036ba
add esp, 8
mov dword [esp + 0x24], eax
xor dword [0x4474a8], 0x81d13e1
mov edx, dword [0x445784]
mov ecx, 0x566e091b
or edx, ecx
xor edx, 0xa991f6e4
imul edx, dword [0x444aa4]
mov dword [0x444aa4], edx
mov edx, dword [0x4445b0]
inc edx
mov dword [0x4445b0], edx
movsx ecx, word [0x442cf8]
xor ecx, edx
xor dword [0x4451c0], ecx
mov edx, dword [esp + 0x38]
imul ecx, dword [0x444138], 0x6b40085a
mov dword [0x444138], ecx
movzx ecx, word [0x4422ca]
add ecx, 0x72b3
xor word [0x441742], cx
push dword [esp + 0x3c]
push edx
push eax
call fcn.0041a2b9
add esp, 0xc
mov ebx, eax
mov eax, dword [0x4447bc]
cmp eax, 0x89090cf0
mov esi, dword [esp + 0x18]
jle 0x409ba5
or dword [0x4471f4], 0xcf41afed
mov eax, dword [esp + 0x24]
push eax
push 0x408
call fcn.004042a2
add esp, 8
inc dword [0x446454]
add dword [0x444a64], 0x242267b4
cmp ebx, 5
jl 0x409bf4
imul eax, dword [0x444138], 0x6b40085a
mov dword [0x444138], eax
movzx eax, word [0x4422ca]
add eax, 0x72b3
xor word [0x441742], ax
cmp ebx, dword [esp + 0x3c]
jbe 0x409c2f
mov eax, dword [0x4464c4]
dec eax
mov dword [0x4464c4], eax
sub dword [0x443c94], eax
mov dword [0x445bdc], 0x870715c0
mov dword [0x444eac], 0x66c24063
mov eax, dword [0x443bfc]
inc eax
mov dword [0x443bfc], eax
add dword [0x445df8], eax
jmp 0x40a143
add word [0x441f24], 0x30b3
add ebx, 0xfffffffc
imul eax, dword [0x444360], 0xb0e3eae5
mov dword [0x444360], eax
mov dword [0x444eac], 0x66c24063
mov eax, dword [esp + 8]
add eax, 0xa
cmp ebx, eax
jl 0x409c19
mov eax, dword [0x443868]
inc eax
mov dword [0x443868], eax
movzx ecx, word [0x442a12]
or ecx, eax
or ecx, 0xe90f
mov word [0x442a12], cx
mov eax, dword [0x445784]
mov ecx, 0x566e091b
or eax, ecx
xor eax, 0xa991f6e4
imul eax, dword [0x444aa4]
mov dword [0x444aa4], eax
mov eax, dword [0x4445b0]
inc eax
mov dword [0x4445b0], eax
movsx ecx, word [0x442cf8]
xor ecx, eax
xor dword [0x4451c0], ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [eax]
mov dword [esp + 0x14], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x10], eax
mov eax, dword [0x445dfc]
shl eax, 9
mov ecx, dword [0x447058]
lea edx, [ecx - 1]
mov dword [0x447058], edx
add ecx, 0xe6d9428d
and ecx, eax
mov bl, 1
mov dword [esp + 0x24], 0
cmp ecx, 0xfcc0c1a
jg 0x40a166
movzx eax, word [0x442c06]
dec eax
mov word [0x442c06], ax
cwde
imul eax, eax, 0x74a7e1f3
add dword [0x445b90], eax
jmp 0x40a166
mov eax, dword [0x443df8]
lea ecx, [eax - 1]
mov dword [0x443df8], ecx
movzx ecx, word [0x44181a]
add ecx, eax
mov word [0x44181a], cx
or dword [0x445a84], 0x1e92961b
mov eax, dword [0x446b74]
not eax
mov ecx, dword [0x443bc0]
not ecx
imul ecx, eax
add ecx, dword [0x447208]
cmp ecx, 0xbbd12744
je 0x409d6b
inc dword [0x445a10]
mov eax, dword [0x445784]
mov ecx, 0x566e091b
or eax, ecx
xor eax, 0xa991f6e4
imul eax, dword [0x444aa4]
mov dword [0x444aa4], eax
mov eax, dword [0x4445b0]
inc eax
mov dword [0x4445b0], eax
movsx ecx, word [0x442cf8]
xor ecx, eax
xor dword [0x4451c0], ecx
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + edi*4]
add eax, eax
lea eax, [eax + eax*2]
or eax, 1
mov eax, dword [ebx + eax]
mov dword [esp + 0x74], eax
imul eax, dword [0x446a3c], 0xdc26fdbb
add eax, 0x4775e807
or dword [0x443654], eax
or dword [0x445a84], 0x1e92961b
mov eax, dword [0x446b74]
not eax
mov ecx, dword [0x443bc0]
not ecx
imul ecx, eax
add ecx, dword [0x447208]
cmp ecx, 0xbbd12744
je 0x409dfd
inc dword [0x445a10]
mov eax, dword [0x445784]
mov ecx, 0x566e091b
or eax, ecx
xor eax, 0xa991f6e4
imul eax, dword [0x444aa4]
mov dword [0x444aa4], eax
mov eax, dword [0x4445b0]
inc eax
mov dword [0x4445b0], eax
movsx ecx, word [0x442cf8]
xor ecx, eax
xor dword [0x4451c0], ecx
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + edi*4]
add eax, eax
lea eax, [eax + eax*2]
or eax, 1
mov ax, word [eax + ebx + 4]
mov word [esp + 0x72], ax
mov eax, dword [0x443e3c]
shl eax, 2
mov ecx, 0x727b2438
sub ecx, eax
movsx eax, word [0x44139e]
lea edx, [eax - 1]
mov word [0x44139e], dx
or ecx, eax
sub dword [0x443f6c], ecx
lea ecx, [esp + 0x34]
call fcn.00432a50
mov eax, dword [0x44593c]
shl eax, 9
movzx ecx, word [0x442770]
add ecx, eax
mov word [0x442770], cx
mov eax, dword [esp + 0x74]
mov dword [esp + 0x69], eax
mov eax, dword [0x444398]
mov ecx, 0x558350fc
xor eax, ecx
cmp eax, 0xdc5fbfd9
jg 0x409ebb
add dword [0x4437ec], 0x700d4ce4
mov ax, word [esp + 0x72]
mov word [esp + 0x6d], ax
add dword [0x4454c8], 0x47a41fb7
lea ebx, [esp + 0x34]
mov ecx, ebx
push 0x13
lea eax, [esp + 0x60]
push eax
call fcn.00402a18
mov eax, 0x651f6766
sub eax, dword [0x4456e4]
xor eax, 0x57306623
sub dword [0x446288], eax
mov ecx, esi
push 0
push 2
push ebx
lea eax, [esp + 0x7c]
push eax
call fcn.0040a4a4
test eax, eax
jle 0x409f51
add dword [0x447030], 0xf5aee32e
imul eax, dword [0x444138], 0x6b40085a
mov dword [0x444138], eax
movzx eax, word [0x4422ca]
add eax, 0x72b3
xor word [0x441742], ax
cmp dword [esp + 0x3c], 0x400
ja 0x409f78
mov dword [0x445e0c], 0xadfe6ef5
jmp 0x40a164
mov eax, dword [0x444cdc]
cmp eax, 0xf776def7
jl 0x40a164
mov eax, dword [0x4454f0]
sar eax, 0xa
xor eax, 0x1500090
mov dword [0x447264], eax
jmp 0x40a164
mov eax, dword [0x446d08]
shl eax, 7
add eax, 0xe6e91dc7
mov dword [0x445de0], eax
imul eax, dword [0x444138], 0x6b40085a
mov dword [0x444138], eax
movzx eax, word [0x4422ca]
add eax, 0x72b3
xor word [0x441742], ax
cmp dword [esp + 0x3c], 0x4001
jb 0x409fd7
mov eax, dword [0x4456c0]
mov ecx, 0x5a10fe9
add eax, ecx
and eax, dword [0x444528]
and eax, 0x51dff1a
mov dword [0x444528], eax
jmp 0x40a164
mov eax, dword [0x444cb0]
shl eax, 4
mov dword [0x444378], eax
mov eax, dword [0x445784]
mov ecx, 0x566e091b
or eax, ecx
xor eax, 0xa991f6e4
imul eax, dword [0x444aa4]
mov dword [0x444aa4], eax
mov eax, dword [0x4445b0]
inc eax
mov dword [0x4445b0], eax
movsx ecx, word [0x442cf8]
xor ecx, eax
xor dword [0x4451c0], ecx
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x20]
cmp dword [ecx], eax
setae al
mov edx, dword [esp + 0x1c]
cmp dword [ecx + 4], edx
setae cl
je 0x40a036
mov al, cl
test al, al
jne 0x40a073
add dword [0x445454], 0x1e7c6d26
mov eax, dword [esp + 0x24]
inc eax
xor word [0x44180c], 0xdffb
cmp eax, 3
jne 0x40a14d
or word [0x441ac8], 0xde01
mov bl, 1
mov dword [esp + 0x24], 3
jmp 0x40a166
imul eax, dword [0x445ff0], 0xf3d5085f
mov dword [0x445ff0], eax
mov eax, dword [0x444484]
lea ecx, [eax - 1]
mov dword [0x444484], ecx
mov ecx, 0xe4638887
sub ecx, eax
cmp ecx, 0x6624ae1a
jl 0x40a0a9
mov eax, dword [0x443884]
mov eax, dword [0x444900]
mov eax, dword [0x445784]
mov ecx, 0x566e091b
or eax, ecx
xor eax, 0xa991f6e4
imul eax, dword [0x444aa4]
mov dword [0x444aa4], eax
mov eax, dword [0x4445b0]
inc eax
mov dword [0x4445b0], eax
movsx ecx, word [0x442cf8]
xor ecx, eax
xor dword [0x4451c0], ecx
mov eax, dword [esp + 0x38]
movzx eax, word [eax + 8]
mov ecx, dword [0x44350c]
sar ecx, 1
add ecx, 0x28d2e745
and dword [0x444544], ecx
lea ecx, [eax + eax]
lea ebx, [ecx + ecx*2]
imul ecx, dword [0x444138], 0x6b40085a
mov dword [0x444138], ecx
movzx ecx, word [0x4422ca]
add ecx, 0x72b3
xor word [0x441742], cx
mov ecx, dword [esp + 0x3c]
mov edx, 0xfffffbf6
add ecx, edx
cmp ebx, ecx
jbe 0x4098da
and dword [0x443f50], 0xfdc98372
mov dword [esp + 0x24], 0
jmp 0x40a164
mov dword [esp + 0x24], eax
mov eax, dword [0x445dec]
xor eax, dword [0x44778c]
not eax
or dword [0x44526c], eax
xor ebx, ebx
mov dword [esp + 0x34], 0x43f0ac
lea ecx, [esp + 0x34]
call fcn.00404380
test bl, bl
jne 0x40a18c
inc edi
cmp edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
jne 0x409d1d
jmp 0x40a190
mov ebx, dword [esp + 0x2c]
mov eax, 0xac55fd80
xor eax, dword [0x446428]
cmp eax, 0xaa7b5dca
jl 0x40a1ae
add dword [0x4456f8], 0xbd17023f
jmp 0x40a1be
mov ax, word [0x442fca]
mov eax, dword [0x443cf4]
mov eax, dword [0x4477c4]
mov edi, dword [esp + 0xc]
xor dword [0x444660], 0x6a110214
mov eax, dword [0x443844]
inc eax
mov dword [0x443844], eax
xor dword [0x446aa0], eax
xor eax, eax
mov byte [esp + eax + 0x5c], 0
inc eax
cmp eax, 0x13
jne 0x40a1df
or dword [0x445838], 0x8b665ba0
push ebx
push 0x600
call fcn.004042a2
add esp, 8
mov word [0x441982], 0xd9ee
mov ebx, dword [esp + 0x14]
mov eax, ebx
mov ecx, dword [esp + 0x10]
or eax, ecx
je 0x40a2eb
mov eax, 0x188
xor eax, dword [0x4438d8]
mov edi, ecx
movzx ecx, word [0x443086]
imul ecx, eax
mov word [0x443086], cx
push esi
call dword [0x4411b8]
imul eax, dword [0x4472a8], 0xd0ccf3ac
mov dword [0x4472a8], eax
movsd xmm0, qword [esp + 0x70]
movsd xmm1, qword [esp + 0x78]
movsd qword [esi + 0x28], xmm1
movsd qword [esi + 0x20], xmm0
add dword [0x4464cc], 0x8cfae9db
mov dword [esi + 0x1c], edi
mov dword [esi + 0x18], ebx
mov eax, dword [0x447824]
cmp eax, 0x288b3102
jl 0x40a28c
mov word [0x442fe6], 0x43a1
push esi
call dword [0x4411bc]
movsx eax, word [0x442c32]
or eax, 0x48dbcd20
sub dword [0x444158], eax
movsd xmm0, qword [esp + 0x70]
movsd xmm1, qword [esp + 0x78]
mov eax, dword [ebp + 8]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov eax, dword [0x444284]
lea ecx, [eax + 1]
mov dword [0x444284], ecx
cmp eax, 0x8e4cb9b
jl 0x40a2dc
or dword [0x445d70], 0xa296ce04
add dword [0x4475a8], 0x465a38db
mov edi, 1
mov eax, dword [0x4475bc]
lea ecx, [eax + 1]
mov dword [0x4475bc], ecx
add eax, 0x7b724b26
xor eax, 0x23cfb851
sub dword [0x443b98], eax
or dword [0x445a84], 0x1e92961b
mov eax, dword [0x446b74]
not eax
mov ecx, dword [0x443bc0]
not ecx
imul ecx, eax
add ecx, dword [0x447208]
cmp ecx, 0xbbd12744
je 0x40a339
inc dword [0x445a10]
mov eax, 0x566e091b
or eax, dword [0x445784]
xor eax, 0xa991f6e4
imul eax, dword [0x444aa4]
mov dword [0x444aa4], eax
mov eax, dword [0x4445b0]
inc eax
mov dword [0x4445b0], eax
movsx ecx, word [0x442cf8]
xor ecx, eax
xor dword [0x4451c0], ecx
mov eax, 0xe3cdf9dc
or eax, dword [0x447400]
and dword [0x445f7c], eax
mov eax, dword [0x44767c]
cmp eax, 0x1a704358
jg 0x40a398
add dword [0x44558c], 0xa9021c2
jmp 0x40a3a2
and dword [0x446b80], 0x367061d7
imul eax, dword [0x444138], 0x6b40085a
mov dword [0x444138], eax
movzx eax, word [0x4422ca]
add eax, 0x72b3
xor word [0x441742], ax
mov word [0x441dde], 0x7a3b
add word [0x442cc6], 0xb1a7
or dword [0x445a84], 0x1e92961b
mov eax, dword [0x446b74]
not eax
mov ecx, dword [0x443bc0]
not ecx
imul ecx, eax
add ecx, dword [0x447208]
cmp ecx, 0xbbd12744
je 0x40a406
inc dword [0x445a10]
mov eax, 0x566e091b
or eax, dword [0x445784]
xor eax, 0xa991f6e4
imul eax, dword [0x444aa4]
mov dword [0x444aa4], eax
mov eax, dword [0x4445b0]
inc eax
mov dword [0x4445b0], eax
movsx ecx, word [0x442cf8]
xor ecx, eax
xor dword [0x4451c0], ecx
mov dword [esp + 0x48], 0x43f0ac
lea ecx, [esp + 0x48]
call fcn.00404380
movsx eax, word [0x4422ea]
mov ecx, dword [0x444504]
imul ecx, eax
mov eax, dword [0x4473d8]
sar eax, 9
and eax, 0xef2b63d
xor eax, 0xaafa48bb
cmp ecx, eax
jl 0x40a498
mov eax, dword [0x446da8]
dec eax
mov dword [0x446da8], eax
cmp eax, 0x4b02a9a0
jl 0x40a498
movsx eax, word [0x4419a8]
imul eax, eax, 0xaf02b477
add dword [0x4465c0], eax
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8