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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xec
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xbc], ecx
mov edi, dword [ebp + 8]
mov dword [ebp - 0xa4], ecx
mov ecx, dword [eax]
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0x9c], eax
test ecx, ecx
je 0x557530
mov eax, dword [ecx]
call dword [eax + 0x10]
test eax, eax
je 0x557530
mov eax, dword [ebp + 0x10]
xor esi, esi
test eax, eax
je 0x557377
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax]
call dword [eax + 0x18]
mov esi, eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ebx, dword [eax + 0x80]
cmp ebx, 0x20a
jg 0x557540
cmp ebx, 0x209
jge 0x5598f1
cmp ebx, 0x203
je 0x559aa1
jle 0x557798
cmp ebx, 0x206
je 0x559760
lea esi, [esi]
jg 0x557aa1
cmp ebx, 0x204
je 0x558000
cmp ebx, 0x205
jne 0x557530
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ecx]
call dword [eax + 0xac]
mov esi, eax
mov eax, dword [eax]
mov ecx, esi
call dword [eax + 0x78]
mov dword [ebp - 0xc0], eax
call fcn.004cb890
mov dword [esp], 0xb8
mov ecx, eax
call fcn.004cba30
sub esp, 4
mov ecx, eax
mov dword [esp], 0xa8
mov ebx, eax
call fcn.005a9070
mov ecx, ebx
mov dword [ebp - 0x84], esi
mov eax, dword [ebx]
lea esi, [ebp - 0x84]
sub esp, 4
call dword [eax + 0xac]
mov dword [esp], esi
mov ecx, eax
call fcn.00632930
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc0]
mov ecx, dword [edx + 0x28]
fldz
sub esp, 4
fstp qword [esp]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
call fcn.00515130
mov ecx, ebx
mov dword [ebp - 0x84], eax
mov eax, dword [ebx]
sub esp, 0x14
call dword [eax + 0xac]
mov dword [esp], esi
mov ecx, eax
call fcn.00632930
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc0]
mov ecx, dword [edx + 0x28]
fld1
sub esp, 4
fstp qword [esp]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
call fcn.00515130
mov ecx, ebx
mov dword [ebp - 0x84], eax
mov eax, dword [ebx]
sub esp, 0x14
call dword [eax + 0xac]
mov dword [esp], esi
mov ecx, eax
call fcn.00632930
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 4]
sub esp, 4
mov dword [esp], edi
call eax
mov eax, dword [ebx]
mov esi, dword [eax + 0x6c]
mov eax, dword [ebp + 0xc]
sub esp, 4
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x70]
mov ecx, ebx
mov dword [esp], eax
call esi
mov eax, dword [ebx]
sub esp, 4
mov ecx, ebx
call dword [eax + 0x74]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x2c]
mov ecx, eax
call fcn.005a63e0
mov eax, dword [ebp + 0xc]
mov dword [eax], ebx
nop
lea esi, [esi]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
cmp ebx, 0x217
je 0x5583b0
jle 0x557890
cmp ebx, 0x219
je 0x558fe0
nop
jl 0x558ac0
cmp ebx, 0x21b
je 0x5588c0
cmp ebx, 0x21c
jne 0x557530
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xac]
mov ebx, dword [ebp - 0xbc]
mov dword [ebp - 0x94], 2
mov dword [ebp - 0x90], 1
mov dword [ebp - 0x8c], 0
mov ecx, dword [ebx + 0x28]
mov dword [esp + 4], edi
mov esi, eax
lea eax, [ebp - 0x98]
mov dword [esp], eax
mov dword [ebp - 0x98], 4
mov dword [ebp - 0x88], 3
call fcn.005a7d50
mov edx, dword [edi]
mov ecx, dword [ebx + 0x28]
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xc0], esi
sub esp, 8
mov dword [esp + 0xc], edx
mov edx, dword [edi + 4]
mov dword [esp + 0x10], edx
mov edx, dword [edi + 8]
mov dword [esp + 0x14], edx
mov edx, dword [edi + 0xc]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp], 0x85
mov dword [esp + 0x18], edx
call fcn.00513490
mov edx, dword [ebp - 0xc0]
mov ecx, edx
mov esi, eax
mov eax, dword [eax]
sub esp, 0x1c
mov ebx, dword [eax + 0x6c]
mov eax, dword [edx]
call dword [eax + 0x70]
mov ecx, esi
mov dword [esp], eax
call ebx
mov eax, dword [esi]
mov ecx, esi
sub esp, 4
call dword [eax + 0x74]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x2c]
mov ecx, eax
call fcn.005a63e0
mov ebx, dword [ebp - 0xbc]
mov ecx, dword [ebx + 0x28]
mov dword [esp + 0x10], 1
fld dword [0x6e8da0]
fstp qword [esp]
mov dword [esp + 0xc], edi
mov dword [esp + 8], 1
call fcn.00515130
mov ecx, ebx
mov dword [ebp - 0xbc], ebx
sub esp, 0x14
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x6a
mov dword [esp + 4], 0x6e6b68
mov dword [esp], edi
call fcn.00551860
mov edx, dword [ebp - 0xc0]
mov ecx, edx
mov ebx, eax
mov eax, dword [eax]
sub esp, 0x14
mov esi, dword [eax + 0x6c]
mov eax, dword [edx]
call dword [eax + 0x70]
mov ecx, ebx
mov dword [esp], eax
call esi
mov eax, dword [ebx]
mov ecx, ebx
lea esi, [ebp - 0x84]
sub esp, 4
call dword [eax + 0x74]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x2c]
mov ecx, eax
call fcn.005a63e0
mov ecx, esi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov dword [esp], 4
call fcn.00547440
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x28]
sub esp, 0x14
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], 0x13d
call fcn.00516130
mov ebx, dword [ebp + 0xc]
mov dword [ebx], eax
mov edx, dword [eax]
sub esp, 0xc
mov ecx, eax
mov edx, dword [edx + 4]
mov dword [esp], edi
call edx
mov eax, dword [ebp + 0xc]
mov ecx, esi
mov eax, dword [eax]
sub esp, 4
mov eax, dword [eax]
mov ebx, dword [eax + 0x6c]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov dword [esp], 4
call fcn.00547440
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
sub esp, 0x14
mov dword [esp], esi
call ebx
sub esp, 4
jmp 0x557530
cmp ebx, 0x201
je 0x559428
jg 0x5580e2
sub ebx, 0x134
cmp ebx, 1
ja 0x557530
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax]
call dword [eax + 0xc]
mov ebx, eax
mov eax, dword [eax]
mov ecx, ebx
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
cmp eax, 0xa
je 0x557530
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x9c]
mov ecx, ebx
mov esi, eax
mov eax, dword [ebx]
call dword [eax + 0x90]
mov ecx, ebx
mov dword [ebp - 0xc0], eax
mov eax, dword [ebx]
call dword [eax + 0x8c]
mov ecx, ebx
mov edi, eax
mov eax, dword [ebx]
call dword [eax + 0x88]
mov ecx, esi
movzx esi, cl
mov dword [esp + 0x10], esi
mov esi, dword [ebp - 0xc0]
lea edx, [ebp - 0x84]
mov ecx, edx
mov dword [esp + 8], edi
mov dword [esp], 0xa
mov dword [esp + 4], eax
mov dword [esp + 0xc], esi
mov dword [ebp - 0xc0], edx
call fcn.00547440
mov eax, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xc0]
mov ecx, dword [eax + 0x28]
sub esp, 0x14
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp], 0x143
call fcn.00516130
mov ebx, eax
mov eax, dword [ebp + 0xc]
sub esp, 0xc
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov ecx, eax
mov eax, dword [eax]
mov eax, dword [eax + 0xa8]
mov dword [esp], ebx
call eax
sub esp, 4
jmp 0x557530
cmp ebx, 0x211
jg 0x557df0
cmp ebx, 0x20d
jge 0x5598f1
cmp ebx, 0x20b
jne 0x557530
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xb0]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, esi
mov dword [ebp - 0xc0], eax
mov eax, dword [esi]
call dword [eax + 0xb0]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, esi
mov dword [ebp - 0xc4], eax
mov eax, dword [esi]
call dword [eax + 0xb0]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 8]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, esi
mov ebx, eax
mov eax, dword [esi]
call dword [eax + 0xb0]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx]
call dword [eax + 0x18]
test eax, eax
je 0x559ee2
xor edx, edx
cmp dword [eax + 0x80], 0x1b1
sete dl
sete byte [ebp - 0xd0]
mov ecx, dword [ebp - 0xbc]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x20b
mov dword [esp], edi
call fcn.00549780
sub esp, 0xc
mov dword [ebp - 0xcc], eax
call fcn.004cb890
mov dword [esp], 0xb8
mov ecx, eax
call fcn.004cba30
mov edx, dword [ebp - 0xcc]
sub esp, 4
mov ecx, eax
mov dword [esp], edx
mov esi, eax
call fcn.005a9070
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 4]
sub esp, 4
mov dword [esp], edi
call eax
mov eax, dword [esi]
mov ecx, ebx
mov eax, dword [eax + 0x6c]
sub esp, 4
mov dword [ebp - 0xcc], eax
mov eax, dword [ebx]
call dword [eax + 0x70]
mov ecx, esi
mov dword [esp], eax
call dword [ebp - 0xcc]
mov eax, dword [esi]
mov ecx, esi
sub esp, 4
call dword [eax + 0x74]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x2c]
mov ecx, eax
call fcn.005a63e0
mov eax, dword [ebp - 0xc0]
cmp byte [ebp - 0xd0], 0
je 0x559c10
mov dword [esp + 4], eax
lea ecx, [ebp - 0xa4]
mov dword [esp], esi
call fcn.005470a0
lea eax, [ebp - 0x84]
mov dword [ebp - 0xc0], eax
sub esp, 8
mov eax, dword [ebp - 0xc4]
mov ecx, esi
mov dword [ebp - 0x84], eax
mov eax, dword [esi]
call dword [eax + 0xac]
mov edx, dword [ebp - 0xc0]
mov dword [esp], edx
mov ecx, eax
call fcn.00632930
mov ecx, esi
mov dword [ebp - 0x84], ebx
mov eax, dword [esi]
sub esp, 4
call dword [eax + 0xac]
mov edx, dword [ebp - 0xc0]
mov dword [esp], edx
mov ecx, eax
call fcn.00632930
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x28]
mov eax, dword [edi]
sub esp, 4
mov dword [esp + 0xc], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 8], esi
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0xc8]
mov dword [esp + 4], eax
mov dword [esp], 0x19e
call fcn.0051bb10
mov ebx, dword [ebp + 0xc]
sub esp, 0x1c
mov dword [ebx], eax
jmp 0x557530
cmp ebx, 0x207
je 0x558070
cmp ebx, 0x208
jne 0x557530
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xb0]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, esi
mov dword [ebp - 0xc0], eax
mov eax, dword [esi]
call dword [eax + 0xb0]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov edx, dword [ebp - 0xbc]
mov ecx, dword [edx + 0x28]
mov dword [esp + 8], 1
mov dword [esp + 4], edi
mov esi, eax
mov dword [esp], 1
call fcn.005143a0
mov edx, dword [ebp - 0xbc]
mov ecx, dword [edx + 0x28]
sub esp, 0xc
mov ebx, eax
mov dword [esp + 8], 1
mov dword [esp + 4], edi
mov dword [esp], 2
call fcn.005143a0
mov edx, dword [ebp - 0xbc]
mov ecx, dword [edx + 0x28]
sub esp, 0xc
mov dword [esp + 8], 1
mov dword [esp + 4], edi
mov dword [esp], 3
mov dword [ebp - 0xd0], eax
call fcn.005143a0
mov edx, dword [ebp - 0xbc]
mov ecx, dword [edx + 0x28]
mov dword [ebp - 0xc4], eax
mov eax, dword [edi]
sub esp, 0xc
mov dword [esp + 0xc], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 8], ebx
mov dword [esp], 0x82
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0xc0]
mov dword [esp + 4], eax
call fcn.00513490
mov edx, dword [ebp - 0xbc]
mov ecx, dword [edx + 0x28]
mov dword [ebp - 0xc8], eax
mov eax, dword [edi]
sub esp, 0x1c
mov dword [esp + 0xc], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], 0x82
mov dword [esp + 0x18], eax
call fcn.00513490
mov ebx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebx + 0x28]
mov dword [ebp - 0xcc], eax
mov eax, dword [edi]
sub esp, 0x1c
mov dword [esp + 0xc], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 8], edx
mov edx, dword [ebp - 0xc0]
mov dword [esp], 0x82
mov dword [esp + 0x18], eax
mov dword [esp + 4], edx
call fcn.00513490
mov ecx, dword [ebx + 0x28]
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0xd0], eax
mov eax, dword [edi]
sub esp, 0x1c
mov dword [esp + 0xc], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov dword [esp], 0x82
mov dword [esp + 0x18], eax
call fcn.00513490
sub esp, 0x1c
mov dword [ebp - 0xc0], eax
call fcn.004cb890
mov dword [esp], 0xb8
mov ecx, eax
call fcn.004cba30
sub esp, 4
mov ecx, eax
mov dword [esp], 0x149
mov esi, eax
call fcn.005a9070
mov ecx, dword [ebx + 0x28]
mov dword [ebp - 0xbc], ebx
lea ebx, [ebp - 0x84]
fld1
sub esp, 4
fstp qword [esp]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], edi
mov dword [esp + 8], 1
call fcn.00515130
mov ecx, esi
mov dword [ebp - 0x84], eax
mov eax, dword [esi]
sub esp, 0x14
call dword [eax + 0xac]
mov dword [esp], ebx
mov ecx, eax
call fcn.00632930
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc8]
sub esp, 4
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0xbc]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x6a
mov dword [esp + 4], 0x6e6b68
mov dword [esp], edi
call fcn.00551860
mov ecx, esi
mov dword [ebp - 0x84], eax
mov eax, dword [esi]
sub esp, 0x14
call dword [eax + 0xac]
mov dword [esp], ebx
mov ecx, eax
call fcn.00632930
mov edx, dword [ebp - 0xd0]
mov ecx, esi
mov dword [ebp - 0x84], edx
mov eax, dword [esi]
sub esp, 4
call dword [eax + 0xac]
mov dword [esp], ebx
mov ecx, eax
call fcn.00632930
mov eax, dword [ebp - 0xc0]
mov ecx, esi
mov dword [ebp - 0x84], eax
mov eax, dword [esi]
sub esp, 4
call dword [eax + 0xac]
mov dword [esp], ebx
mov ecx, eax
call fcn.00632930
mov eax, dword [esi]
mov ecx, ebx
mov eax, dword [eax + 0x6c]
sub esp, 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov dword [esp], 1
mov dword [ebp - 0xbc], eax
call fcn.00547440
mov ecx, esi
sub esp, 0x14
mov dword [esp], ebx
call dword [ebp - 0xbc]
mov eax, dword [esi]
mov eax, dword [eax + 4]
sub esp, 4
mov dword [esp], edi
mov ecx, esi
call eax
mov eax, dword [ebp + 0xc]
mov dword [eax], esi
sub esp, 4
jmp 0x557530
cmp ebx, 0x216
jne 0x557530
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xb0]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, esi
mov dword [ebp - 0xc0], eax
mov eax, dword [esi]
call dword [eax + 0xb0]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ebx, dword [ebp - 0xbc]
mov ecx, dword [ebx + 0x28]
mov dword [esp + 4], edi
mov dword [esp + 8], 1
mov esi, eax
mov dword [esp], 0x1c
call fcn.005143a0
sub esp, 0xc
mov ebx, eax
mov dword [esp + 0xc], esi
mov esi, dword [ebp - 0xbc]
mov dword [esp], edi
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0x6e
mov ecx, esi
mov dword [esp + 4], 0x6e6b6c
call fcn.00551860
mov ecx, esi
sub esp, 0x14
mov dword [esp + 0x10], ebx
mov dword [esp], edi
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x6d
mov dword [esp + 4], 0x6e6b6f
call fcn.00551860
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0xbc], esi
lea esi, [ebp - 0x84]
fld dword [0x6e8d9c]
sub esp, 0x14
fstp qword [esp]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], 1
mov dword [esp + 8], 1
mov dword [ebp - 0xc4], eax
call fcn.00515130
mov ecx, esi
sub esp, 0x14
mov ebx, eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 2
mov dword [esp], 1
call fcn.00547440
mov edx, dword [ebp - 0xbc]
mov ecx, dword [edx + 0x28]
mov edx, dword [ebp - 0xc4]
sub esp, 0x14
mov dword [esp + 4], esi
mov dword [esp], 0x144
mov dword [esp + 8], edx
call fcn.00516130
mov ecx, dword [ebp - 0xbc]
sub esp, 0xc
mov dword [esp + 0x10], ebx
mov dword [esp], edi
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x6a
mov dword [esp + 4], 0x6e6b68
call fcn.00551860
sub esp, 0x14
mov dword [ebp - 0xbc], eax
call fcn.004cb890
mov dword [esp], 0xb8
mov ecx, eax
call fcn.004cba30
sub esp, 4
mov ecx, eax
mov dword [esp], 0xed
mov ebx, eax
call fcn.005a9070
mov eax, dword [ebp - 0xc0]
mov ecx, ebx
mov dword [ebp - 0x84], eax
mov eax, dword [ebx]
sub esp, 4
call dword [eax + 0xac]
mov dword [esp], esi
mov ecx, eax
call fcn.00632930
mov edx, dword [ebp - 0xbc]
mov ecx, ebx
mov dword [ebp - 0x84], edx
mov eax, dword [ebx]
sub esp, 4
call dword [eax + 0xac]
mov dword [esp], esi
mov ecx, eax
call fcn.00632930
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 4]
sub esp, 4
mov dword [esp], edi
call eax
mov eax, dword [ebx]
mov ecx, dword [ebp - 0xc0]
mov edi, dword [eax + 0x6c]
mov eax, dword [ecx]
sub esp, 4
call dword [eax + 0x70]
mov ecx, ebx
mov dword [esp], eax
call edi
jmp 0x55750e
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ecx]
call dword [eax + 0xac]
mov ebx, eax
mov eax, dword [eax]
mov ecx, ebx
call dword [eax + 0x78]
mov esi, dword [ebp - 0xbc]
mov ecx, dword [esi + 0x28]
mov dword [esp + 0x10], 1
fld1
mov dword [esp + 0xc], edi
fstp qword [esp]
mov dword [esp + 8], eax
call fcn.00515130
sub esp, 0x14
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x6b
mov dword [esp + 4], 0x6e6b52
mov dword [esp], edi
mov ecx, esi
call fcn.00551860
mov ebx, dword [ebp + 0xc]
sub esp, 0x14
mov dword [ebx], eax
jmp 0x557530
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xb0]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, esi
mov ebx, eax
mov eax, dword [esi]
call dword [eax + 0xb0]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, ebx
mov esi, eax
mov eax, dword [ebx]
call dword [eax + 0x9c]
test al, al
jne 0x559df4
mov ecx, dword [ebp - 0xbc]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
mov dword [esp + 8], 0x6a
mov dword [esp + 4], 0x6e6b68
mov dword [esp], edi
call fcn.00551860
mov ebx, dword [ebp + 0xc]
sub esp, 0x14
mov dword [ebx], eax
jmp 0x557530
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xac]
mov ebx, eax
mov eax, dword [eax]
mov ecx, ebx
call dword [eax + 0x70]
mov ecx, dword [ebp - 0xbc]
mov dword [esp], str._finitetmp
mov dword [esp + 4], eax
call fcn.0054d620
mov esi, eax
mov eax, dword [eax]
sub esp, 8
mov ecx, esi
call dword [eax + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x2c]
mov ecx, eax
call fcn.005a63e0
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x28]
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.0051b2b0
mov edx, dword [ebp - 0xbc]
mov ecx, dword [edx + 0x28]
mov edx, dword [edi]
sub esp, 8
mov dword [esp + 0xc], edx
mov edx, dword [edi + 4]
mov dword [esp + 0x10], edx
mov edx, dword [edi + 8]
mov dword [esp + 0x14], edx
mov edx, dword [edi + 0xc]
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], 0x19e
mov dword [esp + 0x18], edx
call fcn.0051bb10
mov edx, dword [ebp - 0xbc]
mov ecx, dword [edx + 0x28]
sub esp, 0x1c
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0051a1d0
mov ecx, ebx
mov dword [ebp - 0xc0], eax
mov eax, dword [ebx]
sub esp, 8
call dword [eax + 0x90]
mov ecx, ebx
mov dword [ebp - 0xc8], eax
mov eax, dword [ebx]
call dword [eax + 0x8c]
mov ecx, ebx
mov dword [ebp - 0xc4], eax
mov eax, dword [ebx]
lea ebx, [ebp - 0x84]
call dword [eax + 0x88]
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xc4]
mov dword [esp + 0x10], 0
mov dword [esp], 0xa
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov ecx, ebx
mov dword [esp + 4], eax
call fcn.00547440
mov edx, dword [ebp - 0xbc]
mov ecx, dword [edx + 0x28]
sub esp, 0x14
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.0051b2b0
mov ecx, dword [ebp - 0xbc]
sub esp, 8
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0xac
mov dword [esp + 4], str.isnan
mov dword [esp], edi
call fcn.00551940
mov edx, eax
mov eax, dword [eax]
sub esp, 0x10
mov ecx, edx
mov dword [ebp - 0xc4], edx
mov eax, dword [eax + 0x6c]
mov dword [esp], ebx
call eax
mov edx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xbc]
sub esp, 4
mov dword [esp + 0xc], edx
mov dword [esp + 8], 7
mov dword [esp + 4], 0x6e6bb4
mov dword [esp], edi
call fcn.00551940
mov edx, eax
mov eax, dword [eax]
sub esp, 0x10
mov ecx, edx
mov dword [ebp - 0xc4], edx
mov eax, dword [eax + 0x6c]
mov dword [esp], ebx
call eax
mov edx, dword [ebp - 0xbc]
mov ecx, dword [edx + 0x28]
sub esp, 4
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.0051b2b0
mov ecx, dword [ebp - 0xbc]
sub esp, 8
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0xad
mov dword [esp + 4], str.isinf
mov dword [esp], edi
call fcn.00551940
mov esi, eax
mov eax, dword [eax]
sub esp, 0x10
mov ecx, esi
mov eax, dword [eax + 0x6c]
mov dword [esp], ebx
call eax
mov ecx, dword [ebp - 0xbc]
sub esp, 4
mov dword [esp + 0xc], esi
mov dword [esp + 8], 7
mov dword [esp + 4], 0x6e6bb4
mov dword [esp], edi
call fcn.00551940
mov esi, eax
mov eax, dword [eax]
sub esp, 0x10
mov ecx, esi
mov eax, dword [eax + 0x6c]
mov dword [esp], ebx
call eax
mov edx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xbc]
sub esp, 4
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
mov dword [esp + 8], 0x81
mov dword [esp + 4], 0x6e6bbc
mov dword [esp], edi
call fcn.00551860
mov esi, eax
mov eax, dword [eax]
sub esp, 0x14
mov ecx, esi
mov eax, dword [eax + 0x6c]
mov dword [esp], ebx
call eax
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc0]
mov ecx, dword [edx + 0x28]
sub esp, 4
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.0051a6f0
mov esi, eax
mov eax, dword [eax]
sub esp, 8
mov ecx, esi
mov eax, dword [eax + 0xa8]
mov dword [esp], 1
call eax
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 4]
sub esp, 4
mov dword [esp], edi
call eax
mov eax, dword [esi]
mov eax, dword [eax + 0x6c]
sub esp, 4
mov dword [esp], ebx
jmp 0x557dda
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xac]
mov ebx, eax
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xbc]
fldz
mov ecx, dword [eax + 0x28]
fstp qword [esp]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], edi
mov dword [esp + 8], 1
call fcn.00515130
mov ecx, ebx
mov dword [ebp - 0xcc], eax
mov eax, dword [ebx]
sub esp, 0x14
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x34]
mov dword [ebp - 0xc8], eax
sub eax, 2
cmp eax, 2
ja 0x559c40
mov ebx, dword [eax*4 + 0x6e8258]
call fcn.004cb890
mov dword [esp], 0xb8
mov ecx, eax
call fcn.004cba30
sub esp, 4
mov ecx, eax
mov dword [esp], ebx
mov esi, eax
mov dword [ebp - 0xd0], eax
call fcn.005a9070
sub esp, 4
test esi, esi
je 0x5584b5
mov eax, dword [esi]
mov edx, dword [ebp - 0xc8]
mov ebx, dword [eax + 0x6c]
lea eax, [ebp - 0x84]
mov dword [esp + 4], edx
mov ecx, eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], 5
mov dword [ebp - 0xc0], eax
call fcn.00547440
mov eax, dword [ebp - 0xc0]
mov ecx, esi
sub esp, 0x14
mov dword [esp], eax
call ebx
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 4]
sub esp, 4
mov dword [esp], edi
call eax
sub esp, 4
mov edx, dword [ebp - 0xc8]
test edx, edx
jle 0x557530
lea eax, [ebp - 0x84]
mov ebx, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], eax
mov dword [ebp + 8], edi
jmp 0x558521
mov dword [ebp - 0x84], esi
mov esi, eax
mov eax, dword [eax]
mov ecx, esi
call dword [eax + 0xac]
mov dword [esp], edi
mov ecx, eax
call fcn.00632930
mov edx, dword [ebp + 0xc]
mov dword [edx], esi
sub esp, 4
add dword [ebp - 0xc4], 1
mov eax, dword [ebp - 0xc8]
cmp dword [ebp - 0xc4], eax
je 0x557530
mov eax, dword [ebp - 0xbc]
mov esi, ebx
mov ecx, dword [eax + 0x28]
mov eax, dword [ebp + 8]
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc4]
mov dword [esp], eax
call fcn.005143a0
mov ecx, ebx
mov edi, eax
mov eax, dword [ebx]
sub esp, 0xc
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x64]
test al, al
jne 0x558934
call fcn.004cb890
mov dword [esp], 0xb8
mov ecx, eax
call fcn.004cba30
sub esp, 4
mov ecx, eax
mov dword [esp], 0x147
mov edi, eax
call fcn.005a9070
mov ecx, edi
mov dword [ebp - 0x84], esi
mov eax, dword [edi]
sub esp, 4
call dword [eax + 0xac]
mov esi, dword [ebp - 0xc0]
mov dword [esp], esi
mov ecx, eax
call fcn.00632930
mov eax, dword [ebp - 0xcc]
mov ecx, edi
mov dword [ebp - 0x84], eax
mov eax, dword [edi]
sub esp, 4
call dword [eax + 0xac]
mov dword [esp], esi
mov ecx, eax
call fcn.00632930
mov eax, dword [edi]
mov edx, dword [eax + 0x6c]
movzx eax, byte [ebp - 0x20]
and byte [ebp - 0x74], 0xc0
sub esp, 4
and byte [ebp - 0x7e], 0xf0
and byte [ebp - 0x7c], 0xfe
and eax, 0xfffffff8
or eax, 4
and byte [ebp - 0x24], 0x80
or byte [ebp - 0x1c], 0xf
and word [ebp - 0x72], 0xfe3f
and word [ebp - 0x74], 0xc03f
and byte [ebp - 0x6f], 0x80
and byte [ebp - 0x6c], 0x80
mov byte [ebp - 0x20], al
mov dword [ebp - 0x84], 0x6f2308
mov byte [ebp - 0x80], 1
mov byte [ebp - 0x7f], 2
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov byte [ebp - 0x28], 0
mov byte [ebp - 0x27], 0
mov dword [ebp - 0x78], 0
mov byte [ebp - 0x70], 0
mov dword [ebp - 0x68], 0xffffffff
movzx eax, word [ebp - 0x5a]
movzx ecx, word [ebp - 0x46]
or byte [ebp - 0x50], 0x7f
or dword [ebp - 0x58], 0x7fff8000
and ax, 0xf80f
or ax, 0x3f0
or cx, 0x1fe0
mov word [ebp - 0x5a], ax
movzx eax, byte [ebp - 0x5c]
mov word [ebp - 0x46], cx
or word [ebp - 0x60], 0xfff
and eax, 0xfffffff8
or eax, 4
mov byte [ebp - 0x5c], al
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x64], 0xffffffff
mov byte [ebp - 0x3f], 0
mov byte [ebp - 0x3e], 0
or eax, 0x7f8000
mov dword [ebp - 0x54], eax
shr eax, 0x18
or eax, 0xffffff80
or word [ebp - 0x50], 0x780
shr cx, 8
or ecx, 0xffffffe0
mov byte [ebp - 0x51], al
or dword [ebp - 0x4c], 0x1ff80
or word [ebp - 0x48], 0x1ff8
and byte [ebp - 0x41], 0x1f
and byte [ebp - 0x40], 0xe0
and dword [ebp - 0x74], 0xffc03fff
mov byte [ebp - 0x45], cl
mov ecx, edi
mov byte [ebp - 0x3d], 0
mov dword [ebp - 0x3c], 0xfffff800
mov byte [ebp - 0x44], 0xff
mov dword [ebp - 0xc0], esi
mov dword [esp], esi
call edx
mov eax, dword [edi]
mov ecx, edi
mov esi, dword [ebp + 8]
mov eax, dword [eax + 4]
sub esp, 4
mov dword [esp], esi
call eax
sub esp, 4
call fcn.004cb890
mov dword [esp], 0x8c
mov ecx, eax
call fcn.004cba30
sub esp, 4
mov ecx, eax
mov dword [esp], 1
mov esi, eax
call fcn.005a69b0
mov ecx, esi
mov dword [esi + 0x80], 0xc5
mov dword [esi + 0x84], 0
mov dword [esi], 0x6f12a8
mov dword [esi + 0x88], 0
sub esp, 4
mov dword [esp], edi
call dword [0x6f1350]
mov eax, dword [esi]
mov ecx, esi
mov edi, dword [ebp + 8]
mov eax, dword [eax + 4]
sub esp, 4
mov dword [esp], edi
call eax
mov eax, dword [esi]
mov edx, dword [eax + 0x6c]
movzx eax, byte [ebp - 0x20]
and byte [ebp - 0x74], 0xc0
sub esp, 4
and byte [ebp - 0x7e], 0xf0
and byte [ebp - 0x7c], 0xfe
and eax, 0xfffffff8
or eax, 4
and byte [ebp - 0x24], 0x80
or byte [ebp - 0x1c], 0xf
and word [ebp - 0x72], 0xfe3f
and word [ebp - 0x74], 0xc03f
and byte [ebp - 0x6f], 0x80
and byte [ebp - 0x6c], 0x80
mov byte [ebp - 0x20], al
mov dword [ebp - 0x84], 0x6f2308
mov byte [ebp - 0x80], 5
mov byte [ebp - 0x7f], 1
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov byte [ebp - 0x28], 0
mov byte [ebp - 0x27], 0
mov dword [ebp - 0x78], 0
mov byte [ebp - 0x70], 0
mov dword [ebp - 0x68], 0xffffffff
movzx eax, word [ebp - 0x5a]
movzx ecx, word [ebp - 0x46]
mov edi, dword [ebp - 0xc0]
mov dword [ebp - 0x64], 0xffffffff
and ax, 0xf80f
or ax, 0x3f0
or cx, 0x1fe0
mov word [ebp - 0x5a], ax
movzx eax, byte [ebp - 0x5c]
mov word [ebp - 0x46], cx
shr cx, 8
or byte [ebp - 0x50], 0x7f
or ecx, 0xffffffe0
or dword [ebp - 0x58], 0x7fff8000
and eax, 0xfffffff8
or eax, 4
mov byte [ebp - 0x5c], al
mov eax, dword [ebp - 0x54]
or word [ebp - 0x60], 0xfff
or word [ebp - 0x50], 0x780
or dword [ebp - 0x4c], 0x1ff80
or eax, 0x7f8000
mov dword [ebp - 0x54], eax
shr eax, 0x18
or eax, 0xffffff80
mov byte [ebp - 0x51], al
or word [ebp - 0x48], 0x1ff8
and byte [ebp - 0x41], 0x1f
and byte [ebp - 0x40], 0xe0
and dword [ebp - 0x74], 0xffc03fff
mov byte [ebp - 0x45], cl
mov ecx, esi
mov byte [ebp - 0x3f], 0
mov byte [ebp - 0x3e], 0
mov byte [ebp - 0x3d], 0
mov dword [ebp - 0x3c], 0xfffff800
mov byte [ebp - 0x44], 0xff
mov dword [esp], edi
call edx
mov eax, dword [ebp - 0xd0]
sub esp, 4
test eax, eax
jne 0x5584e4
mov eax, dword [ebp + 0xc]
mov dword [eax], esi
jmp 0x558508
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xb0]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, esi
mov ebx, eax
mov eax, dword [esi]
call dword [eax + 0xb0]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, ebx
mov esi, eax
mov eax, dword [ebx]
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x64]
test al, al
je 0x559c60
mov ebx, dword [ebp - 0xbc]
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
mov dword [esp + 0x10], 0x6e4908
mov dword [esp + 0xc], str.asdouble
mov dword [esp + 8], str.double2_conversion_not_implemented
mov dword [esp + 4], edi
mov dword [esp], ebx
call eax
jmp 0x557530
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x28]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], 0x82
mov dword [esp + 0x18], eax
call fcn.00513490
sub esp, 0x1c
cmp ebx, eax
mov esi, eax
je 0x558564
mov eax, dword [eax]
mov ecx, ebx
mov edi, dword [eax + 0x6c]
mov eax, dword [ebx]
call dword [eax + 0x78]
mov ecx, esi
and byte [ebp - 0x74], 0xc0
and byte [ebp - 0x7e], 0xf0
and byte [ebp - 0x7c], 0xfe
and byte [ebp - 0x24], 0x80
or byte [ebp - 0x1c], 0xf
and word [ebp - 0x72], 0xfe3f
and word [ebp - 0x74], 0xc03f
and byte [ebp - 0x6f], 0x80
and byte [ebp - 0x6c], 0x80
mov byte [ebp - 0x80], al
movzx eax, byte [ebp - 0x20]
mov dword [ebp - 0x84], 0x6f2308
mov byte [ebp - 0x7f], 1
mov dword [ebp - 0x38], 0
and eax, 0xfffffff8
or eax, 4
mov byte [ebp - 0x20], al
movzx eax, word [ebp - 0x5a]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
and ax, 0xf80f
or ax, 0x3f0
mov byte [ebp - 0x28], 0
mov byte [ebp - 0x27], 0
mov dword [ebp - 0x78], 0
mov byte [ebp - 0x70], 0
mov dword [ebp - 0x68], 0xffffffff
mov dword [ebp - 0x64], 0xffffffff
mov word [ebp - 0x5a], ax
movzx eax, byte [ebp - 0x5c]
movzx edx, word [ebp - 0x46]
or byte [ebp - 0x50], 0x7f
or dword [ebp - 0x58], 0x7fff8000
and eax, 0xfffffff8
or eax, 4
or dx, 0x1fe0
mov byte [ebp - 0x5c], al
mov eax, dword [ebp - 0x54]
mov word [ebp - 0x46], dx
shr dx, 8
or edx, 0xffffffe0
or word [ebp - 0x60], 0xfff
or eax, 0x7f8000
mov dword [ebp - 0x54], eax
shr eax, 0x18
or eax, 0xffffff80
mov byte [ebp - 0x51], al
mov eax, dword [ebp - 0xc0]
or word [ebp - 0x50], 0x780
or dword [ebp - 0x4c], 0x1ff80
or word [ebp - 0x48], 0x1ff8
and byte [ebp - 0x41], 0x1f
and byte [ebp - 0x40], 0xe0
and dword [ebp - 0x74], 0xffc03fff
mov byte [ebp - 0x3f], 0
mov byte [ebp - 0x3e], 0
mov byte [ebp - 0x3d], 0
mov dword [ebp - 0x3c], 0xfffff800
mov byte [ebp - 0x45], dl
mov byte [ebp - 0x44], 0xff
mov dword [esp], eax
call edi
sub esp, 4
jmp 0x558564
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xac]
mov ebx, eax
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x28]
mov dword [esp + 8], 1
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.005143a0
mov ecx, ebx
mov dword [ebp - 0xd0], eax
mov eax, dword [ebx]
sub esp, 0xc
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x34]
mov dword [ebp - 0xc8], eax
sub eax, 2
cmp eax, 2
ja 0x559bf0
mov esi, dword [eax*4 + 0x6e8264]
call fcn.004cb890
mov dword [esp], 0xb8
mov ecx, eax
call fcn.004cba30
sub esp, 4
mov ecx, eax
mov dword [esp], esi
mov esi, eax
mov dword [ebp - 0xcc], eax
call fcn.005a9070
sub esp, 4
test esi, esi
je 0x558bc3
mov eax, dword [esi]
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], esi
lea esi, [ebp - 0x84]
mov edx, dword [eax + 0x6c]
mov dword [esp + 4], ecx
mov ecx, esi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], 1
mov dword [ebp - 0xc0], edx
call fcn.00547440
sub esp, 0x14
mov dword [esp], esi
mov esi, dword [ebp - 0xcc]
mov ecx, esi
call dword [ebp - 0xc0]
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 4]
sub esp, 4
mov dword [esp], edi
call eax
sub esp, 4
mov ecx, dword [ebp - 0xc8]
test ecx, ecx
jle 0x557530
mov dword [ebp - 0xc0], ebx
mov ebx, edi
mov dword [ebp - 0xc4], 0
jmp 0x558c26
mov dword [ebp - 0x84], eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xac]
lea edx, [ebp - 0x84]
mov dword [esp], edx
mov ecx, eax
call fcn.00632930
mov edx, dword [ebp + 0xc]
mov dword [edx], esi
sub esp, 4
add dword [ebp - 0xc4], 1
mov eax, dword [ebp - 0xc8]
cmp dword [ebp - 0xc4], eax
je 0x557530
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x28]
mov eax, dword [ebp - 0xc4]
mov dword [esp + 8], 1
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.005143a0
mov edx, dword [ebp - 0xc0]
mov ecx, edx
mov edi, eax
mov eax, dword [edx]
sub esp, 0xc
call dword [eax + 0x70]
mov esi, dword [eax]
mov ecx, eax
call dword [esi + 0x64]
mov esi, dword [ebp - 0xc0]
test al, al
jne 0x558e60
call fcn.004cb890
mov dword [esp], 0x8c
mov ecx, eax
call fcn.004cba30
mov edi, eax
sub esp, 4
and byte [eax + 0x1a], 0xf0
and byte [eax + 0x1c], 0xfe
and byte [eax + 0x74], 0x80
or byte [eax + 0x7c], 0xf
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0x6f2308
mov dword [eax + 0x60], 0
mov dword [eax + 0x64], 0
mov dword [eax + 0x68], 0
mov dword [eax + 0x6c], 0
mov byte [eax + 0x70], 0
mov byte [eax + 0x71], 0
movzx eax, byte [eax + 0x78]
and byte [edi + 0x24], 0xc0
and word [edi + 0x26], 0xfe3f
and word [edi + 0x24], 0xc03f
and eax, 0xfffffff8
or eax, 4
mov byte [edi + 0x78], al
and byte [edi + 0x29], 0x80
and byte [edi + 0x2c], 0x80
mov dword [edi + 0x20], 0
mov byte [edi + 0x28], 0
mov dword [edi + 0x30], 0xffffffff
movzx eax, word [edi + 0x3e]
movzx ecx, word [edi + 0x52]
or byte [edi + 0x48], 0x7f
or dword [edi + 0x40], 0x7fff8000
and ax, 0xf80f
or ax, 0x3f0
or cx, 0x1fe0
mov word [edi + 0x3e], ax
movzx eax, byte [edi + 0x3c]
mov word [edi + 0x52], cx
shr cx, 8
or ecx, 0xffffffe0
or word [edi + 0x38], 0xfff
and eax, 0xfffffff8
or eax, 4
mov byte [edi + 0x3c], al
mov eax, dword [edi + 0x44]
or word [edi + 0x48], 0x780
or dword [edi + 0x4c], 0x1ff80
or word [edi + 0x50], 0x1ff8
or eax, 0x7f8000
mov dword [edi + 0x44], eax
shr eax, 0x18
or eax, 0xffffff80
mov byte [edi + 0x47], al
mov byte [edi + 0x53], cl
mov ecx, edi
and byte [edi + 0x57], 0x1f
and byte [edi + 0x58], 0xe0
and dword [edi + 0x24], 0xffc03fff
mov dword [edi + 0x34], 0xffffffff
mov dword [edi + 0x5c], 0xfffff800
mov byte [edi + 0x54], 0xff
mov byte [edi + 0x18], 1
mov dword [edi + 0x80], 0xc6
mov dword [edi + 0x84], 0
mov dword [edi], 0x6f12a8
mov dword [edi + 0x88], 0
mov byte [edi + 0x59], 0
mov byte [edi + 0x5a], 0
mov byte [edi + 0x5b], 0
mov byte [edi + 0x19], 2
call dword [0x6f12c4]
mov ecx, eax
mov eax, dword [eax]
mov eax, dword [eax + 0xa8]
mov dword [esp], esi
call eax
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 4]
sub esp, 4
mov dword [esp], ebx
call eax
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x28]
mov eax, dword [ebx]
sub esp, 4
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 4], edi
mov dword [esp], 0x82
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0xd0]
mov dword [esp + 8], eax
call fcn.00513490
mov esi, dword [ebp - 0xcc]
sub esp, 0x1c
test esi, esi
jne 0x558be5
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
jmp 0x558c0d
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x28]
mov eax, dword [ebx]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 8], edi
mov edi, esi
mov dword [esp + 4], esi
mov dword [esp], 0x82
mov dword [esp + 0x18], eax
call fcn.00513490
mov ecx, edi
sub esp, 0x1c
cmp edi, eax
mov esi, eax
je 0x558c70
mov eax, dword [eax]
mov edi, dword [eax + 0x6c]
mov eax, dword [ecx]
call dword [eax + 0x78]
and byte [ebp - 0x74], 0xc0
and byte [ebp - 0x7e], 0xf0
and byte [ebp - 0x7c], 0xfe
and byte [ebp - 0x24], 0x80
or byte [ebp - 0x1c], 0xf
and word [ebp - 0x72], 0xfe3f
and word [ebp - 0x74], 0xc03f
and byte [ebp - 0x6f], 0x80
and byte [ebp - 0x6c], 0x80
mov byte [ebp - 0x80], al
movzx eax, byte [ebp - 0x20]
mov dword [ebp - 0x84], 0x6f2308
mov byte [ebp - 0x7f], 1
mov dword [ebp - 0x38], 0
and eax, 0xfffffff8
or eax, 4
mov byte [ebp - 0x20], al
movzx eax, word [ebp - 0x5a]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
and ax, 0xf80f
or ax, 0x3f0
mov byte [ebp - 0x28], 0
mov byte [ebp - 0x27], 0
mov dword [ebp - 0x78], 0
mov byte [ebp - 0x70], 0
mov dword [ebp - 0x68], 0xffffffff
mov dword [ebp - 0x64], 0xffffffff
mov word [ebp - 0x5a], ax
movzx eax, byte [ebp - 0x5c]
movzx ecx, word [ebp - 0x46]
or byte [ebp - 0x50], 0x7f
or dword [ebp - 0x58], 0x7fff8000
and eax, 0xfffffff8
or eax, 4
or cx, 0x1fe0
mov byte [ebp - 0x5c], al
mov eax, dword [ebp - 0x54]
mov word [ebp - 0x46], cx
shr cx, 8
or ecx, 0xffffffe0
or word [ebp - 0x60], 0xfff
or eax, 0x7f8000
mov dword [ebp - 0x54], eax
shr eax, 0x18
or eax, 0xffffff80
mov byte [ebp - 0x51], al
lea eax, [ebp - 0x84]
or word [ebp - 0x50], 0x780
or dword [ebp - 0x4c], 0x1ff80
or word [ebp - 0x48], 0x1ff8
and byte [ebp - 0x41], 0x1f
and byte [ebp - 0x40], 0xe0
and dword [ebp - 0x74], 0xffc03fff
mov byte [ebp - 0x45], cl
mov ecx, esi
mov byte [ebp - 0x3f], 0
mov byte [ebp - 0x3e], 0
mov byte [ebp - 0x3d], 0
mov dword [ebp - 0x3c], 0xfffff800
mov byte [ebp - 0x44], 0xff
mov dword [esp], eax
call edi
sub esp, 4
jmp 0x558c70
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xb0]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, esi
mov dword [ebp - 0xc4], eax
mov eax, dword [esi]
call dword [eax + 0xb0]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, esi
mov dword [ebp - 0xc8], eax
mov eax, dword [esi]
call dword [eax + 0xb0]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 8]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov dword [ebp - 0xd4], eax
call fcn.004cb890
mov dword [esp], 0xb8
mov ecx, eax
call fcn.004cba30
sub esp, 4
mov ecx, eax
mov dword [esp], 0x149
mov ebx, eax
call fcn.005a9070
mov esi, dword [ebp - 0xbc]
mov ecx, dword [esi + 0x28]
sub esp, 4
fld1
fst qword [esp]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], edi
fstp dword [ebp - 0xd0]
mov dword [esp + 8], 1
call fcn.00515130
mov ecx, ebx
mov dword [ebp - 0x84], eax
mov eax, dword [ebx]
sub esp, 0x14
call dword [eax + 0xac]
lea edx, [ebp - 0x84]
mov dword [esp], edx
mov ecx, eax
call fcn.00632930
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0xbc], esi
fldz
sub esp, 4
fstp qword [esp]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], edi
mov dword [esp + 8], 1
call fcn.00515130
sub esp, 0x14
mov dword [ebp - 0xc0], eax
call fcn.004cb890
mov dword [esp], 0xb8
mov ecx, eax
call fcn.004cba30
sub esp, 4
mov ecx, eax
mov dword [esp], 0xa7
mov esi, eax
call fcn.005a9070
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0x84], ecx
mov eax, dword [esi]
mov ecx, esi
sub esp, 4
call dword [eax + 0xac]
lea edx, [ebp - 0x84]
mov dword [esp], edx
mov ecx, eax
call fcn.00632930
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x84], ecx
mov eax, dword [esi]
mov ecx, esi
sub esp, 4
call dword [eax + 0xac]
lea edx, [ebp - 0x84]
mov dword [esp], edx
mov ecx, eax
call fcn.00632930
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 4]
sub esp, 4
mov dword [esp], edi
call eax
mov eax, dword [esi]
mov edx, dword [eax + 0x6c]
lea eax, [ebp - 0x84]
mov ecx, eax
sub esp, 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 1
mov dword [ebp - 0xcc], edx
call fcn.00547440
lea eax, [ebp - 0x84]
mov ecx, esi
sub esp, 0x14
mov dword [esp], eax
call dword [ebp - 0xcc]
mov ecx, ebx
mov dword [ebp - 0x84], esi
mov eax, dword [ebx]
lea esi, [ebp - 0x84]
sub esp, 4
call dword [eax + 0xac]
mov dword [esp], esi
mov ecx, eax
call fcn.00632930
sub esp, 4
call fcn.004cb890
mov dword [esp], 0xb8
mov ecx, eax
call fcn.004cba30
sub esp, 4
mov ecx, eax
mov dword [esp], 0xa6
mov esi, eax
call fcn.005a9070
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0x84], ecx
mov eax, dword [esi]
mov ecx, esi
sub esp, 4
call dword [eax + 0xac]
lea ecx, [ebp - 0x84]
mov dword [esp], ecx
mov ecx, eax
call fcn.00632930
mov eax, dword [ebp - 0xc8]
mov ecx, esi
mov dword [ebp - 0x84], eax
mov eax, dword [esi]
sub esp, 4
call dword [eax + 0xac]
lea ecx, [ebp - 0x84]
mov dword [esp], ecx
mov ecx, eax
call fcn.00632930
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 4]
sub esp, 4
mov dword [esp], edi
call eax
mov eax, dword [esi]
mov ecx, dword [eax + 0x6c]
sub esp, 4
mov dword [esp + 0x10], 0
mov dword [ebp - 0xc4], ecx
lea ecx, [ebp - 0x84]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 1
call fcn.00547440
lea edx, [ebp - 0x84]
mov ecx, esi
sub esp, 0x14
mov dword [esp], edx
call dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc0]
sub esp, 4
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0xbc]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x76
mov dword [esp + 4], 0x6e6b72
mov dword [esp], edi
call fcn.00551860
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xbc]
mov esi, eax
mov eax, dword [ebp - 0xc8]
sub esp, 0x14
mov dword [esp + 0x10], edx
mov dword [esp + 8], 0x6a
mov dword [esp + 4], 0x6e6b68
mov dword [esp + 0xc], eax
mov dword [esp], edi
call fcn.00551860
mov edx, dword [ebp - 0xbc]
mov ecx, dword [edx + 0x28]
sub esp, 0x14
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xc0]
mov dword [esp], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edi
mov dword [esp + 4], eax
call fcn.0051be10
mov ecx, ebx
mov dword [ebp - 0x84], eax
mov eax, dword [ebx]
sub esp, 0x14
call dword [eax + 0xac]
lea ecx, [ebp - 0x84]
mov dword [esp], ecx
mov ecx, eax
call fcn.00632930
mov edx, dword [ebp - 0xbc]
mov ecx, dword [edx + 0x28]
sub esp, 4
fld dword [ebp - 0xd0]
fstp qword [esp]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], edi
mov dword [esp + 8], 1
call fcn.00515130
mov ecx, ebx
mov dword [ebp - 0x84], eax
mov eax, dword [ebx]
sub esp, 0x14
call dword [eax + 0xac]
lea edx, [ebp - 0x84]
mov dword [esp], edx
mov ecx, eax
call fcn.00632930
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 4]
sub esp, 4
mov dword [esp], edi
call eax
mov eax, dword [ebx]
lea ecx, [ebp - 0x84]
mov esi, dword [eax + 0x6c]
sub esp, 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00547440
lea eax, [ebp - 0x84]
sub esp, 0x14
mov dword [esp], eax
mov ecx, ebx
call esi
mov eax, dword [ebp + 0xc]
mov dword [eax], ebx
sub esp, 4
jmp 0x557530
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ecx]
call dword [eax + 0xac]
mov esi, eax
mov eax, dword [eax]
mov ecx, esi
call dword [eax + 0x78]
mov ecx, esi
mov ebx, eax
mov eax, dword [esi]
call dword [eax + 0xa0]
test al, al
jne 0x559b90
call fcn.004cb890
mov dword [esp], 0xb8
mov ecx, eax
call fcn.004cba30
sub esp, 4
mov ecx, eax
mov dword [esp], 0x76
mov ebx, eax
mov dword [ebp - 0xc4], eax
call fcn.005a9070
mov ecx, ebx
mov dword [ebp - 0x84], esi
mov eax, dword [ebx]
sub esp, 4
call dword [eax + 0xac]
lea edx, [ebp - 0x84]
mov dword [esp], edx
mov dword [ebp - 0xc0], edx
mov ecx, eax
call fcn.00632930
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 4]
sub esp, 4
mov dword [esp], edi
call eax
mov eax, dword [ebx]
mov ecx, esi
mov dword [ebp - 0xc4], ebx
mov ebx, dword [eax + 0x6c]
mov eax, dword [esi]
sub esp, 4
mov dword [ebp - 0xc8], ebx
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x64]
mov ecx, esi
mov byte [ebp - 0xcc], al
mov eax, dword [esi]
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x3c]
mov ecx, esi
mov dword [ebp - 0xd0], eax
mov eax, dword [esi]
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x38]
mov ecx, esi
mov ebx, eax
mov eax, dword [esi]
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x34]
movzx edx, byte [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
mov dword [esp + 8], ebx
mov ebx, dword [ebp - 0xc0]
mov dword [esp], 0xa
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
mov ecx, ebx
call fcn.00547440
mov ecx, dword [ebp - 0xc4]
sub esp, 0x14
mov dword [esp], ebx
mov ebx, 1
call dword [ebp - 0xc8]
mov eax, dword [esi]
mov ecx, esi
sub esp, 4
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x34]
mov ecx, esi
test eax, eax
cmovg ebx, eax
mov eax, dword [esi]
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x38]
mov edx, 1
mov ecx, esi
test eax, eax
cmovle eax, edx
imul ebx, eax
mov eax, dword [esi]
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x3c]
mov edx, 1
mov dword [ebp - 0xac], 0x6f1b88
test eax, eax
cmovle eax, edx
fldz
fstp qword [ebp - 0x98]
imul ebx, eax
call fcn.004cb890
mov dword [esp], 0x10
mov ecx, eax
call fcn.004cba30
sub esp, 4
mov dword [ebp - 0xc8], eax
call fcn.004cb890
mov edx, dword [ebp - 0xc8]
test ebx, ebx
mov dword [edx + 4], 0
mov dword [edx + 8], 0
mov dword [edx], eax
mov dword [edx + 0xc], 0
jne 0x559e72
mov eax, edx
mov dword [edx + 0xc], 0
xor edx, edx
mov dword [eax + 8], edx
mov ecx, esi
mov dword [ebp - 0xa8], eax
mov eax, dword [esi]
call dword [eax + 0x70]
mov ebx, dword [ebp - 0xbc]
mov ecx, dword [ebx + 0x28]
mov dword [esp + 0xc], 1
mov dword [esp + 4], eax
lea eax, [ebp - 0xac]
mov dword [esp + 8], edi
mov dword [esp], eax
call fcn.00514110
mov ebx, dword [ebp - 0xc4]
mov ecx, ebx
mov dword [ebp - 0x84], eax
mov eax, dword [ebx]
sub esp, 0x10
call dword [eax + 0xac]
mov esi, dword [ebp - 0xc0]
mov dword [esp], esi
mov ecx, eax
call fcn.00632930
mov ecx, esi
sub esp, 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 0xa
call fcn.00547440
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x28]
sub esp, 0x14
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 0x134
mov dword [esp], edi
call fcn.0051ad90
sub esp, 0x14
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x28]
mov dword [esp + 4], edi
mov dword [esp], 0x136
call fcn.00515680
sub esp, 8
mov esi, eax
call fcn.004cb890
mov dword [esp], 0x90
mov ecx, eax
call fcn.004cba30
sub esp, 4
mov ecx, eax
mov dword [esp], 0
mov ebx, eax
call fcn.005a69b0
mov eax, dword [ebp - 0xc0]
mov ecx, ebx
mov dword [ebx], 0x6f1c88
mov dword [ebx + 0x84], esi
mov dword [ebx + 0x88], 0
mov dword [ebx + 0x80], eax
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x8c], 0
sub esp, 4
mov dword [eax], ebx
mov eax, dword [ebx]
mov eax, dword [eax + 4]
mov dword [esp], edi
call eax
sub esp, 4
jmp 0x557530
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xb0]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, esi
mov ebx, eax
mov eax, dword [esi]
call dword [eax + 0xb0]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, esi
mov dword [ebp - 0xc0], eax
mov eax, dword [esi]
call dword [eax + 0xb0]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 8]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [ebp - 0xbc]
mov dword [esp + 0xc], ebx
mov dword [esp], edi
mov dword [esp + 8], 0x8a
mov dword [esp + 4], 0x6e6b56
mov dword [ebp - 0xc4], eax
call fcn.00551940
mov ecx, dword [ebp - 0xbc]
sub esp, 0x10
mov esi, eax
mov dword [esp + 0xc], ebx
mov dword [esp], edi
mov dword [esp + 8], 0x8b
mov dword [esp + 4], 0x6e6b5a
call fcn.00551940
mov edx, dword [ebp - 0xbc]
mov ecx, dword [edx + 0x28]
mov ebx, eax
mov eax, dword [edi]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 8], esi
mov dword [esp], 0x19e
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0xc0]
mov dword [esp + 4], eax
call fcn.0051bb10
mov edx, dword [ebp - 0xbc]
mov ecx, dword [edx + 0x28]
mov edx, dword [ebp - 0xc4]
mov esi, eax
mov eax, dword [edi]
sub esp, 0x1c
mov dword [esp + 0xc], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
mov dword [esp], 0x19e
mov dword [esp + 0x18], eax
call fcn.0051bb10
mov edx, dword [ebp - 0xbc]
mov ecx, dword [edx + 0x28]
sub esp, 0x1c
mov ebx, eax
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.0051a1d0
mov edx, dword [ebp - 0xbc]
mov ecx, dword [edx + 0x28]
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0051a6f0
mov ebx, eax
mov eax, dword [eax]
sub esp, 8
mov ecx, ebx
mov eax, dword [eax + 0xa8]
mov dword [esp], 1
call eax
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 4]
sub esp, 4
mov dword [esp], edi
lea edi, [ebp - 0x84]
call eax
mov eax, dword [ebx]
mov ecx, edi
mov esi, dword [eax + 0x6c]
sub esp, 4
call fcn.00547320
mov dword [esp], edi
jmp 0x559417
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xb0]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, esi
mov dword [ebp - 0xc0], eax
mov eax, dword [esi]
call dword [eax + 0xb0]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, esi
mov dword [ebp - 0xd0], eax
mov eax, dword [esi]
call dword [eax + 0xb0]
mov dword [ebp - 0xd4], 0
mov ecx, dword [eax + 8]
sub ecx, dword [eax + 4]
cmp ecx, 0xb
ja 0x559e2b
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ecx]
call dword [eax + 0x18]
test eax, eax
je 0x559ef0
xor ecx, ecx
cmp dword [eax + 0x80], 0x1b1
sete cl
sete byte [ebp - 0xcc]
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0xbc]
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.00549780
sub esp, 0xc
mov dword [ebp - 0xc4], eax
call fcn.004cb890
mov dword [esp], 0xb8
mov ecx, eax
call fcn.004cba30
mov ebx, eax
mov eax, dword [ebp - 0xc4]
sub esp, 4
mov ecx, ebx
mov dword [esp], eax
call fcn.005a9070
mov eax, dword [ebx]
mov ecx, dword [ebp - 0xc0]
mov eax, dword [eax + 0x6c]
sub esp, 4
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx]
call dword [eax + 0x70]
mov ecx, ebx
mov dword [esp], eax
call dword [ebp - 0xc8]
mov eax, dword [ebx]
mov ecx, ebx
sub esp, 4
call dword [eax + 0x74]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x2c]
mov ecx, eax
call fcn.005a63e0
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 4]
mov dword [esp], edi
call eax
sub esp, 4
cmp byte [ebp - 0xcc], 0
je 0x559b20
mov eax, dword [ebp - 0xc0]
lea ecx, [ebp - 0xa4]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.005470a0
mov eax, dword [ebp - 0xd0]
mov ecx, ebx
mov dword [ebp - 0x84], eax
mov eax, dword [ebx]
sub esp, 8
call dword [eax + 0xac]
lea ecx, [ebp - 0x84]
mov dword [esp], ecx
mov ecx, eax
call fcn.00632930
mov eax, dword [esi]
mov ecx, esi
sub esp, 4
call dword [eax + 0xb0]
mov edx, dword [eax + 8]
sub edx, dword [eax + 4]
cmp edx, 0xb
jbe 0x557526
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x28]
mov eax, dword [edi]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 8], ebx
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0xd4]
jmp 0x557a84
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ecx]
call dword [eax + 0xac]
mov esi, dword [ebp - 0xbc]
mov dword [esp + 8], 0x9a
mov dword [esp + 4], str.log2
mov dword [esp], edi
mov ecx, esi
mov dword [esp + 0xc], eax
call fcn.00551940
mov ecx, dword [esi + 0x28]
sub esp, 0x10
fld dword [0x6e8d98]
mov ebx, eax
mov dword [esp + 0x10], 1
fstp qword [esp]
mov dword [esp + 0xc], edi
mov dword [esp + 8], 1
call fcn.00515130
sub esp, 0x14
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x6a
mov dword [esp + 4], 0x6e6b68
jmp 0x558055
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xb0]
mov edx, dword [eax + 8]
sub edx, dword [eax + 4]
cmp edx, 0xb
jbe 0x559e4b
mov eax, dword [ebp - 0xc0]
mov ecx, ebx
lea esi, [ebp - 0x84]
mov dword [ebp - 0x84], eax
mov eax, dword [ebx]
call dword [eax + 0xac]
mov dword [esp], esi
mov ecx, eax
call fcn.00632930
mov eax, dword [ebp - 0xd0]
mov ecx, ebx
mov dword [ebp - 0x84], eax
mov eax, dword [ebx]
sub esp, 4
call dword [eax + 0xac]
mov dword [esp], esi
mov ecx, eax
call fcn.00632930
sub esp, 4
jmp 0x559a6e
mov eax, dword [ebp - 0xbc]
fldz
mov ecx, dword [eax + 0x28]
fstp qword [esp]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], edi
mov dword [esp + 8], ebx
call fcn.00515130
mov ecx, dword [ebp - 0xbc]
sub esp, 0x14
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x76
mov dword [esp + 4], str.clip
mov dword [esp], edi
call fcn.00551860
sub esp, 0x14
mov dword [ebp - 0xc0], eax
jmp 0x5596ce
cmp dword [ebp - 0xc8], 1
mov dword [ebp - 0xcc], 0
jle 0x558bc3
xor esi, esi
jmp 0x558b27
mov dword [ebp - 0x84], eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xac]
lea edx, [ebp - 0x84]
mov dword [esp], edx
mov dword [ebp - 0xc0], edx
mov ecx, eax
call fcn.00632930
sub esp, 4
jmp 0x557a0a
cmp dword [ebp - 0xc8], 1
mov dword [ebp - 0xd0], 0
jle 0x5584b5
xor ebx, ebx
jmp 0x558423
call fcn.004cb890
mov dword [esp], 0xb8
mov ecx, eax
call fcn.004cba30
sub esp, 4
mov ecx, eax
mov dword [esp], 0x156
mov dword [ebp - 0xbc], eax
call fcn.005a9070
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x84], ebx
lea ebx, [ebp - 0x84]
mov eax, dword [edx]
mov ecx, edx
sub esp, 4
call dword [eax + 0xac]
mov dword [esp], ebx
mov ecx, eax
call fcn.00632930
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x84], esi
mov eax, dword [edx]
mov ecx, edx
sub esp, 4
call dword [eax + 0xac]
mov dword [esp], ebx
mov ecx, eax
call fcn.00632930
mov edx, dword [ebp - 0xbc]
mov ecx, ebx
mov eax, dword [edx]
sub esp, 4
mov esi, dword [eax + 0x6c]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 2
mov dword [esp], 5
call fcn.00547440
mov edx, dword [ebp - 0xbc]
mov ecx, edx
sub esp, 0x14
mov dword [esp], ebx
call esi
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx]
mov ecx, edx
sub esp, 4
mov eax, dword [eax + 4]
mov dword [esp], edi
call eax
sub esp, 4
call fcn.004cb890
mov dword [esp], 0x8c
mov ecx, eax
call fcn.004cba30
sub esp, 4
mov ecx, eax
mov dword [esp], 1
mov esi, eax
call fcn.005a69b0
mov edx, dword [ebp - 0xbc]
mov ecx, esi
mov dword [esi + 0x80], 0xb8
mov dword [esi + 0x84], 0
mov dword [esi], 0x6f12a8
mov dword [esi + 0x88], 0
sub esp, 4
mov dword [esp], edx
call dword [0x6f1350]
mov edx, dword [esi]
mov ecx, esi
mov edx, dword [edx + 4]
sub esp, 4
mov dword [esp], edi
call edx
mov edx, dword [esi]
mov ecx, ebx
mov edi, dword [edx + 0x6c]
sub esp, 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 2
call fcn.00547440
mov ecx, esi
sub esp, 0x14
mov dword [esp], ebx
call edi
mov eax, dword [ebp + 0xc]
mov dword [eax], esi
sub esp, 4
jmp 0x557530
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x9c]
test al, al
je 0x5580af
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x18]
mov edx, dword [eax]
mov ecx, eax
mov edx, dword [edx + 0xa8]
mov dword [esp], 0xd9
call edx
sub esp, 4
jmp 0x557530
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xb0]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 8]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov dword [ebp - 0xd4], eax
jmp 0x559949
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ebx, dword [ebp - 0xc4]
mov edx, dword [eax]
mov ecx, eax
mov edx, dword [edx + 0xa8]
mov dword [esp], ebx
call edx
sub esp, 4
jmp 0x557530
mov edx, ebx
mov ecx, eax
shl edx, 4
mov dword [esp], edx
mov dword [ebp - 0xcc], edx
call fcn.004cba30
mov edx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc8]
add edx, eax
sub esp, 4
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
mov ecx, dword [ebp - 0x98]
add eax, 0x10
mov dword [ebp - 0x90], 2
mov dword [eax - 0x10], ecx
mov ecx, dword [ebp - 0x94]
mov dword [eax - 0xc], ecx
mov ecx, dword [ebp - 0x90]
mov dword [eax - 8], ecx
mov ecx, dword [ebp - 0x8c]
mov dword [eax - 4], ecx
sub ebx, 1
jne 0x559ea1
mov eax, dword [ebp - 0xc8]
jmp 0x559608
xor edx, edx
mov byte [ebp - 0xd0], 0
jmp 0x557944
xor ecx, ecx
mov byte [ebp - 0xcc], 0
jmp 0x559972