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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1dc
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp + 0x30]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp + 0x34]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp + 0x50]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp + 0x54]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp + 0x78]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp + 0x7c]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp + 0x80]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp + 0x84]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp + 0x8c]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp + 0x90]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp + 0xa4]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp + 0xa8]
mov dword [ebp - 0xf4], eax
lea eax, [ebp - 0xb4]
mov dword [esp + 0x2c], eax
lea eax, [ebp - 0xb0]
mov dword [esp + 0x28], eax
lea eax, [ebp - 0xac]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 0x20], eax
lea eax, [ebp - 0x98]
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x78]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x74]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x64]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x48]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x44]
mov dword [esp + 8], eax
lea eax, [ebp - 0x38]
mov dword [esp + 4], eax
lea eax, [ebp + 0x58]
mov dword [esp], eax
call sym.___super_fnc__2550
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x521088
mov eax, dword [ebp + 0x58]
mov eax, dword [eax]
and eax, 8
test eax, eax
je 0x520d6d
mov eax, 0xd
jmp 0x522e35
lea eax, [ebp - 0x58]
mov dword [esp + 8], eax
lea eax, [ebp - 0x50]
mov dword [esp + 4], eax
lea eax, [ebp + 0x58]
mov dword [esp], eax
call sym.___super_fnc__2551
mov eax, dword [ebp + 0x2c]
mov edx, 0
mov ebx, eax
and ebx, 0xffffffcf
mov dword [ebp - 0x110], ebx
mov eax, edx
and ah, 0xff
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp + 8]
test eax, eax
je 0x52108b
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xc4]
mov ebx, eax
xor bh, 0
mov dword [ebp - 0x100], ebx
mov eax, edx
xor ah, 0
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0x100]
mov ebx, dword [ebp - 0xfc]
mov eax, ebx
or eax, ecx
test eax, eax
je 0x52108e
lea eax, [ebp - 0x60]
mov dword [esp + 0xc], eax
lea eax, [ebp + 0x58]
mov dword [esp + 8], eax
lea eax, [ebp - 0xc8]
mov dword [esp + 4], eax
lea eax, [ebp + 8]
mov dword [esp], eax
call sym.___super_fnc__2552
lea eax, [ebp - 0x60]
mov dword [esp + 4], eax
lea eax, [ebp + 0x58]
mov dword [esp], eax
call sym.___super_fnc__2553
lea eax, [ebp - 0xb4]
mov dword [esp + 0x20], eax
lea eax, [ebp - 0xb0]
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0xac]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x98]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x78]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x74]
mov dword [esp + 8], eax
lea eax, [ebp - 0x64]
mov dword [esp + 4], eax
lea eax, [ebp - 0x44]
mov dword [esp], eax
call sym.___super_fnc__2554
lea eax, [ebp - 0x64]
mov dword [esp + 4], eax
lea eax, [ebp - 0x3c]
mov dword [esp], eax
call sym.___super_fnc__2555
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x520e99
lea eax, [ebp - 0x38]
mov dword [esp], eax
call sym.___super_fnc__2556
jmp 0x521552
lea eax, [ebp - 0xb4]
mov dword [esp + 0x28], eax
lea eax, [ebp - 0xb0]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0xac]
mov dword [esp + 0x20], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x98]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x78]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x74]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x64]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x48]
mov dword [esp + 8], eax
lea eax, [ebp - 0x44]
mov dword [esp + 4], eax
lea eax, [ebp - 0x3c]
mov dword [esp], eax
call sym.___super_fnc__2557
mov eax, dword [ebp + 0x2c]
and eax, 0x20
test eax, eax
je 0x520f41
lea eax, [ebp - 0x70]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x3d]
mov dword [esp + 8], eax
lea eax, [ebp - 0x3c]
mov dword [esp + 4], eax
lea eax, [ebp + 0x58]
mov dword [esp], eax
call sym.___super_fnc__2558
lea eax, [ebp - 0x70]
mov dword [esp + 8], eax
lea eax, [ebp - 0x3c]
mov dword [esp + 4], eax
lea eax, [ebp + 0x58]
mov dword [esp], eax
call sym.___super_fnc__2559
jmp 0x521e1b
mov eax, dword [ebp + 0x2c]
and eax, 0x10
test eax, eax
je 0x520fb8
lea eax, [ebp - 0xb4]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0xb0]
mov dword [esp + 0x20], eax
lea eax, [ebp - 0xac]
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x98]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x78]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x74]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x64]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x44]
mov dword [esp + 8], eax
lea eax, [ebp - 0x3c]
mov dword [esp + 4], eax
lea eax, [ebp + 0x1c]
mov dword [esp], eax
call sym.___super_fnc__2560
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x521026
lea eax, [ebp - 0x3c]
mov dword [esp], eax
call sym.___super_fnc__2561
jmp 0x521026
lea eax, [ebp - 0xb4]
mov dword [esp + 0x30], eax
lea eax, [ebp - 0xb0]
mov dword [esp + 0x2c], eax
lea eax, [ebp - 0xac]
mov dword [esp + 0x28], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0x98]
mov dword [esp + 0x20], eax
lea eax, [ebp - 0x7c]
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x78]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x74]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x64]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x48]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x44]
mov dword [esp + 8], eax
lea eax, [ebp - 0x3c]
mov dword [esp + 4], eax
lea eax, [ebp + 0x1c]
mov dword [esp], eax
call sym.___super_fnc__2562
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x52109f
lea eax, [ebp - 0xb0]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0xac]
mov dword [esp + 0x20], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x98]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x78]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x74]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x64]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x48]
mov dword [esp + 8], eax
lea eax, [ebp - 0x44]
mov dword [esp + 4], eax
lea eax, [ebp - 0x3c]
mov dword [esp], eax
call sym.___super_fnc__2563
jmp 0x52108f
nop
jmp 0x52108f
nop
jmp 0x52108f
nop
lea eax, [ebp - 0x38]
mov dword [esp], eax
call sym.___super_fnc__2564
jmp 0x521552
lea eax, [ebp - 0x80]
mov dword [esp + 4], eax
lea eax, [ebp - 0x3c]
mov dword [esp], eax
call sym.___super_fnc__2565
jmp 0x5210d3
mov eax, dword [ebp - 0x80]
movzx eax, byte [eax]
cmp al, 0x5c
jne 0x5210c8
lea eax, [ebp - 0x80]
mov dword [esp], eax
call sym.___super_fnc__2566
lea eax, [ebp - 0x80]
mov dword [esp], eax
call sym.___super_fnc__2567
mov eax, dword [ebp - 0x80]
movzx eax, byte [eax]
test al, al
jne 0x5210b3
mov dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x3c]
mov word [eax], 8
mov byte [ebp - 0x3d], 0
mov eax, dword [ebp - 0x3c]
lea edx, [ebp - 0x91]
mov dword [eax + 0x40], edx
mov eax, dword [ebp - 0x3c]
mov dword [eax + 0x24], 0x11
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
add edx, 0x150
mov dword [eax + 0x44], edx
mov eax, dword [ebp - 0x3c]
mov dword [eax + 0x28], 9
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x44]
add eax, 2
mov byte [eax], 5
mov eax, dword [ebp + 0x58]
mov eax, dword [eax]
test eax, eax
jns 0x521144
mov byte [ebp - 0x3d], 8
mov eax, dword [ebp - 0x3c]
mov dword [eax + 0x24], 0
jmp 0x5211a5
mov eax, dword [ebp + 0x2c]
and eax, 8
test eax, eax
je 0x521188
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x3c]
mov edx, dword [edx + 0x20]
sub edx, 1
movzx eax, byte [eax + edx + 0x48]
cmp al, 0x2f
je 0x5211a5
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax + 0x20]
add edx, 1
mov dword [eax + 0x20], edx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x24]
add eax, edx
add eax, 0x48
mov byte [eax], 0x2f
jmp 0x5211a5
mov eax, dword [ebp + 0x58]
mov eax, dword [eax + 8]
test eax, eax
je 0x5211a1
mov dword [ebp - 0x38], 0xc
mov eax, dword [ebp - 0x3c]
mov word [eax], 9
mov byte [ebp - 0x3d], 8
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
movzx edx, word [edx]
mov word [eax + 0x30], dx
movzx edx, byte [ebp - 0x3d]
mov eax, dword [ebp - 0x3c]
movzx edx, dl
mov word [eax + 2], dx
movzx eax, byte [ebp - 0x3d]
test al, al
jne 0x521207
mov eax, dword [ebp + 0x58]
mov edx, dword [eax + 0x54]
mov eax, dword [eax + 0x50]
mov ebx, eax
xor ebx, 0xffffffff
mov esi, ebx
mov eax, edx
xor eax, 0xffffffff
mov edi, eax
mov eax, edi
or eax, esi
test eax, eax
je 0x521207
mov eax, dword [ebp + 0x58]
mov edx, dword [eax + 0x54]
mov eax, dword [eax + 0x50]
mov ecx, dword [ebp - 0x38]
mov esi, ecx
mov edi, 0
mov ecx, dword [ebp - 0x3c]
add eax, esi
adc edx, edi
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [ebp + 0x58]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [eax + 0x54]
mov eax, dword [eax + 0x50]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
mov eax, dword [ebp + 0x58]
mov ecx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
mov eax, dword [ebp + 0x58]
mov edx, dword [eax + 0x1c]
mov eax, dword [eax + 0x18]
mov esi, dword [ebp - 0x3c]
add eax, ecx
adc edx, ebx
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], edx
mov eax, dword [ebp + 0x58]
mov dword [eax + 0x20], 0
mov edx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xac]
mov ebx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x64]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x100], eax
mov edi, dword [ebp - 0x98]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 0x58]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp + 0x94]
mov dword [esp + 0x80], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0x60]
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], edx
fld qword [ebp - 0xd0]
fstp qword [esp + 0x68]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], ebx
mov eax, dword [ebp + 0x88]
mov dword [esp + 0x5c], eax
mov eax, dword [ebp + 0x68]
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0xa0]
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], esi
mov eax, dword [ebp + 0x6c]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp - 0x100]
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], edi
mov eax, dword [ebp + 0xac]
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x64]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x48]
mov dword [esp + 0x20], eax
mov eax, dword [ebp - 0x110]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x114]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0xa0]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x68]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x118]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x9c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x11c]
mov dword [esp], eax
call sym._putlocal
mov eax, dword [ebp + 0x58]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x521712
nop
jmp 0x5213a7
nop
jmp 0x5213a7
nop
jmp 0x5213a7
nop
jmp 0x5213a7
nop
mov eax, dword [ebp + 0x58]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x78]
mov ebx, dword [ebp - 0xb4]
mov esi, dword [ebp - 0x44]
mov edi, dword [ebp - 0xa8]
mov dword [ebp - 0x100], edi
mov edi, dword [ebp - 0x74]
mov dword [ebp - 0x108], edi
mov edi, dword [ebp - 0xa8]
mov dword [ebp - 0x110], edi
mov edi, dword [ebp - 0x78]
mov dword [ebp - 0x114], edi
mov edi, dword [ebp - 0x3c]
mov dword [ebp - 0x118], edi
mov edi, dword [ebp - 0x74]
mov dword [ebp - 0x11c], edi
mov edi, dword [ebp - 0xa8]
mov dword [ebp - 0x120], edi
mov edi, dword [ebp - 0xac]
mov dword [ebp - 0x124], edi
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x128], edi
mov edi, dword [ebp - 0x98]
mov dword [ebp - 0x12c], edi
mov edi, dword [ebp - 0x74]
mov dword [ebp - 0x130], edi
mov edi, dword [ebp - 0x64]
fld qword [0x591bb8]
fstp qword [esp + 0x94]
mov dword [esp + 0x90], eax
mov dword [esp + 0x8c], edx
mov dword [esp + 0x88], 4
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x7c], 4
mov dword [esp + 0x78], 7
fld qword [0x591be8]
fstp qword [esp + 0x70]
mov dword [esp + 0x6c], 7
mov dword [esp + 0x68], esi
fld qword [0x591bd8]
fstp qword [esp + 0x60]
fld qword [0x591bd0]
fstp qword [esp + 0x58]
mov dword [esp + 0x54], 0
fld qword [0x591bd8]
fstp qword [esp + 0x4c]
mov eax, dword [ebp - 0x100]
mov dword [esp + 0x48], eax
fld qword [0x591be0]
fstp qword [esp + 0x40]
mov eax, dword [ebp - 0x108]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp - 0x110]
mov dword [esp + 0x38], eax
mov eax, dword [ebp - 0x114]
mov dword [esp + 0x34], eax
fld qword [0x591bb8]
fstp qword [esp + 0x2c]
mov eax, dword [ebp - 0x118]
mov dword [esp + 0x28], eax
mov eax, dword [ebp - 0x11c]
mov dword [esp + 0x24], eax
mov eax, dword [ebp - 0x120]
mov dword [esp + 0x20], eax
mov eax, dword [ebp - 0x124]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x128]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0
mov eax, dword [ebp - 0x12c]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x130]
mov dword [esp + 0xc], eax
fld1
fstp qword [esp + 4]
mov dword [esp], edi
call sym._ByteFree
mov eax, dword [ebp + 0x58]
mov eax, dword [eax]
and eax, 0x40
test eax, eax
je 0x52170a
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xb4]
mov esi, dword [ebp - 0x98]
mov edi, dword [ebp - 0x74]
mov dword [ebp - 0x100], edi
mov ebx, dword [ebp - 0xb4]
mov dword [ebp - 0x108], ebx
mov edi, dword [ebp - 0xa8]
mov dword [ebp - 0x110], edi
mov ebx, dword [ebp - 0xac]
mov dword [ebp - 0x114], ebx
mov edi, dword [ebp - 0x98]
mov dword [ebp - 0x118], edi
mov ebx, dword [ebp - 0x44]
mov dword [ebp - 0x11c], ebx
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x120], edi
mov ebx, dword [ebp - 0xb4]
mov dword [ebp - 0x124], ebx
mov edi, dword [ebp - 0xa8]
mov ebx, dword [ebp - 0xb4]
mov dword [esp + 0x98], eax
mov dword [esp + 0x94], 0x34
mov dword [esp + 0x90], 7
mov dword [esp + 0x8c], edx
mov dword [esp + 0x88], ecx
fld qword [0x591bc0]
fstp qword [esp + 0x80]
mov dword [esp + 0x7c], 5
mov dword [esp + 0x78], esi
mov eax, dword [ebp - 0x100]
mov dword [esp + 0x74], eax
fld qword [0x591be0]
fstp qword [esp + 0x6c]
mov eax, dword [ebp - 0x108]
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], 6
mov eax, dword [ebp - 0x110]
mov dword [esp + 0x60], eax
mov eax, dword [ebp - 0x114]
mov dword [esp + 0x5c], eax
mov eax, dword [ebp - 0x118]
mov dword [esp + 0x58], eax
mov eax, dword [ebp - 0x11c]
mov dword [esp + 0x54], eax
mov eax, dword [ebp - 0x120]
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], 4
fld1
fstp qword [esp + 0x44]
mov dword [esp + 0x40], 0x97
fldz
fstp qword [esp + 0x38]
mov dword [esp + 0x34], 3
mov dword [esp + 0x30], 2
mov dword [esp + 0x2c], 8
mov dword [esp + 0x28], 8
mov dword [esp + 0x24], 1
mov eax, dword [ebp - 0x124]
mov dword [esp + 0x20], eax
fld qword [0x591bc0]
fstp qword [esp + 0x18]
fld qword [0x591bc8]
fstp qword [esp + 0x10]
mov dword [esp + 0xc], edi
fld qword [0x591be0]
fstp qword [esp + 4]
mov dword [esp], ebx
call sym._ExportWinAPI
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
mov edx, eax
mov eax, dword [ebp + 0x58]
mov eax, dword [eax + 0x64]
mov dword [esp], eax
call edx
sub esp, 4
mov eax, dword [ebp - 0x38]
jmp 0x522e35
mov eax, dword [ebp + 0x58]
mov eax, dword [eax]
test eax, eax
jns 0x521737
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x20]
add eax, 0xb
mov ecx, dword [ebp + 0x58]
mov edx, 0
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp 0x521e1b
mov eax, dword [ebp + 0x58]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp - 0x3c]
mov ebx, dword [ecx + 0x20]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx + 0x24]
add ecx, ebx
add ecx, 0x32
mov esi, ecx
mov edi, 0
mov ecx, dword [ebp + 0x58]
add eax, esi
adc edx, edi
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x521e1a
mov eax, dword [ebp + 0x58]
mov dword [eax + 0x38], 0x12345678
mov eax, dword [ebp + 0x58]
mov dword [eax + 0x3c], 0x23456789
mov eax, dword [ebp + 0x58]
mov dword [eax + 0x40], 0x34567890
mov eax, dword [ebp + 0x58]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x52190b
mov eax, dword [ebp - 0x1c]
movzx eax, byte [eax]
test al, al
je 0x52190e
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x1c]
movzx eax, byte [eax]
movsx edi, al
mov eax, dword [ebp + 0x58]
add eax, 0x38
mov dword [ebp - 0x100], eax
mov esi, dword [ebp - 0x74]
mov ebx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb0]
fld qword [ebp - 0xc0]
fstp qword [esp + 0xa8]
mov eax, dword [ebp + 0x10]
mov dword [esp + 0xa4], eax
fld qword [ebp - 0xe0]
fstp qword [esp + 0x9c]
mov eax, dword [ebp + 0x6c]
mov dword [esp + 0x98], eax
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x94], eax
mov eax, dword [ebp + 0x9c]
mov dword [esp + 0x90], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x8c], eax
mov eax, dword [ebp + 0x60]
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], edx
mov eax, dword [ebp + 0xac]
mov dword [esp + 0x80], eax
mov eax, dword [ebp + 0x9c]
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 0x9c]
mov dword [esp + 0x78], eax
fld qword [ebp - 0xe8]
fstp qword [esp + 0x70]
fld qword [ebp - 0xc0]
fstp qword [esp + 0x68]
fld qword [ebp - 0xd8]
fstp qword [esp + 0x60]
mov dword [esp + 0x5c], edi
fld qword [ebp - 0xf0]
fstp qword [esp + 0x54]
mov eax, dword [ebp - 0x100]
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], esi
fld qword [ebp - 0xc0]
fstp qword [esp + 0x44]
fld qword [ebp - 0xc0]
fstp qword [esp + 0x3c]
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x38], eax
fld qword [ebp - 0xe8]
fstp qword [esp + 0x30]
fld qword [ebp - 0xc0]
fstp qword [esp + 0x28]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x24], eax
fld qword [ebp - 0xe0]
fstp qword [esp + 0x1c]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x18], eax
fld qword [ebp - 0xf0]
fstp qword [esp + 0x10]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
mov eax, dword [ebp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x9c]
mov dword [esp], eax
call sym._update_keys
add dword [ebp - 0x1c], 1
jmp 0x521797
nop
jmp 0x52190f
nop
mov dword [ebp - 0xa8], 0
jmp 0x521ae0
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x100], edi
mov ebx, dword [ebp - 0x48]
mov dword [ebp - 0x110], ebx
mov edi, dword [ebp - 0xb4]
mov dword [ebp - 0x114], edi
mov ebx, dword [ebp - 0x98]
mov dword [ebp - 0x118], ebx
mov edi, dword [ebp - 0x64]
mov dword [ebp - 0x11c], edi
mov ebx, dword [ebp - 0x74]
mov dword [ebp - 0x120], ebx
mov edi, dword [ebp - 0x64]
mov dword [ebp - 0x124], edi
mov ebx, dword [ebp - 0xb0]
mov dword [ebp - 0x128], ebx
mov edi, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xa8]
mov dword [esp + 0x98], eax
mov dword [esp + 0x94], 0x34
mov dword [esp + 0x90], 3
mov dword [esp + 0x8c], edx
mov dword [esp + 0x88], ecx
fld qword [0x591bc0]
fstp qword [esp + 0x80]
mov dword [esp + 0x7c], 8
mov dword [esp + 0x78], esi
mov eax, dword [ebp - 0x100]
mov dword [esp + 0x74], eax
fld qword [0x591bd8]
fstp qword [esp + 0x6c]
mov eax, dword [ebp - 0x110]
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], 1
mov eax, dword [ebp - 0x114]
mov dword [esp + 0x60], eax
mov eax, dword [ebp - 0x118]
mov dword [esp + 0x5c], eax
mov eax, dword [ebp - 0x11c]
mov dword [esp + 0x58], eax
mov eax, dword [ebp - 0x120]
mov dword [esp + 0x54], eax
mov eax, dword [ebp - 0x124]
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], 7
fld qword [0x591bc8]
fstp qword [esp + 0x44]
mov dword [esp + 0x40], 0x158
fld qword [0x591bc8]
fstp qword [esp + 0x38]
mov dword [esp + 0x34], 2
mov dword [esp + 0x30], 7
mov dword [esp + 0x2c], 4
mov dword [esp + 0x28], 5
mov dword [esp + 0x24], 3
mov eax, dword [ebp - 0x128]
mov dword [esp + 0x20], eax
fld qword [0x591be8]
fstp qword [esp + 0x18]
fld qword [0x591bc0]
fstp qword [esp + 0x10]
mov dword [esp + 0xc], edi
fld qword [0x591bd8]
fstp qword [esp + 4]
mov dword [esp], ebx
call sym._ExportWinAPI
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
call eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
shrd eax, edx, 7
shr edx, 7
mov ecx, dword [ebp - 0xa8]
mov byte [ebp + ecx - 0xa4], al
mov eax, dword [ebp - 0xa8]
add eax, 1
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa8]
cmp eax, 0xb
jle 0x52191e
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 4]
shr eax, 8
mov byte [ebp - 0x99], al
mov dword [ebp - 0xa8], 0
jmp 0x521ca8
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp + 0x58]
lea ecx, [eax + 0x38]
mov ebx, dword [ebp - 0x74]
mov eax, dword [ebp - 0xa8]
movzx eax, byte [ebp + eax - 0xa4]
movsx esi, al
mov edi, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x120], eax
mov dword [esp + 0x94], edx
mov dword [esp + 0x90], ecx
mov eax, dword [ebp + 0x5c]
mov dword [esp + 0x8c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x88], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x84], eax
mov eax, dword [ebp + 0x4c]
mov dword [esp + 0x80], eax
fld qword [ebp - 0xe8]
fstp qword [esp + 0x78]
mov dword [esp + 0x74], ebx
fld qword [ebp - 0xf8]
fstp qword [esp + 0x6c]
mov dword [esp + 0x68], esi
fld qword [ebp - 0xc0]
fstp qword [esp + 0x60]
mov eax, dword [ebp + 0xa0]
mov dword [esp + 0x5c], eax
mov eax, dword [ebp + 0x98]
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], edi
fld qword [ebp - 0xf0]
fstp qword [esp + 0x48]
mov eax, dword [ebp - 0x100]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x9c]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x98]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x4c]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x30], eax
mov eax, dword [ebp - 0x110]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x28], eax
fld qword [ebp - 0xf8]
fstp qword [esp + 0x20]
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x114]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x118]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x11c]
mov dword [esp + 0x10], eax
fld qword [ebp - 0xf0]
fstp qword [esp + 8]
mov eax, dword [ebp + 0x9c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x70]
mov dword [esp], eax
call sym._zencode
mov edi, dword [ebp - 0x120]
mov byte [ebp + edi - 0xa4], al
mov eax, dword [ebp - 0xa8]
add eax, 1
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa8]
cmp eax, 0xb
jle 0x521b0d
mov ebx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp + 0x58]
mov dword [esp + 0x9c], ebx
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x98], ebx
fld qword [ebp - 0xe8]
fstp qword [esp + 0x90]
mov dword [esp + 0x8c], ecx
mov ecx, dword [ebp + 0x68]
mov dword [esp + 0x88], ecx
fld qword [ebp - 0xe8]
fstp qword [esp + 0x80]
mov ecx, dword [ebp + 0xa0]
mov dword [esp + 0x7c], ecx
mov ecx, dword [ebp + 0x9c]
mov dword [esp + 0x78], ecx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x74], ecx
mov ecx, dword [ebp + 0x9c]
mov dword [esp + 0x70], ecx
mov ecx, dword [ebp + 0x20]
mov dword [esp + 0x6c], ecx
fld qword [ebp - 0xe8]
fstp qword [esp + 0x64]
mov dword [esp + 0x60], edx
mov edx, dword [ebp + 0x68]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x3c]
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0x98]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x6c]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x38], eax
fld qword [ebp - 0xc0]
fstp qword [esp + 0x30]
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x94]
mov dword [esp + 0x28], eax
lea eax, [ebp - 0xa4]
mov dword [esp + 0x24], eax
fld qword [ebp - 0xc0]
fstp qword [esp + 0x1c]
fld qword [ebp - 0xe8]
fstp qword [esp + 0x14]
fld qword [ebp - 0xf0]
fstp qword [esp + 0xc]
mov dword [esp + 8], 0xc
mov eax, dword [ebp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x9c]
mov dword [esp], eax
call sym._writeDestination
mov eax, dword [ebp + 0x58]
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x52139d
mov eax, dword [ebp + 0x58]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp + 0x58]
add eax, 0xc
adc edx, 0
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [ebp + 0x58]
mov edx, dword [eax]
mov eax, dword [ebp + 0x58]
or edx, 0x10
mov dword [eax], edx
jmp 0x521e1b
nop
mov eax, dword [ebp + 0x58]
mov eax, dword [eax + 0x64]
test eax, eax
je 0x522226
movzx eax, byte [ebp - 0x3d]
cmp al, 8
jne 0x521f69
mov edx, dword [ebp - 0x78]
mov edi, dword [ebp - 0xa8]
mov esi, dword [ebp - 0x3c]
mov ebx, dword [ebp + 0x58]
mov ecx, dword [ebp - 0x98]
fld qword [ebp - 0xe0]
fstp qword [esp + 0x9c]
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x98], eax
fld qword [ebp - 0xd8]
fstp qword [esp + 0x90]
mov eax, dword [ebp + 0x70]
mov dword [esp + 0x8c], eax
fld qword [ebp - 0xf0]
fstp qword [esp + 0x84]
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x80], eax
mov dword [esp + 0x7c], edx
mov eax, dword [ebp + 0x9c]
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], edi
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x70], eax
mov eax, dword [ebp + 0x98]
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 0x94]
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 0x40]
mov dword [esp + 0x64], eax
mov eax, dword [ebp + 0xac]
mov dword [esp + 0x60], eax
fld qword [ebp - 0xd0]
fstp qword [esp + 0x58]
fld qword [ebp - 0xc0]
fstp qword [esp + 0x50]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x4c], eax
fld qword [ebp - 0xd0]
fstp qword [esp + 0x44]
mov eax, dword [ebp + 0x48]
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], ebx
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x34], eax
fld qword [ebp - 0xe8]
fstp qword [esp + 0x2c]
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
fld qword [ebp - 0xf8]
fstp qword [esp + 0x1c]
mov eax, dword [ebp + 0x60]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x98]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x9c]
mov dword [esp + 0x10], eax
fld qword [ebp - 0xf8]
fstp qword [esp + 8]
mov eax, dword [ebp + 0x6c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x70]
mov dword [esp], eax
call sym._ideflate
jmp 0x5220b2
mov edx, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xa8]
mov ebx, dword [ebp - 0x48]
mov esi, dword [ebp - 0xac]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x100], eax
mov edi, dword [ebp - 0xb4]
mov dword [ebp - 0x110], edi
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x114], edi
mov edi, dword [ebp + 0x58]
mov dword [ebp - 0x118], edi
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x90], eax
fld qword [ebp - 0xf8]
fstp qword [esp + 0x88]
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], ebx
fld qword [ebp - 0xf0]
fstp qword [esp + 0x74]
fld qword [ebp - 0xf8]
fstp qword [esp + 0x6c]
mov eax, dword [ebp + 0x3c]
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], esi
mov eax, dword [ebp + 0x70]
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x5c], eax
mov eax, dword [ebp + 0x48]
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x88]
mov dword [esp + 0x54], eax
fld qword [ebp - 0xe8]
fstp qword [esp + 0x4c]
mov eax, dword [ebp - 0x100]
mov dword [esp + 0x48], eax
mov eax, dword [ebp - 0x110]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x98]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x70]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp - 0x114]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x94]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp - 0x118]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x98]
mov dword [esp + 0x24], eax
fld qword [ebp - 0xd0]
fstp qword [esp + 0x1c]
mov eax, dword [ebp + 0x4c]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x40]
mov dword [esp + 0x14], eax
fld qword [ebp - 0xc0]
fstp qword [esp + 0xc]
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov eax, dword [ebp + 0x98]
mov dword [esp], eax
call sym._istore
mov eax, dword [ebp + 0x58]
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x5213a0
mov eax, dword [ebp + 0x58]
mov edx, dword [eax]
mov eax, dword [ebp + 0x58]
and edx, 0xffffffef
mov dword [eax], edx
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xb4]
mov ebx, dword [ebp - 0xb4]
mov esi, dword [ebp - 0x44]
mov edi, dword [ebp - 0xa8]
mov dword [ebp - 0x100], edi
mov edi, dword [ebp + 0x58]
mov dword [ebp - 0x110], edi
mov edi, dword [ebp - 0xb4]
mov dword [ebp - 0x114], edi
mov edi, dword [ebp - 0xb0]
mov dword [ebp - 0x118], edi
mov edi, dword [ebp - 0x64]
mov dword [esp + 0x84], eax
mov dword [esp + 0x80], edx
mov eax, dword [ebp + 0x64]
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 0x88]
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0x9c]
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x70], eax
mov eax, dword [ebp + 0x6c]
mov dword [esp + 0x6c], eax
fld qword [ebp - 0xd8]
fstp qword [esp + 0x64]
mov dword [esp + 0x60], ecx
mov eax, dword [ebp + 0x9c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], ebx
mov eax, dword [ebp + 0x3c]
mov dword [esp + 0x54], eax
fld qword [ebp - 0xc0]
fstp qword [esp + 0x4c]
mov dword [esp + 0x48], esi
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x5c]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x9c]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0x3c]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x68]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x30], eax
fld qword [ebp - 0xe0]
fstp qword [esp + 0x28]
mov eax, dword [ebp + 0x5c]
mov dword [esp + 0x24], eax
mov eax, dword [ebp - 0x100]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x110]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x114]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x68]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x118]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x44]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov eax, dword [ebp + 0x48]
mov dword [esp], eax
call sym._closeSource
mov eax, dword [ebp + 0x58]
mov ecx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
mov eax, dword [ebp + 0x58]
mov edx, dword [eax + 0x7c]
mov eax, dword [eax + 0x78]
mov esi, dword [ebp + 0x58]
add eax, ecx
adc edx, ebx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
mov eax, dword [ebp + 0x58]
mov eax, dword [eax]
test eax, eax
jns 0x522756
mov eax, dword [ebp + 0x58]
mov edx, dword [eax]
mov eax, dword [ebp + 0x58]
or edx, 8
mov dword [eax], edx
mov eax, dword [ebp + 0x2c]
and eax, 0x20
test eax, eax
jne 0x522e30
mov esi, dword [ebp + 0x58]
mov eax, dword [ebp + 0x58]
mov ebx, dword [eax + 0x60]
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0xa8]
mov edi, dword [ebp + 0x74]
mov dword [esp + 0xa0], edi
mov dword [esp + 0x9c], esi
fld qword [ebp - 0xc0]
fstp qword [esp + 0x94]
mov esi, dword [ebp + 0x3c]
mov dword [esp + 0x90], esi
mov esi, dword [ebp + 0x9c]
mov dword [esp + 0x8c], esi
mov esi, dword [ebp + 0x3c]
mov dword [esp + 0x88], esi
mov esi, dword [ebp + 0x9c]
mov dword [esp + 0x84], esi
fld qword [ebp - 0xf8]
fstp qword [esp + 0x7c]
mov esi, dword [ebp + 0x20]
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], ebx
mov ebx, dword [ebp + 0x70]
mov dword [esp + 0x70], ebx
fld qword [ebp - 0xd8]
fstp qword [esp + 0x68]
fld qword [ebp - 0xe8]
fstp qword [esp + 0x60]
mov ebx, dword [ebp + 0x74]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], edx
mov edx, dword [ebp + 0x38]
mov dword [esp + 0x50], edx
mov edx, dword [ebp + 0x20]
mov dword [esp + 0x4c], edx
fld qword [ebp - 0xf0]
fstp qword [esp + 0x44]
fld qword [ebp - 0xd0]
fstp qword [esp + 0x3c]
mov edx, dword [ebp + 0x40]
mov dword [esp + 0x38], edx
mov edx, dword [ebp + 0x40]
mov dword [esp + 0x34], edx
mov edx, dword [ebp + 0x60]
mov dword [esp + 0x30], edx
fld qword [ebp - 0xf0]
fstp qword [esp + 0x28]
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x24], edx
fld qword [ebp - 0xf8]
fstp qword [esp + 0x1c]
fld qword [ebp - 0xd0]
fstp qword [esp + 0x14]
mov edx, dword [ebp + 0x70]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0xc]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x98]
mov dword [esp], eax
call sym._writeDestShort
mov edx, dword [ebp + 0x58]
mov ebx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp + 0x58]
mov eax, dword [eax + 0x60]
shr eax, 0x10
mov dword [ebp - 0x108], eax
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x110], edi
mov edi, dword [ebp - 0xac]
mov esi, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp + 0x68]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x9c], edx
fld qword [ebp - 0xf8]
fstp qword [esp + 0x94]
mov dword [esp + 0x90], ebx
mov eax, dword [ebp + 0x9c]
mov dword [esp + 0x8c], eax
mov ebx, dword [ebp - 0x100]
mov dword [esp + 0x88], ebx
mov eax, dword [ebp + 0x9c]
mov dword [esp + 0x84], eax
fld qword [ebp - 0xe0]
fstp qword [esp + 0x7c]
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x78], eax
mov eax, dword [ebp - 0x108]
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 0x88]
mov dword [esp + 0x70], eax
fld qword [ebp - 0xd0]
fstp qword [esp + 0x68]
fld qword [ebp - 0xd8]
fstp qword [esp + 0x60]
mov eax, dword [ebp - 0x110]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], esi
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x6c]
mov dword [esp + 0x4c], eax
fld qword [ebp - 0xf0]
fstp qword [esp + 0x44]
fld qword [ebp - 0xf8]
fstp qword [esp + 0x3c]
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x48]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x5c]
mov dword [esp + 0x30], eax
fld qword [ebp - 0xe8]
fstp qword [esp + 0x28]
mov eax, dword [ebp + 0x98]
mov dword [esp + 0x24], eax
fld qword [ebp - 0xf0]
fstp qword [esp + 0x1c]
fld qword [ebp - 0xf0]
fstp qword [esp + 0x14]
mov dword [esp + 0x10], ecx
mov eax, dword [ebp + 0x98]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x68]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sym._writeDestShort
mov ecx, dword [ebp + 0x58]
mov eax, dword [ebp + 0x58]
mov edx, dword [eax + 0x5c]
mov eax, dword [eax + 0x58]
mov ebx, eax
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp + 0x48]
mov dword [esp + 0xa0], edx
mov dword [esp + 0x9c], ecx
fld qword [ebp - 0xe8]
fstp qword [esp + 0x94]
mov edx, dword [ebp + 0x3c]
mov dword [esp + 0x90], edx
mov edx, dword [ebp + 0x9c]
mov dword [esp + 0x8c], edx
mov edx, dword [ebp + 0x64]
mov dword [esp + 0x88], edx
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x84], edx
fld qword [ebp - 0xd0]
fstp qword [esp + 0x7c]
mov edx, dword [ebp + 0x64]
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ebx
mov edx, dword [ebp + 0x6c]
mov dword [esp + 0x70], edx
fld qword [ebp - 0xd0]
fstp qword [esp + 0x68]
fld qword [ebp - 0xd8]
fstp qword [esp + 0x60]
mov edx, dword [ebp + 0x68]
mov dword [esp + 0x5c], edx
mov edx, dword [ebp + 0x6c]
mov dword [esp + 0x58], edx
mov edx, dword [ebp + 0x3c]
mov dword [esp + 0x54], edx
mov edx, dword [ebp + 0x4c]
mov dword [esp + 0x50], edx
mov edx, dword [ebp + 0x94]
mov dword [esp + 0x4c], edx
fld qword [ebp - 0xe0]
fstp qword [esp + 0x44]
fld qword [ebp - 0xe8]
fstp qword [esp + 0x3c]
mov edx, dword [ebp + 0x38]
mov dword [esp + 0x38], edx
mov edx, dword [ebp + 0x38]
mov dword [esp + 0x34], edx
mov edx, dword [ebp + 0x38]
mov dword [esp + 0x30], edx
fld qword [ebp - 0xf8]
fstp qword [esp + 0x28]
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x24], edx
fld qword [ebp - 0xc0]
fstp qword [esp + 0x1c]
fld qword [ebp - 0xe0]
fstp qword [esp + 0x14]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0xac]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sym._writeDestShort
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x100], eax
mov edi, dword [ebp + 0x58]
mov esi, dword [ebp - 0x98]
mov ebx, dword [ebp - 0x74]
mov eax, dword [ebp + 0x58]
mov edx, dword [eax + 0x5c]
mov eax, dword [eax + 0x58]
shrd eax, edx, 0x10
shr edx, 0x10
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x100]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x9c], edi
fld qword [ebp - 0xc0]
fstp qword [esp + 0x94]
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x90], eax
mov eax, dword [ebp + 0x9c]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], esi
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x84], eax
fld qword [ebp - 0xe8]
fstp qword [esp + 0x7c]
mov dword [esp + 0x78], ebx
mov eax, dword [ebp - 0x108]
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], ecx
fld qword [ebp - 0xd0]
fstp qword [esp + 0x68]
fld qword [ebp - 0xe8]
fstp qword [esp + 0x60]
mov eax, dword [ebp + 0x4c]
mov dword [esp + 0x5c], eax
mov eax, dword [ebp + 0x6c]
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x6c]
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], edx
mov eax, dword [ebp + 0x6c]
mov dword [esp + 0x4c], eax
fld qword [ebp - 0xe0]
fstp qword [esp + 0x44]
fld qword [ebp - 0xe0]
fstp qword [esp + 0x3c]
mov eax, dword [ebp + 0xa0]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x68]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x68]
mov dword [esp + 0x30], eax
fld qword [ebp - 0xe8]
fstp qword [esp + 0x28]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x24], eax
fld qword [ebp - 0xe8]
fstp qword [esp + 0x1c]
fld qword [ebp - 0xf8]
fstp qword [esp + 0x14]
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0xa0]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0xac]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._writeDestShort
mov eax, dword [ebp + 0x58]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x522e30
jmp 0x5213a7
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
mov eax, dword [ebp + 0x58]
mov edx, dword [eax + 0x7c]
mov eax, dword [eax + 0x78]
mov esi, dword [ebp - 0x38]
mov edi, 0
add eax, esi
adc edx, edi
mov edi, ecx
xor edi, eax
mov dword [ebp - 0x108], edi
mov edi, ebx
xor edi, edx
mov dword [ebp - 0x104], edi
mov ebx, dword [ebp - 0x108]
mov esi, dword [ebp - 0x104]
mov eax, ebx
or eax, esi
test eax, eax
sete al
mov byte [ebp - 0x31], al
mov edx, dword [ebp + 0x58]
mov eax, dword [ebp - 0x3c]
mov edx, dword [edx + 0x60]
mov dword [eax + 8], edx
mov eax, dword [ebp + 0x58]
mov edx, dword [eax + 0x7c]
mov eax, dword [eax + 0x78]
mov ecx, dword [ebp - 0x38]
mov esi, ecx
mov edi, 0
mov ecx, dword [ebp - 0x3c]
add eax, esi
adc edx, edi
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [ebp + 0x58]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [eax + 0x54]
mov eax, dword [eax + 0x50]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
mov eax, dword [ebp + 0x58]
mov eax, dword [eax]
and eax, 4
test eax, eax
je 0x522c40
mov eax, dword [ebp - 0x38]
test eax, eax
jne 0x522c43
movzx edx, byte [ebp - 0x3d]
mov eax, dword [ebp - 0x3c]
movzx edx, dl
mov word [eax + 2], dx
mov eax, dword [ebp - 0x3c]
movzx eax, word [eax]
movzx eax, ax
and eax, 1
test eax, eax
jne 0x522826
mov eax, dword [ebp - 0x3c]
movzx edx, word [eax]
mov eax, dword [ebp - 0x3c]
and edx, 0xfffffff7
mov word [eax], dx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
movzx edx, word [edx]
mov word [eax + 0x30], dx
mov esi, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax + 0x3c]
mov eax, dword [eax + 0x38]
mov ecx, dword [ebp + 0x58]
mov ebx, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x18]
sub eax, ecx
sbb edx, ebx
mov ebx, dword [ebp - 0x64]
mov ecx, dword [ebp + 0x58]
fld qword [ebp - 0xf8]
fstp qword [esp + 0xa8]
fld qword [ebp - 0xd8]
fstp qword [esp + 0xa0]
mov dword [esp + 0x9c], esi
mov esi, dword [ebp + 0x9c]
mov dword [esp + 0x98], esi
mov esi, dword [ebp + 0x94]
mov dword [esp + 0x94], esi
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x90], esi
fld qword [ebp - 0xe0]
fstp qword [esp + 0x88]
fld qword [ebp - 0xf0]
fstp qword [esp + 0x80]
mov esi, dword [ebp + 0x38]
mov dword [esp + 0x7c], esi
mov esi, dword [ebp + 0x9c]
mov dword [esp + 0x78], esi
fld qword [ebp - 0xf8]
fstp qword [esp + 0x70]
mov esi, dword [ebp + 0x98]
mov dword [esp + 0x6c], esi
mov esi, dword [ebp + 0x98]
mov dword [esp + 0x68], esi
mov esi, dword [ebp + 0x48]
mov dword [esp + 0x64], esi
mov esi, dword [ebp + 0xb0]
mov dword [esp + 0x60], esi
fld qword [ebp - 0xd8]
fstp qword [esp + 0x58]
fld qword [ebp - 0xd0]
fstp qword [esp + 0x50]
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x4c], esi
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x48], esi
mov esi, dword [ebp + 0x6c]
mov dword [esp + 0x44], esi
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x40], esi
fld qword [ebp - 0xe0]
fstp qword [esp + 0x38]
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x34], esi
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x30], esi
mov esi, dword [ebp + 0x20]
mov dword [esp + 0x2c], esi
fld qword [ebp - 0xc0]
fstp qword [esp + 0x24]
fld qword [ebp - 0xd8]
fstp qword [esp + 0x1c]
mov esi, dword [ebp + 0x38]
mov dword [esp + 0x18], esi
fld qword [ebp - 0xf0]
fstp qword [esp + 0x10]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 4], ebx
mov dword [esp], ecx
call sym._seekDestination
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
test eax, eax
jne 0x522999
nop
mov dword [ebp - 0x38], 0x10
jmp 0x5213b0
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x74]
mov ebx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x100], eax
mov edi, dword [ebp - 0xb4]
mov dword [ebp - 0x108], edi
mov esi, dword [ebp - 0x74]
mov dword [ebp - 0x110], esi
mov edi, dword [ebp - 0xac]
mov dword [ebp - 0x114], edi
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x118], esi
mov edi, dword [ebp + 0x58]
mov esi, dword [ebp - 0xa8]
mov eax, dword [ebp + 0x6c]
mov dword [esp + 0x80], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0xa0]
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 0x68]
mov dword [esp + 0x70], eax
fld qword [ebp - 0xd8]
fstp qword [esp + 0x68]
mov eax, dword [ebp + 0x6c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], edx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], ebx
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0x70]
mov dword [esp + 0x50], eax
mov eax, dword [ebp - 0x100]
mov dword [esp + 0x4c], eax
mov eax, dword [ebp - 0x108]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x70]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x40], eax
mov eax, dword [ebp - 0x110]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp - 0x114]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x94]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x40]
mov dword [esp + 0x30], eax
mov eax, dword [ebp - 0x118]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x9c]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x9c]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x5c]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov eax, dword [ebp + 0xa0]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x3c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x5c]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x60]
mov dword [esp], eax
call sym._putlocal
mov eax, dword [ebp + 0x58]
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x5213a3
mov esi, dword [ebp - 0xa8]
mov ebx, dword [ebp - 0x44]
mov eax, dword [ebp + 0x58]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp + 0x58]
fld qword [ebp - 0xe8]
fstp qword [esp + 0xa8]
fld qword [ebp - 0xd0]
fstp qword [esp + 0xa0]
mov dword [esp + 0x9c], esi
mov esi, dword [ebp + 0x98]
mov dword [esp + 0x98], esi
mov esi, dword [ebp + 0x20]
mov dword [esp + 0x94], esi
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x90], esi
fld qword [ebp - 0xd8]
fstp qword [esp + 0x88]
fld qword [ebp - 0xe8]
fstp qword [esp + 0x80]
mov esi, dword [ebp + 0x74]
mov dword [esp + 0x7c], esi
mov esi, dword [ebp + 0x98]
mov dword [esp + 0x78], esi
fld qword [ebp - 0xf8]
fstp qword [esp + 0x70]
mov esi, dword [ebp + 0x98]
mov dword [esp + 0x6c], esi
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x68], esi
mov esi, dword [ebp + 0xa0]
mov dword [esp + 0x64], esi
mov esi, dword [ebp + 0x64]
mov dword [esp + 0x60], esi
fld qword [ebp - 0xe0]
fstp qword [esp + 0x58]
fld qword [ebp - 0xe0]
fstp qword [esp + 0x50]
mov esi, dword [ebp + 0x98]
mov dword [esp + 0x4c], esi
mov esi, dword [ebp + 0x98]
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], ebx
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x40], ebx
fld qword [ebp - 0xe0]
fstp qword [esp + 0x38]
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x34], ebx
mov ebx, dword [ebp + 0x98]
mov dword [esp + 0x30], ebx
mov ebx, dword [ebp + 0x20]
mov dword [esp + 0x2c], ebx
fld qword [ebp - 0xd0]
fstp qword [esp + 0x24]
fld qword [ebp - 0xc0]
fstp qword [esp + 0x1c]
mov ebx, dword [ebp + 0xac]
mov dword [esp + 0x18], ebx
fld qword [ebp - 0xe0]
fstp qword [esp + 0x10]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [ebp + 0x64]
mov dword [esp + 4], eax
mov dword [esp], ecx
call sym._seekDestination
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xb4]
test eax, eax
jne 0x522deb
jmp 0x52298d
nop
jmp 0x522c44
nop
mov eax, dword [ebp - 0x3c]
movzx edx, word [eax + 2]
movzx eax, byte [ebp - 0x3d]
movzx eax, al
cmp dx, ax
je 0x522c63
mov dword [ebp - 0x38], 0x11
jmp 0x5213b0
movzx eax, byte [ebp - 0x3d]
test al, al
jne 0x522c7d
cmp byte [ebp - 0x31], 0
jne 0x522c7d
mov dword [ebp - 0x38], 0x11
jmp 0x5213b0
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x100], eax
mov ebx, dword [ebp - 0x3c]
mov dword [ebp - 0x108], ebx
mov edi, dword [ebp - 0x48]
mov esi, dword [ebp + 0x58]
mov ebx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0xac]
fld qword [ebp - 0xf0]
fstp qword [esp + 0x98]
fld qword [ebp - 0xd0]
fstp qword [esp + 0x90]
mov eax, dword [ebp + 0x68]
mov dword [esp + 0x8c], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x88], eax
mov eax, dword [ebp + 0x94]
mov dword [esp + 0x84], eax
mov eax, dword [ebp + 0x9c]
mov dword [esp + 0x80], eax
mov eax, dword [ebp + 0x98]
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 0x48]
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x74], eax
fld qword [ebp - 0xe0]
fstp qword [esp + 0x6c]
mov dword [esp + 0x68], edx
mov eax, dword [ebp + 0x9c]
mov dword [esp + 0x64], eax
mov eax, dword [ebp - 0x100]
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0x9c]
mov dword [esp + 0x5c], eax
fld qword [ebp - 0xd8]
fstp qword [esp + 0x54]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x50], eax
mov eax, dword [ebp - 0x108]
mov dword [esp + 0x4c], eax
fld qword [ebp - 0xe8]
fstp qword [esp + 0x44]
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edi
fld qword [ebp - 0xd0]
fstp qword [esp + 0x34]
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], ebx
mov eax, dword [ebp + 0x68]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
fld qword [ebp - 0xf0]
fstp qword [esp + 0x1c]
mov eax, dword [ebp + 0x68]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x14], eax
fld qword [ebp - 0xd0]
fstp qword [esp + 0xc]
mov eax, dword [ebp + 0xc]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x20]
mov dword [esp], eax
call sym._putextended
mov eax, dword [ebp + 0x58]
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x5213a6
mov eax, dword [ebp + 0x58]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp + 0x58]
add eax, 0x10
adc edx, 0
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
movzx edx, word [edx + 0x30]
mov word [eax], dx
mov eax, dword [ebp + 0x58]
mov eax, dword [eax + 0x4c]
test eax, eax
jne 0x522e00
mov eax, dword [ebp + 0x58]
mov edx, dword [ebp - 0x3c]
mov dword [eax + 0x4c], edx
jmp 0x522e30
mov eax, dword [ebp + 0x58]
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0x20], eax
jmp 0x522e17
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x14c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x14c]
test eax, eax
jne 0x522e0b
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x14c], edx
mov eax, 0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret