Function at 0x40ab70
Capabilities:
Authenticate hmac
Encode data using base64
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x618
mov esi, esp
mov dword [esi + 0x600], ebp
mov dword [esi + 0x604], esp
mov dword [esi + 0x610], 0xffffffff
mov dword [esi + 0x60c], 0x417960
mov dword [esi + 0xc], ecx
lea eax, [esi + 0x608]
mov edi, edx
mov ecx, dword fs:[0]
mov dword [esi + 0x608], ecx
mov dword fs:[0], eax
mov eax, dword [0x61c0d0]
mov eax, dword [eax]
cmp eax, 2
jbe 0x40ac5a
mov edx, dword [ebp + 8]
mov ecx, str.none__W
mov dword [esi + 0x440], edi
mov dword [esi + 0x444], 0x404cd0
mov dword [esi + str.starting_update_for___using_proxy], 0x572a7c
mov dword [esi + 0x264], 2
mov dword [esi + 0x268], 0
mov eax, dword [edx]
test eax, eax
cmovne ecx, eax
mov eax, 4
cmovne eax, dword [edx + 8]
mov dword [esi + 0x48], ecx
mov dword [esi + 0x4c], eax
lea eax, [esi + 0x48]
mov dword [esi + 0x448], eax
lea eax, [esi + 0x440]
mov dword [esi + 0x44c], 0x42a000
mov dword [esi + 0x270], eax
mov dword [esi + 0x274], 2
lea eax, [esi + 0x260]
push 0x572a90
push 3
push eax
call fcn.004753b0
add esp, 0xc
mov eax, dword [edi]
mov ebx, dword [edi + 8]
mov dword [esi + 4], eax
lea eax, [esi + 0xd8]
push eax
call fcn.004563b0
add esp, 4
lea eax, [esi + 0x260]
push ebx
push dword [esi + 4]
lea ecx, [esi + 0xd8]
push ecx
push eax
call fcn.00456320
add esp, 0x10
lea eax, [esi + 0x200]
lea ecx, [esi + 0xd8]
mov dword [esi + 0xd8], 0x57240c
mov dword [esi + 0xdc], 1
mov dword [esi + 0x14], edi
mov dword [esi + 0x200], edi
mov dword [esi + 0xe0], 0
mov byte [esi + 0x91], 1
mov dword [esi + 0x610], 0
mov dword [esi + 0xc8], eax
lea eax, [esi + 0xc8]
mov dword [esi + 0xcc], 0x427fc0
mov dword [esi + 0xe8], eax
mov dword [esi + 0xec], 1
lea eax, [esi + 0x178]
push ecx
push eax
call fcn.004feef0
add esp, 8
mov ecx, dword [esi + 0x178]
mov edx, dword [esi + 0x17c]
cmp byte [esi + 0x260], 1
jne 0x40ae74
mov edi, dword [esi + 0x180]
movzx eax, byte [esi + 0x261]
mov dword [esi + 0xd8], ecx
mov dword [esi + 0xdc], edx
mov dword [esi + 4], edx
mov dword [esi + 0x610], 1
mov dword [esi + 0xc], edi
mov dword [esi + 0xe0], edi
push eax
mov dword [esi + 0x14], ecx
call fcn.00437d00
add esp, 4
mov ecx, dword [esi + 0x14]
mov ebx, dword [esi + 4]
mov edi, dword [esi + 0xc]
mov dword [esi + 0x610], 2
mov dword [esi + 0x100], ecx
mov dword [esi + 0x104], ebx
mov dword [esi + 0x108], edi
mov dword [esi + 0x10c], 1
mov dword [esi + 0x110], eax
lea eax, [esi + 0x10c]
mov dword [esi + 0x114], edx
push eax
call fcn.004cce00
add esp, 4
lea eax, [esi + 0xd8]
push eax
call fcn.004ccf00
add esp, 4
movsd xmm1, qword [esi + 0x110]
mov eax, dword [esi + 0x128]
movsd xmm0, qword [esi + 0x120]
movsd xmm2, qword [esi + 0x118]
movsd xmm3, qword [esi + 0x100]
movsd qword [esi + 0x28c], xmm1
movsd xmm1, qword [esi + 0x108]
mov dword [esi + 0x2a4], eax
movsd qword [esi + 0x294], xmm2
mov eax, dword [esi + 0xf0]
movsd qword [esi + 0x29c], xmm0
movsd qword [esi + 0x27c], xmm3
movsd xmm2, qword [esi + 0xd8]
movsd qword [esi + 0x284], xmm1
movsd xmm1, qword [esi + 0xe0]
movsd qword [esi + 0x260], xmm2
mov dword [esi + 0x278], eax
movsd qword [esi + 0x268], xmm1
movsd xmm1, qword [esi + 0xe8]
movsd qword [esi + 0x270], xmm1
push 4
push 0x48
call fcn.0043c290
add esp, 8
test eax, eax
je 0x4110c9
mov ebx, eax
push 0x48
lea eax, [esi + 0x260]
push eax
push ebx
call fcn.0054ad50
jmp 0x40b31b
mov eax, dword [esi + 0x264]
movsd xmm1, qword [esi + 0x29c]
movsd xmm2, qword [esi + 0x294]
movsd xmm0, qword [esi + 0x2a4]
mov edi, dword [esi + 0x268]
mov ebx, dword [esi + 0x26c]
test edx, edx
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x270]
movsd qword [esi + 0x120], xmm1
movsd xmm1, qword [esi + 0x28c]
movsd qword [esi + 0x118], xmm2
movsd xmm2, qword [esi + 0x27c]
movsd qword [esi + 0x128], xmm0
mov dword [esi + 4], eax
mov eax, dword [esi + 0x274]
movsd qword [esi + 0x110], xmm1
movsd xmm1, qword [esi + 0x284]
movsd qword [esi + 0x100], xmm2
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x278]
movsd qword [esi + 0x108], xmm1
mov dword [esi + 8], eax
je 0x40af1c
push 1
push edx
push ecx
mov dword [esi + 0x20], ebx
mov ebx, edi
call fcn.0043c2a0
mov ebx, dword [esi + 0x20]
add esp, 0xc
movsd xmm0, qword [esi + 0x100]
mov eax, dword [esi + 0x24]
movsd xmm1, qword [esi + 0x108]
mov dword [esi + str.error_reading], 0x572420
mov dword [esi + 0x264], 2
mov dword [esi + 0x268], 0
mov dword [esi + 0x610], 3
lea ecx, [esi + 0x100]
movsd qword [esi + 0x148], xmm0
movsd xmm0, qword [esi + 0x110]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x4c], edi
mov dword [esi + 0x50], ebx
movsd qword [esi + 0x150], xmm1
movsd qword [esi + 0x158], xmm0
movsd xmm0, qword [esi + 0x118]
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x18]
movsd qword [esi + 0x160], xmm0
movsd xmm0, qword [esi + 0x120]
mov dword [esi + 0x58], eax
mov eax, dword [esi + 8]
movsd xmm2, qword [esi + 0x160]
movsd qword [esi + 0x168], xmm0
movsd xmm0, qword [esi + 0x128]
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0xc]
movsd xmm1, qword [esi + 0x168]
movsd qword [esi + 0x78], xmm2
movsd xmm2, qword [esi + 0x148]
movsd qword [esi + 0x170], xmm0
lea eax, [eax + 0x60]
movsd qword [esi + 0x80], xmm1
movsd xmm1, qword [esi + 0x158]
movsd xmm0, qword [esi + 0x170]
mov dword [esi + 0x24], eax
mov dword [esi + 0x178], eax
lea eax, [esi + 0x178]
movsd qword [esi + 0x60], xmm2
mov dword [esi + 0xc8], eax
lea eax, [esi + 0xc8]
mov dword [esi + 0xcc], 0x427fc0
mov dword [esi + 0x270], eax
lea eax, [esi + 0x260]
mov dword [esi + 0x274], 1
movsd qword [esi + 0x70], xmm1
movsd xmm1, qword [esi + 0x150]
movsd qword [esi + 0x88], xmm0
movsd qword [esi + 0x68], xmm1
push eax
push ecx
call fcn.004feef0
add esp, 8
mov eax, dword [esi + 0x108]
movsd xmm0, qword [esi + 0x100]
mov dword [esi + 0x610], 4
movsd qword [esi + 0xd8], xmm0
mov dword [esi + 0xe0], eax
mov dword [esi + 8], eax
mov eax, dword [esi + 0xd8]
mov dword [esi + 4], eax
lea eax, [esi + 0x260]
push eax
call fcn.004563b0
add esp, 4
lea ecx, [esi + 0x100]
lea eax, [esi + 0x48]
push eax
lea eax, [esi + 0x260]
push eax
push ecx
call fcn.004562f0
lea ecx, [esi + 0x100]
add esp, 0xc
lea eax, [esi + 0x440]
push dword [esi + 8]
push dword [esi + 4]
push ecx
push eax
call fcn.00456320
lea ecx, [esi + 0x100]
add esp, 0x10
mov eax, dword [esi + 0x24]
mov dword [esi + str.invalid_update_location_0_W], 0x572448
mov dword [esi + 0x264], 1
mov dword [esi + 0x268], 0
mov byte [esi + 0x92], 1
mov dword [esi + 0x610], 6
mov dword [esi + 0x178], eax
lea eax, [esi + 0x178]
mov dword [esi + 0xb8], eax
lea eax, [esi + 0xb8]
mov dword [esi + 0xbc], 0x427fc0
mov dword [esi + 0x270], eax
lea eax, [esi + 0x260]
mov dword [esi + 0x274], 1
push eax
push ecx
call fcn.004feef0
add esp, 8
mov ecx, dword [esi + 0x100]
mov edx, dword [esi + 0x104]
cmp byte [esi + 0x440], 1
jne 0x40b435
mov edi, dword [esi + 0x108]
movzx eax, byte [esi + 0x441]
mov dword [esi + 0x260], ecx
mov dword [esi + 0x264], edx
mov dword [esi + 0xc], edx
mov dword [esi + 0x610], 7
mov dword [esi + 0x14], edi
mov dword [esi + 0x268], edi
push eax
mov dword [esi + 0x24], ecx
call fcn.00437d00
add esp, 4
mov ecx, dword [esi + 0x24]
mov ebx, dword [esi + 0xc]
mov edi, dword [esi + 0x14]
movsd xmm0, qword [esi + 0x198]
movsd xmm1, qword [esi + 0x1a0]
mov dword [esi + 0x610], 5
mov dword [esi + 0x440], ecx
mov dword [esi + 0x444], ebx
mov dword [esi + 0x448], edi
mov dword [esi + 0x44c], 1
mov dword [esi + 0x450], eax
mov eax, dword [esi + 0x1a8]
mov dword [esi + 0x454], edx
movsd qword [esi + 0x458], xmm0
movsd qword [esi + 0x460], xmm1
mov dword [esi + 0x468], eax
lea eax, [esi + 0x44c]
push eax
call fcn.004cce00
add esp, 4
lea eax, [esi + 0x100]
push eax
call fcn.004ccf00
add esp, 4
movsd xmm1, qword [esi + 0x450]
mov eax, dword [esi + 0x468]
movsd xmm0, qword [esi + 0x460]
movsd xmm2, qword [esi + 0x458]
movsd xmm3, qword [esi + 0x440]
movsd qword [esi + 0x28c], xmm1
movsd xmm1, qword [esi + 0x448]
mov dword [esi + 0x2a4], eax
movsd qword [esi + 0x294], xmm2
mov eax, dword [esi + 0x118]
movsd qword [esi + 0x29c], xmm0
movsd qword [esi + 0x27c], xmm3
movsd xmm2, qword [esi + 0x100]
movsd qword [esi + 0x284], xmm1
movsd xmm1, qword [esi + 0x108]
movsd qword [esi + 0x260], xmm2
mov dword [esi + 0x278], eax
movsd qword [esi + 0x268], xmm1
movsd xmm1, qword [esi + 0x110]
movsd qword [esi + 0x270], xmm1
push 4
push 0x48
call fcn.0043c290
add esp, 8
test eax, eax
je 0x4110c9
mov ebx, eax
push 0x48
lea eax, [esi + 0x260]
push eax
push ebx
call fcn.0054ad50
add esp, 0xc
mov eax, dword [esi + 0xdc]
test eax, eax
je 0x40b309
push 1
push eax
push dword [esi + 4]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x40b31e
push 1
push eax
push dword [esi + 0x48]
call fcn.0043c2a0
add esp, 0xc
mov ecx, 0x57559c
mov dword [esi + 0x610], 0x1d
lea eax, [esi + 0x448]
mov dword [esi + 0x440], 0x572aac
mov dword [esi + 0x444], 0x18
mov dword [esi + 0x448], 1
mov dword [esi + 0x44c], ebx
mov dword [esi + 0x450], ecx
push eax
call fcn.004cce00
add esp, 4
lea eax, [esi + 0x48]
push eax
call fcn.004ccf00
add esp, 4
movsd xmm1, qword [esi + 0x450]
movsd xmm0, qword [esi + 0x460]
movsd xmm2, qword [esi + 0x458]
movsd xmm3, qword [esi + 0x440]
mov eax, dword [esi + 0x60]
movsd qword [esi + 0x28c], xmm1
movsd xmm1, qword [esi + 0x448]
movsd qword [esi + 0x294], xmm2
movsd qword [esi + 0x29c], xmm0
movsd qword [esi + 0x27c], xmm3
movsd xmm2, qword [esi + 0x48]
movsd qword [esi + 0x284], xmm1
movsd xmm1, qword [esi + 0x50]
movsd qword [esi + 0x260], xmm2
mov dword [esi + 0x278], eax
movsd qword [esi + 0x268], xmm1
movsd xmm1, qword [esi + 0x58]
movsd qword [esi + 0x270], xmm1
push 4
push 0x44
call fcn.0043c290
add esp, 8
test eax, eax
je 0x410b1b
mov ebx, eax
push 0x44
lea eax, [esi + 0x260]
push eax
push ebx
call fcn.0054ad50
add esp, 0xc
mov edx, 0x5754b8
mov eax, dword [esi + 0x608]
mov dword fs:[0], eax
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esi + 0x444]
movsd xmm1, qword [esi + 0x47c]
movsd xmm2, qword [esi + 0x474]
movsd xmm0, qword [esi + 0x484]
mov edi, dword [esi + 0x448]
mov ebx, dword [esi + 0x44c]
test edx, edx
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x450]
movsd qword [esi + 0x1e8], xmm1
movsd xmm1, qword [esi + 0x46c]
movsd qword [esi + 0x1e0], xmm2
movsd xmm2, qword [esi + 0x45c]
movsd qword [esi + 0x1f0], xmm0
mov dword [esi + 8], eax
mov eax, dword [esi + 0x454]
movsd qword [esi + 0x1d8], xmm1
movsd xmm1, qword [esi + 0x464]
movsd qword [esi + 0x1c8], xmm2
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x458]
movsd qword [esi + 0x1d0], xmm1
mov dword [esi + 0x20], eax
je 0x40b4dd
push 1
push edx
push ecx
mov dword [esi + 0x28], ebx
mov ebx, edi
call fcn.0043c2a0
mov ebx, dword [esi + 0x28]
add esp, 0xc
movsd xmm0, qword [esi + 0x1c8]
mov eax, dword [esi + 0x18]
movsd xmm1, qword [esi + 0x1d0]
movsd qword [esi + 0x198], xmm0
movsd xmm0, qword [esi + 0x1d8]
mov dword [esi + 0x218], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x21c], edi
mov dword [esi + 0x220], ebx
movsd qword [esi + 0x1a0], xmm1
movsd qword [esi + 0x1a8], xmm0
movsd xmm0, qword [esi + 0x1e0]
mov dword [esi + 0x224], eax
mov eax, dword [esi + 0x1c]
movsd qword [esi + 0x1b0], xmm0
movsd xmm0, qword [esi + 0x1e8]
mov dword [esi + 0x228], eax
mov eax, dword [esi + 0x20]
movsd xmm2, qword [esi + 0x1b0]
movsd qword [esi + 0x1b8], xmm0
movsd xmm0, qword [esi + 0x1f0]
mov dword [esi + 0x22c], eax
mov eax, dword [esi + 0xdc]
movsd xmm1, qword [esi + 0x1b8]
movsd qword [esi + 0x248], xmm2
movsd xmm2, qword [esi + 0x198]
movsd qword [esi + 0x1c0], xmm0
test eax, eax
movsd qword [esi + 0x250], xmm1
movsd xmm1, qword [esi + 0x1a8]
movsd xmm0, qword [esi + 0x1c0]
movsd qword [esi + 0x230], xmm2
movsd qword [esi + 0x240], xmm1
movsd xmm1, qword [esi + 0x1a0]
movsd qword [esi + 0x258], xmm0
movsd qword [esi + 0x238], xmm1
je 0x40b5e5
push 1
push eax
push dword [esi + 4]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x40b5fa
push 1
push eax
push dword [esi + 0x48]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [0x61c0d0]
mov eax, dword [eax]
cmp eax, 3
jb 0x40b68c
mov eax, dword [esi + 0x218]
mov ecx, dword [esi + 0x220]
mov dword [esi + str.downloading_P_W], 0x57245c
mov dword [esi + 0x264], 1
mov dword [esi + 0x268], 0
mov dword [esi + 0x610], 8
mov dword [esi + 0x440], eax
lea eax, [esi + 0x440]
mov dword [esi + 0x444], ecx
mov dword [esi + 0x100], eax
lea eax, [esi + 0x100]
mov dword [esi + 0x104], 0x42a000
mov dword [esi + 0x270], eax
mov dword [esi + 0x274], 1
push 0x572464
push 3
lea eax, [esi + 0x260]
push eax
call fcn.004753b0
add esp, 0xc
mov edx, dword [esi + 0x218]
mov eax, dword [esi + 0x220]
mov dword [esi + 0x610], 8
lea ecx, [esi + 0x440]
push dword [ebp + 8]
push dword [esi + 0x14]
push eax
call fcn.00406b00
add esp, 0xc
lea eax, [esi + 0x218]
mov dword [esi + str.error_accessing], 0x572490
mov dword [esi + 0x264], 1
mov dword [esi + 0x268], 0
mov dword [esi + 0x610], 0x18
mov dword [esi + 0x100], eax
lea eax, [esi + 0x100]
mov dword [esi + 0x438], eax
lea eax, [esi + 0x438]
mov dword [esi + 0x43c], 0x427fc0
mov dword [esi + 0x270], eax
lea eax, [esi + 0x260]
mov dword [esi + 0x274], 1
push eax
lea eax, [esi + 0x48]
push eax
call fcn.004feef0
add esp, 8
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov ebx, dword [esi + 0x444]
mov edx, dword [esi + 0x448]
cmp dword [esi + 0x440], 1
jne 0x40b857
mov dword [esi + 0x440], eax
mov eax, dword [esi + 0x50]
mov dword [esi + 0x444], ecx
mov dword [esi + 0x610], 9
mov dword [esi + 0x448], eax
lea eax, [esi + 0x44c]
mov dword [esi + 0x44c], 1
mov dword [esi + 0x450], ebx
mov dword [esi + 0x454], edx
push eax
call fcn.004cce00
add esp, 4
lea eax, [esi + 0x48]
push eax
call fcn.004ccf00
add esp, 4
movsd xmm1, qword [esi + 0x450]
mov eax, dword [esi + 0x468]
movsd xmm0, qword [esi + 0x460]
movsd xmm2, qword [esi + 0x458]
movsd xmm3, qword [esi + 0x440]
movsd qword [esi + 0x28c], xmm1
movsd xmm1, qword [esi + 0x448]
mov dword [esi + 0x2a4], eax
movsd qword [esi + 0x294], xmm2
mov eax, dword [esi + 0x60]
movsd qword [esi + 0x29c], xmm0
movsd qword [esi + 0x27c], xmm3
movsd xmm2, qword [esi + 0x48]
movsd qword [esi + 0x284], xmm1
movsd xmm1, qword [esi + 0x50]
movsd qword [esi + 0x260], xmm2
mov dword [esi + 0x278], eax
movsd qword [esi + 0x268], xmm1
movsd xmm1, qword [esi + 0x58]
movsd qword [esi + 0x270], xmm1
push 4
push 0x48
call fcn.0043c290
add esp, 8
test eax, eax
je 0x4110c9
mov ebx, eax
push 0x48
lea eax, [esi + 0x260]
push eax
push ebx
call fcn.0054ad50
add esp, 0xc
mov ecx, 0x57559c
jmp 0x40bad8
mov edi, dword [esi + 0x44c]
test ecx, ecx
mov dword [esi + 0x20], edx
je 0x40b870
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x20]
mov dword [esi + 0x42c], ebx
mov dword [esi + 0x1c8], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x1cc], edi
mov dword [esi + 0x610], 0xa
lea ecx, [esi + 0x1c8]
mov dword [esi + 0x430], eax
mov eax, dword [0x5720b0]
mov dword [esi + 0x434], edi
mov dword [esi + 0x18c], eax
lea eax, [esi + 0x18c]
mov dword [esi + 0x190], 0
mov dword [esi + 0x194], 0
push eax
push ecx
lea eax, [esi + 0x48]
push eax
call fcn.00438ad0
add esp, 0xc
cmp dword [esi + 0x48], 1
jne 0x40bb00
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x610], 0xc
mov dword [esi + 4], eax
mov dword [esi + 0x104], eax
lea eax, [esi + 0x260]
mov dword [esi + 0xc], ecx
mov dword [esi + 0x100], ecx
push eax
call fcn.004ccf10
add esp, 4
mov eax, dword [esi + 0x278]
movsd xmm0, qword [esi + 0x270]
movsd xmm2, qword [esi + 0x260]
movsd xmm1, qword [esi + 0x268]
mov dword [esi + 0x458], eax
movsd qword [esi + 0x450], xmm0
movsd qword [esi + 0x448], xmm1
movsd qword [esi + 0x440], xmm2
push 4
push 0x24
call fcn.0043c290
add esp, 8
test eax, eax
je 0x4110d7
mov ecx, dword [esi + 0x458]
movsd xmm0, qword [esi + 0x450]
movsd xmm1, qword [esi + 0x448]
mov dword [esi + 0x610], 0xb
mov dword [eax + 0x18], ecx
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esi + 0x440]
mov ecx, dword [esi + 0xc]
movsd qword [eax + 8], xmm1
mov dword [esi + 0x440], 0x572498
mov dword [esi + 0x444], 0x16
mov dword [esi + 0x448], 1
mov dword [esi + 0x44c], eax
mov dword [esi + 0x450], 0x575680
movsd qword [eax], xmm0
mov dword [eax + 0x1c], ecx
mov ecx, dword [esi + 4]
mov dword [eax + 0x20], ecx
lea ecx, [esi + 0x448]
push ecx
call fcn.004cce00
add esp, 4
lea eax, [esi + 0x48]
push eax
call fcn.004ccf00
add esp, 4
movsd xmm1, qword [esi + 0x450]
movsd xmm0, qword [esi + 0x460]
movsd xmm2, qword [esi + 0x458]
movsd xmm3, qword [esi + 0x440]
mov eax, dword [esi + 0x60]
movsd qword [esi + 0x28c], xmm1
movsd xmm1, qword [esi + 0x448]
movsd qword [esi + 0x294], xmm2
movsd qword [esi + 0x29c], xmm0
movsd qword [esi + 0x27c], xmm3
movsd xmm2, qword [esi + 0x48]
movsd qword [esi + 0x284], xmm1
movsd xmm1, qword [esi + 0x50]
movsd qword [esi + 0x260], xmm2
mov dword [esi + 0x278], eax
movsd qword [esi + 0x268], xmm1
movsd xmm1, qword [esi + 0x58]
movsd qword [esi + 0x270], xmm1
push 4
push 0x44
call fcn.0043c290
add esp, 8
test eax, eax
je 0x410b1b
mov ebx, eax
push 0x44
lea eax, [esi + 0x260]
push eax
push ebx
call fcn.0054ad50
add esp, 0xc
mov edi, dword [esi + 0x1c]
mov ecx, 0x5754b8
mov eax, dword [esi + 0x190]
test eax, eax
je 0x40bac1
push 1
push eax
push dword [esi + 0x18c]
mov dword [esi + 0xc], ecx
call fcn.0043c2a0
mov ecx, dword [esi + 0xc]
add esp, 0xc
mov eax, dword [esi + 0x20]
test eax, eax
je 0x40bad8
push 1
push eax
push edi
mov edi, ecx
call fcn.0043c2a0
mov ecx, edi
add esp, 0xc
mov eax, dword [esi + 0x21c]
test eax, eax
je 0x40b323
push 1
push eax
push dword [esi + 0x218]
mov edi, ecx
call fcn.0043c2a0
mov ecx, edi
add esp, 0xc
jmp 0x40b323
mov eax, dword [0x5720a8]
mov dword [esi + 0xc8], 0
mov dword [esi + 0xa8], 0
mov dword [esi + 0x610], 0xd
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x18c]
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0
mov dword [esi + 4], eax
mov eax, dword [esi + 0x194]
mov dword [esi + 8], eax
lea eax, [esi + 0x100]
push eax
call fcn.00447cd0
add esp, 4
movsd xmm2, qword [esi + 0x118]
movsd xmm1, qword [esi + 0x110]
movsd xmm0, qword [esi + 0x120]
lea eax, [esi + 0x48]
movsd qword [esi + 0x60], xmm2
movsd qword [esi + 0x58], xmm1
movsd xmm2, qword [esi + 0x100]
movsd xmm1, qword [esi + 0x108]
movsd qword [esi + 0x68], xmm0
movsd qword [esi + 0x50], xmm1
movsd qword [esi + 0x48], xmm2
push eax
lea eax, [esi + 0x260]
push eax
call fcn.00448450
add esp, 8
push 0x1b0
lea ebx, [esi + 0x260]
push ebx
lea edi, [esi + 0x440]
push edi
call fcn.0054ad50
add esp, 0xc
push 0x1b0
push edi
push ebx
call fcn.0054ad50
add esp, 0xc
mov eax, dword [esi + 4]
mov dword [esi + 0x28], 0
mov dword [esi + 0x214], 1
mov dword [esi + 0x34], 0
mov dword [esi + 0x410], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x414], eax
xor eax, eax
mov byte [esi + 0x418], 0
test al, al
mov dword [esi + 0x610], 0xf
je 0x40bc65
nop word cs:[eax + eax]
nop
lea eax, [esi + 0x260]
push eax
call fcn.004488c0
add esp, 4
test al, al
jne 0x40bc65
jmp 0x40c5d8
lea eax, [esi + 0x134]
mov dword [esi + 0x610], 0xf
push eax
call fcn.004290a0
add esp, 4
mov al, byte [esi + 0x418]
test al, al
mov dword [esi + 0x610], 0xf
jne 0x40bc20
lea eax, [esi + 0x410]
push eax
lea eax, [esi + 0x260]
push eax
lea eax, [esi + 0x48]
push eax
call fcn.0043ae10
add esp, 0xc
mov eax, dword [esi + 0x48]
cmp eax, 1
je 0x40bc8d
cmp byte [esi + 0x4c], 1
jne 0x40bc94
mov byte [esi + 0x418], 1
lea edx, [esi + 0x60]
mov ecx, dword [esi + 0x54]
test eax, eax
mov eax, dword [esi + 0x4c]
mov edi, dword [esi + 0x50]
mov ebx, dword [esi + 0x58]
movsd xmm1, qword [edx + 8]
movsd xmm0, qword [edx]
movsd xmm2, qword [edx + 0x18]
mov dword [esi + 4], ecx
mov ecx, dword [edx + 0x28]
movsd qword [esi + 0x1d0], xmm1
movsd xmm1, qword [edx + 0x10]
movsd qword [esi + 0x1c8], xmm0
movsd qword [esi + 0x1e0], xmm2
mov dword [esi + 0x1f0], ecx
mov ecx, dword [esi + 0x5c]
movsd qword [esi + 0x1d8], xmm1
movsd xmm1, qword [edx + 0x20]
movsd qword [esi + 0x1e8], xmm1
jne 0x40c49a
mov dword [esi + 0x100], eax
mov dword [esi + 8], edi
mov dword [esi + 0x104], edi
mov edi, dword [esi + 4]
movsd xmm2, qword [esi + 0x1e0]
movsd xmm1, qword [esi + 0x1d8]
lea edx, [esi + 0x104]
movsd xmm0, qword [esi + 0x1e8]
cmp al, 3
mov dword [esi + 0x18], ebx
mov dword [esi + 0x108], edi
mov dword [esi + 0x10c], ebx
mov dword [esi + 0x110], ecx
mov ecx, dword [esi + 0x1f0]
movsd qword [edx + 0x28], xmm2
movsd qword [edx + 0x20], xmm1
movsd xmm2, qword [esi + 0x1c8]
movsd xmm1, qword [esi + 0x1d0]
movsd qword [edx + 0x30], xmm0
mov dword [edx + 0x38], ecx
movsd qword [edx + 0x18], xmm1
movsd qword [edx + 0x10], xmm2
mov dl, 1
je 0x40be23
cmp al, 4
je 0x40bdda
cmp al, 7
jne 0x40c1b8
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x40bdab
mov eax, dword [esi + 0x3c]
dec ecx
lea ecx, [ecx + ecx*2]
cmp dword [eax + ecx*4 + 8], 4
jne 0x40bdab
mov eax, dword [eax + ecx*4]
cmp dword [eax], 0x32676973
je 0x40c22d
test edi, edi
je 0x40bf96
push 1
push edi
push dword [esi + 8]
call fcn.0043c2a0
mov dl, 1
add esp, 0xc
xor eax, eax
movzx ecx, byte [esi + 0x100]
cmp ecx, 3
jne 0x40c1ca
jmp 0x40c286
mov eax, dword [esi + 0x44]
test eax, eax
je 0x40c1b8
dec eax
mov dword [esi + 0x44], eax
lea edx, [eax + eax*2]
mov ecx, dword [esi + 0x3c]
mov eax, dword [ecx + edx*4]
test eax, eax
je 0x40be0a
mov ecx, dword [ecx + edx*4 + 4]
test ecx, ecx
je 0x40be0a
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
mov al, 1
mov dl, 1
movzx ecx, byte [esi + 0x100]
cmp ecx, 3
jne 0x40c1ca
jmp 0x40c286
lea ecx, [esi + 0x104]
mov dword [esi + 0x610], 0x11
movsd xmm1, qword [ecx + 0x10]
mov eax, dword [ecx + 0x20]
movsd xmm0, qword [ecx + 0x18]
movsd xmm2, qword [ecx]
movsd qword [esi + 0x1a8], xmm1
movsd xmm1, qword [ecx + 8]
mov dword [esi + 0x1b8], eax
mov eax, dword [ecx + 0x2c]
movsd qword [esi + 0x1b0], xmm0
movsd qword [esi + 0x198], xmm2
movsd qword [esi + 0x1a0], xmm1
movsd xmm1, qword [ecx + 0x24]
mov dword [esi + 0xa0], eax
lea eax, [esi + 0x198]
movsd qword [esi + 0x98], xmm1
push eax
lea eax, [esi + 0x48]
push eax
call fcn.004ff8d0
add esp, 8
mov eax, dword [esi + 0x44]
cmp dword [esi + 0x40], eax
jne 0x40bebc
mov dword [esi + 0x610], 0x17
push 1
push eax
lea eax, [esi + 0x3c]
push eax
call fcn.0056b3d0
add esp, 0xc
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0x50]
lea eax, [eax + eax*2]
mov ebx, 0x756c6176
mov dword [ecx + eax*4 + 8], edx
movsd xmm0, qword [esi + 0x48]
movsd qword [ecx + eax*4], xmm0
inc dword [esi + 0x44]
mov ecx, dword [esi + 0x1a0]
mov eax, dword [esi + 0x198]
cmp ecx, 4
je 0x40c099
cmp ecx, 3
je 0x40bfad
cmp ecx, 2
jne 0x40c0a5
movzx eax, word [eax]
cmp eax, 0x6469
jne 0x40c0a5
mov ecx, dword [esi + 0xa0]
mov eax, dword [esi + 0x98]
test ecx, ecx
mov dword [esi + 8], eax
mov eax, ecx
mov dword [esi + 4], ecx
je 0x40c6f5
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
lea eax, [eax + eax*2]
shl eax, 4
add eax, ecx
jmp 0x40bf4b
add ecx, 0x30
cmp ecx, eax
je 0x40c6f5
cmp dword [ecx + 8], 5
jne 0x40bf40
mov edx, dword [ecx]
mov edi, dword [edx]
movzx edx, byte [edx + 4]
xor edi, ebx
xor edx, 0x65
or edx, edi
jne 0x40bf40
mov eax, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x2c]
mov dword [esi + 0x610], 0x11
push ecx
push eax
call fcn.00508e10
add esp, 8
mov dword [esi + 0x140], edx
test al, 1
jne 0x40e316
mov dword [esi + 0x34], 1
jmp 0x40c0a5
xor eax, eax
movzx ecx, byte [esi + 0x100]
cmp ecx, 3
jne 0x40c1ca
jmp 0x40c286
movzx ecx, word [eax]
movzx eax, byte [eax + 2]
xor ecx, 0x646d
xor eax, 0x35
or ax, cx
jne 0x40c0a5
mov ecx, dword [esi + 0xa0]
mov eax, dword [esi + 0x98]
test ecx, ecx
mov dword [esi + 8], eax
mov eax, ecx
mov dword [esi + 4], ecx
je 0x40c67b
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
lea eax, [eax + eax*2]
shl eax, 4
add eax, ecx
jmp 0x40c00b
add ecx, 0x30
cmp ecx, eax
je 0x40c67b
cmp dword [ecx + 8], 5
jne 0x40c000
mov edx, dword [ecx]
mov edi, dword [edx]
movzx edx, byte [edx + 4]
xor edi, ebx
xor edx, 0x65
or edx, edi
jne 0x40c000
add ecx, 0x24
mov dword [esi + 0x610], 0x11
push ecx
lea eax, [esi + 0x200]
push eax
call fcn.004ff8d0
add esp, 8
mov eax, dword [esi + 0x208]
movsd xmm0, qword [esi + 0x200]
mov dword [esi + 0xc0], eax
mov eax, dword [esi + 0xc8]
movsd qword [esi + 0xb8], xmm0
test eax, eax
je 0x40c07b
mov ecx, dword [esi + 0xcc]
test ecx, ecx
je 0x40c07b
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0xc0]
movsd xmm0, qword [esi + 0xb8]
mov dword [esi + 0xd0], eax
movsd qword [esi + 0xc8], xmm0
jmp 0x40c0a5
cmp dword [eax], 0x65707974
je 0x40c3b5
mov eax, dword [esi + 0x98]
mov dword [esi + 8], eax
mov eax, dword [esi + 0xa0]
test eax, eax
je 0x40c139
mov edi, dword [esi + 8]
lea eax, [eax + eax*2]
shl eax, 4
add eax, edi
mov dword [esi + 4], eax
jmp 0x40c0d7
cmp ebx, dword [esi + 4]
mov edi, ebx
je 0x40c139
mov eax, dword [edi + 4]
test eax, eax
je 0x40c0eb
push 1
push eax
push dword [edi]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [edi + 0xc]
test eax, eax
je 0x40c105
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x40c105
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [edi + 0x18]
test eax, eax
je 0x40c11f
mov ecx, dword [edi + 0x1c]
test ecx, ecx
je 0x40c11f
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [edi + 0x28]
lea ebx, [edi + 0x30]
test eax, eax
je 0x40c0d0
push 1
push eax
push dword [edi + 0x24]
call fcn.0043c2a0
add esp, 0xc
jmp 0x40c0d0
mov eax, dword [esi + 0x9c]
test eax, eax
je 0x40c15b
shl eax, 4
lea eax, [eax + eax*2]
test eax, eax
je 0x40c15b
push 4
push eax
push dword [esi + 8]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x19c]
test eax, eax
je 0x40c176
push 1
push eax
push dword [esi + 0x198]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x1a4]
test eax, eax
je 0x40c196
mov ecx, dword [esi + 0x1a8]
test ecx, ecx
je 0x40c196
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x1b0]
test eax, eax
je 0x40c1b6
mov ecx, dword [esi + 0x1b4]
test ecx, ecx
je 0x40c1b6
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
xor edx, edx
mov al, 1
movzx ecx, byte [esi + 0x100]
cmp ecx, 3
je 0x40c286
cmp ecx, 7
jne 0x40c213
test al, al
je 0x40bc51
mov eax, dword [esi + 0x108]
test eax, eax
je 0x40bc51
push 1
push eax
push dword [esi + 0x104]
call fcn.0043c2a0
add esp, 0xc
mov al, byte [esi + 0x418]
test al, al
mov dword [esi + 0x610], 0xf
jne 0x40bc20
jmp 0x40bc65
lea ecx, [esi + 0x100]
mov dword [esi + 0x610], 0xf
call fcn.00402d70
jmp 0x40bc51
mov eax, dword [esi + 0x28]
test eax, eax
je 0x40c24a
cmp dword [esi + 0x30], 0
je 0x40c24a
push 1
push dword [esi + 0x30]
push eax
call fcn.0043c2a0
mov dl, 1
add esp, 0xc
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x30], edi
mov dword [esi + 0xf8], edi
mov dword [esi + 0xa8], eax
mov dword [esi + 0xac], edi
mov dword [esi + 0x28], eax
mov dword [esi + 0xb0], ecx
mov dword [esi + 0x144], ecx
xor eax, eax
movzx ecx, byte [esi + 0x100]
cmp ecx, 3
jne 0x40c1ca
test dl, dl
je 0x40bc38
mov eax, dword [esi + 0x108]
test eax, eax
je 0x40c2a9
push 1
push eax
push dword [esi + 0x104]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x110]
test eax, eax
je 0x40c2c9
mov ecx, dword [esi + 0x114]
test ecx, ecx
je 0x40c2c9
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x11c]
test eax, eax
je 0x40c2e9
mov ecx, dword [esi + 0x120]
test ecx, ecx
je 0x40c2e9
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x130]
test eax, eax
je 0x40c379
mov ebx, dword [esi + 0x128]
lea eax, [eax + eax*2]
shl eax, 4
add eax, ebx
mov dword [esi + 4], eax
jmp 0x40c317
cmp edi, dword [esi + 4]
mov ebx, edi
je 0x40c379
mov eax, dword [ebx + 4]
test eax, eax
je 0x40c32b
push 1
push eax
push dword [ebx]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x40c345
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x40c345
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x40c35f
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
je 0x40c35f
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebx + 0x28]
lea edi, [ebx + 0x30]
test eax, eax
je 0x40c310
push 1
push eax
push dword [ebx + 0x24]
call fcn.0043c2a0
add esp, 0xc
jmp 0x40c310
mov eax, dword [esi + 0x12c]
test eax, eax
je 0x40bc38
shl eax, 4
lea eax, [eax + eax*2]
test eax, eax
je 0x40bc38
push 4
push eax
push dword [esi + 0x128]
call fcn.0043c2a0
add esp, 0xc
mov dword [esi + 0x610], 0xf
jmp 0x40bc38
mov ebx, dword [esi + 0xa0]
mov eax, dword [esi + 0x98]
test ebx, ebx
mov dword [esi + 8], eax
mov dword [esi + 4], ebx
je 0x40c76c
mov ecx, dword [esi + 8]
lea eax, [ebx + ebx*2]
shl eax, 4
add eax, ecx
jmp 0x40c3eb
add ecx, 0x30
cmp ecx, eax
je 0x40c76c
cmp dword [ecx + 8], 3
jne 0x40c3e0
mov edx, dword [ecx]
movzx edi, word [edx]
movzx edx, byte [edx + 2]
xor edi, 0x6176
xor edx, 0x6c
or dx, di
jne 0x40c3e0
mov eax, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x2c]
mov dword [esi + 0x610], 0x11
push ecx
push eax
call fcn.00508e10
add esp, 8
mov dword [esi + 0x214], edx
test al, 1
je 0x40c0a5
mov ecx, dword [esi + 0x214]
shld ecx, eax, 0x18
push ecx
call fcn.00437c90
add esp, 4
lea ecx, [esi + 0x150]
mov dword [esi + 0x148], 0x5724e4
mov dword [esi + 0x14c], 0x1a
mov dword [esi + 0x150], 1
mov dword [esi + 0x154], eax
mov dword [esi + 0x158], edx
mov dword [esi + 0x610], 0x12
push ecx
call fcn.004cce00
add esp, 4
lea eax, [esi + 0xd8]
push eax
call fcn.004ccf00
add esp, 4
jmp 0x40e37b
mov eax, dword [esi + 4]
movsd xmm0, qword [esi + 0x1d8]
movsd xmm2, qword [esi + 0x1c8]
movsd xmm1, qword [esi + 0x1d0]
mov dword [esi + 0x48], edi
mov dword [esi + 0x4c], eax
lea eax, [esi + 0x60]
mov dword [esi + 0x50], ebx
mov dword [esi + 0x54], ecx
movsd qword [eax + 8], xmm0
movsd qword [eax], xmm1
movsd qword [eax - 8], xmm2
lea eax, [esi + 0x48]
push eax
call fcn.00437f70
add esp, 4
lea ecx, [esi + 0x150]
mov dword [esi + 0x148], 0x5724ae
mov dword [esi + 0x14c], 0x19
mov dword [esi + 0x150], 1
mov dword [esi + 0x154], eax
mov dword [esi + 0x158], edx
mov dword [esi + 0x610], 0x10
push ecx
call fcn.004cce00
add esp, 4
lea eax, [esi + 0x198]
push eax
call fcn.004ccf00
add esp, 4
movsd xmm1, qword [esi + 0x158]
movsd xmm0, qword [esi + 0x168]
movsd xmm2, qword [esi + 0x160]
movsd xmm3, qword [esi + 0x148]
mov eax, dword [esi + 0x1b0]
movsd qword [esi + 0x74], xmm1
movsd xmm1, qword [esi + 0x150]
movsd qword [esi + 0x7c], xmm2
movsd qword [esi + 0x84], xmm0
movsd qword [esi + 0x64], xmm3
movsd xmm2, qword [esi + 0x198]
movsd qword [esi + 0x6c], xmm1
movsd xmm1, qword [esi + 0x1a0]
movsd qword [esi + 0x48], xmm2
mov dword [esi + 0x60], eax
movsd qword [esi + 0x50], xmm1
movsd xmm1, qword [esi + 0x1a8]
movsd qword [esi + 0x58], xmm1
push 4
push 0x44
call fcn.0043c290
add esp, 8
test eax, eax
je 0x410b1b
mov ecx, eax
push 0x44
lea eax, [esi + 0x48]
push eax
mov dword [esi + 0x14], ecx
push ecx
call fcn.0054ad50
add esp, 0xc
mov dword [esi + 0xc], 0x5754b8
jmp 0x40e4e7
lea ecx, [esi + 0x260]
mov dword [esi + 0x610], 0xd
call fcn.00403640
cmp dword [esi + 0x34], 0
lea eax, [esi + 0x100]
je 0x40c90d
mov edx, dword [esi + 0xc8]
lea ecx, [esi + 0x260]
test edx, edx
je 0x40cc48
mov ebx, dword [esi + 0xcc]
mov edi, dword [esi + 0xd0]
cmp dword [esi + 0x28], 0
mov dword [esi + 0x1c8], edx
mov dword [esi + 4], edx
mov dword [esi + 0x1cc], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 8], edi
mov dword [esi + 0x1d0], edi
je 0x40cdb9
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x40ca9c
mov eax, dword [esi + 0x3c]
lea ecx, [ecx + ecx*2]
lea edi, [eax + ecx*4]
jmp 0x40c662
cmp ebx, edi
mov eax, ebx
je 0x40ca9c
mov ecx, dword [eax + 4]
lea ebx, [eax + 0xc]
test ecx, ecx
je 0x40c658
push 1
push ecx
push dword [eax]
call fcn.0043c2a0
add esp, 0xc
jmp 0x40c658
lea eax, [esi + 0x48]
mov dword [esi + 0x48], 0x57252c
mov dword [esi + 0x4c], 1
mov dword [esi + 0x50], 0
mov dword [esi + 0x58], str.error_reading
mov dword [esi + 0x5c], 0
mov dword [esi + 0x610], 0x11
push eax
lea eax, [esi + 0x178]
push eax
call fcn.004feef0
add esp, 8
mov eax, dword [esi + 0x180]
movsd xmm0, qword [esi + 0x178]
mov dword [esi + 0x610], 0x14
mov dword [esi + 0xe0], eax
lea eax, [esi + 0x148]
movsd qword [esi + 0xd8], xmm0
push eax
call fcn.004ccf10
add esp, 4
jmp 0x40c7e1
lea eax, [esi + 0x48]
mov dword [esi + 0x48], 0x572510
mov dword [esi + 0x4c], 1
mov dword [esi + 0x50], 0
mov dword [esi + 0x58], str.error_reading
mov dword [esi + 0x5c], 0
mov dword [esi + 0x610], 0x11
push eax
lea eax, [esi + 0x178]
push eax
call fcn.004feef0
add esp, 8
mov eax, dword [esi + 0x180]
movsd xmm0, qword [esi + 0x178]
mov dword [esi + 0x610], 0x16
mov dword [esi + 0xe0], eax
lea eax, [esi + 0x148]
movsd qword [esi + 0xd8], xmm0
push eax
call fcn.004ccf10
add esp, 4
jmp 0x40c7e1
lea eax, [esi + 0x48]
mov dword [esi + 0x48], 0x572548
mov dword [esi + 0x4c], 1
mov dword [esi + 0x50], 0
mov dword [esi + 0x58], str.error_reading
mov dword [esi + 0x5c], 0
mov dword [esi + 0x610], 0x11
push eax
lea eax, [esi + 0x178]
push eax
call fcn.004feef0
add esp, 8
mov eax, dword [esi + 0x180]
movsd xmm0, qword [esi + 0x178]
mov dword [esi + 0x610], 0x13
mov dword [esi + 0xe0], eax
lea eax, [esi + 0x148]
movsd qword [esi + 0xd8], xmm0
push eax
call fcn.004ccf10
add esp, 4
mov eax, dword [esi + 0xe0]
movsd xmm0, qword [esi + 0xd8]
movsd xmm2, qword [esi + 0x148]
movsd xmm1, qword [esi + 0x150]
mov dword [esi + 0x6c], eax
movsd qword [esi + 0x64], xmm0
movsd qword [esi + 0x48], xmm2
movsd qword [esi + 0x50], xmm1
movsd xmm1, qword [esi + 0x158]
mov eax, dword [esi + 0x160]
movsd qword [esi + 0x58], xmm1
mov dword [esi + 0x60], eax
push 4
push 0x28
call fcn.0043c290
add esp, 8
mov ecx, dword [esi + 4]
test eax, eax
je 0x4110e5
movsd xmm0, qword [esi + 0x68]
movsd xmm2, qword [esi + 0x60]
movsd xmm1, qword [esi + 0x58]
mov dword [esi + 0x14], eax
mov dword [esi + 0xc], 0x575718
movsd qword [eax + 0x20], xmm0
movsd qword [eax + 0x18], xmm2
movsd qword [eax + 0x10], xmm1
movsd xmm1, qword [esi + 0x50]
movsd xmm2, qword [esi + 0x48]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm2
test ecx, ecx
je 0x40e429
mov ebx, dword [esi + 8]
lea eax, [ecx + ecx*2]
shl eax, 4
add eax, ebx
mov dword [esi + 4], eax
jmp 0x40c8ab
cmp edi, dword [esi + 4]
mov ebx, edi
je 0x40e429
mov eax, dword [ebx + 4]
test eax, eax
je 0x40c8bf
push 1
push eax
push dword [ebx]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x40c8d9
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x40c8d9
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x40c8f3
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
je 0x40c8f3
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebx + 0x28]
lea edi, [ebx + 0x30]
test eax, eax
je 0x40c8a0
push 1
push eax
push dword [ebx + 0x24]
call fcn.0043c2a0
add esp, 0xc
jmp 0x40c8a0
lea ecx, [esi + 0x260]
mov dword [esi + str.missing_id_fieldP_W], 0x572560
mov dword [esi + 0x264], 1
mov dword [esi + 0x268], 0
mov dword [esi + 0x270], str.error_reading
mov dword [esi + 0x274], 0
push ecx
push eax
call fcn.004feef0
add esp, 8
mov eax, dword [esi + 0x108]
movsd xmm0, qword [esi + 0x100]
mov dword [esi + 0x610], 0xe
mov dword [esi + 0x50], eax
lea eax, [esi + 0x440]
movsd qword [esi + 0x48], xmm0
push eax
call fcn.004ccf10
add esp, 4
mov eax, dword [esi + 0x50]
movsd xmm0, qword [esi + 0x48]
movsd xmm1, qword [esi + 0x448]
movsd xmm2, qword [esi + 0x440]
mov dword [esi + 0x284], eax
movsd qword [esi + 0x27c], xmm0
mov eax, dword [esi + 0x458]
movsd qword [esi + 0x268], xmm1
movsd xmm1, qword [esi + 0x450]
movsd qword [esi + 0x260], xmm2
movsd qword [esi + 0x270], xmm1
mov dword [esi + 0x278], eax
push 4
push 0x28
call fcn.0043c290
add esp, 8
mov ecx, dword [esi + 0x30]
test eax, eax
je 0x4110e5
movsd xmm2, qword [esi + 0x278]
movsd xmm1, qword [esi + 0x270]
movsd xmm0, qword [esi + 0x280]
mov edi, eax
movsd qword [eax + 0x18], xmm2
movsd qword [eax + 0x10], xmm1
movsd xmm2, qword [esi + 0x260]
movsd xmm1, qword [esi + 0x268]
movsd qword [eax + 0x20], xmm0
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm2
mov eax, dword [esi + 0x28]
test eax, eax
je 0x40ca40
test ecx, ecx
je 0x40ca40
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0xc8]
mov dword [esi + 0x14], edi
test eax, eax
je 0x40ca63
mov ecx, dword [esi + 0xcc]
test ecx, ecx
je 0x40ca63
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x40cf1e
mov eax, dword [esi + 0x3c]
lea ecx, [ecx + ecx*2]
lea edi, [eax + ecx*4]
jmp 0x40ca83
cmp ebx, edi
mov eax, ebx
je 0x40cf1e
mov ecx, dword [eax + 4]
lea ebx, [eax + 0xc]
test ecx, ecx
je 0x40ca79
push 1
push ecx
push dword [eax]
call fcn.0043c2a0
add esp, 0xc
jmp 0x40ca79
mov eax, dword [esi + 0x40]
test eax, eax
je 0x40cabb
shl eax, 2
lea eax, [eax + eax*2]
test eax, eax
je 0x40cabb
push 4
push eax
push dword [esi + 0x3c]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x190]
mov ebx, dword [esi + 0x1c]
test eax, eax
je 0x40cad9
push 1
push eax
push dword [esi + 0x18c]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x20]
mov edi, dword [esi + 4]
test eax, eax
je 0x40caef
push 1
push eax
push ebx
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x21c]
test eax, eax
je 0x40cb0a
push 1
push eax
push dword [esi + 0x218]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x18]
mov dword [esi + 0x42c], edi
mov ebx, dword [esi + 0x28]
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 0x140]
mov dword [esi + 0x430], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x18c], ebx
cmp byte [edx + 0xac], 0
mov dword [esi + 0x434], eax
mov eax, dword [esi + 0xf8]
mov dword [esi + 0x190], eax
mov eax, dword [esi + 0x144]
mov dword [esi + 0x194], eax
je 0x40cf96
cmp byte [edx + 0xae], 0
je 0x40d0fe
mov eax, dword [0x5720a8]
mov byte [esi + 0xfd], 1
mov dword [esi + 0x610], 0x4a
lea ecx, [esi + 0x260]
mov dword [esi + 0xa8], eax
mov dword [esi + 0xac], 0
mov dword [esi + 0xb0], 0
push 0xc
push str.versions3.idversions3.datversions3.sig0
push dword [ebp + 8]
push dword [esi + 0x14]
push edi
call fcn.00408c30
add esp, 0x14
mov eax, dword [esi + 0x264]
mov ecx, dword [esi + 0x268]
cmp dword [esi + 0x260], 1
mov dword [esi + 0x24], eax
mov dword [esi + 8], ecx
je 0x4101a8
mov edx, dword [esi + 0x26c]
mov dword [esi + 0x98], eax
mov dword [esi + 0x9c], ecx
mov byte [esi + 0xfe], 1
mov dword [esi + 0x610], 0x4b
lea ecx, [esi + 0x260]
mov dword [esi + 0x18], edx
mov dword [esi + 0xa0], edx
mov edx, dword [esi + 0xc]
push 0xd
push 0x572690
push dword [ebp + 8]
push dword [esi + 0x14]
push dword [esi + 0x140]
call fcn.00408c30
add esp, 0x14
mov eax, dword [esi + 0x268]
mov ebx, dword [esi + 0x264]
cmp dword [esi + 0x260], 1
mov dword [esi + 4], eax
jne 0x40dc34
mov eax, dword [esi + 0x24]
mov edi, dword [esi + 8]
jmp 0x41018f
mov dword [esi + str.missing_md5_field], 0x57257c
mov dword [esi + 0x264], 1
mov dword [esi + 0x268], 0
mov dword [esi + 0x270], str.error_reading
mov dword [esi + 0x274], 0
mov dword [esi + 0x610], 0x19
push ecx
push eax
call fcn.004feef0
add esp, 8
mov eax, dword [esi + 0x108]
movsd xmm0, qword [esi + 0x100]
mov dword [esi + 0x610], 0x1a
mov dword [esi + 0x50], eax
lea eax, [esi + 0x440]
movsd qword [esi + 0x48], xmm0
push eax
call fcn.004ccf10
add esp, 4
mov eax, dword [esi + 0x50]
movsd xmm0, qword [esi + 0x48]
movsd xmm1, qword [esi + 0x448]
movsd xmm2, qword [esi + 0x440]
mov dword [esi + 0x284], eax
movsd qword [esi + 0x27c], xmm0
mov eax, dword [esi + 0x458]
movsd qword [esi + 0x268], xmm1
movsd xmm1, qword [esi + 0x450]
movsd qword [esi + 0x260], xmm2
movsd qword [esi + 0x270], xmm1
mov dword [esi + 0x278], eax
push 4
push 0x28
call fcn.0043c290
add esp, 8
mov ecx, dword [esi + 0x30]
test eax, eax
je 0x4110e5
movsd xmm2, qword [esi + 0x278]
movsd xmm1, qword [esi + 0x270]
movsd xmm0, qword [esi + 0x280]
mov dword [esi + 0x14], eax
movsd qword [eax + 0x18], xmm2
movsd qword [eax + 0x10], xmm1
movsd xmm2, qword [esi + 0x260]
movsd xmm1, qword [esi + 0x268]
movsd qword [eax + 0x20], xmm0
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm2
mov eax, dword [esi + 0x28]
test eax, eax
je 0x40cd80
test ecx, ecx
je 0x40cd80
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x40cf1e
mov eax, dword [esi + 0x3c]
lea ecx, [ecx + ecx*2]
lea edi, [eax + ecx*4]
jmp 0x40cda0
cmp ebx, edi
mov eax, ebx
je 0x40cf1e
mov ecx, dword [eax + 4]
lea ebx, [eax + 0xc]
test ecx, ecx
je 0x40cd96
push 1
push ecx
push dword [eax]
call fcn.0043c2a0
add esp, 0xc
jmp 0x40cd96
mov dword [esi + str.missing_sig_field], 0x572598
mov dword [esi + 0x264], 1
mov dword [esi + 0x268], 0
mov dword [esi + 0x270], str.error_reading
mov dword [esi + 0x274], 0
mov dword [esi + 0x610], 0x1b
push ecx
push eax
call fcn.004feef0
add esp, 8
mov eax, dword [esi + 0x108]
movsd xmm0, qword [esi + 0x100]
mov dword [esi + 0x610], 0x1c
mov dword [esi + 0x50], eax
lea eax, [esi + 0x440]
movsd qword [esi + 0x48], xmm0
push eax
call fcn.004ccf10
add esp, 4
mov eax, dword [esi + 0x50]
movsd xmm0, qword [esi + 0x48]
movsd xmm1, qword [esi + 0x448]
movsd xmm2, qword [esi + 0x440]
mov dword [esi + 0x284], eax
movsd qword [esi + 0x27c], xmm0
mov eax, dword [esi + 0x458]
movsd qword [esi + 0x268], xmm1
movsd xmm1, qword [esi + 0x450]
movsd qword [esi + 0x260], xmm2
movsd qword [esi + 0x270], xmm1
mov dword [esi + 0x278], eax
push 4
push 0x28
call fcn.0043c290
add esp, 8
mov ecx, dword [esi + 4]
test eax, eax
je 0x4110e5
movsd xmm2, qword [esi + 0x278]
movsd xmm1, qword [esi + 0x270]
movsd xmm0, qword [esi + 0x280]
mov dword [esi + 0x14], eax
movsd qword [eax + 0x18], xmm2
movsd qword [eax + 0x10], xmm1
movsd xmm2, qword [esi + 0x260]
movsd xmm1, qword [esi + 0x268]
movsd qword [eax + 0x20], xmm0
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm2
mov eax, dword [esi + 0x18]
test eax, eax
je 0x40ceed
push 1
push eax
push ecx
call fcn.0043c2a0
add esp, 0xc
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x40cf1e
mov eax, dword [esi + 0x3c]
lea ecx, [ecx + ecx*2]
lea edi, [eax + ecx*4]
jmp 0x40cf05
cmp ebx, edi
mov eax, ebx
je 0x40cf1e
mov ecx, dword [eax + 4]
lea ebx, [eax + 0xc]
test ecx, ecx
je 0x40ceff
push 1
push ecx
push dword [eax]
call fcn.0043c2a0
add esp, 0xc
jmp 0x40ceff
mov eax, dword [esi + 0x40]
test eax, eax
je 0x40cf3d
shl eax, 2
lea eax, [eax + eax*2]
test eax, eax
je 0x40cf3d
push 4
push eax
push dword [esi + 0x3c]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x190]
mov edi, dword [esi + 0x1c]
test eax, eax
je 0x40cf5b
push 1
push eax
push dword [esi + 0x18c]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x20]
mov ebx, dword [esi + 0x14]
test eax, eax
je 0x40cf71
push 1
push eax
push edi
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x21c]
test eax, eax
je 0x40cf8c
push 1
push eax
push dword [esi + 0x218]
call fcn.0043c2a0
add esp, 0xc
mov ecx, 0x575718
jmp 0x40b323
mov dword [esi + 0x148], ebx
mov dword [esi + 0x14c], eax
mov eax, dword [esi + 4]
mov dword [esi + 0xd8], edi
mov dword [esi + 0x610], 0x1e
mov dword [esi + 0x198], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x19c], eax
lea eax, [esi + 0x148]
push eax
lea eax, [esi + 0x260]
push eax
call fcn.0042e720
add esp, 8
cmp dword [esi + 0x260], 1
jne 0x40d35e
push dword [esi + 0x268]
push dword [esi + 0x264]
call fcn.00437e00
add esp, 8
lea ecx, [esi + 0x448]
mov dword [esi + 0x440], 0x5728ca
mov dword [esi + 0x444], 0x14
mov dword [esi + 0x448], 1
mov dword [esi + 0x44c], eax
mov dword [esi + 0x450], edx
mov dword [esi + 0x610], 0x21
push ecx
call fcn.004cce00
add esp, 4
lea eax, [esi + 0x48]
push eax
call fcn.004ccf00
add esp, 4
movsd xmm1, qword [esi + 0x450]
movsd xmm0, qword [esi + 0x460]
movsd xmm2, qword [esi + 0x458]
movsd xmm3, qword [esi + 0x440]
mov eax, dword [esi + 0x60]
movsd qword [esi + 0x28c], xmm1
movsd xmm1, qword [esi + 0x448]
movsd qword [esi + 0x294], xmm2
movsd qword [esi + 0x29c], xmm0
movsd qword [esi + 0x27c], xmm3
movsd xmm2, qword [esi + 0x48]
movsd qword [esi + 0x284], xmm1
movsd xmm1, qword [esi + 0x50]
movsd qword [esi + 0x260], xmm2
mov dword [esi + 0x278], eax
movsd qword [esi + 0x268], xmm1
movsd xmm1, qword [esi + 0x58]
movsd qword [esi + 0x270], xmm1
push 4
push 0x44
call fcn.0043c290
add esp, 8
test eax, eax
je 0x410b1b
mov ebx, eax
push 0x44
lea eax, [esi + 0x260]
push eax
push ebx
call fcn.0054ad50
add esp, 0xc
mov dword [esi + 0x18], 0x5754b8
jmp 0x40ded3
mov eax, dword [esi + 4]
mov dword [esi + 0x5f4], edi
mov dword [esi + 0x610], 0x32
mov dword [esi + 0xa8], eax
mov eax, dword [esi + 8]
mov dword [esi + 0xac], eax
mov eax, dword [0x5720a8]
mov dword [esi + 0x98], eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0x9c], 0
mov dword [esi + 0xa0], 0
mov ecx, dword [eax]
mov eax, dword [eax + 8]
mov dword [esi + 8], eax
lea eax, [esi + 0xd8]
mov dword [esi + 4], ecx
push eax
call fcn.004563b0
add esp, 4
push dword [esi + 8]
push dword [esi + 4]
lea eax, [esi + 0xd8]
push eax
lea eax, [esi + 0x260]
push eax
call fcn.00456320
add esp, 0x10
mov eax, dword [esi + 0x14]
mov dword [esi + 0xd8], 0x57240c
mov dword [esi + 0xdc], 1
mov dword [esi + 0xe0], 0
mov byte [esi + 0x94], 1
mov dword [esi + 0x610], 0x33
mov dword [esi + 0x3c], eax
lea eax, [esi + 0x3c]
mov dword [esi + 0xc8], eax
lea eax, [esi + 0xc8]
mov dword [esi + 0xcc], 0x427fc0
mov dword [esi + 0xe8], eax
lea eax, [esi + 0xd8]
mov dword [esi + 0xec], 1
push eax
lea eax, [esi + 0xb8]
push eax
call fcn.004feef0
add esp, 8
mov ecx, dword [esi + 0xb8]
mov edx, dword [esi + 0xbc]
cmp byte [esi + 0x260], 1
jne 0x40d629
mov edi, dword [esi + 0xc0]
movzx eax, byte [esi + 0x261]
mov dword [esi + 0xd8], ecx
mov dword [esi + 0xdc], edx
mov dword [esi + 4], edx
mov dword [esi + 0x610], 0x34
mov dword [esi + 0xc], edi
mov dword [esi + 0xe0], edi
push eax
mov dword [esi + 0x14], ecx
call fcn.00437d00
add esp, 4
mov ecx, dword [esi + 0x14]
mov ebx, dword [esi + 4]
mov edi, dword [esi + 0xc]
mov dword [esi + 0x610], 0x49
mov dword [esi + 0x100], ecx
mov dword [esi + 0x104], ebx
mov dword [esi + 0x108], edi
mov dword [esi + 0x10c], 1
mov dword [esi + 0x110], eax
lea eax, [esi + 0x10c]
mov dword [esi + 0x114], edx
push eax
call fcn.004cce00
add esp, 4
lea eax, [esi + 0xd8]
push eax
call fcn.004ccf00
add esp, 4
movsd xmm1, qword [esi + 0x110]
mov eax, dword [esi + 0x128]
movsd xmm0, qword [esi + 0x120]
movsd xmm2, qword [esi + 0x118]
movsd xmm3, qword [esi + 0x100]
movsd qword [esi + 0x28c], xmm1
movsd xmm1, qword [esi + 0x108]
mov dword [esi + 0x2a4], eax
movsd qword [esi + 0x294], xmm2
mov eax, dword [esi + 0xf0]
movsd qword [esi + 0x29c], xmm0
movsd qword [esi + 0x27c], xmm3
movsd xmm2, qword [esi + 0xd8]
movsd qword [esi + 0x284], xmm1
movsd xmm1, qword [esi + 0xe0]
movsd qword [esi + 0x260], xmm2
mov dword [esi + 0x278], eax
movsd qword [esi + 0x268], xmm1
movsd xmm1, qword [esi + 0xe8]
movsd qword [esi + 0x270], xmm1
push 4
push 0x48
call fcn.0043c290
add esp, 8
test eax, eax
je 0x4110c9
mov ecx, eax
push 0x48
lea eax, [esi + 0x260]
push eax
mov dword [esi + 0xc], ecx
push ecx
call fcn.0054ad50
jmp 0x40dae3
mov eax, dword [esi + 0x264]
mov edx, dword [esi + 0x26c]
mov ecx, dword [esi + 0x268]
mov dword [esi + str._id_value______md5_value_____], 0x572958
mov dword [esi + 0x264], 3
mov dword [esi + 0x268], 0
mov dword [esi + 0x610], 0x61
mov dword [esi + 0x1c8], eax
mov dword [esi + 0x18], eax
lea eax, [esi + 0xd8]
mov dword [esi + 0x1cc], ecx
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], edx
mov dword [esi + 0x1d0], edx
mov dword [esi + 0x48], eax
lea eax, [esi + 0x198]
mov dword [esi + 0x4c], fcn.00509800
mov dword [esi + 0x50], eax
lea eax, [esi + 0x48]
mov dword [esi + 0x54], 0x42a000
mov dword [esi + 0x270], eax
lea eax, [esi + 0x260]
mov dword [esi + 0x274], 2
push eax
lea eax, [esi + 0x440]
push eax
call fcn.004feef0
add esp, 8
mov eax, dword [esi + 0x448]
movsd xmm0, qword [esi + 0x440]
mov dword [esi + 0x610], 0x62
movsd qword [esi + 0x100], xmm0
mov dword [esi + 0x108], eax
push 0x20e
push 0x5726aa
call fcn.00474b60
add esp, 8
push edx
push eax
lea eax, [esi + 0x260]
push eax
call fcn.0046c530
add esp, 0xc
mov eax, dword [esi + 0x260]
test eax, eax
je 0x4110f3
mov ecx, dword [esi + 0x264]
mov edx, dword [esi + 0x268]
mov edi, dword [esi + 0x26c]
mov dword [esi + 0x260], eax
mov eax, dword [esi + 0x100]
mov dword [esi + 0x264], ecx
mov dword [esi + 0x268], edx
mov dword [esi + 0x26c], edi
push dword [esi + 0x108]
mov dword [esi + 0x34], eax
push eax
call fcn.00474b60
add esp, 8
mov dword [esi + 0x28], eax
mov dword [esi + 0x30], edx
push dword [esi + 0x20]
push dword [esi + 0x18]
call fcn.00474b60
add esp, 8
mov ecx, dword [0x61c0c0]
push 1
push edx
push eax
push dword [esi + 0x30]
push dword [esi + 0x28]
lea eax, [esi + 0x260]
push eax
push ecx
call fcn.0046c960
add esp, 0x1c
test al, al
je 0x40dea4
lea eax, [esi + 0x260]
mov dword [esi + 0x260], 0x572914
mov dword [esi + 0x264], 1
mov dword [esi + 0x268], 0
mov dword [esi + 0x270], str.error_reading
mov dword [esi + 0x274], 0
push eax
lea eax, [esi + 0x218]
push eax
call fcn.004feef0
add esp, 8
mov eax, dword [esi + 0x220]
movsd xmm0, qword [esi + 0x218]
mov dword [esi + 0x610], 0x63
mov dword [esi + 0x50], eax
lea eax, [esi + 0x440]
movsd qword [esi + 0x48], xmm0
push eax
call fcn.004ccf10
add esp, 4
mov eax, dword [esi + 0x50]
movsd xmm0, qword [esi + 0x48]
movsd xmm1, qword [esi + 0x448]
movsd xmm2, qword [esi + 0x440]
mov dword [esi + 0x284], eax
movsd qword [esi + 0x27c], xmm0
mov eax, dword [esi + 0x458]
movsd qword [esi + 0x268], xmm1
movsd xmm1, qword [esi + 0x450]
movsd qword [esi + 0x260], xmm2
movsd qword [esi + 0x270], xmm1
mov dword [esi + 0x278], eax
push 4
push 0x28
call fcn.0043c290
add esp, 8
test eax, eax
je 0x4110e5
movsd xmm2, qword [esi + 0x278]
movsd xmm1, qword [esi + 0x270]
movsd xmm0, qword [esi + 0x280]
mov ebx, eax
movsd qword [eax + 0x18], xmm2
movsd qword [eax + 0x10], xmm1
movsd xmm2, qword [esi + 0x260]
movsd xmm1, qword [esi + 0x268]
movsd qword [eax + 0x20], xmm0
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm2
mov eax, dword [esi + 0x104]
test eax, eax
je 0x40d608
push 1
push eax
push dword [esi + 0x34]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x40d61d
push 1
push eax
push dword [esi + 0x18]
call fcn.0043c2a0
add esp, 0xc
mov dword [esi + 0x18], fcn.004257e0
jmp 0x40ded3
mov eax, dword [esi + 0x264]
movsd xmm1, qword [esi + 0x29c]
movsd xmm2, qword [esi + 0x294]
movsd xmm0, qword [esi + 0x2a4]
mov edi, dword [esi + 0x268]
mov ebx, dword [esi + 0x26c]
test edx, edx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x270]
movsd qword [esi + 0x120], xmm1
movsd xmm1, qword [esi + 0x28c]
movsd qword [esi + 0x118], xmm2
movsd xmm2, qword [esi + 0x27c]
movsd qword [esi + 0x128], xmm0
mov dword [esi + 4], eax
mov eax, dword [esi + 0x274]
movsd qword [esi + 0x110], xmm1
movsd xmm1, qword [esi + 0x284]
movsd qword [esi + 0x100], xmm2
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x278]
movsd qword [esi + 0x108], xmm1
mov dword [esi + 0x18], eax
je 0x40d6d1
push 1
push edx
push ecx
mov dword [esi + 0x1c], ebx
mov ebx, edi
call fcn.0043c2a0
mov ebx, dword [esi + 0x1c]
add esp, 0xc
mov eax, dword [esi + 8]
movsd xmm4, qword [esi + 0x120]
movsd xmm1, qword [esi + 0x108]
movsd xmm2, qword [esi + 0x110]
movsd xmm3, qword [esi + 0x118]
movsd xmm0, qword [esi + 0x100]
movsd xmm5, qword [esi + 0x128]
mov dword [esi + str.error_reading], 0x5725b0
mov dword [esi + 0x264], 3
mov dword [esi + 0x268], 0
mov dword [esi + 0x610], 0x35
mov dword [esi + 0x48], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x4c], edi
mov dword [esi + 0x50], ebx
movsd qword [esi + 0x168], xmm4
movsd qword [esi + 0x150], xmm1
movsd qword [esi + 0x158], xmm2
movsd qword [esi + 0x160], xmm3
movsd qword [esi + 0x148], xmm0
movsd qword [esi + 0x170], xmm5
movsd xmm1, qword [esi + 0x168]
movsd xmm2, qword [esi + 0x160]
movsd xmm0, qword [esi + 0x170]
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x20]
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x5c], eax
lea eax, [esi + 0xc8]
movsd qword [esi + 0x80], xmm1
movsd xmm1, qword [esi + 0x158]
movsd qword [esi + 0x78], xmm2
movsd xmm2, qword [esi + 0x148]
movsd qword [esi + 0x88], xmm0
mov dword [esi + 0x100], eax
lea eax, [esi + 0x5f4]
mov dword [esi + 0x104], 0x427fc0
mov dword [esi + 0x108], eax
mov eax, dword [esi + 0x24]
mov dword [esi + 0x10c], fcn.00509800
movsd qword [esi + 0x70], xmm1
movsd xmm1, qword [esi + 0x150]
movsd qword [esi + 0x60], xmm2
mov dword [esi + 0xc8], eax
lea eax, [esi + 0x100]
mov dword [esi + 0x270], eax
lea eax, [esi + 0x260]
mov dword [esi + 0x274], 2
movsd qword [esi + 0x68], xmm1
push eax
lea eax, [esi + 0xd8]
push eax
call fcn.004feef0
add esp, 8
mov eax, dword [esi + 0xe0]
movsd xmm0, qword [esi + 0xd8]
mov dword [esi + 0x610], 0x36
movsd qword [esi + 0xb8], xmm0
mov dword [esi + 0xc0], eax
mov dword [esi + 8], eax
mov eax, dword [esi + 0xb8]
mov dword [esi + 4], eax
lea eax, [esi + 0x260]
push eax
call fcn.004563b0
add esp, 4
lea ecx, [esi + 0x100]
lea eax, [esi + 0x48]
push eax
lea eax, [esi + 0x260]
push eax
push ecx
call fcn.004562f0
lea eax, [esi + 0x100]
add esp, 0xc
push dword [esi + 8]
push dword [esi + 4]
push eax
lea eax, [esi + 0x440]
push eax
call fcn.00456320
lea ecx, [esi + 0x100]
add esp, 0x10
mov eax, dword [esi + 0x24]
mov dword [esi + str.invalid_update_location_0_W], 0x572448
mov dword [esi + 0x264], 1
mov dword [esi + 0x268], 0
mov byte [esi + 0x95], 1
mov dword [esi + 0x610], 0x38
mov dword [esi + 0xd8], eax
lea eax, [esi + 0xd8]
mov dword [esi + 0xc8], eax
lea eax, [esi + 0xc8]
mov dword [esi + 0xcc], 0x427fc0
mov dword [esi + 0x270], eax
lea eax, [esi + 0x260]
mov dword [esi + 0x274], 1
push eax
push ecx
call fcn.004feef0
add esp, 8
mov ecx, dword [esi + 0x100]
mov edx, dword [esi + 0x104]
cmp byte [esi + 0x440], 1
jne 0x40deef
mov edi, dword [esi + 0x108]
movzx eax, byte [esi + 0x441]
mov dword [esi + 0x260], ecx
mov dword [esi + 0x264], edx
mov dword [esi + 0xc], edx
mov dword [esi + 0x610], 0x39
mov dword [esi + 0x14], edi
mov dword [esi + 0x268], edi
push eax
mov dword [esi + 0x24], ecx
call fcn.00437d00
add esp, 4
mov ecx, dword [esi + 0x24]
mov ebx, dword [esi + 0xc]
mov edi, dword [esi + 0x14]
movsd xmm0, qword [esi + 0x198]
movsd xmm1, qword [esi + 0x1a0]
mov dword [esi + 0x610], 0x37
mov dword [esi + 0x440], ecx
mov dword [esi + 0x444], ebx
mov dword [esi + 0x448], edi
mov dword [esi + 0x44c], 1
mov dword [esi + 0x450], eax
mov eax, dword [esi + 0x1a8]
mov dword [esi + 0x454], edx
movsd qword [esi + 0x458], xmm0
movsd qword [esi + 0x460], xmm1
mov dword [esi + 0x468], eax
lea eax, [esi + 0x44c]
push eax
call fcn.004cce00
add esp, 4
lea eax, [esi + 0x100]
push eax
call fcn.004ccf00
add esp, 4
movsd xmm1, qword [esi + 0x450]
mov eax, dword [esi + 0x468]
movsd xmm0, qword [esi + 0x460]
movsd xmm2, qword [esi + 0x458]
movsd xmm3, qword [esi + 0x440]
movsd qword [esi + 0x28c], xmm1
movsd xmm1, qword [esi + 0x448]
mov dword [esi + 0x2a4], eax
movsd qword [esi + 0x294], xmm2
mov eax, dword [esi + 0x118]
movsd qword [esi + 0x29c], xmm0
movsd qword [esi + 0x27c], xmm3
movsd xmm2, qword [esi + 0x100]
movsd qword [esi + 0x284], xmm1
movsd xmm1, qword [esi + 0x108]
movsd qword [esi + 0x260], xmm2
mov dword [esi + 0x278], eax
movsd qword [esi + 0x268], xmm1
movsd xmm1, qword [esi + 0x110]
movsd qword [esi + 0x270], xmm1
push 4
push 0x48
call fcn.0043c290
add esp, 8
test eax, eax
je 0x4110c9
mov ecx, eax
push 0x48
lea eax, [esi + 0x260]
push eax
mov dword [esi + 0xc], ecx
push ecx
call fcn.0054ad50
add esp, 0xc
mov eax, dword [esi + 0xbc]
test eax, eax
je 0x40dad1
push 1
push eax
push dword [esi + 4]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x40dae6
push 1
push eax
push dword [esi + 0x48]
call fcn.0043c2a0
add esp, 0xc
mov dword [esi + 0x14], fcn.00437390
mov eax, dword [esi + 0xa0]
test eax, eax
je 0x40db69
mov edi, dword [esi + 0x98]
lea eax, [eax + eax*2]
shl eax, 4
add eax, edi
mov dword [esi + 4], eax
jmp 0x40db11
cmp ebx, dword [esi + 4]
mov edi, ebx
je 0x40db69
mov eax, dword [edi + 4]
test eax, eax
je 0x40db25
push 1
push eax
push dword [edi]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [edi + 0x10]
test eax, eax
je 0x40db3a
push 1
push eax
push dword [edi + 0xc]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x40db4f
push 1
push eax
push dword [edi + 0x18]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [edi + 0x28]
lea ebx, [edi + 0x30]
test eax, eax
je 0x40db0a
push 1
push eax
push dword [edi + 0x24]
call fcn.0043c2a0
add esp, 0xc
jmp 0x40db0a
mov eax, dword [esi + 0x9c]
test eax, eax
je 0x40db98
shl eax, 4
lea eax, [eax + eax*2]
test eax, eax
je 0x40db98
push 4
push eax
push dword [esi + 0x98]
call fcn.0043c2a0
add esp, 0xc
mov dword [esi + 0x610], 0x1f
movsd xmm0, qword [esi + 0x178]
movsd xmm1, qword [esi + 0x180]
mov eax, dword [esi + 0x188]
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 0x14]
lea ecx, [esi + 0x448]
mov dword [esi + 0x440], 0x572ac4
mov dword [esi + 0x444], 0x19
mov dword [esi + 0x448], 1
mov dword [esi + 0x610], 0x1f
mov dword [esi + 0x44c], edx
mov dword [esi + 0x450], edi
movsd qword [esi + 0x200], xmm0
movsd qword [esi + 0x208], xmm1
mov dword [esi + 0x210], eax
movsd qword [esi + 0x454], xmm0
movsd qword [esi + 0x45c], xmm1
mov dword [esi + 0x464], eax
push ecx
call fcn.004cce00
add esp, 4
lea eax, [esi + 0x48]
push eax
call fcn.004ccf00
add esp, 4
jmp 0x4102ea
mov ecx, dword [esi + 0x26c]
mov edx, dword [esi + 0xc]
mov dword [esi + 0xb8], ebx
mov dword [esi + 0xbc], eax
mov dword [esi + 0x20], ebx
mov byte [esi + 0x93], 1
mov dword [esi + 0x610], 0x4c
mov dword [esi + 0x28], ecx
mov dword [esi + 0xc0], ecx
lea ecx, [esi + 0x260]
push 0xd
push 0x57269d
push dword [ebp + 8]
push dword [esi + 0x14]
push dword [esi + 0x140]
call fcn.00408c30
add esp, 0x14
mov ebx, dword [esi + 0x264]
cmp dword [esi + 0x260], 1
mov edx, dword [esi + 0x268]
je 0x40f516
mov eax, dword [esi + 0x26c]
mov dword [esi + 0x200], ebx
mov dword [esi + 0x204], edx
mov cl, 1
mov dword [esi + 0x428], ebx
mov dword [esi + 0x1c], edx
mov dword [esi + 0x208], eax
mov eax, dword [esi + 0xc]
mov al, byte [eax + 0xac]
test al, al
mov byte [esi + 0x144], al
je 0x40e858
lea eax, [esi + 0x260]
mov dword [esi + 0x30], ecx
mov byte [esi + 0x11], cl
mov byte [esi + 0x12], 1
mov dword [esi + 0x610], 0x4d
push eax
call fcn.00481b10
add esp, 4
mov eax, dword [esi + 0x30]
mov byte [esi + 0x12], 1
mov byte [esi + 0x11], al
push dword [esi + 0x28]
push dword [esi + 0x20]
lea eax, [esi + 0x260]
push eax
call fcn.00481cd0
add esp, 0xc
mov eax, dword [esi + 0x30]
mov byte [esi + 0x12], 1
mov byte [esi + 0x11], al
lea eax, [esi + 0x260]
push eax
call fcn.00481cc0
add esp, 4
mov ecx, dword [esi + 0x30]
add eax, 7
mov byte [esi + 0x12], 1
shr eax, 3
mov byte [esi + 0x11], cl
push 0
push eax
lea eax, [esi + 0x440]
push eax
call fcn.00432410
add esp, 0xc
mov ecx, dword [esi + 0x448]
mov eax, dword [esi + 0x440]
mov dword [esi + 0x610], 0x4e
mov dword [esi + 0xc4], ecx
push ecx
mov dword [esi + 0x34], eax
push eax
lea eax, [esi + 0x260]
push eax
call fcn.00481be0
add esp, 0xc
push dword [esi + 0xc4]
push dword [esi + 0x34]
lea eax, [esi + 0x178]
push eax
call fcn.00482450
add esp, 0xc
mov eax, dword [esi + 0x444]
mov ecx, dword [esi + 0x34]
test eax, eax
je 0x40ddb8
push 1
push eax
push ecx
call fcn.0043c2a0
add esp, 0xc
mov byte [esi + 0x2f], 1
mov dword [esi + 0x610], 0x50
push dword [esi + 0x18]
push dword [esi + 0x24]
lea eax, [esi + 0x260]
push eax
call fcn.004179b0
add esp, 0xc
cmp dword [esi + 0x260], 1
jne 0x40ea02
mov eax, dword [esi + 0x264]
mov dword [esi + 0x610], 0x51
mov dword [esi + 0x14], eax
mov dword [esi + 0x1c8], eax
lea eax, [esi + 0x260]
push eax
call fcn.004ccf10
add esp, 4
mov eax, dword [esi + 0x278]
movsd xmm0, qword [esi + 0x270]
movsd xmm2, qword [esi + 0x260]
movsd xmm1, qword [esi + 0x268]
mov dword [esi + 0x458], eax
movsd qword [esi + 0x450], xmm0
movsd qword [esi + 0x448], xmm1
movsd qword [esi + 0x440], xmm2
push 4
push 0x20
call fcn.0043c290
add esp, 8
test eax, eax
je 0x41117e
mov ecx, dword [esi + 0x458]
movsd xmm0, qword [esi + 0x450]
movsd xmm2, qword [esi + 0x440]
movsd xmm1, qword [esi + 0x448]
mov dword [esi + 0xc], eax
mov dword [eax + 0x18], ecx
mov ecx, dword [esi + 0x14]
movsd qword [eax + 0x10], xmm0
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm2
mov dword [esi + 0x14], 0x5753d4
mov dword [eax + 0x1c], ecx
jmp 0x40f4d4
mov eax, dword [esi + 0x104]
test eax, eax
je 0x40debc
push 1
push eax
push dword [esi + 0x34]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x40ded1
push 1
push eax
push dword [esi + 0x18]
call fcn.0043c2a0
add esp, 0xc
xor ebx, ebx
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0xf8]
mov edi, dword [esi + 0x140]
test ebx, ebx
jne 0x41039f
jmp 0x40cb59
mov eax, dword [esi + 0x444]
movsd xmm1, qword [esi + 0x47c]
movsd xmm2, qword [esi + 0x474]
movsd xmm0, qword [esi + 0x484]
mov edi, dword [esi + 0x448]
mov ebx, dword [esi + 0x44c]
test edx, edx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x450]
movsd qword [esi + 0x1e8], xmm1
movsd xmm1, qword [esi + 0x46c]
movsd qword [esi + 0x1e0], xmm2
movsd xmm2, qword [esi + 0x45c]
movsd qword [esi + 0x1f0], xmm0
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x454]
movsd qword [esi + 0x1d8], xmm1
movsd xmm1, qword [esi + 0x464]
movsd qword [esi + 0x1c8], xmm2
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x458]
movsd qword [esi + 0x1d0], xmm1
mov dword [esi + 0x18], eax
je 0x40df97
push 1
push edx
push ecx
mov dword [esi + 0x1c], ebx
mov ebx, edi
call fcn.0043c2a0
mov ebx, dword [esi + 0x1c]
add esp, 0xc
movsd xmm0, qword [esi + 0x1c8]
mov eax, dword [esi + 8]
movsd xmm1, qword [esi + 0x1d0]
movsd qword [esi + 0x198], xmm0
movsd xmm0, qword [esi + 0x1d8]
mov dword [esi + 0x218], eax
mov eax, dword [esi + 0x24]
mov dword [esi + 0x21c], edi
mov dword [esi + 0x220], ebx
movsd qword [esi + 0x1a0], xmm1
movsd qword [esi + 0x1a8], xmm0
movsd xmm0, qword [esi + 0x1e0]
mov dword [esi + 0x224], eax
mov eax, dword [esi + 0x20]
movsd qword [esi + 0x1b0], xmm0
movsd xmm0, qword [esi + 0x1e8]
mov dword [esi + 0x228], eax
mov eax, dword [esi + 0x18]
movsd xmm2, qword [esi + 0x1b0]
movsd qword [esi + 0x1b8], xmm0
movsd xmm0, qword [esi + 0x1f0]
mov dword [esi + 0x22c], eax
mov eax, dword [esi + 0xbc]
movsd xmm1, qword [esi + 0x1b8]
movsd qword [esi + 0x248], xmm2
movsd xmm2, qword [esi + 0x198]
movsd qword [esi + 0x1c0], xmm0
test eax, eax
movsd qword [esi + 0x250], xmm1
movsd xmm1, qword [esi + 0x1a8]
movsd xmm0, qword [esi + 0x1c0]
movsd qword [esi + 0x230], xmm2
movsd qword [esi + 0x240], xmm1
movsd xmm1, qword [esi + 0x1a0]
movsd qword [esi + 0x258], xmm0
movsd qword [esi + 0x238], xmm1
je 0x40e09f
push 1
push eax
push dword [esi + 4]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x40e0b4
push 1
push eax
push dword [esi + 0x48]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [0x61c0d0]
mov eax, dword [eax]
cmp eax, 3
jb 0x40e146
mov eax, dword [esi + 0x218]
mov ecx, dword [esi + 0x220]
mov dword [esi + str.downloading_P_W], 0x57245c
mov dword [esi + 0x264], 1
mov dword [esi + 0x268], 0
mov dword [esi + 0x610], 0x3a
mov dword [esi + 0x440], eax
lea eax, [esi + 0x440]
mov dword [esi + 0x444], ecx
mov dword [esi + 0xb8], eax
lea eax, [esi + 0xb8]
mov dword [esi + 0xbc], 0x42a000
mov dword [esi + 0x270], eax
mov dword [esi + 0x274], 1
push 0x5725c8
push 3
lea eax, [esi + 0x260]
push eax
call fcn.004753b0
add esp, 0xc
mov edx, dword [esi + 0x218]
mov eax, dword [esi + 0x220]
mov dword [esi + 0x610], 0x3a
lea ecx, [esi + 0x440]
push dword [ebp + 8]
push dword [esi + 0x14]
push eax
call fcn.00406b00
add esp, 0xc
lea eax, [esi + 0x218]
mov dword [esi + str.error_accessing], 0x572490
mov dword [esi + 0x264], 1
mov dword [esi + 0x268], 0
mov dword [esi + 0x610], 0x48
mov dword [esi + 0x1c8], eax
lea eax, [esi + 0x1c8]
mov dword [esi + 0x100], eax
lea eax, [esi + 0x100]
mov dword [esi + 0x104], 0x427fc0
mov dword [esi + 0x270], eax
lea eax, [esi + 0x260]
mov dword [esi + 0x274], 1
push eax
lea eax, [esi + 0x48]
push eax
call fcn.004feef0
add esp, 8
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov ebx, dword [esi + 0x444]
mov edx, dword [esi + 0x448]
cmp dword [esi + 0x440], 1
jne 0x40e5aa
mov dword [esi + 0x440], eax
mov eax, dword [esi + 0x50]
mov dword [esi + 0x444], ecx
mov dword [esi + 0x610], 0x3b
mov dword [esi + 0x448], eax
lea eax, [esi + 0x44c]
mov dword [esi + 0x44c], 1
mov dword [esi + 0x450], ebx
mov dword [esi + 0x454], edx
push eax
call fcn.004cce00
add esp, 4
lea eax, [esi + 0x48]
push eax
call fcn.004ccf00
add esp, 4
movsd xmm1, qword [esi + 0x450]
mov eax, dword [esi + 0x468]
movsd xmm0, qword [esi + 0x460]
movsd xmm2, qword [esi + 0x458]
movsd xmm3, qword [esi + 0x440]
movsd qword [esi + 0x28c], xmm1
movsd xmm1, qword [esi + 0x448]
mov dword [esi + 0x2a4], eax
movsd qword [esi + 0x294], xmm2
mov eax, dword [esi + 0x60]
movsd qword [esi + 0x29c], xmm0
movsd qword [esi + 0x27c], xmm3
movsd xmm2, qword [esi + 0x48]
movsd qword [esi + 0x284], xmm1
movsd xmm1, qword [esi + 0x50]
movsd qword [esi + 0x260], xmm2
mov dword [esi + 0x278], eax
movsd qword [esi + 0x268], xmm1
movsd xmm1, qword [esi + 0x58]
movsd qword [esi + 0x270], xmm1
push 4
push 0x48
call fcn.0043c290
add esp, 8
test eax, eax
je 0x4110c9
mov ecx, eax
push 0x48
lea eax, [esi + 0x260]
push eax
mov dword [esi + 0xc], ecx
push ecx
call fcn.0054ad50
add esp, 0xc
mov dword [esi + 0x14], 0x57559c
jmp 0x40e834
mov ecx, dword [esi + 0x140]
shld ecx, eax, 0x18
push ecx
call fcn.00437c90
add esp, 4
lea ecx, [esi + 0x150]
mov dword [esi + 0x148], 0x5724c7
mov dword [esi + 0x14c], 0x1a
mov dword [esi + 0x150], 1
mov dword [esi + 0x154], eax
mov dword [esi + 0x158], edx
mov dword [esi + 0x610], 0x15
push ecx
call fcn.004cce00
add esp, 4
lea eax, [esi + 0xd8]
push eax
call fcn.004ccf00
add esp, 4
movsd xmm0, qword [esi + 0x168]
movsd xmm2, qword [esi + 0x160]
movsd xmm1, qword [esi + 0x158]
movsd xmm3, qword [esi + 0x148]
mov eax, dword [esi + 0xf0]
movsd qword [esi + 0x84], xmm0
movsd qword [esi + 0x7c], xmm2
movsd qword [esi + 0x74], xmm1
movsd xmm1, qword [esi + 0x150]
movsd xmm2, qword [esi + 0xd8]
movsd qword [esi + 0x6c], xmm1
movsd xmm1, qword [esi + 0xe0]
movsd qword [esi + 0x64], xmm3
movsd qword [esi + 0x48], xmm2
movsd qword [esi + 0x50], xmm1
movsd xmm1, qword [esi + 0xe8]
movsd qword [esi + 0x58], xmm1
mov dword [esi + 0x60], eax
push 4
push 0x44
call fcn.0043c290
add esp, 8
test eax, eax
je 0x410b1b
mov ecx, eax
push 0x44
lea eax, [esi + 0x48]
push eax
mov dword [esi + 0x14], ecx
push ecx
call fcn.0054ad50
add esp, 0xc
mov ecx, dword [esi + 4]
mov dword [esi + 0xc], 0x5754b8
test ecx, ecx
jne 0x40c881
mov eax, dword [esi + 0x9c]
test eax, eax
je 0x40e44b
shl eax, 4
lea eax, [eax + eax*2]
test eax, eax
je 0x40e44b
push 4
push eax
push dword [esi + 8]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x19c]
test eax, eax
je 0x40e466
push 1
push eax
push dword [esi + 0x198]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x1a4]
test eax, eax
je 0x40e486
mov ecx, dword [esi + 0x1a8]
test ecx, ecx
je 0x40e486
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x1b0]
test eax, eax
je 0x40e4a6
mov ecx, dword [esi + 0x1b4]
test ecx, ecx
je 0x40e4a6
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
movzx eax, byte [esi + 0x100]
cmp eax, 3
je 0x40e4ce
cmp eax, 7
je 0x40e4e7
lea ecx, [esi + 0x100]
mov dword [esi + 0x610], 0xf
call fcn.00402d70
jmp 0x40e4e7
lea eax, [esi + 0x134]
mov dword [esi + 0x610], 0xf
push eax
call fcn.004290a0
add esp, 4
lea ecx, [esi + 0x260]
mov dword [esi + 0x610], 0xd
call fcn.00403640
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x30]
test eax, eax
je 0x40e516
test ecx, ecx
je 0x40e516
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0xc8]
test eax, eax
je 0x40e536
mov ecx, dword [esi + 0xcc]
test ecx, ecx
je 0x40e536
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x40e56f
mov eax, dword [esi + 0x3c]
lea ecx, [ecx + ecx*2]
lea edi, [eax + ecx*4]
jmp 0x40e556
cmp ebx, edi
mov eax, ebx
je 0x40e56f
mov ecx, dword [eax + 4]
lea ebx, [eax + 0xc]
test ecx, ecx
je 0x40e550
push 1
push ecx
push dword [eax]
call fcn.0043c2a0
add esp, 0xc
jmp 0x40e550
mov eax, dword [esi + 0x40]
test eax, eax
je 0x40e58e
shl eax, 2
lea eax, [eax + eax*2]
test eax, eax
je 0x40e58e
push 4
push eax
push dword [esi + 0x3c]
call fcn.0043c2a0
add esp, 0xc
mov edi, dword [esi + 0x1c]
mov ebx, dword [esi + 0x14]
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x190]
test eax, eax
jne 0x40baaa
jmp 0x40bac1
mov edi, dword [esi + 0x44c]
test ecx, ecx
mov dword [esi + 0xc4], edx
je 0x40e5c6
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0xc4]
mov dword [esi + 0xd8], ebx
mov dword [esi + 0x1c8], ebx
mov dword [esi + 0x1fc], ebx
mov dword [esi + 0x1cc], edi
mov dword [esi + 0x610], 0x3c
mov dword [esi + 0xdc], eax
mov eax, dword [0x5720b0]
mov dword [esi + 0xe0], edi
mov dword [esi + 0x198], eax
lea eax, [esi + 0x198]
mov dword [esi + 0x19c], 0
mov dword [esi + 0x1a0], 0
push eax
lea eax, [esi + 0x1c8]
push eax
lea eax, [esi + 0x48]
push eax
call fcn.00438ad0
add esp, 0xc
cmp dword [esi + 0x48], 1
jne 0x40eb1b
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x610], 0x41
mov dword [esi + 4], eax
mov dword [esi + 0x104], eax
lea eax, [esi + 0x260]
mov dword [esi + 0xc], ecx
mov dword [esi + 0x100], ecx
push eax
call fcn.004ccf10
add esp, 4
mov eax, dword [esi + 0x278]
movsd xmm0, qword [esi + 0x270]
movsd xmm2, qword [esi + 0x260]
movsd xmm1, qword [esi + 0x268]
mov dword [esi + 0x458], eax
movsd qword [esi + 0x450], xmm0
movsd qword [esi + 0x448], xmm1
movsd qword [esi + 0x440], xmm2
push 4
push 0x24
call fcn.0043c290
add esp, 8
test eax, eax
je 0x4110d7
mov ecx, dword [esi + 0x458]
movsd xmm0, qword [esi + 0x450]
movsd xmm1, qword [esi + 0x448]
mov dword [esi + 0x610], 0x40
mov dword [eax + 0x18], ecx
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esi + 0x440]
mov ecx, dword [esi + 0xc]
movsd qword [eax + 8], xmm1
mov dword [esi + 0x440], 0x572498
mov dword [esi + 0x444], 0x16
mov dword [esi + 0x448], 1
mov dword [esi + 0x44c], eax
mov dword [esi + 0x450], 0x575680
movsd qword [eax], xmm0
mov dword [eax + 0x1c], ecx
mov ecx, dword [esi + 4]
mov dword [eax + 0x20], ecx
lea ecx, [esi + 0x448]
push ecx
call fcn.004cce00
add esp, 4
lea eax, [esi + 0x48]
push eax
call fcn.004ccf00
add esp, 4
movsd xmm1, qword [esi + 0x450]
movsd xmm0, qword [esi + 0x460]
movsd xmm2, qword [esi + 0x458]
movsd xmm3, qword [esi + 0x440]
mov eax, dword [esi + 0x60]
movsd qword [esi + 0x28c], xmm1
movsd xmm1, qword [esi + 0x448]
movsd qword [esi + 0x294], xmm2
movsd qword [esi + 0x29c], xmm0
movsd qword [esi + 0x27c], xmm3
movsd xmm2, qword [esi + 0x48]
movsd qword [esi + 0x284], xmm1
movsd xmm1, qword [esi + 0x50]
movsd qword [esi + 0x260], xmm2
mov dword [esi + 0x278], eax
movsd qword [esi + 0x268], xmm1
movsd xmm1, qword [esi + 0x58]
movsd qword [esi + 0x270], xmm1
push 4
push 0x44
call fcn.0043c290
add esp, 8
test eax, eax
mov dword [esi + 0xc], eax
je 0x410b1b
push 0x44
lea eax, [esi + 0x260]
push eax
push dword [esi + 0xc]
call fcn.0054ad50
add esp, 0xc
mov dword [esi + 0x14], 0x5754b8
mov eax, dword [esi + 0x19c]
test eax, eax
je 0x40e819
push 1
push eax
push dword [esi + 0x198]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x40e834
push 1
push eax
push dword [esi + 0x1fc]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x21c]
test eax, eax
je 0x40daed
push 1
push eax
push dword [esi + 0x218]
call fcn.0043c2a0
add esp, 0xc
jmp 0x40daed
mov eax, dword [esi + 0x208]
movsd xmm0, qword [esi + 0x200]
mov dword [esi + 0x610], 0x60
mov dword [esi + 0x448], eax
movsd qword [esi + 0x440], xmm0
mov dword [esi + 0x30], eax
mov ecx, dword [esi + 0x440]
push eax
mov dword [esi + 0x34], ecx
push ecx
lea eax, [esi + 0x260]
push eax
call fcn.00506cb0
add esp, 0xc
mov eax, dword [esi + 0x444]
cmp dword [esi + 0x260], 1
jne 0x40ebee
mov edi, dword [esi + 0x34]
mov ecx, dword [esi + 0x268]
mov edx, dword [esi + 0x264]
mov byte [esi + 0x11], 0
mov byte [esi + 0x12], 1
mov dword [esi + 0x610], 0x4d
mov dword [esi + 0x260], edi
mov dword [esi + 0x264], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x268], eax
lea eax, [esi + 0x260]
mov dword [esi + 0x26c], edx
mov dword [esi + 0x270], ecx
push eax
call fcn.00437a70
add esp, 4
lea ecx, [esi + 0x448]
mov dword [esi + 0x440], 0x5728b8
mov dword [esi + 0x444], 0x12
mov dword [esi + 0x448], 1
mov dword [esi + 0x44c], eax
mov dword [esi + 0x450], edx
mov dword [esi + 0x610], 0x4f
push ecx
call fcn.004cce00
add esp, 4
lea eax, [esi + 0x48]
push eax
call fcn.004ccf00
add esp, 4
movsd xmm1, qword [esi + 0x450]
movsd xmm0, qword [esi + 0x460]
movsd xmm2, qword [esi + 0x458]
movsd xmm3, qword [esi + 0x440]
mov eax, dword [esi + 0x60]
movsd qword [esi + 0x28c], xmm1
movsd xmm1, qword [esi + 0x448]
movsd qword [esi + 0x294], xmm2
movsd qword [esi + 0x29c], xmm0
movsd qword [esi + 0x27c], xmm3
movsd xmm2, qword [esi + 0x48]
movsd qword [esi + 0x284], xmm1
movsd xmm1, qword [esi + 0x50]
movsd qword [esi + 0x260], xmm2
mov dword [esi + 0x278], eax
movsd qword [esi + 0x268], xmm1
movsd xmm1, qword [esi + 0x58]
movsd qword [esi + 0x270], xmm1
push 4
push 0x44
call fcn.0043c290
add esp, 8
test eax, eax
je 0x410b1b
mov ebx, eax
push 0x44
lea eax, [esi + 0x260]
push eax
push ebx
call fcn.0054ad50
add esp, 0xc
mov dword [esi + 0x1c], 0x5754b8
jmp 0x410175
movsd xmm0, qword [esi + 0x278]
movsd xmm2, qword [esi + 0x268]
movsd xmm1, qword [esi + 0x270]
lea eax, [esi + 0x48]
mov byte [esi + 0x13], 1
mov dword [esi + 0x610], 0x52
movsd qword [esi + 0x58], xmm0
movsd qword [esi + 0x50], xmm1
movsd qword [esi + 0x48], xmm2
push eax
push 0xa
push 0x5728de
call fcn.00444470
add esp, 0xc
test eax, eax
jne 0x40ea53
mov eax, dword [0x61c0b4]
mov byte [esi + 0x13], 1
push eax
call fcn.00444560
add esp, 4
test eax, eax
je 0x40f384
cmp dword [esi + 0x180], edx
jne 0x40ea8f
mov ecx, dword [esi + 0x178]
push edx
push eax
mov dword [esi + 0x1fc], ecx
push ecx
call fcn.0054b2c4
add esp, 0xc
test eax, eax
je 0x4105f0
lea eax, [esi + 0x260]
mov byte [esi + 0x13], 1
push eax
call fcn.004ccf10
add esp, 4
push 4
push 0x24
call fcn.0043c290
add esp, 8
test eax, eax
mov dword [esi + 0xc], eax
je 0x4110d7
mov eax, dword [esi + 0x278]
mov ecx, dword [esi + 0xc]
movsd xmm0, qword [esi + 0x270]
movsd xmm2, qword [esi + 0x260]
movsd xmm1, qword [esi + 0x268]
mov dword [esi + 0x14], 0x575420
mov dword [ecx + 0x18], eax
movsd qword [ecx + 0x10], xmm0
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm2
mov dword [ecx + 0x1c], 0x5728e8
mov dword [ecx + 0x20], 0x10
lea ecx, [esi + 0x48]
mov byte [esi + 0x2f], 1
mov dword [esi + 0x610], 0x50
call fcn.00402700
jmp 0x40f4d4
lea eax, [esi + 0x260]
push eax
call fcn.0047f040
add esp, 4
push dword [esi + 0x1a0]
push dword [esi + 0x198]
lea eax, [esi + 0x260]
push eax
call fcn.0047f0e0
add esp, 0xc
lea eax, [esi + 0x260]
push eax
call fcn.0047f270
add esp, 4
add eax, 7
shr eax, 3
push 0
push eax
lea eax, [esi + 0x440]
push eax
call fcn.00432410
add esp, 0xc
mov ecx, dword [esi + 0x448]
mov eax, dword [esi + 0x440]
mov dword [esi + 0x610], 0x3f
mov dword [esi + 0x24], ecx
push ecx
mov dword [esi + 4], eax
push eax
lea eax, [esi + 0x260]
push eax
call fcn.0047f130
add esp, 0xc
push dword [esi + 0x24]
push dword [esi + 4]
lea eax, [esi + 0x48]
push eax
call fcn.00482450
add esp, 0xc
mov eax, dword [esi + 0x444]
test eax, eax
je 0x40ebc3
push 1
push eax
push dword [esi + 4]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0xac]
cmp dword [esi + 0x50], eax
jne 0x40ed4a
push eax
push dword [esi + 0xa8]
push dword [esi + 0x48]
call fcn.0054b2c4
add esp, 0xc
test eax, eax
sete bl
jmp 0x40ed4c
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x610], 0x5c
mov dword [esi + 0x198], ecx
mov dword [esi + 0x19c], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x1a0], eax
lea eax, [esi + 0x198]
push eax
lea eax, [esi + 0x260]
push eax
call fcn.0042e8f0
add esp, 8
cmp dword [esi + 0x260], 1
jne 0x40ff5c
push dword [esi + 0x268]
push dword [esi + 0x264]
call fcn.00437e00
add esp, 8
lea ecx, [esi + 0x448]
mov dword [esi + 0x440], 0x5728ca
mov dword [esi + 0x444], 0x14
mov dword [esi + 0x448], 1
mov dword [esi + 0x44c], eax
mov dword [esi + 0x450], edx
mov dword [esi + 0x610], 0x5d
push ecx
call fcn.004cce00
add esp, 4
lea eax, [esi + 0x48]
push eax
call fcn.004ccf00
add esp, 4
movsd xmm1, qword [esi + 0x450]
movsd xmm0, qword [esi + 0x460]
movsd xmm2, qword [esi + 0x458]
movsd xmm3, qword [esi + 0x440]
mov eax, dword [esi + 0x60]
movsd qword [esi + 0x28c], xmm1
movsd xmm1, qword [esi + 0x448]
movsd qword [esi + 0x294], xmm2
movsd qword [esi + 0x29c], xmm0
movsd qword [esi + 0x27c], xmm3
movsd xmm2, qword [esi + 0x48]
movsd qword [esi + 0x284], xmm1
movsd xmm1, qword [esi + 0x50]
movsd qword [esi + 0x260], xmm2
mov dword [esi + 0x278], eax
movsd qword [esi + 0x268], xmm1
movsd xmm1, qword [esi + 0x58]
movsd qword [esi + 0x270], xmm1
push 4
push 0x44
call fcn.0043c290
add esp, 8
test eax, eax
je 0x410b1b
mov ebx, eax
push 0x44
lea eax, [esi + 0x260]
push eax
push ebx
call fcn.0054ad50
add esp, 0xc
mov dword [esi + 0x1c], 0x5754b8
jmp 0x41015a
xor ebx, ebx
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x40ed61
push 1
push eax
push dword [esi + 0x48]
call fcn.0043c2a0
add esp, 0xc
test bl, bl
je 0x40f16d
mov edi, dword [esi + 0x198]
mov ebx, dword [esi + 0x1a0]
mov dword [esi + 0x1c], 0
mov dword [esi + 0x24], 0
lea eax, [edi + ebx]
mov dword [esi + 8], edi
mov dword [esi + 0x18], ebx
mov dword [esi + 4], eax
xor eax, eax
jmp 0x40ed9c
mov eax, dword [esi + 0x28]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x20]
test al, al
jne 0x40f544
mov eax, dword [esi + 0x24]
cmp ebx, eax
jb 0x40ee20
mov ecx, ebx
mov dword [esi + 0x24], eax
sub ecx, eax
add eax, edi
cmp ecx, 8
jae 0x40edd1
xor edx, edx
test ecx, ecx
je 0x40edef
cmp byte [eax], 0xa
je 0x40edf3
inc eax
inc edx
cmp eax, dword [esi + 4]
jne 0x40edbf
xor eax, eax
mov edx, ecx
jmp 0x40edf8
mov dword [esi + 0x610], 0x3c
push ecx
push eax
push 0xa
call fcn.00506ac0
add esp, 0xc
mov edi, dword [esi + 8]
mov ebx, dword [esi + 0x18]
jmp 0x40edf8
xor eax, eax
jmp 0x40edf8
mov eax, 1
cmp eax, 1
jne 0x40ee1e
add edx, dword [esi + 0x24]
mov eax, edx
inc eax
je 0x40eda7
cmp eax, ebx
ja 0x40eda7
cmp byte [edi + edx], 0xa
jne 0x40eda7
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], eax
jmp 0x40ee38
mov eax, ebx
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x24], eax
mov al, 1
mov edx, ebx
mov dword [esi + 0x20], eax
cmp ebx, ecx
mov dword [esi + 0x28], ecx
je 0x40f544
mov eax, dword [esi + 0x1c]
lea ecx, [edi + eax]
sub edx, eax
mov dword [esi + 0x30], ecx
je 0x40ee4f
cmp byte [ecx + edx - 1], 0xd
jne 0x40ee63
dec edx
jmp 0x40ee51
xor edx, edx
mov eax, dword [esi + 0x28]
test edx, edx
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x20]
jne 0x40ee66
jmp 0x40ed9c
mov eax, dword [esi + 0x20]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x440], 0
mov dword [esi + 0x444], edx
mov dword [esi + 0x610], 0x3c
mov dword [esi + 0xb8], eax
mov dword [esi + 0x448], eax
lea eax, [esi + 0x440]
mov dword [esi + 0x44c], edx
mov dword [esi + 0x450], 0
mov dword [esi + 0x454], edx
mov dword [esi + 0x458], 0x20
mov dword [esi + 0x45c], 1
mov dword [esi + 0x460], 0x20
mov dword [esi + 0xbc], edx
mov word [esi + 0x464], 1
push eax
lea eax, [esi + 0x148]
push eax
call fcn.00432ad0
add esp, 8
cmp dword [esi + 0x150], 4
jne 0x410465
mov eax, dword [esi + 0x148]
mov ebx, dword [eax + 4]
test ebx, ebx
js 0x411160
mov edi, dword [eax]
mov dword [esi + 0x1c], eax
je 0x40ef24
push 1
push ebx
call fcn.0043c290
add esp, 8
test eax, eax
jne 0x40ef29
jmp 0x411123
mov eax, 1
push ebx
push edi
push eax
mov edi, eax
call fcn.0054ad50
add esp, 0xc
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x100], edi
mov dword [esi + 0x104], ebx
mov dword [esi + 0x108], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], edi
mov ebx, dword [eax + 0xc]
test ebx, ebx
js 0x411148
mov edi, dword [eax + 8]
je 0x40ef75
push 1
push ebx
call fcn.0043c290
add esp, 8
test eax, eax
jne 0x40ef7a
jmp 0x411123
mov eax, 1
push ebx
push edi
push eax
mov edi, eax
call fcn.0054ad50
add esp, 0xc
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x48], edi
mov dword [esi + 0x4c], ebx
mov dword [esi + 0x50], ebx
mov dword [esi + 0x428], edi
mov edi, dword [eax + 0x14]
test edi, edi
js 0x411130
mov ecx, dword [eax + 0x10]
je 0x40efc9
push 1
push edi
mov dword [esi + 0x144], ecx
call fcn.0043c290
mov ecx, dword [esi + 0x144]
add esp, 8
test eax, eax
jne 0x40efce
jmp 0x411171
mov eax, 1
push edi
push ecx
mov dword [esi + 0x144], eax
push eax
call fcn.0054ad50
add esp, 0xc
cmp dword [esi + 0x30], 1
jne 0x40f0fc
mov eax, dword [esi + 0x34]
mov al, byte [eax]
cmp al, 0x30
je 0x40effa
cmp al, 0x2b
jne 0x40f0fc
mov eax, dword [esi + 0x50]
movsd xmm0, qword [esi + 0x48]
lea ecx, [esi + 0x464]
mov dword [esi + 0x448], eax
mov eax, dword [esi + 0x144]
movsd qword [esi + 0x440], xmm0
mov dword [esi + 0x44c], 1
mov dword [esi + 0x450], 0
mov dword [esi + 0x454], 0
movsd xmm0, qword [esi + 0x100]
mov dword [esi + 0x458], eax
mov eax, dword [esi + 0x108]
mov dword [esi + 0x45c], edi
mov dword [esi + 0x460], edi
movsd qword [ecx], xmm0
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xa0]
cmp dword [esi + 0x9c], eax
jne 0x40f091
mov dword [esi + 0x610], 0x46
push 1
push eax
lea eax, [esi + 0x98]
push eax
call fcn.0056b6b0
add esp, 0xc
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0x98]
movsd xmm0, qword [esi + 0x468]
lea edx, [eax + eax*2]
mov edi, dword [esi + 8]
inc eax
shl edx, 4
movsd qword [ecx + edx + 0x28], xmm0
movsd xmm0, qword [esi + 0x460]
movsd qword [ecx + edx + 0x20], xmm0
movsd xmm0, qword [esi + 0x458]
movsd qword [ecx + edx + 0x18], xmm0
movsd xmm0, qword [esi + 0x450]
movsd qword [ecx + edx + 0x10], xmm0
movsd xmm0, qword [esi + 0x440]
movsd xmm1, qword [esi + 0x448]
movsd qword [ecx + edx + 8], xmm1
movsd qword [ecx + edx], xmm0
mov dword [esi + 0xa0], eax
jmp 0x40f13e
test edi, edi
je 0x40f111
push 1
push edi
push dword [esi + 0x144]
call fcn.0043c2a0
add esp, 0xc
test ebx, ebx
je 0x40f126
push 1
push ebx
push dword [esi + 0x428]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x30]
mov edi, dword [esi + 8]
test eax, eax
je 0x40f13e
push 1
push eax
push dword [esi + 0x34]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x14c]
mov ebx, dword [esi + 0x18]
test eax, eax
je 0x40ed93
shl eax, 3
test eax, eax
je 0x40ed93
push 4
push eax
push dword [esi + 0x1c]
call fcn.0043c2a0
add esp, 0xc
jmp 0x40ed93
lea eax, [esi + 0x260]
mov dword [esi + 0x610], 0x3c
push eax
call fcn.0047f270
add esp, 4
add eax, 7
shr eax, 3
push 0
push eax
lea eax, [esi + 0x440]
push eax
call fcn.00432410
add esp, 0xc
mov ecx, dword [esi + 0x448]
mov eax, dword [esi + 0x440]
mov dword [esi + 0x610], 0x3e
mov dword [esi + 0xc], ecx
push ecx
mov dword [esi + 4], eax
push eax
lea eax, [esi + 0x260]
push eax
call fcn.0047f130
add esp, 0xc
push dword [esi + 0xc]
push dword [esi + 4]
lea eax, [esi + 0x100]
push eax
call fcn.00482450
add esp, 0xc
mov eax, dword [esi + 0x444]
test eax, eax
je 0x40f1f8
push 1
push eax
push dword [esi + 4]
call fcn.0043c2a0
add esp, 0xc
lea eax, [esi + 0x100]
mov dword [esi + 0x440], 0x572600
mov dword [esi + 0x444], 2
mov dword [esi + 0x448], 0
mov dword [esi + 0x610], 0x47
mov dword [esi + 0x48], eax
lea eax, [esi + 0xa8]
mov dword [esi + 0x4c], 0x404cd0
mov dword [esi + 0x50], eax
lea eax, [esi + 0x48]
mov dword [esi + 0x54], 0x42a000
mov dword [esi + 0x450], eax
lea eax, [esi + 0x440]
mov dword [esi + 0x454], 2
push eax
lea eax, [esi + 0x1c8]
push eax
call fcn.004feef0
add esp, 8
mov eax, dword [esi + 0x104]
test eax, eax
je 0x40f284
push 1
push eax
push dword [esi + 0x100]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x1d0]
movsd xmm0, qword [esi + 0x1c8]
mov dword [esi + 0x610], 0x3d
mov dword [esi + 0x150], eax
mov dword [esi + 0x108], eax
lea eax, [esi + 0x48]
movsd qword [esi + 0x148], xmm0
movsd qword [esi + 0x100], xmm0
push eax
call fcn.004ccf10
add esp, 4
mov eax, dword [esi + 0x108]
movsd xmm0, qword [esi + 0x100]
movsd xmm1, qword [esi + 0x50]
movsd xmm2, qword [esi + 0x48]
mov dword [esi + 0x464], eax
movsd qword [esi + 0x45c], xmm0
movsd qword [esi + 0x448], xmm1
movsd xmm1, qword [esi + 0x58]
mov eax, dword [esi + 0x60]
movsd qword [esi + 0x440], xmm2
movsd qword [esi + 0x450], xmm1
mov dword [esi + 0x458], eax
push 4
push 0x28
call fcn.0043c290
add esp, 8
test eax, eax
mov dword [esi + 0xc], eax
je 0x4110e5
mov eax, dword [esi + 0xc]
movsd xmm2, qword [esi + 0x458]
movsd xmm1, qword [esi + 0x450]
movsd xmm0, qword [esi + 0x460]
movsd qword [eax + 0x18], xmm2
movsd qword [eax + 0x10], xmm1
movsd xmm2, qword [esi + 0x440]
movsd xmm1, qword [esi + 0x448]
movsd qword [eax + 0x20], xmm0
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm2
mov dword [esi + 0x14], fcn.004257e0
mov eax, dword [esi + 0x19c]
test eax, eax
jne 0x40e808
jmp 0x40e819
lea ecx, [esi + 0x260]
mov dword [esi + str.missing_dat_sha256], 0x572930
mov dword [esi + 0x264], 1
mov dword [esi + 0x268], 0
mov dword [esi + 0x270], str.error_reading
mov dword [esi + 0x274], 0
mov byte [esi + 0x13], 1
lea eax, [esi + 0x148]
push ecx
push eax
call fcn.004feef0
add esp, 8
mov eax, dword [esi + 0x150]
movsd xmm0, qword [esi + 0x148]
mov dword [esi + 0x610], 0x54
mov dword [esi + 0x1d0], eax
lea eax, [esi + 0x440]
movsd qword [esi + 0x1c8], xmm0
push eax
call fcn.004ccf10
add esp, 4
mov eax, dword [esi + 0x1d0]
movsd xmm0, qword [esi + 0x1c8]
movsd xmm1, qword [esi + 0x448]
movsd xmm2, qword [esi + 0x440]
mov dword [esi + 0x284], eax
movsd qword [esi + 0x27c], xmm0
movsd qword [esi + 0x268], xmm1
movsd xmm1, qword [esi + 0x450]
mov eax, dword [esi + 0x458]
movsd qword [esi + 0x260], xmm2
movsd qword [esi + 0x270], xmm1
mov dword [esi + 0x278], eax
push 4
push 0x28
call fcn.0043c290
add esp, 8
test eax, eax
mov dword [esi + 0xc], eax
je 0x4110e5
mov eax, dword [esi + 0xc]
movsd xmm2, qword [esi + 0x278]
movsd xmm1, qword [esi + 0x270]
movsd xmm0, qword [esi + 0x280]
mov dword [esi + 0x14], 0x575718
movsd qword [eax + 0x18], xmm2
movsd qword [eax + 0x10], xmm1
movsd xmm2, qword [esi + 0x260]
movsd xmm1, qword [esi + 0x268]
movsd qword [eax + 0x20], xmm0
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm2
lea ecx, [esi + 0x48]
mov byte [esi + 0x2f], 1
mov dword [esi + 0x610], 0x50
call fcn.00402700
mov eax, dword [esi + 0x17c]
test eax, eax
je 0x40f4ef
push 1
push eax
push dword [esi + 0x178]
call fcn.0043c2a0
add esp, 0xc
cmp byte [esi + 0x144], 0
je 0x40f510
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x40f510
push 1
push eax
push dword [esi + 0x428]
call fcn.0043c2a0
add esp, 0xc
mov edx, dword [esi + 0x14]
mov ebx, dword [esi + 0xc]
mov edi, dword [esi + 8]
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x410189
push 1
push ecx
push eax
mov dword [esi + 0x1c], edx
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x1c]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x24]
jmp 0x41018f
mov eax, dword [esi + 0x98]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0xa0]
mov dword [esi + 0x424], eax
mov eax, dword [esi + 0x19c]
test eax, eax
je 0x40f57d
push 1
push eax
push dword [esi + 0x198]
call fcn.0043c2a0
add esp, 0xc
cmp dword [esi + 0xc4], 0
je 0x40f59c
push 1
push dword [esi + 0xc4]
push dword [esi + 0x1fc]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x21c]
test eax, eax
je 0x40f5b7
push 1
push eax
push dword [esi + 0x218]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x424]
mov edi, dword [esi + 0x18]
mov edx, dword [esi + 0x34]
lea ecx, [eax + eax*2]
mov dword [esi + 0x1c8], edi
mov dword [esi + 0x1cc], edx
mov dword [esi + 0x1d0], edi
shl ecx, 4
add ecx, edi
mov dword [esi + 0x24], ecx
mov dword [esi + 0x1d4], ecx
mov ecx, dword [esi + 0x18]
cmp ecx, dword [esi + 0x24]
je 0x4103d7
lea eax, [ecx + 0x30]
mov dword [esi + 0x1d0], eax
mov dword [esi + 0x18], eax
mov eax, dword [ecx]
test eax, eax
je 0x4103d7
mov edi, dword [ecx + 8]
mov edx, dword [ecx + 4]
mov dword [esi + 0x3c], eax
mov dword [esi + 0x44], edi
mov dword [esi + 0x40], edx
mov dword [esi + 4], edi
mov edx, dword [ecx + 0x14]
mov dword [esi + 0xd0], edx
movsd xmm0, qword [ecx + 0xc]
movsd qword [esi + 0xc8], xmm0
mov ebx, dword [ecx + 0x20]
mov dword [esi + 0xb0], ebx
movsd xmm0, qword [ecx + 0x18]
movsd qword [esi + 0xa8], xmm0
mov edx, dword [ecx + 0x2c]
mov edi, dword [esi + 0xa8]
mov dword [esi + 0xa0], edx
mov edx, dword [esi + 0xc]
movsd xmm0, qword [ecx + 0x24]
mov dword [esi + 0x610], 0x22
lea ecx, [esi + 0x260]
movsd qword [esi + 0x98], xmm0
push dword [esi + 0x14]
push dword [esi + 0x214]
push ebx
push edi
push dword [esi + 4]
push eax
push dword [esi + 0x140]
call fcn.00409ce0
add esp, 0x1c
mov edi, dword [esi + 0x264]
cmp dword [esi + 0x260], 1
je 0x4106f7
lea ecx, [esi + 0x26c]
lea edx, [esi + 0x50]
mov eax, dword [esi + 0x268]
mov dword [esi + 0x610], 0x2a
movsd xmm1, qword [ecx + 0x30]
movsd xmm2, qword [ecx + 0x28]
movsd xmm0, qword [ecx + 0x38]
movsd qword [edx + 0x30], xmm1
movsd xmm1, qword [ecx + 0x20]
movsd qword [edx + 0x28], xmm2
movsd xmm2, qword [ecx + 0x18]
movsd qword [edx + 0x38], xmm0
movsd qword [edx + 0x20], xmm1
movsd xmm1, qword [ecx + 0x10]
movsd qword [edx + 0x18], xmm2
movsd xmm2, qword [ecx]
movsd qword [edx + 0x10], xmm1
movsd xmm1, qword [ecx + 8]
mov ecx, dword [esi + 0xc]
movsd qword [edx], xmm2
movsd qword [edx + 8], xmm1
mov dword [esi + 0x48], edi
mov dword [esi + 0x4c], eax
mov eax, dword [ecx + 0x60]
mov ecx, dword [ecx + 0x68]
push ecx
push eax
lea eax, [esi + 0x260]
push eax
call fcn.004e6fd0
add esp, 0xc
mov eax, dword [esi + 0x268]
movsd xmm0, qword [esi + 0x260]
mov dword [esi + 0x610], 0x31
mov dword [esi + 0x448], eax
lea eax, [esi + 0x440]
movsd qword [esi + 0x440], xmm0
push eax
call fcn.004ef6a0
add esp, 4
push dword [esi + 0xb0]
push dword [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0xb8]
push eax
call fcn.004e7940
add esp, 0x14
mov eax, dword [esi + 0x444]
test eax, eax
je 0x40f799
push 1
push eax
push dword [esi + 0x440]
call fcn.0043c2a0
add esp, 0xc
lea eax, [esi + 0xb8]
mov dword [esi + 0x610], 0x2b
push eax
call fcn.004ef6a0
add esp, 4
mov edi, edx
lea ecx, [esi + 0x260]
mov edx, eax
push edi
call fcn.00404cf0
add esp, 4
cmp dword [esi + 0x260], 1
jne 0x40f7f9
lea ecx, [esi + 0x264]
mov dword [esi + 0x200], 1
mov dword [esi + 0x204], 0
mov dword [esi + 0x208], 0
call fcn.004022a0
jmp 0x40f814
lea ecx, [esi + 0x264]
mov eax, dword [ecx + 8]
movsd xmm0, qword [ecx]
mov dword [esi + 0x208], eax
movsd qword [esi + 0x200], xmm0
lea eax, [esi + 0xb8]
mov dword [esi + 0x610], 0x2c
push eax
call fcn.004ef6a0
add esp, 4
mov edi, edx
lea ecx, [esi + 0x260]
mov edx, eax
push edi
call fcn.00405280
add esp, 4
cmp dword [esi + 0x260], 1
jne 0x40f874
lea ecx, [esi + 0x264]
mov dword [esi + 0x178], 1
mov dword [esi + 0x17c], 0
mov dword [esi + 0x180], 0
call fcn.004022a0
jmp 0x40f88f
lea ecx, [esi + 0x264]
mov eax, dword [ecx + 8]
movsd xmm0, qword [ecx]
mov dword [esi + 0x180], eax
movsd qword [esi + 0x178], xmm0
mov eax, dword [esi + 0xc]
cmp byte [eax + 0xae], 0
mov eax, dword [0x61c0d0]
mov eax, dword [eax]
je 0x40f969
cmp eax, 2
jbe 0x40f945
lea eax, [esi + 0xa8]
mov dword [esi + 0x440], 0x572afc
mov dword [esi + 0x444], 3
mov dword [esi + 0x448], 0
mov dword [esi + 0x610], 0x2d
mov dword [esi + 0x260], eax
lea eax, [esi + 0x178]
mov dword [esi + 0x264], 0x404cd0
mov dword [esi + 0x268], eax
lea eax, [esi + 0xc8]
mov dword [esi + 0x26c], 0x404cd0
mov dword [esi + 0x270], eax
lea eax, [esi + 0x260]
mov dword [esi + 0x274], 0x404cd0
mov dword [esi + 0x450], eax
mov dword [esi + 0x454], 3
push 0x572b14
push 3
lea eax, [esi + 0x440]
push eax
call fcn.004753b0
add esp, 0xc
mov edi, dword [esi + 0x180]
cmp edi, dword [esi + 0xd0]
jne 0x40fa26
push edi
push dword [esi + 0xc8]
push dword [esi + 0x178]
jmp 0x40fa1a
cmp eax, 2
jbe 0x40fa05
lea eax, [esi + 0xa8]
mov dword [esi + 0x440], 0x572afc
mov dword [esi + 0x444], 3
mov dword [esi + 0x448], 0
mov dword [esi + 0x610], 0x2d
mov dword [esi + 0x260], eax
lea eax, [esi + 0x200]
mov dword [esi + 0x264], 0x404cd0
mov dword [esi + 0x268], eax
lea eax, [esi + 0x3c]
mov dword [esi + 0x26c], 0x404cd0
mov dword [esi + 0x270], eax
lea eax, [esi + 0x260]
mov dword [esi + 0x274], 0x404cd0
mov dword [esi + 0x450], eax
mov dword [esi + 0x454], 3
push 0x572b30
push 3
lea eax, [esi + 0x440]
push eax
call fcn.004753b0
add esp, 0xc
mov edi, dword [esi + 0x208]
cmp edi, dword [esi + 0x44]
jne 0x40fa26
push edi
push dword [esi + 0x3c]
push dword [esi + 0x200]
call fcn.0054b2c4
add esp, 0xc
test eax, eax
je 0x40fa4a
test edi, edi
jne 0x40fb1f
cmp dword [esi + 0xa0], 1
jne 0x40fb1f
mov eax, dword [esi + 0x98]
cmp byte [eax], 0x30
jne 0x40fb1f
mov eax, dword [esi + 0x17c]
test eax, eax
je 0x40fa65
push 1
push eax
push dword [esi + 0x178]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x204]
test eax, eax
je 0x40fa80
push 1
push eax
push dword [esi + 0x200]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0xbc]
test eax, eax
je 0x40fa9b
push 1
push eax
push dword [esi + 0xb8]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x40fab0
push 1
push eax
push dword [esi + 0x48]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x9c]
test eax, eax
je 0x40facb
push 1
push eax
push dword [esi + 0x98]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0xac]
test eax, eax
je 0x40fae6
push 1
push eax
push dword [esi + 0xa8]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x40fb01
push 1
push eax
push dword [esi + 0xc8]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x40]
test eax, eax
je 0x40f5e6
push 1
push eax
push dword [esi + 0x3c]
call fcn.0043c2a0
add esp, 0xc
jmp 0x40f5e6
lea eax, [esi + 0xb8]
mov dword [esi + 0x610], 0x2d
push eax
call fcn.004ef6a0
add esp, 4
push edx
push eax
call fcn.004e7230
add esp, 8
mov dword [esi + 4], eax
mov dword [esi + 8], edx
cmp dword [esi + 4], 0
je 0x410b29
call fcn.00425cd0
mov byte [esi + 0x440], al
push 1
lea eax, [esi + 0x440]
push eax
call fcn.004deff0
add esp, 8
push dword [esi + 8]
push dword [esi + 4]
push eax
call fcn.004df000
add esp, 0xc
mov dword [esi + 4], eax
mov dword [esi + 8], edx
mov eax, dword [esi + 4]
mov dword [esi + 0x440], 0x572b64
mov dword [esi + 0x444], 1
mov dword [esi + 0x448], 0
mov byte [esi + 0xff], 1
mov dword [esi + 0x610], 0x30
mov dword [esi + 0x5f4], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x5f8], eax
lea eax, [esi + 0xb8]
mov dword [esi + 0x198], eax
lea eax, [esi + 0x198]
mov dword [esi + 0x148], eax
lea eax, [esi + 0x148]
mov dword [esi + 0x14c], 0x42c850
mov dword [esi + 0x450], eax
lea eax, [esi + 0x440]
mov dword [esi + 0x454], 1
push eax
lea eax, [esi + 0x218]
push eax
call fcn.004feef0
add esp, 8
mov eax, dword [esi + 0x220]
movsd xmm0, qword [esi + 0x218]
mov byte [esi + 0xff], 0
mov dword [esi + 0x448], eax
lea eax, [esi + 0x440]
movsd qword [esi + 0x440], xmm0
push eax
push dword [esi + 8]
push dword [esi + 4]
lea eax, [esi + 0x260]
push eax
call fcn.00425ce0
add esp, 0x10
mov eax, dword [esi + 0x26c]
cmp eax, 2
jne 0x410c88
mov eax, dword [0x61c0d0]
mov eax, dword [eax]
cmp eax, 2
jbe 0x40fcd6
lea eax, [esi + 0xa8]
mov dword [esi + str.downloading_P_W], 0x57245c
mov dword [esi + 0x264], 1
mov dword [esi + 0x268], 0
mov dword [esi + 0x610], 0x2d
mov dword [esi + 0x440], eax
lea eax, [esi + 0x440]
mov dword [esi + 0x444], 0x404cd0
mov dword [esi + 0x270], eax
mov dword [esi + 0x274], 1
push 0x572b6c
push 3
lea eax, [esi + 0x260]
push eax
call fcn.004753b0
add esp, 0xc
lea eax, [esi + 0xb8]
mov dword [esi + 0x610], 0x2d
push eax
call fcn.004ef6a0
add esp, 4
mov ecx, dword [esi + 0xc]
mov edi, edx
mov edx, eax
movzx ecx, byte [ecx + 0xae]
push dword [ebp + 8]
push dword [esi + 0x14]
push dword [esi + 0xd0]
push dword [esi + 0xc8]
push dword [esi + 0x44]
push dword [esi + 0x3c]
push dword [esi + 0x50]
push dword [esi + 0x48]
push edi
call fcn.00407c10
add esp, 0x24
mov dword [esi + 4], eax
mov dword [esi + 8], edx
cmp dword [esi + 4], 0
je 0x40fa4a
mov eax, dword [esi + 4]
cmp dword [esi + 0x214], 1
mov ecx, dword [esi + 8]
mov dword [esi + 0x198], eax
mov dword [esi + 0x19c], ecx
je 0x410d3f
mov eax, dword [esi + 0x3c]
mov edi, dword [esi + 0x44]
mov ebx, dword [esi + 0xa8]
mov edx, dword [esi + 0xc]
mov byte [esi + 0x3a], 1
mov dword [esi + 0x610], 0x24
lea ecx, [esi + 0x260]
mov dword [esi + 4], eax
mov eax, dword [esi + 0xb0]
push dword [esi + 0x14]
push 1
push eax
push ebx
push edi
push dword [esi + 4]
push dword [esi + 0x140]
call fcn.00409ce0
add esp, 0x1c
mov eax, dword [esi + 0x264]
cmp dword [esi + 0x260], 1
mov dword [esi + 4], eax
je 0x410efb
lea eax, [esi + 0x26c]
lea ecx, [esi + 0x448]
mov edx, dword [esi + 0x268]
mov dword [esi + 0x610], 0x27
movsd xmm1, qword [eax + 0x30]
movsd xmm2, qword [eax + 0x28]
movsd xmm0, qword [eax + 0x38]
mov dword [esi + 0x20], edx
movsd qword [ecx + 0x30], xmm1
movsd xmm1, qword [eax + 0x20]
movsd qword [ecx + 0x28], xmm2
movsd xmm2, qword [eax + 0x18]
movsd qword [ecx + 0x38], xmm0
movsd qword [ecx + 0x20], xmm1
movsd xmm1, qword [eax + 0x10]
movsd qword [ecx + 0x18], xmm2
movsd xmm2, qword [eax]
movsd qword [ecx + 0x10], xmm1
movsd xmm1, qword [eax + 8]
mov eax, dword [esi + 4]
movsd qword [ecx], xmm2
movsd qword [ecx + 8], xmm1
mov dword [esi + 0x440], eax
lea eax, [esi + 0xb8]
mov dword [esi + 0x444], edx
push eax
call fcn.004ef6a0
add esp, 4
mov ecx, dword [esi + 0xc]
mov edi, edx
mov edx, eax
movzx ecx, byte [ecx + 0xae]
push dword [ebp + 8]
push dword [esi + 0x14]
push dword [esi + 0xd0]
push dword [esi + 0xc8]
push dword [esi + 0x44]
push dword [esi + 0x3c]
push dword [esi + 0x448]
push dword [esi + 4]
push edi
call fcn.00407c10
add esp, 0x24
mov dword [esi + 8], eax
mov dword [esi + 0x1c], edx
mov eax, dword [esi + 8]
mov dword [esi + str.error_downloading_file], 0x572ba0
mov dword [esi + 0x264], 1
mov dword [esi + 0x268], 0
mov dword [esi + 0x610], 0x29
mov dword [esi + 0x148], eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x14c], eax
lea eax, [esi + 0x48]
mov dword [esi + 0xd8], eax
lea eax, [esi + 0xd8]
mov dword [esi + 0x100], eax
lea eax, [esi + 0x100]
mov dword [esi + 0x104], 0x427fc0
mov dword [esi + 0x270], eax
lea eax, [esi + 0x260]
mov dword [esi + 0x274], 1
push eax
lea eax, [esi + 0x218]
push eax
call fcn.004feef0
add esp, 8
mov eax, dword [esi + 0x218]
mov ecx, dword [esi + 0x21c]
cmp dword [esi + 8], 0
jne 0x410f09
test ecx, ecx
je 0x40ff22
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
cmp dword [esi + 0x20], 0
je 0x40ff38
push 1
push dword [esi + 0x20]
push dword [esi + 4]
call fcn.0043c2a0
add esp, 0xc
lea ecx, [esi + 0x198]
mov dword [esi + 0x610], 0x23
call fcn.004022a0
mov dword [esi + 0x214], 1
jmp 0x40fa4a
mov eax, dword [esi + 0x264]
mov edx, dword [esi + 0x26c]
mov ecx, dword [esi + 0x268]
mov dword [esi + 0x610], 0x5e
mov dword [esi + 0x148], eax
mov dword [esi + 0x30], eax
mov eax, dword [0x61c0c4]
mov dword [esi + 0x14c], ecx
mov dword [esi + 0x34], ecx
mov dword [esi + 0xc4], edx
mov dword [esi + 0x150], edx
push eax
call fcn.004374d0
add esp, 4
push 0x20e
push 0x5726aa
call fcn.00474b60
add esp, 8
mov dword [esi + 0x1fc], eax
mov dword [esi + 0x424], edx
push dword [esi + 0x18]
push dword [esi + 0x24]
call fcn.00474b60
add esp, 8
mov dword [esi + 0x420], eax
mov dword [esi + 0x5fc], edx
push dword [esi + 0xc4]
push dword [esi + 0x30]
call fcn.00474b60
add esp, 8
mov ecx, dword [0x61c0c0]
push edx
push eax
push dword [esi + 0x5fc]
push dword [esi + 0x420]
push dword [esi + 0x424]
push dword [esi + 0x1fc]
push ecx
call fcn.0046c5e0
add esp, 0x1c
test al, al
je 0x41042d
lea eax, [esi + 0x260]
mov dword [esi + 0x260], 0x572914
mov dword [esi + 0x264], 1
mov dword [esi + 0x268], 0
mov dword [esi + 0x270], str.error_reading
mov dword [esi + 0x274], 0
push eax
lea eax, [esi + 0x1c8]
push eax
call fcn.004feef0
add esp, 8
mov eax, dword [esi + 0x1d0]
movsd xmm0, qword [esi + 0x1c8]
mov dword [esi + 0x610], 0x5f
mov dword [esi + 0x50], eax
lea eax, [esi + 0x440]
movsd qword [esi + 0x48], xmm0
push eax
call fcn.004ccf10
add esp, 4
mov eax, dword [esi + 0x50]
movsd xmm0, qword [esi + 0x48]
movsd xmm1, qword [esi + 0x448]
movsd xmm2, qword [esi + 0x440]
mov dword [esi + 0x284], eax
movsd qword [esi + 0x27c], xmm0
mov eax, dword [esi + 0x458]
movsd qword [esi + 0x268], xmm1
movsd xmm1, qword [esi + 0x450]
movsd qword [esi + 0x260], xmm2
movsd qword [esi + 0x270], xmm1
mov dword [esi + 0x278], eax
push 4
push 0x28
call fcn.0043c290
add esp, 8
test eax, eax
je 0x4110e5
movsd xmm2, qword [esi + 0x278]
movsd xmm1, qword [esi + 0x270]
mov ebx, eax
movsd xmm0, qword [esi + 0x280]
cmp dword [esi + 0x34], 0
mov dword [esi + 0x1c], 0x575718
movsd qword [ebx + 0x18], xmm2
movsd qword [ebx + 0x10], xmm1
movsd xmm2, qword [esi + 0x260]
movsd xmm1, qword [esi + 0x268]
movsd qword [ebx + 0x20], xmm0
movsd qword [ebx + 8], xmm1
movsd qword [ebx], xmm2
je 0x41015a
push 1
push dword [esi + 0x34]
push dword [esi + 0x30]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x19c]
test eax, eax
je 0x410175
push 1
push eax
push dword [esi + 0x198]
call fcn.0043c2a0
add esp, 0xc
mov edi, dword [esi + 8]
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x1c]
test ecx, ecx
jne 0x40f527
mov eax, dword [esi + 0x24]
mov dword [esi + 4], edx
test edi, edi
je 0x41019f
push 1
push edi
push eax
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 4]
mov dword [esi + 0x24], ebx
mov dword [esi + 8], eax
mov eax, dword [esi + 0xb0]
test eax, eax
je 0x410224
mov ebx, dword [esi + 0xa8]
lea eax, [eax + eax*2]
shl eax, 4
add eax, ebx
mov dword [esi + 4], eax
jmp 0x4101cc
cmp edi, dword [esi + 4]
mov ebx, edi
je 0x410224
mov eax, dword [ebx + 4]
test eax, eax
je 0x4101e0
push 1
push eax
push dword [ebx]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x4101f5
push 1
push eax
push dword [ebx + 0xc]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x41020a
push 1
push eax
push dword [ebx + 0x18]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebx + 0x28]
lea edi, [ebx + 0x30]
test eax, eax
je 0x4101c5
push 1
push eax
push dword [ebx + 0x24]
call fcn.0043c2a0
add esp, 0xc
jmp 0x4101c5
mov eax, dword [esi + 0xac]
test eax, eax
je 0x410253
shl eax, 4
lea eax, [eax + eax*2]
test eax, eax
je 0x410253
push 4
push eax
push dword [esi + 0xa8]
call fcn.0043c2a0
add esp, 0xc
mov dword [esi + 0x610], 0x20
movsd xmm0, qword [esi + 0x218]
movsd xmm1, qword [esi + 0x220]
mov eax, dword [esi + 0x228]
mov edx, dword [esi + 0x24]
mov edi, dword [esi + 8]
lea ecx, [esi + 0x448]
mov dword [esi + 0x440], 0x572ac4
mov dword [esi + 0x444], 0x19
mov dword [esi + 0x448], 1
mov dword [esi + 0x610], 0x20
mov dword [esi + 0x44c], edx
mov dword [esi + 0x450], edi
movsd qword [esi + 0x100], xmm0
movsd qword [esi + 0x108], xmm1
mov dword [esi + 0x110], eax
movsd qword [esi + 0x454], xmm0
movsd qword [esi + 0x45c], xmm1
mov dword [esi + 0x464], eax
push ecx
call fcn.004cce00
add esp, 4
lea eax, [esi + 0x48]
push eax
call fcn.004ccf00
add esp, 4
movsd xmm0, qword [esi + 0x460]
movsd xmm2, qword [esi + 0x458]
movsd xmm1, qword [esi + 0x450]
movsd xmm3, qword [esi + 0x440]
mov eax, dword [esi + 0x60]
movsd qword [esi + 0x29c], xmm0
movsd qword [esi + 0x294], xmm2
movsd qword [esi + 0x28c], xmm1
movsd xmm1, qword [esi + 0x448]
movsd xmm2, qword [esi + 0x48]
movsd qword [esi + 0x284], xmm1
movsd xmm1, qword [esi + 0x50]
movsd qword [esi + 0x27c], xmm3
movsd qword [esi + 0x260], xmm2
movsd qword [esi + 0x268], xmm1
movsd xmm1, qword [esi + 0x58]
movsd qword [esi + 0x270], xmm1
mov dword [esi + 0x278], eax
push 4
push 0x44
call fcn.0043c290
add esp, 8
test eax, eax
je 0x410b1b
mov ebx, eax
push 0x44
lea eax, [esi + 0x260]
push eax
push ebx
call fcn.0054ad50
add esp, 0xc
mov eax, dword [esi + 0xf8]
mov dword [esi + 0x18], 0x5754b8
test eax, eax
je 0x4103b4
push 1
push eax
push dword [esi + 0x18c]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x430]
test eax, eax
je 0x4103cf
push 1
push eax
push dword [esi + 0x42c]
call fcn.0043c2a0
add esp, 0xc
mov edx, dword [esi + 0x18]
jmp 0x40b41f
lea eax, [esi + 0x1c8]
mov dword [esi + 0x610], 0x1e
push eax
call fcn.0043c160
add esp, 4
mov eax, dword [esi + 0x190]
test eax, eax
je 0x41040b
push 1
push eax
push dword [esi + 0x18c]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x430]
test eax, eax
je 0x410426
push 1
push eax
push dword [esi + 0x42c]
call fcn.0043c2a0
add esp, 0xc
xor ebx, ebx
jmp 0x40b41f
cmp dword [esi + 0x34], 0
je 0x410443
push 1
push dword [esi + 0x34]
push dword [esi + 0x30]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x19c]
test eax, eax
je 0x41045e
push 1
push eax
push dword [esi + 0x198]
call fcn.0043c2a0
add esp, 0xc
xor ecx, ecx
jmp 0x40dcda
lea eax, [esi + 0xb8]
mov dword [esi + 0x440], 0x57262c
mov dword [esi + 0x444], 1
mov dword [esi + 0x448], 0
mov dword [esi + 0x610], 0x42
mov dword [esi + 0x438], eax
lea eax, [esi + 0x438]
mov dword [esi + 0x43c], 0x42a000
mov dword [esi + 0x450], eax
lea eax, [esi + 0x440]
mov dword [esi + 0x454], 1
push eax
lea eax, [esi + 0x48]
push eax
call fcn.004feef0
add esp, 8
mov eax, dword [esi + 0x50]
movsd xmm0, qword [esi + 0x48]
mov dword [esi + 0x610], 0x43
mov dword [esi + 0x1d0], eax
mov dword [esi + 0x108], eax
lea eax, [esi + 0x48]
movsd qword [esi + 0x1c8], xmm0
movsd qword [esi + 0x100], xmm0
push eax
call fcn.004ccf10
add esp, 4
mov eax, dword [esi + 0x108]
movsd xmm0, qword [esi + 0x100]
movsd xmm1, qword [esi + 0x50]
movsd xmm2, qword [esi + 0x48]
mov dword [esi + 0x464], eax
movsd qword [esi + 0x45c], xmm0
movsd qword [esi + 0x448], xmm1
movsd xmm1, qword [esi + 0x58]
mov eax, dword [esi + 0x60]
movsd qword [esi + 0x440], xmm2
movsd qword [esi + 0x450], xmm1
mov dword [esi + 0x458], eax
push 4
push 0x28
call fcn.0043c290
add esp, 8
test eax, eax
mov dword [esi + 0xc], eax
je 0x4110e5
mov eax, dword [esi + 0xc]
movsd xmm2, qword [esi + 0x458]
movsd xmm1, qword [esi + 0x450]
movsd xmm0, qword [esi + 0x460]
movsd qword [eax + 0x18], xmm2
movsd qword [eax + 0x10], xmm1
movsd xmm2, qword [esi + 0x440]
movsd xmm1, qword [esi + 0x448]
movsd qword [eax + 0x20], xmm0
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm2
mov eax, dword [esi + 0x14c]
test eax, eax
je 0x40f36a
shl eax, 3
test eax, eax
je 0x40f36a
push 4
push eax
push dword [esi + 0x148]
call fcn.0043c2a0
add esp, 0xc
mov dword [esi + 0x14], 0x575718
mov eax, dword [esi + 0x19c]
test eax, eax
jne 0x40e808
jmp 0x40e819
mov byte [esi + 0x13], 1
push dword [esi + 0x28]
push dword [esi + 0x20]
lea eax, [esi + 0x260]
push eax
call fcn.00417ba0
add esp, 0xc
mov eax, dword [esi + 0x264]
cmp dword [esi + 0x260], 1
mov dword [esi + 0xc4], eax
jne 0x4107a2
mov eax, dword [esi + 0xc4]
mov dword [esi + 0x610], 0x53
mov dword [esi + 0x1c8], eax
lea eax, [esi + 0x260]
push eax
call fcn.004ccf10
add esp, 4
mov eax, dword [esi + 0x278]
movsd xmm0, qword [esi + 0x270]
movsd xmm2, qword [esi + 0x260]
movsd xmm1, qword [esi + 0x268]
mov dword [esi + 0x458], eax
movsd qword [esi + 0x450], xmm0
movsd qword [esi + 0x448], xmm1
movsd qword [esi + 0x440], xmm2
push 4
push 0x20
call fcn.0043c290
add esp, 8
test eax, eax
mov dword [esi + 0xc], eax
je 0x41117e
mov eax, dword [esi + 0x458]
mov ecx, dword [esi + 0xc]
movsd xmm0, qword [esi + 0x450]
movsd xmm2, qword [esi + 0x440]
movsd xmm1, qword [esi + 0x448]
mov dword [esi + 0x14], 0x5753d4
mov dword [ecx + 0x18], eax
mov eax, dword [esi + 0xc4]
movsd qword [ecx + 0x10], xmm0
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm2
mov dword [ecx + 0x1c], eax
lea ecx, [esi + 0x48]
mov byte [esi + 0x2f], 1
mov dword [esi + 0x610], 0x50
call fcn.00402700
jmp 0x40f4d4
mov eax, dword [esi + 0x268]
mov dword [esi + 4], edi
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x9c]
test eax, eax
je 0x41071e
push 1
push eax
push dword [esi + 0x98]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0xac]
test eax, eax
je 0x410739
push 1
push eax
push dword [esi + 0xa8]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x410754
push 1
push eax
push dword [esi + 0xc8]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x40]
test eax, eax
je 0x410773
push 1
push eax
push dword [esi + 0x3c]
call fcn.0043c2a0
add esp, 0xc
mov dword [esi + 0x610], 0x1e
lea eax, [esi + 0x1c8]
mov dword [esi + 0x610], 0x1e
push eax
call fcn.0043c160
add esp, 4
mov eax, dword [esi + 0x190]
mov ebx, dword [esi + 4]
test eax, eax
jne 0x4103a3
jmp 0x4103b4
mov ecx, dword [esi + 0xc4]
mov eax, dword [esi + 0x26c]
mov edx, dword [esi + 0x268]
mov dword [esi + 0xd8], ecx
mov dword [esi + 0xe0], eax
lea eax, [eax + eax*2]
mov edi, ecx
mov dword [esi + 0x420], edx
mov dword [esi + 0xdc], edx
shl eax, 4
add eax, ecx
mov dword [esi + 0xf8], eax
jmp 0x410850
mov eax, dword [esi + 0xb0]
mov ecx, dword [esi + 0xa8]
movsd xmm0, qword [esi + 0x288]
lea edx, [eax + eax*2]
mov edi, dword [esi + 0x28]
inc eax
shl edx, 4
movsd qword [ecx + edx + 0x28], xmm0
add edi, 0x30
movsd xmm0, qword [esi + 0x280]
movsd qword [ecx + edx + 0x20], xmm0
movsd xmm0, qword [esi + 0x278]
movsd qword [ecx + edx + 0x18], xmm0
movsd xmm0, qword [esi + 0x270]
movsd qword [ecx + edx + 0x10], xmm0
movsd xmm0, qword [esi + 0x260]
movsd xmm1, qword [esi + 0x268]
movsd qword [ecx + edx + 8], xmm1
movsd qword [ecx + edx], xmm0
mov dword [esi + 0xb0], eax
cmp dword [esi + 0xf8], edi
mov dword [esi + 0x28], edi
je 0x410a21
push 1
push 1
call fcn.0043c290
add esp, 8
test eax, eax
je 0x411115
mov dword [esi + 0x198], eax
mov byte [eax], 0x2b
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x28]
mov dword [esi + 0x19c], 1
mov dword [esi + 0x1a0], 1
mov edi, dword [eax + 0x24]
test edi, edi
je 0x41092e
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x410904
lea eax, [eax + eax*2]
lea ebx, [edi + eax*4]
mov dword [esi + 0x34], ebx
jmp 0x4108d4
mov ebx, eax
mov byte [eax], 0x30
push 1
push 1
push dword [esi + 0x18]
call fcn.0043c2a0
add esp, 0xc
mov dword [esi + 0x18], ebx
mov ebx, dword [esi + 0x34]
add edi, 0xc
cmp ebx, edi
je 0x410904
cmp dword [edi + 8], 9
jne 0x4108cd
push 9
push 0x5728f8
push dword [edi]
call fcn.0054b2c4
add esp, 0xc
test eax, eax
jne 0x4108cd
push 1
push 1
call fcn.0043c290
add esp, 8
test eax, eax
jne 0x4108b3
jmp 0x411115
mov eax, dword [esi + 0x18]
mov dword [esi + 0x19c], 1
mov dword [esi + 0x610], 0x58
mov dword [esi + 0x198], eax
mov eax, dword [esi + 0x28]
mov dword [esi + 0x1a0], 1
add eax, 0xc
mov byte [esi + 0x3b], 1
mov dword [esi + 0x610], 0x58
push eax
lea eax, [esi + 0x148]
push eax
call fcn.004ff8d0
add esp, 8
mov eax, dword [esi + 0x28]
mov dword [esi + 0x610], 0x5a
add eax, 0x18
push eax
lea eax, [esi + 0x1c8]
push eax
call fcn.004ff8d0
add esp, 8
mov dword [esi + 0x610], 0x5b
push dword [esi + 0x28]
lea eax, [esi + 0x440]
push eax
call fcn.004ff8d0
add esp, 8
mov eax, dword [esi + 0x1a0]
lea ecx, [esi + 0x26c]
movsd xmm0, qword [esi + 0x198]
mov dword [ecx + 0x20], eax
mov eax, dword [esi + 0x150]
movsd qword [ecx + 0x18], xmm0
movsd xmm0, qword [esi + 0x148]
mov dword [esi + 0x268], eax
mov eax, dword [esi + 0x1d0]
movsd qword [esi + 0x260], xmm0
movsd xmm0, qword [esi + 0x1c8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x448]
movsd qword [ecx], xmm0
movsd xmm0, qword [esi + 0x440]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0xb0]
movsd qword [ecx + 0xc], xmm0
cmp dword [esi + 0xac], eax
jne 0x4107e4
mov dword [esi + 0x610], 0x59
push 1
push eax
lea eax, [esi + 0xa8]
push eax
call fcn.0056b6b0
add esp, 0xc
jmp 0x4107de
mov ecx, dword [esi + 0xb0]
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0x424], ecx
mov ecx, dword [esi + 0xc4]
mov dword [esi + 0x18], eax
mov dword [esi + 0x34], edx
cmp ecx, dword [esi + 0xf8]
je 0x410a67
lea eax, [ecx + 0x30]
mov dword [esi + 0x610], 0x56
mov dword [esi + 0x28], eax
call fcn.00430e10
mov ecx, dword [esi + 0x28]
jmp 0x410a45
cmp dword [esi + 0x420], 0
je 0x410a9b
mov eax, dword [esi + 0x420]
shl eax, 4
lea eax, [eax + eax*2]
test eax, eax
je 0x410a9b
push 4
push eax
push dword [esi + 0xc4]
call fcn.0043c2a0
add esp, 0xc
mov dword [esi + 0x610], 0x50
lea ecx, [esi + 0x48]
mov byte [esi + 0x2f], 0
mov dword [esi + 0x610], 0x50
call fcn.00402700
mov eax, dword [esi + 0x17c]
test eax, eax
je 0x410acc
push 1
push eax
push dword [esi + 0x1fc]
call fcn.0043c2a0
add esp, 0xc
cmp byte [esi + 0x144], 0
je 0x410aee
cmp dword [esi + 0x1c], 0
je 0x410aee
push 1
push dword [esi + 0x1c]
push dword [esi + 0x428]
call fcn.0043c2a0
add esp, 0xc
cmp dword [esi + 4], 0
je 0x410b04
push 1
push dword [esi + 4]
push dword [esi + 0x20]
call fcn.0043c2a0
add esp, 0xc
cmp dword [esi + 8], 0
je 0x40f5b7
push 1
push dword [esi + 8]
push dword [esi + 0x24]
jmp 0x40f5af
push 4
push 0x44
call fcn.00570650
add esp, 8
ud2
lea eax, [esi + 0xb8]
mov dword [esi + 0x440], 0x572bc4
mov dword [esi + 0x444], 1
mov dword [esi + 0x448], 0
mov dword [esi + 0x218], eax
lea eax, [esi + 0x218]
mov dword [esi + 0x438], eax
lea eax, [esi + 0x438]
mov dword [esi + 0x43c], 0x42c850
mov dword [esi + 0x450], eax
lea eax, [esi + 0x440]
mov dword [esi + 0x454], 1
push eax
lea eax, [esi + 0x198]
push eax
call fcn.004feef0
add esp, 8
mov eax, dword [esi + 0x1a0]
movsd xmm0, qword [esi + 0x198]
mov dword [esi + 0x610], 0x2f
mov dword [esi + 0x150], eax
lea eax, [esi + 0x218]
movsd qword [esi + 0x148], xmm0
push eax
call fcn.004ccf10
add esp, 4
mov eax, dword [esi + 0x150]
movsd xmm0, qword [esi + 0x148]
movsd xmm1, qword [esi + 0x220]
movsd xmm2, qword [esi + 0x218]
mov dword [esi + 0x464], eax
movsd qword [esi + 0x45c], xmm0
movsd qword [esi + 0x448], xmm1
movsd xmm1, qword [esi + 0x228]
mov eax, dword [esi + 0x230]
movsd qword [esi + 0x440], xmm2
movsd qword [esi + 0x450], xmm1
mov dword [esi + 0x458], eax
push 4
push 0x28
call fcn.0043c290
add esp, 8
test eax, eax
mov dword [esi + 4], eax
je 0x4110e5
mov eax, dword [esi + 4]
movsd xmm2, qword [esi + 0x458]
movsd xmm1, qword [esi + 0x450]
movsd xmm0, qword [esi + 0x460]
mov dword [esi + 0x18], 0x575718
movsd qword [eax + 0x18], xmm2
movsd qword [eax + 0x10], xmm1
movsd xmm2, qword [esi + 0x440]
movsd xmm1, qword [esi + 0x448]
movsd qword [eax + 0x20], xmm0
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm2
jmp 0x41105a
mov ecx, dword [esi + 0x268]
movsd xmm0, qword [esi + 0x260]
movsd xmm1, qword [esi + 0x270]
movsd xmm2, qword [esi + 0x278]
movsd xmm3, qword [esi + 0x280]
mov edx, dword [esi + 0x288]
mov dword [esi + 0x610], 0x2e
mov dword [esi + 0xe0], ecx
mov dword [esi + 0x448], ecx
lea ecx, [esi + 0x44c]
movsd qword [esi + 0x440], xmm0
mov dword [esi + 0x44c], eax
movsd qword [esi + 0xd8], xmm0
movsd qword [esi + 0x100], xmm1
movsd qword [esi + 0x108], xmm2
movsd qword [esi + 0x110], xmm3
mov dword [esi + 0x118], edx
movsd qword [esi + 0x450], xmm1
movsd qword [esi + 0x458], xmm2
movsd qword [esi + 0x460], xmm3
mov dword [esi + 0x468], edx
push ecx
call fcn.004cce00
add esp, 4
lea eax, [esi + 0x218]
push eax
call fcn.004ccf00
add esp, 4
jmp 0x410e2c
lea eax, [esi + 0x48]
mov dword [esi + str.error_downloading_file], 0x572ba0
mov dword [esi + 0x264], 1
mov dword [esi + 0x268], 0
mov dword [esi + 0x610], 0x26
mov dword [esi + 0x148], eax
lea eax, [esi + 0x148]
mov dword [esi + 0x218], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x21c], 0x427fc0
mov dword [esi + 0x100], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x104], eax
lea eax, [esi + 0x218]
mov dword [esi + 0x270], eax
lea eax, [esi + 0x260]
mov dword [esi + 0x274], 1
push eax
lea eax, [esi + 0x440]
push eax
call fcn.004feef0
add esp, 8
mov eax, dword [esi + 0x440]
mov ecx, dword [esi + 0x444]
mov edx, dword [esi + 0x448]
mov dword [esi + 0x610], 0x25
mov dword [esi + 0x440], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x444], ecx
mov dword [esi + 0x448], edx
mov dword [esi + 0x44c], 1
mov dword [esi + 0x450], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x454], eax
lea eax, [esi + 0x44c]
push eax
call fcn.004cce00
add esp, 4
lea eax, [esi + 0x218]
push eax
call fcn.004ccf00
add esp, 4
mov eax, dword [esi + 0x468]
movsd xmm0, qword [esi + 0x460]
movsd xmm2, qword [esi + 0x458]
movsd xmm1, qword [esi + 0x450]
movsd xmm3, qword [esi + 0x440]
mov dword [esi + 0x2a4], eax
movsd qword [esi + 0x29c], xmm0
movsd qword [esi + 0x294], xmm2
movsd qword [esi + 0x28c], xmm1
movsd xmm1, qword [esi + 0x448]
movsd xmm2, qword [esi + 0x218]
mov eax, dword [esi + 0x230]
movsd qword [esi + 0x284], xmm1
movsd xmm1, qword [esi + 0x220]
movsd qword [esi + 0x27c], xmm3
movsd qword [esi + 0x260], xmm2
movsd qword [esi + 0x268], xmm1
movsd xmm1, qword [esi + 0x228]
movsd qword [esi + 0x270], xmm1
mov dword [esi + 0x278], eax
push 4
push 0x48
call fcn.0043c290
add esp, 8
test eax, eax
mov dword [esi + 4], eax
je 0x4110c9
push 0x48
lea eax, [esi + 0x260]
push eax
push dword [esi + 4]
call fcn.0054ad50
add esp, 0xc
mov dword [esi + 0x18], 0x57559c
jmp 0x41105a
mov eax, dword [esi + 0x268]
mov dword [esi + 0x18], eax
jmp 0x411045
mov edx, dword [esi + 0x220]
mov dword [esi + 0x218], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x21c], ecx
mov dword [esi + 0x610], 0x28
mov dword [esi + 0x220], edx
mov dword [esi + 0x224], 1
mov dword [esi + 0x228], eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x22c], eax
lea eax, [esi + 0x224]
push eax
call fcn.004cce00
add esp, 4
lea eax, [esi + 0x100]
push eax
call fcn.004ccf00
add esp, 4
movsd xmm1, qword [esi + 0x228]
mov eax, dword [esi + 0x240]
movsd xmm0, qword [esi + 0x238]
movsd xmm2, qword [esi + 0x230]
movsd xmm3, qword [esi + 0x218]
movsd qword [esi + 0x28c], xmm1
movsd xmm1, qword [esi + 0x220]
mov dword [esi + 0x2a4], eax
movsd qword [esi + 0x294], xmm2
mov eax, dword [esi + 0x118]
movsd qword [esi + 0x29c], xmm0
movsd qword [esi + 0x27c], xmm3
movsd xmm2, qword [esi + 0x100]
movsd qword [esi + 0x284], xmm1
movsd xmm1, qword [esi + 0x108]
movsd qword [esi + 0x260], xmm2
mov dword [esi + 0x278], eax
movsd qword [esi + 0x268], xmm1
movsd xmm1, qword [esi + 0x110]
movsd qword [esi + 0x270], xmm1
push 4
push 0x48
call fcn.0043c290
add esp, 8
test eax, eax
je 0x4110c9
mov edi, eax
push 0x48
lea eax, [esi + 0x260]
push eax
push edi
call fcn.0054ad50
add esp, 0xc
cmp dword [esi + 0x20], 0
mov dword [esi + 0x18], 0x57559c
je 0x411042
push 1
push dword [esi + 0x20]
push dword [esi + 4]
call fcn.0043c2a0
add esp, 0xc
mov dword [esi + 4], edi
lea ecx, [esi + 0x198]
mov dword [esi + 0x610], 0x23
call fcn.004022a0
mov eax, dword [esi + 0x17c]
test eax, eax
je 0x411075
push 1
push eax
push dword [esi + 0x178]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x204]
test eax, eax
je 0x411090
push 1
push eax
push dword [esi + 0x200]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0xbc]
test eax, eax
je 0x4110ab
push 1
push eax
push dword [esi + 0xb8]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x410703
push 1
push eax
push dword [esi + 0x48]
call fcn.0043c2a0
add esp, 0xc
jmp 0x410703
push 4
push 0x48
call fcn.00570650
add esp, 8
ud2
push 4
push 0x24
call fcn.00570650
add esp, 8
ud2
push 4
push 0x28
call fcn.00570650
add esp, 8
ud2
push 0x572970
push 0x572088
lea eax, [esi + 0x440]
push eax
push 0x2b
push 0x57203b
call fcn.005708f0
add esp, 0x14
jmp 0x41116f
push 1
push 1
call fcn.00570650
add esp, 8
ud2
push 1
push ebx
call fcn.00570650
add esp, 8
ud2
mov byte [esi + 0x97], 0
mov dword [esi + 0x610], 0x45
call fcn.004fec10
jmp 0x41116f
mov byte [esi + 0x96], 0
mov dword [esi + 0x610], 0x44
call fcn.004fec10
jmp 0x41116f
mov dword [esi + 0x610], 0x42
call fcn.004fec10
ud2
push 1
push edi
call fcn.00570650
add esp, 8
ud2
push 4
push 0x20
call fcn.00570650
add esp, 8
ud2