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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x4e8
mov dword [esp + 0x2e0], edx
mov dword [esp + 0x7c], ecx
push 4
pop ecx
lea eax, [0x446d1e]
lea ebx, [esp + 0x178]
lea esi, [esp + 0x2a0]
mov dword [ebx], eax
lea eax, [esp + 0x338]
mov dword [eax], ecx
and dword [eax + 4], 0
and dword [eax + 8], 0
mov eax, 0xffff112b
lea ecx, [0x45a33f]
add eax, dword [ebx]
push ecx
push 9
push esi
call eax
add esp, 0xc
lea ecx, [esp + 0xe8]
mov edx, esi
call fcn.00404a2b
lea eax, [0x447aaf]
mov ecx, 0x45a474
mov edx, 0xfffffe36
mov dword [ebx], eax
mov eax, 0xffff039a
add ecx, edx
add eax, dword [ebx]
push 0xe
pop edx
push ecx
push edx
push ebx
call eax
add esp, 0xc
lea edi, [esp + 0x20]
mov edx, ebx
mov ecx, edi
call fcn.0040491a
push 6
pop eax
lea esi, [esp + 0xe8]
lea ecx, [esp + 0x490]
mov edx, esi
push 0
push 0
push eax
push edi
call fcn.004143c3
add esp, 0x10
lea eax, [0x444382]
mov ecx, 0x45a488
mov edx, 0xfffffe36
mov dword [ebx], eax
mov eax, 0xffff3ac7
add ecx, edx
add eax, dword [ebx]
push ecx
push 0xe
pop ecx
push ecx
push edi
call eax
add esp, 0xc
lea ecx, [esp + 0x2a0]
mov edx, edi
call fcn.0040491a
lea eax, [0x4394ba]
mov ecx, 0x45a49c
mov edx, 0xfffffe36
mov dword [ebx], eax
mov eax, 0xffffe98f
add ecx, edx
add eax, dword [ebx]
push ecx
push 0xe
pop ecx
push ecx
push ebx
call eax
add esp, 0xc
mov ecx, esi
mov edx, ebx
call fcn.0040491a
lea ecx, [esp + 0x4b8]
lea edx, [esp + 0x2a0]
push 0
push 0
push 6
pop eax
push eax
push esi
call fcn.004143c3
add esp, 0x10
push 0x50
pop ecx
push 8
pop edx
call fcn.0040a74c
push 0xa
pop edx
mov edi, eax
lea esi, [esp + 0x490]
mov ecx, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edi, [eax + 0x28]
lea esi, [esp + 0x4b8]
lea edx, [esp + 0x40c]
rep movsd dword es:[edi], dword [esi]
mov dword [edx], eax
push 2
pop eax
lea esi, [esp + 0x484]
mov ecx, esi
mov dword [edx + 4], eax
mov dword [edx + 8], eax
call fcn.00414653
mov eax, dword [esi]
imul edx, dword [esi + 8], 0xc
mov ecx, dword [esi + 4]
mov dword [esp + 0x290], eax
mov dword [esp + 0x294], ecx
add edx, eax
mov dword [esp + 0x298], eax
mov ecx, 0x45a4ec
mov eax, 0xfffffefc
add ecx, eax
mov dword [esp + 0x29c], edx
mov edx, 0x45a4f8
mov dword [esp + 0x2f4], ecx
mov ecx, 0xffffff1d
add edx, ecx
mov dword [esp + 0x2f0], edx
mov edx, 0x45a504
add edx, eax
mov eax, 0x45a510
add eax, ecx
mov dword [esp + 0x2ec], edx
mov dword [esp + 0x2e8], eax
push 0x18
pop eax
add eax, ebx
mov dword [esp + 0x70], eax
lea eax, [esp + 0x138]
push 0x20
pop ecx
lea edx, [eax + ecx]
mov dword [esp + 0x1c4], edx
lea edx, [esp + 0x20]
add edx, ecx
mov dword [esp + 0x1d0], edx
lea edx, [esp + 0x250]
add ecx, edx
mov dword [esp + 0x2e4], ecx
lea ecx, [esp + 0x60]
push 4
pop edi
add ecx, edi
mov dword [esp + 0x1c8], ecx
push 0xc
pop ecx
lea esi, [ebx + ecx]
mov dword [esp + 0x1c], esi
lea esi, [eax + edi]
mov dword [esp + 0x94], esi
push 0x10
pop esi
lea ebx, [esp + 0x210]
lea eax, [eax + esi]
mov dword [esp + 0x80], eax
lea eax, [esp + 0x20]
lea eax, [eax + edi]
mov dword [esp + 0x90], eax
lea eax, [ebx + edi]
lea edi, [edx + edi]
mov dword [esp + 0x1c0], eax
lea eax, [ebx + ecx]
lea ecx, [edx + esi]
mov dword [esp + 0xd8], edi
mov dword [esp + 0x1bc], eax
lea eax, [esp + 0x20]
mov dword [esp + 0xa0], ecx
add eax, esi
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x298]
cmp eax, dword [esp + 0x29c]
je 0x414023
lea ecx, [eax + 0xc]
mov dword [esp + 0x298], ecx
mov edi, dword [eax]
test edi, edi
je 0x414023
mov esi, dword [eax + 8]
mov ecx, dword [eax + 4]
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], ecx
mov ecx, edi
mov edx, esi
mov dword [esp + 0xac], esi
call fcn.00447cb0
test al, al
je 0x413dfd
lea ecx, [esp + 0x20]
mov edx, edi
mov edi, ecx
push esi
call fcn.00441c60
pop eax
lea ecx, [esp + 0x178]
mov edx, edi
call fcn.004462e0
mov eax, dword [esp + 0x178]
cmp eax, 5
je 0x413dfd
add eax, 0xfffffffe
cmp eax, 3
jae 0x413dfd
mov ecx, edi
call fcn.004420a0
test eax, eax
je 0x413dfd
cmp edx, esi
ja 0x412005
mov dword [esp + 0xac], edx
lea ecx, [esp + 0x2a0]
lea edx, [esp + 0xa4]
call fcn.00448868
mov edx, dword [esp + 0x2a0]
lea esi, [esp + 0x20]
mov ecx, esi
push dword [esp + 0x2a8]
call fcn.00444bc0
pop eax
mov ecx, ebx
mov edx, esi
call fcn.0040b110
lea eax, [0x43d7c1]
mov ecx, 0xffffa688
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0xe8]
add eax, ecx
lea ecx, [0x45a349]
push ecx
push 0xb
lea esi, [esp + 0x140]
push esi
call eax
add esp, 0xc
lea ecx, [esp + 0xe8]
mov edx, esi
call fcn.004043c5
movsd xmm0, qword [esp + 0x210]
mov eax, dword [esp + 0x218]
mov edx, dword [esp + 0xf0]
mov ecx, dword [esp + 0x1c]
mov esi, ebx
lea ebx, [esp + 0x178]
movsd qword [esp + 0x178], xmm0
movsd xmm0, qword [esp + 0xe8]
mov dword [esp + 0x180], eax
mov dword [ecx + 8], edx
mov edx, ebx
movsd qword [ecx], xmm0
lea ecx, [esp + 0x418]
push dword [esp + 0x70]
call fcn.00406313
pop eax
mov ecx, ebx
call fcn.0040537b
lea edi, [esp + 0x20]
mov ecx, edi
call fcn.00405ab8
lea ecx, [esp + 0x2a0]
call fcn.00435706
mov ecx, esi
lea edx, [esp + 0xa4]
call fcn.00448868
mov edx, dword [esp + 0x210]
mov ecx, edi
push dword [esp + 0x218]
call fcn.00444bc0
pop eax
lea ecx, [esp + 0x138]
mov edx, edi
call fcn.0040b110
lea eax, [0x443080]
mov ecx, 0xffff4dc9
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0xe8]
add eax, ecx
lea ecx, [0x45a2f6]
push ecx
push 0xe
lea esi, [esp + 0xf0]
push esi
call eax
add esp, 0xc
lea ecx, [esp + 0x2a0]
mov edx, esi
call fcn.0040491a
movsd xmm0, qword [esp + 0x138]
mov eax, dword [esp + 0x140]
mov edx, dword [esp + 0x2a8]
mov ecx, dword [esp + 0x1c]
movsd qword [esp + 0x178], xmm0
movsd xmm0, qword [esp + 0x2a0]
mov dword [esp + 0x180], eax
mov dword [ecx + 8], edx
mov edx, ebx
movsd qword [ecx], xmm0
lea ecx, [esp + 0x378]
push dword [esp + 0x70]
call fcn.00406313
pop eax
mov ecx, ebx
call fcn.0040537b
mov ecx, edi
call fcn.00405ab8
lea esi, [esp + 0x210]
mov ecx, esi
call fcn.00435706
mov ecx, esi
lea edx, [esp + 0xa4]
call fcn.00448868
mov edx, dword [esp + 0x210]
lea esi, [esp + 0xe8]
mov ecx, esi
push dword [esp + 0x218]
call fcn.00444bc0
pop eax
lea ecx, [esp + 0x138]
mov edx, esi
call fcn.0040b110
lea eax, [0x4457f3]
mov ecx, 0xffff2656
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add eax, ecx
lea ecx, [0x45a286]
push ecx
push 0x12
push edi
call eax
add esp, 0xc
lea ecx, [esp + 0x2a0]
mov edx, edi
call fcn.00404ae1
movsd xmm0, qword [esp + 0x138]
mov eax, dword [esp + 0x140]
mov edx, dword [esp + 0x2a8]
mov ecx, dword [esp + 0x1c]
movsd qword [esp + 0x178], xmm0
movsd xmm0, qword [esp + 0x2a0]
mov dword [esp + 0x180], eax
mov dword [ecx + 8], edx
mov edx, ebx
movsd qword [ecx], xmm0
lea ecx, [esp + 0x344]
push dword [esp + 0x70]
call fcn.00406313
pop eax
mov ecx, ebx
call fcn.0040537b
mov ecx, esi
call fcn.00405ab8
lea esi, [esp + 0x210]
mov ecx, esi
call fcn.00435706
lea ecx, [esp + 0x2a0]
lea edx, [esp + 0xa4]
call fcn.00448868
mov edx, dword [esp + 0x2a0]
mov ecx, edi
push dword [esp + 0x2a8]
call fcn.00444bc0
pop eax
mov ecx, esi
mov edx, edi
call fcn.0040b110
lea eax, [0x438a52]
mov ecx, 0xfffff3f7
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0xe8]
add eax, ecx
push dword [esp + 0x2f4]
push 8
pop ecx
push ecx
lea esi, [esp + 0x140]
push esi
call eax
add esp, 0xc
lea ecx, [esp + 0xe8]
mov edx, esi
call fcn.00404864
movsd xmm0, qword [esp + 0x210]
mov eax, dword [esp + 0x218]
mov edx, dword [esp + 0xf0]
mov ecx, dword [esp + 0x1c]
movsd qword [esp + 0x178], xmm0
movsd xmm0, qword [esp + 0xe8]
mov dword [esp + 0x180], eax
mov dword [ecx + 8], edx
mov edx, ebx
movsd qword [ecx], xmm0
lea ecx, [esp + 0x384]
push dword [esp + 0x70]
call fcn.00406313
pop eax
mov ecx, ebx
call fcn.0040537b
mov ecx, edi
call fcn.00405ab8
lea esi, [esp + 0x2a0]
mov ecx, esi
call fcn.00435706
mov ecx, esi
lea edx, [esp + 0xa4]
call fcn.00448868
mov edx, dword [esp + 0x2a0]
mov ecx, edi
push dword [esp + 0x2a8]
call fcn.00444bc0
pop eax
lea ecx, [esp + 0x210]
mov edx, edi
call fcn.0040b110
lea eax, [0x43fadd]
mov ecx, 0xffff836c
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0xe8]
add eax, ecx
push dword [esp + 0x2f0]
push 7
pop ecx
push ecx
lea esi, [esp + 0x140]
push esi
call eax
add esp, 0xc
lea ecx, [esp + 0xe8]
mov edx, esi
call fcn.0040458c
movsd xmm0, qword [esp + 0x210]
mov eax, dword [esp + 0x218]
mov edx, dword [esp + 0xf0]
mov ecx, dword [esp + 0x1c]
movsd qword [esp + 0x178], xmm0
movsd xmm0, qword [esp + 0xe8]
mov dword [esp + 0x180], eax
mov dword [ecx + 8], edx
mov edx, ebx
movsd qword [ecx], xmm0
lea ecx, [esp + 0x390]
push dword [esp + 0x70]
call fcn.00406313
pop eax
mov ecx, ebx
call fcn.0040537b
mov ecx, edi
call fcn.00405ab8
lea esi, [esp + 0x2a0]
mov ecx, esi
call fcn.00435706
mov ecx, esi
lea edx, [esp + 0xa4]
call fcn.00448868
mov edx, dword [esp + 0x2a0]
mov ecx, edi
push dword [esp + 0x2a8]
call fcn.00444bc0
pop eax
lea ecx, [esp + 0x210]
mov edx, edi
call fcn.0040b110
lea eax, [0x43f614]
mov ecx, 0xffff8835
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0xe8]
add eax, ecx
push dword [esp + 0x2ec]
push 8
pop ecx
push ecx
lea esi, [esp + 0x140]
push esi
call eax
add esp, 0xc
lea ecx, [esp + 0xe8]
mov edx, esi
call fcn.00404864
movsd xmm0, qword [esp + 0x210]
mov eax, dword [esp + 0x218]
mov edx, dword [esp + 0xf0]
mov ecx, dword [esp + 0x1c]
movsd qword [esp + 0x178], xmm0
movsd xmm0, qword [esp + 0xe8]
mov dword [esp + 0x180], eax
mov dword [ecx + 8], edx
mov edx, ebx
movsd qword [ecx], xmm0
lea ecx, [esp + 0x39c]
push dword [esp + 0x70]
call fcn.00406313
pop eax
mov ecx, ebx
call fcn.0040537b
mov ecx, edi
call fcn.00405ab8
lea esi, [esp + 0x2a0]
mov ecx, esi
call fcn.00435706
mov ecx, esi
lea edx, [esp + 0xa4]
call fcn.00448868
mov edx, dword [esp + 0x2a0]
mov ecx, edi
push dword [esp + 0x2a8]
call fcn.00444bc0
pop eax
lea ecx, [esp + 0x210]
mov edx, edi
call fcn.0040b110
lea eax, [0x43b819]
mov ecx, 0xffffc630
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0xe8]
add eax, ecx
push dword [esp + 0x2e8]
push 7
pop ecx
push ecx
lea esi, [esp + 0x140]
push esi
call eax
add esp, 0xc
lea ecx, [esp + 0xe8]
mov edx, esi
call fcn.0040458c
movsd xmm0, qword [esp + 0x210]
mov eax, dword [esp + 0x218]
mov edx, dword [esp + 0xf0]
mov ecx, dword [esp + 0x1c]
movsd qword [esp + 0x178], xmm0
movsd xmm0, qword [esp + 0xe8]
mov dword [esp + 0x180], eax
mov dword [ecx + 8], edx
mov edx, ebx
movsd qword [ecx], xmm0
lea ecx, [esp + 0x3a8]
push dword [esp + 0x70]
call fcn.00406313
pop eax
mov ecx, ebx
call fcn.0040537b
mov ecx, edi
call fcn.00405ab8
lea ecx, [esp + 0x2a0]
call fcn.00435706
mov edi, dword [esp + 0xac]
mov ecx, dword [esp + 0xa4]
mov edx, edi
mov dword [esp + 4], ecx
call fcn.00447c60
test eax, eax
je 0x4141fe
mov esi, edx
mov ecx, ebx
mov edx, eax
push esi
call fcn.00444bc0
pop eax
lea ecx, [esp + 0x3b4]
mov edx, ebx
call fcn.0040b110
mov ecx, ebx
call fcn.00405ab8
mov eax, dword [esp + 0x420]
movsd xmm0, qword [esp + 0x418]
lea esi, [esp + 0x20]
mov edx, ebx
mov ecx, esi
mov dword [esp + 0x180], eax
movsd qword [esp + 0x178], xmm0
call fcn.0040345c
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x20], 1
je 0x41405f
mov ecx, dword [esp + 0x380]
movsd xmm0, qword [esp + 0x378]
mov edx, ebx
mov dword [esp + 0x84], eax
mov dword [esp + 0x180], ecx
mov ecx, esi
movsd qword [esp + 0x178], xmm0
call fcn.0040345c
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x20], 1
je 0x41408c
mov ecx, dword [esp + 0x34c]
movsd xmm0, qword [esp + 0x344]
mov edx, ebx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x180], ecx
mov ecx, esi
movsd qword [esp + 0x178], xmm0
call fcn.0040345c
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x20], 1
je 0x4140ad
mov ecx, dword [esp + 0x38c]
movsd xmm0, qword [esp + 0x384]
mov edx, ebx
mov dword [esp + 0x78], edi
mov dword [esp + 0xb0], eax
mov dword [esp + 0x180], ecx
lea ecx, [esp + 0x424]
movsd qword [esp + 0x178], xmm0
call fcn.0040345c
mov eax, dword [esp + 0x398]
movsd xmm0, qword [esp + 0x390]
lea ecx, [esp + 0x3c0]
mov edx, ebx
mov dword [esp + 0x180], eax
movsd qword [esp + 0x178], xmm0
call fcn.0040345c
mov eax, dword [esp + 0x3a4]
movsd xmm0, qword [esp + 0x39c]
lea ecx, [esp + 0x430]
mov edx, ebx
mov dword [esp + 0x180], eax
movsd qword [esp + 0x178], xmm0
call fcn.0040345c
mov eax, dword [esp + 0x3b0]
movsd xmm0, qword [esp + 0x3a8]
lea ecx, [esp + 0x3cc]
mov edx, ebx
mov dword [esp + 0x180], eax
movsd qword [esp + 0x178], xmm0
call fcn.0040345c
movsd xmm0, qword [esp + 0x424]
mov eax, dword [esp + 0x42c]
mov ecx, dword [esp + 0x438]
lea esi, [esp + 0x20]
mov edx, esi
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [esp + 0x430]
mov dword [esp + 0x180], ecx
mov dword [esp + 0x28], eax
lea ecx, [esp + 0xe8]
movsd qword [esp + 0x178], xmm0
push ebx
call fcn.00406806
pop eax
mov eax, dword [esp + 0xec]
cmp dword [esp + 0xe8], 1
je 0x4140c9
movsd xmm0, qword [esp + 0x3c0]
mov edx, dword [esp + 0x3c8]
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0xb4], eax
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [esp + 0x3cc]
mov dword [esp + 0x28], edx
mov dword [esp + 0x180], ecx
lea ecx, [esp + 0xe8]
mov edx, esi
movsd qword [esp + 0x178], xmm0
push ebx
call fcn.00406806
pop eax
mov eax, dword [esp + 0xec]
cmp dword [esp + 0xe8], 1
je 0x4140fa
mov dword [esp + 0xe4], eax
lea eax, [0x445d9b]
mov ecx, 0xffff20ae
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x178]
add eax, ecx
lea ecx, [0x45a413]
push ecx
push 9
push esi
call eax
add esp, 0xc
mov ecx, ebx
mov edx, esi
call fcn.00404a2b
lea ecx, [esp + 0x43c]
mov edx, ebx
mov edi, esi
call fcn.0041442e
mov ecx, ebx
call fcn.00435706
mov edx, dword [esp + 4]
mov ecx, ebx
push dword [esp + 0x78]
call fcn.00444bc0
pop eax
mov ecx, esi
mov edx, ebx
call fcn.0040b110
mov edx, dword [esp + 0x20]
lea esi, [esp + 0xe8]
mov ecx, esi
push 0
push 0x461f70
lea eax, [esp + 0x444]
push eax
push dword [esp + 0x34]
call fcn.00409dcf
add esp, 0x10
mov edx, dword [esp + 0xe8]
xor eax, eax
lea ecx, [esp + 0x448]
inc eax
push eax
push 0x460204
push eax
push 0x45a548
push dword [esp + 0x100]
call fcn.00409e80
add esp, 0x14
mov ecx, esi
call fcn.00435706
mov ecx, edi
call fcn.00435706
mov ecx, ebx
call fcn.00405ab8
mov eax, dword [esp + 0x450]
movsd xmm0, qword [esp + 0x448]
mov ecx, 0xffffb2c3
mov dword [esp + 0x218], eax
lea eax, [0x43cb86]
movsd qword [esp + 0x210], xmm0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add eax, ecx
lea ecx, [0x45a3e5]
push ecx
push 0xb
lea edi, [esp + 0x140]
push edi
call eax
add esp, 0xc
lea ecx, [esp + 0x2a0]
mov edx, edi
call fcn.004043c5
lea eax, [0x4455d3]
mov ecx, 0xffff2876
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add eax, ecx
lea ecx, [0x45a458]
push ecx
push 8
pop ecx
push ecx
lea edi, [esp + 0x258]
push edi
call eax
add esp, 0xc
mov ecx, esi
mov edx, edi
call fcn.00404864
lea eax, [0x4426bb]
mov ecx, 0xffff578e
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add eax, ecx
lea ecx, [0x45a485]
push ecx
push 7
lea esi, [esp + 0x45c]
push esi
call eax
add esp, 0xc
lea ecx, [esp + 0x20]
mov edx, esi
call fcn.0040458c
mov eax, dword [esp + 0x218]
movsd xmm0, qword [esp + 0x210]
mov ecx, dword [esp + 0x1c]
lea edi, [esp + 0xb0]
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0x2a8]
movsd qword [esp + 0x178], xmm0
movsd xmm0, qword [esp + 0x2a0]
mov dword [ecx + 8], eax
lea eax, [esp + 0x84]
movsd qword [ecx], xmm0
movsd xmm0, qword [esp + 0xe8]
lea ecx, [esp + 0x19c]
mov dword [esp + 0x190], eax
lea eax, [esp + 0x8c]
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x198], edi
movsd qword [ecx], xmm0
movsd xmm0, qword [esp + 0x20]
mov dword [ecx + 8], eax
lea eax, [esp + 0xb4]
lea ecx, [esp + 0x1ac]
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x28]
movsd qword [ecx], xmm0
mov dword [ecx + 8], eax
lea eax, [esp + 0xe4]
mov dword [esp + 0x1b8], eax
xor eax, eax
inc eax
mov dword [esp + 0x284], eax
and dword [esp + 0x288], 0
and dword [esp + 0x28c], 0
push 4
pop ebx
lea ecx, [esp + 0x20]
mov edx, edi
mov dword [esp + 0xc4], ebx
and dword [esp + 0xc8], 0
and dword [esp + 0xcc], 0
call fcn.00419663
xor eax, eax
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
inc eax
cmp dword [esp + 0x20], eax
jne 0x412b77
lea ecx, [esp + 0xc4]
call fcn.004052a2
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ebx
push 4
pop eax
lea edi, [esp + 0x20]
mov ecx, edi
mov dword [esp + 0x1d4], eax
and dword [esp + 0x1d8], 0
and dword [esp + 0x1dc], 0
call fcn.004051e6
jmp 0x4131ca
mov edx, esi
mov dword [esp + 0x1ec], esi
mov dword [esp + 0x1f0], ebx
lea ecx, [esp + 0x358]
push edi
call fcn.00419b14
pop eax
movsd xmm0, qword [esp + 0x358]
movsd xmm1, qword [esp + 0x360]
lea edi, [esp + 0x20]
lea ecx, [esp + 0x308]
mov edx, edi
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
call fcn.0040f780
mov eax, dword [esp + 0x310]
mov ecx, dword [esp + 0x94]
movsd xmm0, qword [esp + 0x308]
mov dword [esp + 0x138], 1
xor edx, edx
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
and dword [esp + 0x148], 0
and dword [esp + 0x158], 0
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0x144]
mov dword [esp + 0x88], eax
mov dword [esp + 0x74], ecx
test edx, edx
je 0x4130cf
mov esi, dword [esp + 0x150]
cmp esi, dword [esp + 0x154]
je 0x4130af
lea eax, [esi + 0x34]
mov dword [esp + 0x150], eax
push 0xd
pop ecx
lea edi, [esp + 0x20]
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x20]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4130b4
mov dword [esp + 0x98], edx
push 0xc
pop ebx
mov esi, dword [esp + 0x90]
lea edx, [esp + 0xe8]
mov edi, edx
mov ecx, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea edi, [esp + 0x454]
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x210], eax
mov ecx, ebx
lea esi, [esp + 0x454]
lea eax, [0x43e915]
mov edi, dword [esp + 0x1c0]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x20], eax
mov ecx, 0xffff9534
lea edi, [esp + 0x20]
mov eax, dword [esp + 0x20]
add eax, ecx
lea ecx, [0x45a46d]
push ecx
push 0xf
pop esi
push esi
push edi
call eax
add esp, 0xc
mov ecx, dword [esp + 0x1bc]
mov edx, edi
push esi
call fcn.0040b252
pop ecx
test al, al
je 0x413159
lea ebx, [esp + 0x210]
mov ecx, edi
mov edx, ebx
call fcn.0042c39a
lea esi, [esp + 0x2a0]
mov edx, edi
mov ecx, esi
call fcn.0041bdb1
cmp dword [esp + 0x2a0], 0
je 0x413171
push 0x10
pop ecx
mov ebx, edi
mov edx, ebx
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0xe8]
mov ecx, esi
push 0x45a66c
call fcn.00406718
pop eax
mov dword [esp + 0x20], esi
lea ecx, [esp + 0x368]
lea edx, [esp + 0x1ec]
push 0x45a67c
push ebx
push dword [esp + 0x120]
lea eax, [esp + 0xbc]
push eax
call fcn.004198f1
add esp, 0x10
movsd xmm0, qword [esp + 0x368]
movsd xmm1, qword [esp + 0x370]
lea ecx, [esp + 0x314]
mov edx, ebx
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
call fcn.0040f739
mov eax, dword [esp + 0x31c]
mov ecx, dword [esp + 0x90]
movsd xmm0, qword [esp + 0x314]
mov dword [esp + 0x20], 1
xor edi, edi
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
and dword [esp + 0x30], 0
and dword [esp + 0x40], 0
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0xe0], eax
mov dword [esp + 0xdc], edx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x9c], esi
test edi, edi
je 0x413025
cmp dword [esp + 0x78], esi
je 0x413032
mov eax, dword [esi + 8]
movsd xmm0, qword [esi]
mov dword [esp + 4], edi
mov ecx, 0xffff7b5f
mov dword [esp + 0x130], eax
lea eax, [0x4402ea]
movsd qword [esp + 0x128], xmm0
mov dword [esp + 0x250], eax
mov eax, dword [esp + 0x250]
add eax, ecx
lea ecx, [0x45a56f]
push ecx
push 9
pop ebx
push ebx
lea edi, [esp + 0xc0]
push edi
call eax
add esp, 0xc
lea ecx, [esp + 8]
lea edx, [esp + 0x128]
push ebx
push edi
call fcn.0040853e
pop eax
pop ecx
cmp dword [esp + 8], 5
jne 0x412e64
and dword [esp + 0x1f8], 0
jmp 0x412e95
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [esp + 0x10]
lea ecx, [esp + 0x1f8]
lea edx, [esp + 0x250]
movsd qword [esp + 0x258], xmm1
movsd qword [esp + 0x250], xmm0
call fcn.0041c3d3
lea eax, [0x43e78d]
mov ecx, 0xffff96bc
mov dword [esp + 0x250], eax
mov eax, dword [esp + 0x250]
add eax, ecx
lea ecx, [0x45a603]
push ecx
push 5
pop ebx
push ebx
lea edi, [esp + 0xc0]
push edi
call eax
add esp, 0xc
lea ecx, [esp + 8]
lea edx, [esp + 0x128]
push ebx
push edi
call fcn.0040853e
pop eax
pop ecx
cmp dword [esp + 8], ebx
jne 0x412eee
and dword [esp + 0x204], 0
xor eax, eax
jmp 0x412f26
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [esp + 0x10]
lea ecx, [esp + 0x204]
lea edx, [esp + 0x250]
movsd qword [esp + 0x258], xmm1
movsd qword [esp + 0x250], xmm0
call fcn.0041c3d3
mov eax, dword [esp + 0x204]
test eax, eax
je 0x412ff5
cmp dword [esp + 0x1f8], 0
je 0x412ff5
mov eax, dword [esp + 0x200]
movsd xmm0, qword [esp + 0x1f8]
lea edi, [esp + 8]
lea ecx, [esp + 0x32c]
mov edx, edi
mov dword [esp + 0x10], eax
movsd qword [esp + 8], xmm0
push 0x45a6b0
call fcn.00406645
pop eax
mov eax, dword [esp + 0x20c]
movsd xmm0, qword [esp + 0x204]
lea ecx, [esp + 0xb8]
mov edx, edi
mov dword [esp + 0x10], eax
movsd qword [esp + 8], xmm0
push 0x45a6c0
call fcn.00406645
pop eax
mov eax, dword [esp + 0x334]
mov ecx, dword [esp + 0xd8]
movsd xmm0, qword [esp + 0x32c]
movsd xmm1, qword [esp + 0xb8]
lea edx, [esp + 0x250]
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
mov ecx, dword [esp + 0xa0]
mov eax, dword [esp + 0xc0]
mov dword [ecx + 8], eax
movsd qword [ecx], xmm1
and dword [esp + 0x250], 0
lea ecx, [esp + 0xc4]
call fcn.0040a196
jmp 0x41300d
lea ecx, [esp + 0x204]
call fcn.00405348
lea ecx, [esp + 0x1f8]
call fcn.00405348
mov edi, dword [esp + 4]
lea ecx, [esp + 0x128]
add esi, 0xc
call fcn.004056dc
jmp 0x412ddf
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x38], eax
jmp 0x41305f
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0xd4]
and dword [esp + 0x250], 0
mov dword [esp + 0x38], eax
call fcn.0040569f
and dword [esp + 0x30], 0
lea ecx, [esp + 0x250]
call fcn.004054e4
mov edi, dword [esp + 0x24]
and dword [esp + 0x24], 0
test edi, edi
je 0x413125
imul esi, dword [esp + 0xdc], 0xc
mov ecx, dword [esp + 0xd4]
add esi, edi
call fcn.0040569f
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x30], edi
mov dword [esp + 0x78], esi
mov dword [esp + 0x9c], edi
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], esi
mov esi, edi
jmp 0x412ddf
and dword [esp + 0x20], 0
mov ecx, dword [esp + 0x80]
call fcn.0040545d
and dword [esp + 0x148], 0
mov ecx, edi
call fcn.00405b77
mov eax, dword [esp + 0x13c]
and dword [esp + 0x13c], 0
test eax, eax
je 0x41317c
imul esi, dword [esp + 0x74], 0x34
mov ecx, dword [esp + 0x80]
mov ebx, eax
add esi, eax
call fcn.0040545d
mov eax, dword [esp + 0x88]
mov dword [esp + 0x148], ebx
mov edx, ebx
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], ebx
mov dword [esp + 0x154], esi
jmp 0x412c19
mov ecx, dword [esp + 0x90]
call fcn.004051b5
mov ecx, dword [esp + 0xd4]
call fcn.0040569f
mov ecx, dword [esp + 0x1d0]
call fcn.0040569f
lea ecx, [esp + 0xe8]
call fcn.0040501a
lea edi, [esp + 0x20]
lea ecx, [esp + 0x210]
call fcn.004055cc
mov edx, dword [esp + 0x98]
jmp 0x412c19
mov ecx, esi
call fcn.004054d4
mov ecx, ebx
jmp 0x413160
mov ecx, dword [esp + 0x94]
call fcn.00405a32
mov ecx, dword [esp + 0x80]
call fcn.0040545d
mov ecx, dword [esp + 0x1c4]
call fcn.0040545d
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x1dc], edx
push 8
pop eax
lea ebx, [esp + 0x8c]
mov ecx, edi
mov edx, ebx
mov dword [esp + 0x244], eax
and dword [esp + 0x248], 0
and dword [esp + 0x24c], 0
call fcn.00419663
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
cmp dword [esp + 0x20], 1
jne 0x41323f
lea ecx, [esp + 0x244]
call fcn.00405228
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edi
push 8
pop eax
lea ecx, [esp + 0x20]
mov dword [esp + 0x1e0], eax
and dword [esp + 0x1e4], 0
and dword [esp + 0x1e8], 0
call fcn.004051e6
jmp 0x413cab
mov dword [esp + 0x350], esi
mov dword [esp + 0x354], edi
lea ecx, [esp + 0x358]
mov edx, esi
push ebx
call fcn.00419b14
pop eax
movsd xmm0, qword [esp + 0x358]
movsd xmm1, qword [esp + 0x360]
lea edi, [esp + 0x20]
lea ecx, [esp + 0x308]
mov edx, edi
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
call fcn.0040f780
mov eax, dword [esp + 0x310]
mov ecx, dword [esp + 0xd8]
movsd xmm0, qword [esp + 0x308]
mov dword [esp + 0x250], 1
xor ebx, ebx
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
and dword [esp + 0x260], 0
and dword [esp + 0x270], 0
mov eax, dword [esp + 0x258]
mov ecx, dword [esp + 0x25c]
mov dword [esp + 0x304], eax
mov dword [esp + 0x300], ecx
test ebx, ebx
je 0x413b9d
mov esi, dword [esp + 0x268]
cmp esi, dword [esp + 0x26c]
je 0x413b7d
lea eax, [esi + 0x34]
mov dword [esp + 0x268], eax
push 0xd
pop ecx
lea edi, [esp + 0x20]
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x20]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x413b82
mov dword [esp + 0xd0], ebx
push 0xc
pop ebx
mov esi, dword [esp + 0x90]
lea edx, [esp + 0xe8]
mov edi, edx
mov ecx, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea edi, [esp + 0x454]
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x210], eax
mov ecx, ebx
lea esi, [esp + 0x454]
lea eax, [0x43fd6b]
mov edi, dword [esp + 0x1c0]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x20], eax
mov ecx, 0xffff80de
lea edi, [esp + 0x20]
mov eax, dword [esp + 0x20]
add eax, ecx
lea ecx, [0x45a40d]
push ecx
push 0xb
pop esi
push esi
push edi
call eax
add esp, 0xc
mov ecx, dword [esp + 0x1bc]
mov edx, edi
push esi
call fcn.0040b252
pop ecx
test al, al
je 0x413bf2
push 0xd
pop ecx
lea edi, [esp + 0x20]
lea esi, [esp + 0x210]
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x20]
lea esi, [esp + 0x2a0]
mov ecx, esi
mov edx, edi
call fcn.0041bdb1
cmp dword [esp + 0x2a0], 0
je 0x413c4a
push 0x10
pop ecx
mov ebx, edi
mov edx, ebx
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0xe8]
mov ecx, esi
push 0x45a584
call fcn.00406718
pop eax
mov dword [esp + 0x20], esi
lea ecx, [esp + 0x368]
lea edx, [esp + 0x350]
push 0x45a594
push ebx
push dword [esp + 0x120]
lea eax, [esp + 0x98]
push eax
call fcn.004198f1
add esp, 0x10
movsd xmm0, qword [esp + 0x368]
movsd xmm1, qword [esp + 0x370]
lea ecx, [esp + 0x314]
mov edx, ebx
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
call fcn.0040f739
mov eax, dword [esp + 0x31c]
mov ecx, dword [esp + 0x94]
movsd xmm0, qword [esp + 0x314]
mov dword [esp + 0x138], 1
xor ebx, ebx
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
and dword [esp + 0x148], 0
and dword [esp + 0x158], 0
mov ecx, dword [esp + 0x150]
mov eax, dword [esp + 0x140]
mov edx, dword [esp + 0x144]
mov esi, ecx
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x2f8], edx
mov dword [esp + 0x1cc], ecx
push 4
pop edi
test ebx, ebx
je 0x4134f9
cmp esi, dword [esp + 0x154]
jne 0x413565
mov ecx, dword [esp + 0x80]
and dword [esp + 0x20], 0
mov dword [esp + 0x150], esi
call fcn.0040569f
and dword [esp + 0x148], 0
lea ecx, [esp + 0x20]
call fcn.004054e4
jmp 0x413507
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0x150], eax
mov ebx, dword [esp + 0x13c]
and dword [esp + 0x13c], 0
test ebx, ebx
je 0x413c0a
imul esi, dword [esp + 0x2f8], 0xc
mov ecx, dword [esp + 0x80]
add esi, ebx
call fcn.0040569f
mov eax, dword [esp + 0x2fc]
mov dword [esp + 0x148], ebx
mov dword [esp + 0x1cc], ebx
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], ebx
mov dword [esp + 0x154], esi
mov esi, ebx
jmp 0x4134bd
mov eax, dword [esi + 8]
movsd xmm0, qword [esi]
mov dword [esp + 0x78], esi
mov ecx, 0xffff8cec
mov dword [esp + 0x170], eax
lea eax, [0x43f15d]
movsd qword [esp + 0x168], xmm0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add eax, ecx
lea ecx, [0x45a52c]
push ecx
push edi
lea esi, [esp + 0xc0]
push esi
call eax
add esp, 0xc
lea ecx, [esp + 8]
lea edx, [esp + 0x168]
push edi
push esi
call fcn.0040853e
pop eax
pop ecx
cmp dword [esp + 8], 5
mov dword [esp + 4], ebx
jne 0x4135d3
and dword [esp + 0x320], 0
jmp 0x4135fb
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [esp + 0x10]
lea ecx, [esp + 0x320]
lea edx, [esp + 0x20]
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
call fcn.0041c3d3
lea eax, [0x43cc58]
mov ecx, 0xffffb1f1
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add eax, ecx
lea ecx, [0x45a46e]
push ecx
push 0xa
pop esi
push esi
lea ebx, [esp + 0xc0]
push ebx
call eax
add esp, 0xc
lea ecx, [esp + 8]
lea edx, [esp + 0x168]
push esi
push ebx
call fcn.0040853e
pop eax
pop ecx
xor esi, esi
cmp dword [esp + 8], 5
je 0x413682
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [esp + 0x10]
lea ecx, [esp + 0x3f8]
lea edx, [esp + 0x20]
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
call fcn.0041c3f7
mov eax, dword [esp + 0x404]
mov esi, dword [esp + 0x3f8]
mov ecx, dword [esp + 0x400]
xor edx, edx
or ecx, eax
mov dword [esp + 0x88], esi
setne dl
test esi, esi
push 2
pop eax
mov ecx, 0xffff21d3
cmove edx, eax
lea eax, [0x445c76]
mov dword [esp + 0xe0], edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add eax, ecx
lea ecx, [0x45a544]
push ecx
push edi
lea esi, [esp + 0xc0]
push esi
call eax
add esp, 0xc
lea ecx, [esp + 8]
lea edx, [esp + 0x168]
push edi
push esi
call fcn.0040853e
pop eax
pop ecx
cmp dword [esp + 8], 5
jne 0x4136f2
and dword [esp + 0x1ec], 0
lea edi, [esp + 0x20]
jmp 0x41371c
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [esp + 0x10]
lea edi, [esp + 0x20]
lea ecx, [esp + 0x1ec]
mov edx, edi
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
call fcn.0041c3d3
push 8
lea eax, [0x445db9]
pop ecx
mov edx, 0xffff2090
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add eax, edx
lea edx, [0x45a4c8]
push edx
push ecx
lea ebx, [esp + 0xc0]
push ebx
mov esi, ecx
call eax
add esp, 0xc
lea ecx, [esp + 8]
lea edx, [esp + 0x168]
push esi
push ebx
call fcn.0040853e
pop eax
pop ecx
cmp dword [esp + 8], 5
je 0x4137a9
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [esp + 0x10]
lea ecx, [esp + 0x3e8]
mov edx, edi
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
call fcn.0041c3f7
mov eax, dword [esp + 0x3f0]
or eax, dword [esp + 0x3f4]
setne byte [esp + 0x74]
cmp dword [esp + 0x3e8], 0
jne 0x4137ae
mov byte [esp + 0x74], 2
lea eax, [0x43cc15]
mov ecx, 0xffffb234
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add eax, ecx
lea ecx, [0x45a516]
push ecx
push 6
pop esi
push esi
lea ebx, [esp + 0xc0]
push ebx
call eax
add esp, 0xc
lea ecx, [esp + 8]
lea edx, [esp + 0x168]
push esi
push ebx
call fcn.0040853e
pop eax
pop ecx
xor esi, esi
cmp dword [esp + 8], 5
mov eax, 0
je 0x41384d
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [esp + 0x10]
lea ecx, [esp + 0x3d8]
mov edx, edi
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
call fcn.0041c3f7
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0xdc], eax
mov esi, dword [esp + 0x3d8]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x9c], eax
lea eax, [0x4445ec]
mov ecx, 0xffff385d
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add eax, ecx
lea ecx, [0x45a564]
push ecx
push 4
pop edi
push edi
lea ebx, [esp + 0xc0]
push ebx
call eax
add esp, 0xc
lea ecx, [esp + 8]
lea edx, [esp + 0x168]
push edi
push ebx
call fcn.0040853e
pop eax
pop ecx
cmp dword [esp + 8], 5
jne 0x4138a6
and dword [esp + 0xc4], 0
jmp 0x4138ce
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [esp + 0x10]
lea ecx, [esp + 0xc4]
lea edx, [esp + 0x20]
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
call fcn.0041c3d3
lea eax, [0x43949f]
mov ecx, 0xffffe9aa
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add eax, ecx
lea ecx, [0x45a54b]
push ecx
push 5
pop edi
push edi
lea ebx, [esp + 0xc0]
push ebx
call eax
add esp, 0xc
lea ecx, [esp + 8]
lea edx, [esp + 0x168]
push edi
push ebx
call fcn.0040853e
pop eax
pop ecx
cmp dword [esp + 8], edi
jne 0x41391f
and dword [esp + 0x128], 0
jmp 0x413947
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [esp + 0x10]
lea ecx, [esp + 0x128]
lea edx, [esp + 0x20]
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
call fcn.0041c3d3
mov ebx, dword [esp + 4]
cmp dword [esp + 0x88], 0
je 0x413b35
cmp dword [esp + 0x320], 0
je 0x413b35
cmp dword [esp + 0x1ec], 0
je 0x413b35
cmp byte [esp + 0x74], 2
je 0x413b35
xor esi, 1
or esi, dword [esp + 0x9c]
jne 0x413b35
cmp dword [esp + 0xc4], 0
je 0x413b35
cmp dword [esp + 0x128], 0
je 0x413b35
mov eax, dword [esp + 0x328]
movsd xmm0, qword [esp + 0x320]
lea esi, [esp + 8]
lea ecx, [esp + 0x1f8]
mov edx, esi
mov dword [esp + 0x10], eax
movsd qword [esp + 8], xmm0
push 0x45a5f8
call fcn.00406645
pop eax
movzx ecx, byte [esp + 0xe0]
mov edx, 0x45a608
call fcn.004066aa
mov ecx, dword [esp + 0x1f4]
movsd xmm0, qword [esp + 0x1ec]
mov byte [esp + 0x88], al
mov edx, esi
mov dword [esp + 0x10], ecx
movsd qword [esp + 8], xmm0
lea ecx, [esp + 0x204]
push 0x45a618
call fcn.00406645
pop eax
movzx ecx, byte [esp + 0x74]
mov edx, 0x45a628
call fcn.004066aa
mov ecx, dword [esp + 0xcc]
movsd xmm0, qword [esp + 0xc4]
mov byte [esp + 0x74], al
mov edx, esi
mov dword [esp + 0x10], ecx
movsd qword [esp + 8], xmm0
lea ecx, [esp + 0x32c]
push 0x45a638
call fcn.00406645
pop eax
mov eax, dword [esp + 0x130]
movsd xmm0, qword [esp + 0x128]
lea ecx, [esp + 0xb8]
mov edx, esi
mov dword [esp + 0x10], eax
movsd qword [esp + 8], xmm0
push 0x45a648
call fcn.00406645
pop eax
mov eax, dword [esp + 0x200]
lea edx, [esp + 0x20]
movsd xmm0, qword [esp + 0x1f8]
mov esi, dword [esp + 0x98]
mov ecx, dword [esp + 0xdc]
mov dword [edx + 0x10], eax
mov al, byte [esp + 0x88]
movsd qword [edx + 8], xmm0
movsd xmm0, qword [esp + 0x204]
mov byte [esp + 0x58], al
mov eax, dword [esp + 0x20c]
movsd qword [edx + 0x14], xmm0
movsd xmm0, qword [esp + 0x32c]
mov dword [edx + 0x1c], eax
mov al, byte [esp + 0x74]
mov byte [esp + 0x59], al
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x1d0]
mov esi, dword [esp + 0x334]
movsd qword [ecx], xmm0
mov dword [ecx + 8], esi
mov ecx, dword [esp + 0xc0]
movsd xmm0, qword [esp + 0xb8]
mov dword [edx + 0x34], ecx
lea ecx, [esp + 0x244]
movsd qword [edx + 0x2c], xmm0
call fcn.00409fce
jmp 0x413b65
lea ecx, [esp + 0x128]
call fcn.00405348
lea ecx, [esp + 0xc4]
call fcn.00405348
lea ecx, [esp + 0x1ec]
call fcn.00405348
lea ecx, [esp + 0x320]
call fcn.00405348
mov esi, dword [esp + 0x78]
lea ecx, [esp + 0x168]
add esi, 0xc
call fcn.004056dc
jmp 0x4134ba
and dword [esp + 0x20], 0
mov ecx, dword [esp + 0xa0]
call fcn.0040545d
and dword [esp + 0x260], 0
mov ecx, edi
call fcn.00405b77
mov ebx, dword [esp + 0x254]
and dword [esp + 0x254], 0
test ebx, ebx
je 0x413c5d
imul esi, dword [esp + 0x300], 0x34
mov ecx, dword [esp + 0xa0]
add esi, ebx
call fcn.0040545d
mov eax, dword [esp + 0x304]
mov dword [esp + 0x260], ebx
mov dword [esp + 0x264], eax
mov dword [esp + 0x268], ebx
mov dword [esp + 0x26c], esi
jmp 0x4132e4
lea ecx, [esp + 0x210]
call fcn.004055cc
mov ebx, dword [esp + 0xd0]
jmp 0x4132e4
mov ecx, dword [esp + 0x94]
call fcn.004051b5
mov ecx, dword [esp + 0x80]
call fcn.0040569f
mov ecx, dword [esp + 0x1c4]
call fcn.0040569f
lea ecx, [esp + 0xe8]
call fcn.0040501a
mov ebx, dword [esp + 0xd0]
lea edi, [esp + 0x20]
jmp 0x4132e4
mov ecx, esi
call fcn.004054d4
mov ebx, dword [esp + 0xd0]
jmp 0x4132e4
mov ecx, dword [esp + 0xd8]
call fcn.00405a32
mov ecx, dword [esp + 0xa0]
call fcn.0040545d
mov ecx, dword [esp + 0x2e4]
call fcn.0040545d
mov eax, dword [esp + 0x244]
mov ecx, dword [esp + 0x248]
mov edx, dword [esp + 0x24c]
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x1e8], edx
mov dword [esp + 0xe8], 1
and dword [esp + 0xec], 0
and dword [esp + 0xf0], 0
lea esi, [esp + 0x178]
lea edi, [esp + 0xe8]
lea ebx, [esp + 0x210]
mov ecx, esi
mov edx, edi
call fcn.0041c9b4
test eax, eax
jne 0x413d1f
lea ecx, [esp + 0x1e0]
mov edx, edi
call fcn.0041c8a0
test eax, eax
jne 0x413d1f
lea ecx, [esp + 0x1d4]
mov edx, edi
call fcn.0041c6a4
test eax, eax
jne 0x413d1f
mov ecx, dword [esp + 0x1c]
mov edx, edi
call fcn.0041c9b4
test eax, eax
je 0x413e0e
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0x459430
call fcn.004051e6
and dword [esp + 0x68], 0
mov dword [esp + 0x64], 0xc01
mov dword [esp + 0x60], 1
mov ecx, edi
call fcn.00435706
lea ecx, [esp + 0x1e0]
call fcn.00405228
lea ecx, [esp + 0x1d4]
call fcn.004052a2
lea ecx, [esp + 0x284]
call fcn.00435706
push dword [esp + 0x1c8]
call fcn.0040549a
pop eax
mov ecx, esi
call fcn.00435706
mov ecx, dword [esp + 0x1c]
call fcn.00435706
lea ecx, [esp + 0x19c]
call fcn.00435706
lea ecx, [esp + 0x1ac]
call fcn.00435706
lea ecx, [esp + 0x43c]
call fcn.00435706
push dword [esp + 0xe4]
call fcn.0044b794
push dword [esp + 0xb4]
call fcn.0044b794
push dword [esp + 0xb0]
call fcn.0044b794
push dword [esp + 0x8c]
call fcn.0044b794
push dword [esp + 0x84]
call fcn.0044b794
lea ecx, [esp + 0x3b4]
call fcn.00435706
lea ecx, [esp + 0xa4]
call fcn.00435706
jmp 0x411f5e
lea ebx, [esp + 0x20]
lea eax, [esp + 0x84]
mov edx, edi
mov ecx, ebx
push eax
call fcn.004194c6
pop eax
mov eax, dword [esp + 0x20]
cmp al, 3
jne 0x413e5e
mov edx, dword [esp + 0x84]
mov ecx, ebx
push 0
push 0
push 0
push 0
call fcn.004454b0
add esp, 0x10
cmp dword [esp + 0x20], 1
jne 0x413e85
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
jmp 0x413e6a
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x60], 1
lea ecx, [esp + 0xe8]
lea ebx, [esp + 0x210]
jmp 0x413d4b
lea eax, [esp + 0x284]
mov ecx, ebx
lea edx, [esp + 0x84]
push eax
call fcn.00403669
pop eax
cmp dword [esp + 0x20], 1
lea ebx, [esp + 0x210]
jne 0x413ece
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov dword [esp + 0x60], 1
lea ecx, [esp + 0xe8]
jmp 0x413d4b
lea edi, [esp + 0xe8]
lea ecx, [esp + 0x19c]
mov edx, edi
call fcn.0041c9b4
test eax, eax
jne 0x413d1f
lea eax, [esp + 0xb4]
lea ecx, [esp + 0x20]
mov edx, edi
push eax
call fcn.004194c6
pop eax
mov eax, dword [esp + 0x20]
cmp al, 3
jne 0x413f40
lea ecx, [esp + 0x1ac]
mov edx, edi
call fcn.0041c9b4
test eax, eax
je 0x413f51
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0x459430
call fcn.004051e6
and dword [esp + 0x68], 0
mov dword [esp + 0x64], 0xc01
jmp 0x413eba
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ecx
jmp 0x413d41
lea ebx, [esp + 0x20]
lea edi, [esp + 0xe8]
lea eax, [esp + 0xe4]
mov ecx, ebx
mov edx, edi
push eax
call fcn.004194c6
pop eax
mov eax, dword [esp + 0x20]
cmp al, 3
jne 0x414008
mov edx, dword [esp + 0x2e0]
mov ecx, ebx
push edi
push 1
call fcn.00419543
pop eax
pop ecx
mov ecx, ebx
mov edx, 0x45ab70
call fcn.00406ac8
mov eax, dword [esp + 0x28c]
mov ebx, dword [esp + 0x1c8]
movsd xmm0, qword [esp + 0x284]
mov ecx, edi
mov dword [ebx + 8], eax
movsd qword [ebx], xmm0
and dword [esp + 0x60], 0
call fcn.00435706
lea ecx, [esp + 0x1e0]
call fcn.00405228
lea ecx, [esp + 0x1d4]
call fcn.004052a2
mov eax, dword [ebx + 8]
movsd xmm0, qword [ebx]
lea ecx, [esp + 0x338]
lea edx, [esp + 0x20]
mov dword [esp + 0x28], eax
movsd qword [esp + 0x20], xmm0
call fcn.0040a0c1
lea ebx, [esp + 0x210]
jmp 0x413d81
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ecx
mov ecx, edi
mov dword [esp + 0x60], 1
jmp 0x413e79
lea ecx, [esp + 0x290]
call fcn.00404fa8
mov eax, dword [esp + 0x340]
mov ecx, dword [esp + 0x7c]
movsd xmm0, qword [esp + 0x338]
mov dword [ecx + 0xc], eax
movsd qword [ecx + 4], xmm0
and dword [ecx], 0
lea ecx, [esp + 0x40c]
call fcn.00405902
jmp 0x4141f6
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x28]
mov dword [edx + 8], ecx
lea ecx, [esp + 0x3b4]
mov dword [edx + 4], eax
mov dword [edx], 1
call fcn.00435706
mov bl, 1
mov al, 1
mov dword [esp + 4], eax
jmp 0x414166
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x28]
mov bl, 1
mov dword [edx + 4], eax
mov al, 1
mov dword [edx + 8], ecx
mov dword [edx], 1
mov dword [esp + 4], eax
jmp 0x41413f
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x28]
mov dword [edx + 4], eax
mov al, 1
mov dword [edx + 8], ecx
mov dword [edx], 1
mov dword [esp + 4], eax
jmp 0x414131
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0xf0]
mov dword [edx + 8], ecx
lea ecx, [esp + 0x3cc]
mov dword [edx + 4], eax
mov dword [edx], 1
call fcn.00404f8c
lea ecx, [esp + 0x3c0]
call fcn.00404f8c
jmp 0x41411d
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0xf0]
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov dword [edx], 1
push dword [esp + 0xb4]
call fcn.0044b794
push dword [esp + 0xb0]
call fcn.0044b794
mov dword [esp + 4], 0
push dword [esp + 0x8c]
call fcn.0044b794
xor ebx, ebx
push dword [esp + 0x84]
call fcn.0044b794
lea ecx, [esp + 0x3b4]
call fcn.00435706
cmp byte [esp + 4], 0
je 0x4141b6
mov dword [esp + 4], 0
lea ecx, [esp + 0x3a8]
call fcn.00435706
lea ecx, [esp + 0x39c]
call fcn.00435706
lea ecx, [esp + 0x390]
call fcn.00435706
lea ecx, [esp + 0x384]
call fcn.00435706
test bl, bl
je 0x4141a6
lea ecx, [esp + 0x344]
call fcn.00435706
cmp byte [esp + 4], 0
je 0x4141c6
lea ecx, [esp + 0x378]
jmp 0x4141c1
test bl, bl
je 0x4141c6
lea ecx, [esp + 0x344]
call fcn.00435706
lea ecx, [esp + 0xa4]
call fcn.00435706
lea ecx, [esp + 0x290]
call fcn.00404fa8
lea ecx, [esp + 0x40c]
call fcn.00405902
lea ecx, [esp + 0x338]
call fcn.00405444
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x2b
pop edx
mov ecx, 0x46207d
push 0x45a528
call fcn.00430900
pop eax
ud2