Function at 0x434b82
Capabilities:
Encode data using base64
Parse pe header

Disassembly:
push 0x10
mov eax, 0x584135
call fcn.00565102
mov edi, dword [ebp + 8]
push 0xb
pop ebx
cmp dword [edi + 0x18], ebx
jne 0x436beb
mov esi, dword [edi + 0xc]
cmp byte [esi + 0x280], 0xc
jne 0x436beb
cmp byte [esi + 0x281], 0x4a
jne 0x436beb
mov dword [edi + 0x388], 1
mov al, byte [esi + 0x282]
push 0xc
mov byte [edi + 0x38c], al
call fcn.00551d80
pop ecx
test eax, eax
je 0x434be5
mov ecx, eax
call fcn.004338d8
jmp 0x434be7
xor eax, eax
mov dword [edi + 0x394], eax
test byte [esi + 0x283], 1
je 0x4356a3
push 0x6c
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
and dword [ebp - 4], 0
test ecx, ecx
je 0x434c18
call fcn.0043395b
mov edi, eax
jmp 0x434c1a
xor edi, edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x394]
or dword [ebp - 4], 0xffffffff
push edi
call fcn.00433a27
mov eax, dword [ebp + 8]
inc dword [eax + 0x390]
mov al, byte [esi + 0x2c0]
shr al, 5
and al, 3
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [edi + 0xc]
mov al, byte [esi + 0x2c0]
and al, 0x1f
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fld qword [0x58f9a0]
fmul st(1), st(0)
fld dword [ebp - 0x10]
faddp st(2)
fxch st(1)
fstp dword [edi + 0xc]
mov al, byte [esi + 0x2c1]
shr al, 5
and al, 3
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [edi + 4]
mov al, byte [esi + 0x2c1]
and al, 0x1f
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fmul st(1)
fadd dword [ebp - 0x10]
fstp dword [edi + 4]
mov al, byte [esi + 0x2c2]
shr al, 5
and al, 3
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [edi + 8]
mov al, byte [esi + 0x2c2]
and al, 0x1f
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fmul st(1)
fadd dword [ebp - 0x10]
fstp dword [edi + 8]
mov al, byte [esi + 0x2c4]
shr al, 5
and al, 3
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fstp dword [edi + 0x10]
movzx eax, byte [esi + 0x2c4]
and eax, 0x1f
mov dword [ebp - 0x10], eax
fimul dword [ebp - 0x10]
fadd dword [ebp - 0x14]
fstp dword [edi + 0x10]
movzx eax, byte [esi + 0x2c6]
movzx ecx, byte [esi + 0x2c5]
shl eax, 8
add eax, ecx
mov dword [ebp - 0x14], eax
test eax, eax
jle 0x434d72
fild dword [ebp - 0x14]
push ecx
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fdiv qword [0x5cae70]
fstp dword [edi + 0x14]
fld dword [ebp - 0x14]
fdivr qword [0x58f998]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fdiv qword [0x5cae88]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fstp dword [esp]
call fcn.0045dda0
imul eax, eax, 0x64
pop ecx
push 3
cdq
pop ecx
idiv ecx
mov dword [edi + 0x18], eax
movzx eax, byte [esi + 0x2ce]
movzx ecx, byte [esi + 0x2cd]
shl eax, 8
add eax, ecx
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fdiv qword [0x5cae70]
fstp dword [edi + 0x44]
test byte [esi + 0x2c7], 1
je 0x434dd4
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 1
test ecx, ecx
je 0x434dbc
call fcn.0042d0f0
jmp 0x434dbe
xor eax, eax
fld dword [0x58fa90]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2c7], 2
je 0x434e14
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 2
test ecx, ecx
je 0x434dfc
call fcn.0042d0f0
jmp 0x434dfe
xor eax, eax
fld dword [0x58fa88]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2c7], 4
je 0x434e54
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 3
test ecx, ecx
je 0x434e3c
call fcn.0042d0f0
jmp 0x434e3e
xor eax, eax
fld dword [0x58fa80]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2c7], 8
je 0x434e94
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 4
test ecx, ecx
je 0x434e7c
call fcn.0042d0f0
jmp 0x434e7e
xor eax, eax
fld dword [0x58fb20]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2c7], 0x10
je 0x434ed4
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 5
test ecx, ecx
je 0x434ebc
call fcn.0042d0f0
jmp 0x434ebe
xor eax, eax
fld dword [0x58fb1c]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2c7], 0x20
je 0x434f14
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 6
test ecx, ecx
je 0x434efc
call fcn.0042d0f0
jmp 0x434efe
xor eax, eax
fld dword [0x58fb18]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2c7], 0x40
je 0x434f54
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 7
test ecx, ecx
je 0x434f3c
call fcn.0042d0f0
jmp 0x434f3e
xor eax, eax
fld dword [0x58fb14]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2c7], 0x80
je 0x434f94
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 8
test ecx, ecx
je 0x434f7c
call fcn.0042d0f0
jmp 0x434f7e
xor eax, eax
fld dword [0x58fb10]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
mov al, byte [esi + 0x2c8]
test al, al
je 0x435197
test al, 1
je 0x434fdd
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 9
test ecx, ecx
je 0x434fc5
call fcn.0042d0f0
jmp 0x434fc7
xor eax, eax
fld dword [0x58fb0c]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2c8], 2
je 0x43501d
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0xa
test ecx, ecx
je 0x435005
call fcn.0042d0f0
jmp 0x435007
xor eax, eax
fld dword [0x58fb08]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2c8], 4
je 0x435059
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], ebx
test ecx, ecx
je 0x435041
call fcn.0042d0f0
jmp 0x435043
xor eax, eax
fld dword [0x58fb04]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2c8], 8
je 0x435097
push 0xc
pop ebx
push ebx
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], ebx
test ecx, ecx
je 0x43507f
call fcn.0042d0f0
jmp 0x435081
xor eax, eax
fld dword [0x58fb00]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2c8], 0x10
je 0x4350d7
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0xd
test ecx, ecx
je 0x4350bf
call fcn.0042d0f0
jmp 0x4350c1
xor eax, eax
fld dword [0x58fafc]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2c8], 0x20
je 0x435117
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0xe
test ecx, ecx
je 0x4350ff
call fcn.0042d0f0
jmp 0x435101
xor eax, eax
fld dword [0x58faf8]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2c8], 0x40
je 0x435157
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0xf
test ecx, ecx
je 0x43513f
call fcn.0042d0f0
jmp 0x435141
xor eax, eax
fld dword [0x58faf4]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2c8], 0x80
je 0x435197
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x10
test ecx, ecx
je 0x43517f
call fcn.0042d0f0
jmp 0x435181
xor eax, eax
fld dword [0x58faf0]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
mov al, byte [esi + 0x2c9]
test al, al
je 0x4353a0
test al, 1
je 0x4351e0
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x11
test ecx, ecx
je 0x4351c8
call fcn.0042d0f0
jmp 0x4351ca
xor eax, eax
fld dword [0x58faec]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2c9], 2
je 0x435220
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x12
test ecx, ecx
je 0x435208
call fcn.0042d0f0
jmp 0x43520a
xor eax, eax
fld dword [0x58fae8]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2c9], 4
je 0x435260
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x13
test ecx, ecx
je 0x435248
call fcn.0042d0f0
jmp 0x43524a
xor eax, eax
fld dword [0x58fae4]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2c9], 8
je 0x4352a0
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x14
test ecx, ecx
je 0x435288
call fcn.0042d0f0
jmp 0x43528a
xor eax, eax
fld dword [0x58fae0]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2c9], 0x10
je 0x4352e0
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x15
test ecx, ecx
je 0x4352c8
call fcn.0042d0f0
jmp 0x4352ca
xor eax, eax
fld dword [0x58fadc]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2c9], 0x20
je 0x435320
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x16
test ecx, ecx
je 0x435308
call fcn.0042d0f0
jmp 0x43530a
xor eax, eax
fld dword [0x58fad8]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2c9], 0x40
je 0x435360
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x17
test ecx, ecx
je 0x435348
call fcn.0042d0f0
jmp 0x43534a
xor eax, eax
fld dword [0x58fad4]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2c9], 0x80
je 0x4353a0
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x18
test ecx, ecx
je 0x435388
call fcn.0042d0f0
jmp 0x43538a
xor eax, eax
fld dword [0x58fad0]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
mov al, byte [esi + 0x2ca]
test al, al
je 0x4355a9
test al, 1
je 0x4353e9
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x19
test ecx, ecx
je 0x4353d1
call fcn.0042d0f0
jmp 0x4353d3
xor eax, eax
fld dword [0x58facc]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2ca], 2
je 0x435429
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x1a
test ecx, ecx
je 0x435411
call fcn.0042d0f0
jmp 0x435413
xor eax, eax
fld dword [0x58fac8]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2ca], 4
je 0x435469
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x1b
test ecx, ecx
je 0x435451
call fcn.0042d0f0
jmp 0x435453
xor eax, eax
fld dword [0x58fac4]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2ca], 8
je 0x4354a9
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x1c
test ecx, ecx
je 0x435491
call fcn.0042d0f0
jmp 0x435493
xor eax, eax
fld dword [0x58fac0]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2ca], 0x10
je 0x4354e9
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x1d
test ecx, ecx
je 0x4354d1
call fcn.0042d0f0
jmp 0x4354d3
xor eax, eax
fld dword [0x58fabc]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2ca], 0x20
je 0x435529
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x1e
test ecx, ecx
je 0x435511
call fcn.0042d0f0
jmp 0x435513
xor eax, eax
fld dword [0x58fab8]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2ca], 0x40
je 0x435569
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x1f
test ecx, ecx
je 0x435551
call fcn.0042d0f0
jmp 0x435553
xor eax, eax
fld dword [0x58fab4]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
test byte [esi + 0x2ca], 0x80
je 0x4355a9
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x20
test ecx, ecx
je 0x435591
call fcn.0042d0f0
jmp 0x435593
xor eax, eax
fld dword [0x58fab0]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.004339c2
mov eax, dword [edi + 0x40]
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
call fcn.0042d792
jmp 0x435607
fldz
fcomp dword [ecx + 4]
fnstsw ax
test ah, 5
jp 0x4355ff
fld dword [edi + 0x44]
fdiv dword [ecx + 4]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fdivr qword [0x5cae70]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [ecx + 8]
fild dword [edi + 0x18]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x10]
fld dword [ebp - 0x14]
fcompp
fnstsw ax
test ah, 5
jp 0x4355ff
fld dword [ebp - 0x14]
fstp dword [ecx + 8]
lea ecx, [ebp - 0x1c]
call fcn.0042d7a9
mov ecx, eax
test ecx, ecx
jne 0x4355bd
movzx eax, byte [esi + 0x2d0]
movzx ecx, byte [esi + 0x2cf]
shl eax, 8
add eax, ecx
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fld qword [0x5cae70]
fdiv st(1), st(0)
fxch st(1)
fstp dword [edi + 0x4c]
movzx eax, byte [esi + 0x2d2]
movzx ecx, byte [esi + 0x2d1]
shl eax, 8
add eax, ecx
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fdiv st(1)
fstp dword [edi + 0x48]
movzx eax, byte [esi + 0x2d4]
movzx ecx, byte [esi + 0x2d3]
shl eax, 8
add eax, ecx
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fdiv st(1)
fstp dword [edi + 0x54]
movzx eax, byte [esi + 0x2d6]
movzx ecx, byte [esi + 0x2d5]
shl eax, 8
add eax, ecx
mov dword [ebp - 0x14], eax
xor eax, eax
fidivr dword [ebp - 0x14]
fstp dword [edi + 0x58]
mov cl, byte [esi + eax + 0x28e]
mov byte [edi + eax + 0x20], cl
inc eax
cmp eax, 0xf
jl 0x43568d
mov byte [eax + edi + 0x20], 0
test byte [esi + 0x283], 2
je 0x436147
push 0x6c
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x21
test ecx, ecx
je 0x4356d1
call fcn.0043395b
mov edi, eax
jmp 0x4356d3
xor edi, edi
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0x394]
or dword [ebp - 4], 0xffffffff
push edi
call fcn.00433a27
inc dword [ebx + 0x390]
mov al, byte [esi + 0x300]
shr al, 5
and al, 3
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fstp dword [edi + 0xc]
mov al, byte [esi + 0x300]
and al, 0x1f
movzx eax, al
mov dword [ebp - 0x10], eax
fild dword [ebp - 0x10]
fld qword [0x58f9a0]
fmul st(1), st(0)
fld dword [ebp - 0x14]
faddp st(2)
fxch st(1)
fstp dword [edi + 0xc]
mov al, byte [esi + 0x301]
shr al, 5
and al, 3
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fstp dword [edi + 4]
mov al, byte [esi + 0x301]
and al, 0x1f
movzx eax, al
mov dword [ebp - 0x10], eax
fild dword [ebp - 0x10]
fmul st(1)
fadd dword [ebp - 0x14]
fstp dword [edi + 4]
mov al, byte [esi + 0x302]
shr al, 5
and al, 3
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fstp dword [edi + 8]
mov al, byte [esi + 0x302]
and al, 0x1f
movzx eax, al
mov dword [ebp - 0x10], eax
fild dword [ebp - 0x10]
fmul st(1)
fadd dword [ebp - 0x14]
fstp dword [edi + 8]
mov al, byte [esi + 0x304]
shr al, 5
and al, 3
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fstp dword [edi + 0x10]
movzx eax, byte [esi + 0x304]
and eax, 0x1f
mov dword [ebp - 0x10], eax
fimul dword [ebp - 0x10]
fadd dword [ebp - 0x14]
fstp dword [edi + 0x10]
movzx eax, byte [esi + 0x306]
movzx ecx, byte [esi + 0x305]
shl eax, 8
add eax, ecx
mov dword [ebp - 0x14], eax
test eax, eax
jle 0x435828
fild dword [ebp - 0x14]
push ecx
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fdiv qword [0x5cae70]
fstp dword [edi + 0x14]
fld dword [ebp - 0x14]
fdivr qword [0x58f998]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fdiv qword [0x5cae88]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fstp dword [esp]
call fcn.0045dda0
imul eax, eax, 0x64
pop ecx
push 3
cdq
pop ecx
idiv ecx
mov dword [edi + 0x18], eax
movzx eax, byte [esi + 0x30e]
movzx ecx, byte [esi + 0x30d]
shl eax, 8
add eax, ecx
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fdiv qword [0x5cae70]
fstp dword [edi + 0x44]
test byte [esi + 0x307], 1
je 0x43588e
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x22
test ecx, ecx
je 0x435872
call fcn.0042d0f0
jmp 0x435874
xor eax, eax
fld dword [0x58fa90]
or ebx, 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
mov dword [ebp - 4], ebx
call fcn.004339c2
jmp 0x435891
or ebx, 0xffffffff
test byte [esi + 0x307], 2
je 0x4358d0
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x23
test ecx, ecx
je 0x4358b9
call fcn.0042d0f0
jmp 0x4358bb
xor eax, eax
fld dword [0x58fa88]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x307], 4
je 0x43590f
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x24
test ecx, ecx
je 0x4358f8
call fcn.0042d0f0
jmp 0x4358fa
xor eax, eax
fld dword [0x58fa80]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x307], 8
je 0x43594e
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x25
test ecx, ecx
je 0x435937
call fcn.0042d0f0
jmp 0x435939
xor eax, eax
fld dword [0x58fb20]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x307], 0x10
je 0x43598d
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x26
test ecx, ecx
je 0x435976
call fcn.0042d0f0
jmp 0x435978
xor eax, eax
fld dword [0x58fb1c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x307], 0x20
je 0x4359cc
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x27
test ecx, ecx
je 0x4359b5
call fcn.0042d0f0
jmp 0x4359b7
xor eax, eax
fld dword [0x58fb18]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x307], 0x40
je 0x435a0b
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x28
test ecx, ecx
je 0x4359f4
call fcn.0042d0f0
jmp 0x4359f6
xor eax, eax
fld dword [0x58fb14]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x307], 0x80
je 0x435a4a
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x29
test ecx, ecx
je 0x435a33
call fcn.0042d0f0
jmp 0x435a35
xor eax, eax
fld dword [0x58fb10]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
mov al, byte [esi + 0x308]
test al, al
je 0x435c4b
test al, 1
je 0x435a92
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x2a
test ecx, ecx
je 0x435a7b
call fcn.0042d0f0
jmp 0x435a7d
xor eax, eax
fld dword [0x58fb0c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x308], 2
je 0x435ad1
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x2b
test ecx, ecx
je 0x435aba
call fcn.0042d0f0
jmp 0x435abc
xor eax, eax
fld dword [0x58fb08]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x308], 4
je 0x435b10
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x2c
test ecx, ecx
je 0x435af9
call fcn.0042d0f0
jmp 0x435afb
xor eax, eax
fld dword [0x58fb04]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x308], 8
je 0x435b4f
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x2d
test ecx, ecx
je 0x435b38
call fcn.0042d0f0
jmp 0x435b3a
xor eax, eax
fld dword [0x58fb00]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x308], 0x10
je 0x435b8e
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x2e
test ecx, ecx
je 0x435b77
call fcn.0042d0f0
jmp 0x435b79
xor eax, eax
fld dword [0x58fafc]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x308], 0x20
je 0x435bcd
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x2f
test ecx, ecx
je 0x435bb6
call fcn.0042d0f0
jmp 0x435bb8
xor eax, eax
fld dword [0x58faf8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x308], 0x40
je 0x435c0c
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x30
test ecx, ecx
je 0x435bf5
call fcn.0042d0f0
jmp 0x435bf7
xor eax, eax
fld dword [0x58faf4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x308], 0x80
je 0x435c4b
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x31
test ecx, ecx
je 0x435c34
call fcn.0042d0f0
jmp 0x435c36
xor eax, eax
fld dword [0x58faf0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
mov al, byte [esi + 0x309]
test al, al
je 0x435e4c
test al, 1
je 0x435c93
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x32
test ecx, ecx
je 0x435c7c
call fcn.0042d0f0
jmp 0x435c7e
xor eax, eax
fld dword [0x58faec]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x309], 2
je 0x435cd2
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x33
test ecx, ecx
je 0x435cbb
call fcn.0042d0f0
jmp 0x435cbd
xor eax, eax
fld dword [0x58fae8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x309], 4
je 0x435d11
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x34
test ecx, ecx
je 0x435cfa
call fcn.0042d0f0
jmp 0x435cfc
xor eax, eax
fld dword [0x58fae4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x309], 8
je 0x435d50
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x35
test ecx, ecx
je 0x435d39
call fcn.0042d0f0
jmp 0x435d3b
xor eax, eax
fld dword [0x58fae0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x309], 0x10
je 0x435d8f
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x36
test ecx, ecx
je 0x435d78
call fcn.0042d0f0
jmp 0x435d7a
xor eax, eax
fld dword [0x58fadc]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x309], 0x20
je 0x435dce
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x37
test ecx, ecx
je 0x435db7
call fcn.0042d0f0
jmp 0x435db9
xor eax, eax
fld dword [0x58fad8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x309], 0x40
je 0x435e0d
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x38
test ecx, ecx
je 0x435df6
call fcn.0042d0f0
jmp 0x435df8
xor eax, eax
fld dword [0x58fad4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x309], 0x80
je 0x435e4c
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x39
test ecx, ecx
je 0x435e35
call fcn.0042d0f0
jmp 0x435e37
xor eax, eax
fld dword [0x58fad0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
mov al, byte [esi + 0x30a]
test al, al
je 0x43604d
test al, 1
je 0x435e94
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x3a
test ecx, ecx
je 0x435e7d
call fcn.0042d0f0
jmp 0x435e7f
xor eax, eax
fld dword [0x58facc]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x30a], 2
je 0x435ed3
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x3b
test ecx, ecx
je 0x435ebc
call fcn.0042d0f0
jmp 0x435ebe
xor eax, eax
fld dword [0x58fac8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x30a], 4
je 0x435f12
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x3c
test ecx, ecx
je 0x435efb
call fcn.0042d0f0
jmp 0x435efd
xor eax, eax
fld dword [0x58fac4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x30a], 8
je 0x435f51
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x3d
test ecx, ecx
je 0x435f3a
call fcn.0042d0f0
jmp 0x435f3c
xor eax, eax
fld dword [0x58fac0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x30a], 0x10
je 0x435f90
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x3e
test ecx, ecx
je 0x435f79
call fcn.0042d0f0
jmp 0x435f7b
xor eax, eax
fld dword [0x58fabc]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x30a], 0x20
je 0x435fcf
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x3f
test ecx, ecx
je 0x435fb8
call fcn.0042d0f0
jmp 0x435fba
xor eax, eax
fld dword [0x58fab8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x30a], 0x40
je 0x43600e
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x40
test ecx, ecx
je 0x435ff7
call fcn.0042d0f0
jmp 0x435ff9
xor eax, eax
fld dword [0x58fab4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x30a], 0x80
je 0x43604d
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x41
test ecx, ecx
je 0x436036
call fcn.0042d0f0
jmp 0x436038
xor eax, eax
fld dword [0x58fab0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
mov eax, dword [edi + 0x40]
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
call fcn.0042d792
jmp 0x4360ab
fldz
fcomp dword [ecx + 4]
fnstsw ax
test ah, 5
jp 0x4360a3
fld dword [edi + 0x44]
fdiv dword [ecx + 4]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fdivr qword [0x5cae70]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [ecx + 8]
fild dword [edi + 0x18]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x10]
fld dword [ebp - 0x14]
fcompp
fnstsw ax
test ah, 5
jp 0x4360a3
fld dword [ebp - 0x14]
fstp dword [ecx + 8]
lea ecx, [ebp - 0x1c]
call fcn.0042d7a9
mov ecx, eax
test ecx, ecx
jne 0x436061
movzx eax, byte [esi + 0x310]
movzx ecx, byte [esi + 0x30f]
shl eax, 8
add eax, ecx
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fld qword [0x5cae70]
fdiv st(1), st(0)
fxch st(1)
fstp dword [edi + 0x4c]
movzx eax, byte [esi + 0x312]
movzx ecx, byte [esi + 0x311]
shl eax, 8
add eax, ecx
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fdiv st(1)
fstp dword [edi + 0x48]
movzx eax, byte [esi + 0x314]
movzx ecx, byte [esi + 0x313]
shl eax, 8
add eax, ecx
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fdiv st(1)
fstp dword [edi + 0x54]
movzx eax, byte [esi + 0x316]
movzx ecx, byte [esi + 0x315]
shl eax, 8
add eax, ecx
mov dword [ebp - 0x14], eax
xor eax, eax
fidivr dword [ebp - 0x14]
fstp dword [edi + 0x58]
mov cl, byte [esi + eax + 0x29e]
mov byte [edi + eax + 0x20], cl
inc eax
cmp eax, 0xf
jl 0x436131
mov byte [edi + eax + 0x20], 0
test byte [esi + 0x283], 4
je 0x436beb
push 0x6c
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x42
test ecx, ecx
je 0x436175
call fcn.0043395b
mov edi, eax
jmp 0x436177
xor edi, edi
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0x394]
or dword [ebp - 4], 0xffffffff
push edi
call fcn.00433a27
inc dword [ebx + 0x390]
mov al, byte [esi + 0x340]
shr al, 5
and al, 3
movzx eax, al
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fstp dword [edi + 0xc]
mov al, byte [esi + 0x340]
and al, 0x1f
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fld qword [0x58f9a0]
fmul st(1), st(0)
fld dword [ebp + 8]
faddp st(2)
fxch st(1)
fstp dword [edi + 0xc]
mov al, byte [esi + 0x341]
shr al, 5
and al, 3
movzx eax, al
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fstp dword [edi + 4]
mov al, byte [esi + 0x341]
and al, 0x1f
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fmul st(1)
fadd dword [ebp + 8]
fstp dword [edi + 4]
mov al, byte [esi + 0x342]
shr al, 5
and al, 3
movzx eax, al
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fstp dword [edi + 8]
mov al, byte [esi + 0x342]
and al, 0x1f
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fmul st(1)
fadd dword [ebp + 8]
fstp dword [edi + 8]
mov al, byte [esi + 0x344]
shr al, 5
and al, 3
movzx eax, al
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fstp dword [edi + 0x10]
movzx eax, byte [esi + 0x344]
and eax, 0x1f
mov dword [ebp - 0x10], eax
fimul dword [ebp - 0x10]
fadd dword [ebp + 8]
fstp dword [edi + 0x10]
movzx eax, byte [esi + 0x346]
movzx ecx, byte [esi + 0x345]
shl eax, 8
add eax, ecx
mov dword [ebp + 8], eax
test eax, eax
jle 0x4362cc
fild dword [ebp + 8]
push ecx
fstp dword [ebp + 8]
fld dword [ebp + 8]
fdiv qword [0x5cae70]
fstp dword [edi + 0x14]
fld dword [ebp + 8]
fdivr qword [0x58f998]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fdiv qword [0x5cae88]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fstp dword [esp]
call fcn.0045dda0
imul eax, eax, 0x64
pop ecx
push 3
cdq
pop ecx
idiv ecx
mov dword [edi + 0x18], eax
movzx eax, byte [esi + 0x34e]
movzx ecx, byte [esi + 0x34d]
shl eax, 8
add eax, ecx
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fdiv qword [0x5cae70]
fstp dword [edi + 0x44]
test byte [esi + 0x347], 1
je 0x436332
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x43
test ecx, ecx
je 0x436316
call fcn.0042d0f0
jmp 0x436318
xor eax, eax
fld dword [0x58fa90]
or ebx, 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
mov dword [ebp - 4], ebx
call fcn.004339c2
jmp 0x436335
or ebx, 0xffffffff
test byte [esi + 0x347], 2
je 0x436374
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x44
test ecx, ecx
je 0x43635d
call fcn.0042d0f0
jmp 0x43635f
xor eax, eax
fld dword [0x58fa88]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x347], 4
je 0x4363b3
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x45
test ecx, ecx
je 0x43639c
call fcn.0042d0f0
jmp 0x43639e
xor eax, eax
fld dword [0x58fa80]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x347], 8
je 0x4363f2
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x46
test ecx, ecx
je 0x4363db
call fcn.0042d0f0
jmp 0x4363dd
xor eax, eax
fld dword [0x58fb20]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x347], 0x10
je 0x436431
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x47
test ecx, ecx
je 0x43641a
call fcn.0042d0f0
jmp 0x43641c
xor eax, eax
fld dword [0x58fb1c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x347], 0x20
je 0x436470
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x48
test ecx, ecx
je 0x436459
call fcn.0042d0f0
jmp 0x43645b
xor eax, eax
fld dword [0x58fb18]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x347], 0x40
je 0x4364af
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x49
test ecx, ecx
je 0x436498
call fcn.0042d0f0
jmp 0x43649a
xor eax, eax
fld dword [0x58fb14]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x347], 0x80
je 0x4364ee
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x4a
test ecx, ecx
je 0x4364d7
call fcn.0042d0f0
jmp 0x4364d9
xor eax, eax
fld dword [0x58fb10]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
mov al, byte [esi + 0x348]
test al, al
je 0x4366ef
test al, 1
je 0x436536
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x4b
test ecx, ecx
je 0x43651f
call fcn.0042d0f0
jmp 0x436521
xor eax, eax
fld dword [0x58fb0c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x348], 2
je 0x436575
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x4c
test ecx, ecx
je 0x43655e
call fcn.0042d0f0
jmp 0x436560
xor eax, eax
fld dword [0x58fb08]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x348], 4
je 0x4365b4
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x4d
test ecx, ecx
je 0x43659d
call fcn.0042d0f0
jmp 0x43659f
xor eax, eax
fld dword [0x58fb04]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x348], 8
je 0x4365f3
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x4e
test ecx, ecx
je 0x4365dc
call fcn.0042d0f0
jmp 0x4365de
xor eax, eax
fld dword [0x58fb00]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x348], 0x10
je 0x436632
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x4f
test ecx, ecx
je 0x43661b
call fcn.0042d0f0
jmp 0x43661d
xor eax, eax
fld dword [0x58fafc]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x348], 0x20
je 0x436671
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x50
test ecx, ecx
je 0x43665a
call fcn.0042d0f0
jmp 0x43665c
xor eax, eax
fld dword [0x58faf8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x348], 0x40
je 0x4366b0
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x51
test ecx, ecx
je 0x436699
call fcn.0042d0f0
jmp 0x43669b
xor eax, eax
fld dword [0x58faf4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x348], 0x80
je 0x4366ef
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x52
test ecx, ecx
je 0x4366d8
call fcn.0042d0f0
jmp 0x4366da
xor eax, eax
fld dword [0x58faf0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
mov al, byte [esi + 0x349]
test al, al
je 0x4368f0
test al, 1
je 0x436737
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x53
test ecx, ecx
je 0x436720
call fcn.0042d0f0
jmp 0x436722
xor eax, eax
fld dword [0x58faec]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x349], 2
je 0x436776
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x54
test ecx, ecx
je 0x43675f
call fcn.0042d0f0
jmp 0x436761
xor eax, eax
fld dword [0x58fae8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x349], 4
je 0x4367b5
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x55
test ecx, ecx
je 0x43679e
call fcn.0042d0f0
jmp 0x4367a0
xor eax, eax
fld dword [0x58fae4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x349], 8
je 0x4367f4
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x56
test ecx, ecx
je 0x4367dd
call fcn.0042d0f0
jmp 0x4367df
xor eax, eax
fld dword [0x58fae0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x349], 0x10
je 0x436833
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x57
test ecx, ecx
je 0x43681c
call fcn.0042d0f0
jmp 0x43681e
xor eax, eax
fld dword [0x58fadc]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x349], 0x20
je 0x436872
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x58
test ecx, ecx
je 0x43685b
call fcn.0042d0f0
jmp 0x43685d
xor eax, eax
fld dword [0x58fad8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x349], 0x40
je 0x4368b1
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x59
test ecx, ecx
je 0x43689a
call fcn.0042d0f0
jmp 0x43689c
xor eax, eax
fld dword [0x58fad4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x349], 0x80
je 0x4368f0
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x5a
test ecx, ecx
je 0x4368d9
call fcn.0042d0f0
jmp 0x4368db
xor eax, eax
fld dword [0x58fad0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
mov al, byte [esi + 0x34a]
test al, al
je 0x436af1
test al, 1
je 0x436938
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x5b
test ecx, ecx
je 0x436921
call fcn.0042d0f0
jmp 0x436923
xor eax, eax
fld dword [0x58facc]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x34a], 2
je 0x436977
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x5c
test ecx, ecx
je 0x436960
call fcn.0042d0f0
jmp 0x436962
xor eax, eax
fld dword [0x58fac8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x34a], 4
je 0x4369b6
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x5d
test ecx, ecx
je 0x43699f
call fcn.0042d0f0
jmp 0x4369a1
xor eax, eax
fld dword [0x58fac4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x34a], 8
je 0x4369f5
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x5e
test ecx, ecx
je 0x4369de
call fcn.0042d0f0
jmp 0x4369e0
xor eax, eax
fld dword [0x58fac0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x34a], 0x10
je 0x436a34
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x5f
test ecx, ecx
je 0x436a1d
call fcn.0042d0f0
jmp 0x436a1f
xor eax, eax
fld dword [0x58fabc]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x34a], 0x20
je 0x436a73
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x60
test ecx, ecx
je 0x436a5c
call fcn.0042d0f0
jmp 0x436a5e
xor eax, eax
fld dword [0x58fab8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x34a], 0x40
je 0x436ab2
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x61
test ecx, ecx
je 0x436a9b
call fcn.0042d0f0
jmp 0x436a9d
xor eax, eax
fld dword [0x58fab4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
test byte [esi + 0x34a], 0x80
je 0x436af1
push 0xc
call fcn.00551d80
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x62
test ecx, ecx
je 0x436ada
call fcn.0042d0f0
jmp 0x436adc
xor eax, eax
fld dword [0x58fab0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.004339c2
mov eax, dword [edi + 0x40]
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
call fcn.0042d792
jmp 0x436b4f
fldz
fcomp dword [ecx + 4]
fnstsw ax
test ah, 5
jp 0x436b47
fld dword [edi + 0x44]
fdiv dword [ecx + 4]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fdivr qword [0x5cae70]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fstp dword [ecx + 8]
fild dword [edi + 0x18]
fstp dword [ebp - 0x14]
fld dword [ebp + 8]
fld dword [ebp - 0x14]
fcompp
fnstsw ax
test ah, 5
jp 0x436b47
fld dword [ebp - 0x14]
fstp dword [ecx + 8]
lea ecx, [ebp - 0x1c]
call fcn.0042d7a9
mov ecx, eax
test ecx, ecx
jne 0x436b05
movzx eax, byte [esi + 0x350]
movzx ecx, byte [esi + 0x34f]
shl eax, 8
add eax, ecx
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fld qword [0x5cae70]
fdiv st(1), st(0)
fxch st(1)
fstp dword [edi + 0x4c]
movzx eax, byte [esi + 0x352]
movzx ecx, byte [esi + 0x351]
shl eax, 8
add eax, ecx
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fdiv st(1)
fstp dword [edi + 0x48]
movzx eax, byte [esi + 0x354]
movzx ecx, byte [esi + 0x353]
shl eax, 8
add eax, ecx
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fdiv st(1)
fstp dword [edi + 0x54]
movzx eax, byte [esi + 0x356]
movzx ecx, byte [esi + 0x355]
shl eax, 8
add eax, ecx
mov dword [ebp + 8], eax
xor eax, eax
fidivr dword [ebp + 8]
fstp dword [edi + 0x58]
mov cl, byte [eax + esi + 0x2ae]
mov byte [edi + eax + 0x20], cl
inc eax
cmp eax, 0xf
jl 0x436bd5
mov byte [edi + eax + 0x20], 0
call fcn.005651da
ret 4