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

Disassembly:
push 0x10
mov eax, 0x57bd9a
call fcn.0055ccd2
mov edi, dword [ebp + 8]
push 0xb
pop ebx
cmp dword [edi + 0x18], ebx
jne 0x436007
mov esi, dword [edi + 0xc]
cmp byte [esi + 0x280], 0xc
jne 0x436007
cmp byte [esi + 0x281], 0x4a
jne 0x436007
mov dword [edi + 0x388], 1
mov al, byte [esi + 0x282]
push 0xc
mov byte [edi + 0x38c], al
call fcn.0054993e
pop ecx
test eax, eax
je 0x434001
mov ecx, eax
call fcn.00432cf4
jmp 0x434003
xor eax, eax
mov dword [edi + 0x394], eax
test byte [esi + 0x283], 1
je 0x434abf
push 0x6c
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
and dword [ebp - 4], 0
test ecx, ecx
je 0x434034
call fcn.00432d77
mov edi, eax
jmp 0x434036
xor edi, edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x394]
or dword [ebp - 4], 0xffffffff
push edi
call fcn.00432e43
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 [0x586988]
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 0x43418e
fild dword [ebp - 0x14]
push ecx
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fdiv qword [0x5c1168]
fstp dword [edi + 0x14]
fld dword [ebp - 0x14]
fdivr qword [0x586980]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fdiv qword [0x5c1180]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fstp dword [esp]
call fcn.0045c970
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 [0x5c1168]
fstp dword [edi + 0x44]
test byte [esi + 0x2c7], 1
je 0x4341f0
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 1
test ecx, ecx
je 0x4341d8
call fcn.0042c580
jmp 0x4341da
xor eax, eax
fld dword [0x586a78]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2c7], 2
je 0x434230
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 2
test ecx, ecx
je 0x434218
call fcn.0042c580
jmp 0x43421a
xor eax, eax
fld dword [0x586a70]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2c7], 4
je 0x434270
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 3
test ecx, ecx
je 0x434258
call fcn.0042c580
jmp 0x43425a
xor eax, eax
fld dword [0x586a68]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2c7], 8
je 0x4342b0
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 4
test ecx, ecx
je 0x434298
call fcn.0042c580
jmp 0x43429a
xor eax, eax
fld dword [0x586b08]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2c7], 0x10
je 0x4342f0
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 5
test ecx, ecx
je 0x4342d8
call fcn.0042c580
jmp 0x4342da
xor eax, eax
fld dword [0x586b04]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2c7], 0x20
je 0x434330
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 6
test ecx, ecx
je 0x434318
call fcn.0042c580
jmp 0x43431a
xor eax, eax
fld dword [0x586b00]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2c7], 0x40
je 0x434370
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 7
test ecx, ecx
je 0x434358
call fcn.0042c580
jmp 0x43435a
xor eax, eax
fld dword [0x586afc]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2c7], 0x80
je 0x4343b0
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 8
test ecx, ecx
je 0x434398
call fcn.0042c580
jmp 0x43439a
xor eax, eax
fld dword [0x586af8]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
mov al, byte [esi + 0x2c8]
test al, al
je 0x4345b3
test al, 1
je 0x4343f9
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 9
test ecx, ecx
je 0x4343e1
call fcn.0042c580
jmp 0x4343e3
xor eax, eax
fld dword [0x586af4]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2c8], 2
je 0x434439
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0xa
test ecx, ecx
je 0x434421
call fcn.0042c580
jmp 0x434423
xor eax, eax
fld dword [0x586af0]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2c8], 4
je 0x434475
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], ebx
test ecx, ecx
je 0x43445d
call fcn.0042c580
jmp 0x43445f
xor eax, eax
fld dword [0x586aec]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2c8], 8
je 0x4344b3
push 0xc
pop ebx
push ebx
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], ebx
test ecx, ecx
je 0x43449b
call fcn.0042c580
jmp 0x43449d
xor eax, eax
fld dword [0x586ae8]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2c8], 0x10
je 0x4344f3
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0xd
test ecx, ecx
je 0x4344db
call fcn.0042c580
jmp 0x4344dd
xor eax, eax
fld dword [0x586ae4]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2c8], 0x20
je 0x434533
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0xe
test ecx, ecx
je 0x43451b
call fcn.0042c580
jmp 0x43451d
xor eax, eax
fld dword [0x586ae0]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2c8], 0x40
je 0x434573
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0xf
test ecx, ecx
je 0x43455b
call fcn.0042c580
jmp 0x43455d
xor eax, eax
fld dword [0x586adc]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2c8], 0x80
je 0x4345b3
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x10
test ecx, ecx
je 0x43459b
call fcn.0042c580
jmp 0x43459d
xor eax, eax
fld dword [0x586ad8]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
mov al, byte [esi + 0x2c9]
test al, al
je 0x4347bc
test al, 1
je 0x4345fc
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x11
test ecx, ecx
je 0x4345e4
call fcn.0042c580
jmp 0x4345e6
xor eax, eax
fld dword [0x586ad4]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2c9], 2
je 0x43463c
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x12
test ecx, ecx
je 0x434624
call fcn.0042c580
jmp 0x434626
xor eax, eax
fld dword [0x586ad0]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2c9], 4
je 0x43467c
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x13
test ecx, ecx
je 0x434664
call fcn.0042c580
jmp 0x434666
xor eax, eax
fld dword [0x586acc]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2c9], 8
je 0x4346bc
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x14
test ecx, ecx
je 0x4346a4
call fcn.0042c580
jmp 0x4346a6
xor eax, eax
fld dword [0x586ac8]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2c9], 0x10
je 0x4346fc
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x15
test ecx, ecx
je 0x4346e4
call fcn.0042c580
jmp 0x4346e6
xor eax, eax
fld dword [0x586ac4]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2c9], 0x20
je 0x43473c
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x16
test ecx, ecx
je 0x434724
call fcn.0042c580
jmp 0x434726
xor eax, eax
fld dword [0x586ac0]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2c9], 0x40
je 0x43477c
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x17
test ecx, ecx
je 0x434764
call fcn.0042c580
jmp 0x434766
xor eax, eax
fld dword [0x586abc]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2c9], 0x80
je 0x4347bc
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x18
test ecx, ecx
je 0x4347a4
call fcn.0042c580
jmp 0x4347a6
xor eax, eax
fld dword [0x586ab8]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
mov al, byte [esi + 0x2ca]
test al, al
je 0x4349c5
test al, 1
je 0x434805
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x19
test ecx, ecx
je 0x4347ed
call fcn.0042c580
jmp 0x4347ef
xor eax, eax
fld dword [0x586ab4]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2ca], 2
je 0x434845
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x1a
test ecx, ecx
je 0x43482d
call fcn.0042c580
jmp 0x43482f
xor eax, eax
fld dword [0x586ab0]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2ca], 4
je 0x434885
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x1b
test ecx, ecx
je 0x43486d
call fcn.0042c580
jmp 0x43486f
xor eax, eax
fld dword [0x586aac]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2ca], 8
je 0x4348c5
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x1c
test ecx, ecx
je 0x4348ad
call fcn.0042c580
jmp 0x4348af
xor eax, eax
fld dword [0x586aa8]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2ca], 0x10
je 0x434905
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x1d
test ecx, ecx
je 0x4348ed
call fcn.0042c580
jmp 0x4348ef
xor eax, eax
fld dword [0x586aa4]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2ca], 0x20
je 0x434945
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x1e
test ecx, ecx
je 0x43492d
call fcn.0042c580
jmp 0x43492f
xor eax, eax
fld dword [0x586aa0]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2ca], 0x40
je 0x434985
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x1f
test ecx, ecx
je 0x43496d
call fcn.0042c580
jmp 0x43496f
xor eax, eax
fld dword [0x586a9c]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
test byte [esi + 0x2ca], 0x80
je 0x4349c5
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x20
test ecx, ecx
je 0x4349ad
call fcn.0042c580
jmp 0x4349af
xor eax, eax
fld dword [0x586a98]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.00432dde
mov eax, dword [edi + 0x40]
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
call fcn.0042cc22
jmp 0x434a23
fldz
fcomp dword [ecx + 4]
fnstsw ax
test ah, 5
jp 0x434a1b
fld dword [edi + 0x44]
fdiv dword [ecx + 4]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fdivr qword [0x5c1168]
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 0x434a1b
fld dword [ebp - 0x14]
fstp dword [ecx + 8]
lea ecx, [ebp - 0x1c]
call fcn.0042cc39
mov ecx, eax
test ecx, ecx
jne 0x4349d9
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 [0x5c1168]
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 0x434aa9
mov byte [eax + edi + 0x20], 0
test byte [esi + 0x283], 2
je 0x435563
push 0x6c
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x21
test ecx, ecx
je 0x434aed
call fcn.00432d77
mov edi, eax
jmp 0x434aef
xor edi, edi
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0x394]
or dword [ebp - 4], 0xffffffff
push edi
call fcn.00432e43
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 [0x586988]
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 0x434c44
fild dword [ebp - 0x14]
push ecx
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fdiv qword [0x5c1168]
fstp dword [edi + 0x14]
fld dword [ebp - 0x14]
fdivr qword [0x586980]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fdiv qword [0x5c1180]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fstp dword [esp]
call fcn.0045c970
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 [0x5c1168]
fstp dword [edi + 0x44]
test byte [esi + 0x307], 1
je 0x434caa
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x22
test ecx, ecx
je 0x434c8e
call fcn.0042c580
jmp 0x434c90
xor eax, eax
fld dword [0x586a78]
or ebx, 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
mov dword [ebp - 4], ebx
call fcn.00432dde
jmp 0x434cad
or ebx, 0xffffffff
test byte [esi + 0x307], 2
je 0x434cec
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x23
test ecx, ecx
je 0x434cd5
call fcn.0042c580
jmp 0x434cd7
xor eax, eax
fld dword [0x586a70]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x307], 4
je 0x434d2b
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x24
test ecx, ecx
je 0x434d14
call fcn.0042c580
jmp 0x434d16
xor eax, eax
fld dword [0x586a68]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x307], 8
je 0x434d6a
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x25
test ecx, ecx
je 0x434d53
call fcn.0042c580
jmp 0x434d55
xor eax, eax
fld dword [0x586b08]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x307], 0x10
je 0x434da9
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x26
test ecx, ecx
je 0x434d92
call fcn.0042c580
jmp 0x434d94
xor eax, eax
fld dword [0x586b04]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x307], 0x20
je 0x434de8
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x27
test ecx, ecx
je 0x434dd1
call fcn.0042c580
jmp 0x434dd3
xor eax, eax
fld dword [0x586b00]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x307], 0x40
je 0x434e27
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x28
test ecx, ecx
je 0x434e10
call fcn.0042c580
jmp 0x434e12
xor eax, eax
fld dword [0x586afc]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x307], 0x80
je 0x434e66
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x29
test ecx, ecx
je 0x434e4f
call fcn.0042c580
jmp 0x434e51
xor eax, eax
fld dword [0x586af8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
mov al, byte [esi + 0x308]
test al, al
je 0x435067
test al, 1
je 0x434eae
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x2a
test ecx, ecx
je 0x434e97
call fcn.0042c580
jmp 0x434e99
xor eax, eax
fld dword [0x586af4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x308], 2
je 0x434eed
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x2b
test ecx, ecx
je 0x434ed6
call fcn.0042c580
jmp 0x434ed8
xor eax, eax
fld dword [0x586af0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x308], 4
je 0x434f2c
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x2c
test ecx, ecx
je 0x434f15
call fcn.0042c580
jmp 0x434f17
xor eax, eax
fld dword [0x586aec]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x308], 8
je 0x434f6b
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x2d
test ecx, ecx
je 0x434f54
call fcn.0042c580
jmp 0x434f56
xor eax, eax
fld dword [0x586ae8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x308], 0x10
je 0x434faa
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x2e
test ecx, ecx
je 0x434f93
call fcn.0042c580
jmp 0x434f95
xor eax, eax
fld dword [0x586ae4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x308], 0x20
je 0x434fe9
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x2f
test ecx, ecx
je 0x434fd2
call fcn.0042c580
jmp 0x434fd4
xor eax, eax
fld dword [0x586ae0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x308], 0x40
je 0x435028
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x30
test ecx, ecx
je 0x435011
call fcn.0042c580
jmp 0x435013
xor eax, eax
fld dword [0x586adc]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x308], 0x80
je 0x435067
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x31
test ecx, ecx
je 0x435050
call fcn.0042c580
jmp 0x435052
xor eax, eax
fld dword [0x586ad8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
mov al, byte [esi + 0x309]
test al, al
je 0x435268
test al, 1
je 0x4350af
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x32
test ecx, ecx
je 0x435098
call fcn.0042c580
jmp 0x43509a
xor eax, eax
fld dword [0x586ad4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x309], 2
je 0x4350ee
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x33
test ecx, ecx
je 0x4350d7
call fcn.0042c580
jmp 0x4350d9
xor eax, eax
fld dword [0x586ad0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x309], 4
je 0x43512d
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x34
test ecx, ecx
je 0x435116
call fcn.0042c580
jmp 0x435118
xor eax, eax
fld dword [0x586acc]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x309], 8
je 0x43516c
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x35
test ecx, ecx
je 0x435155
call fcn.0042c580
jmp 0x435157
xor eax, eax
fld dword [0x586ac8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x309], 0x10
je 0x4351ab
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x36
test ecx, ecx
je 0x435194
call fcn.0042c580
jmp 0x435196
xor eax, eax
fld dword [0x586ac4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x309], 0x20
je 0x4351ea
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x37
test ecx, ecx
je 0x4351d3
call fcn.0042c580
jmp 0x4351d5
xor eax, eax
fld dword [0x586ac0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x309], 0x40
je 0x435229
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x38
test ecx, ecx
je 0x435212
call fcn.0042c580
jmp 0x435214
xor eax, eax
fld dword [0x586abc]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x309], 0x80
je 0x435268
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x39
test ecx, ecx
je 0x435251
call fcn.0042c580
jmp 0x435253
xor eax, eax
fld dword [0x586ab8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
mov al, byte [esi + 0x30a]
test al, al
je 0x435469
test al, 1
je 0x4352b0
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x3a
test ecx, ecx
je 0x435299
call fcn.0042c580
jmp 0x43529b
xor eax, eax
fld dword [0x586ab4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x30a], 2
je 0x4352ef
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x3b
test ecx, ecx
je 0x4352d8
call fcn.0042c580
jmp 0x4352da
xor eax, eax
fld dword [0x586ab0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x30a], 4
je 0x43532e
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x3c
test ecx, ecx
je 0x435317
call fcn.0042c580
jmp 0x435319
xor eax, eax
fld dword [0x586aac]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x30a], 8
je 0x43536d
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x3d
test ecx, ecx
je 0x435356
call fcn.0042c580
jmp 0x435358
xor eax, eax
fld dword [0x586aa8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x30a], 0x10
je 0x4353ac
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x3e
test ecx, ecx
je 0x435395
call fcn.0042c580
jmp 0x435397
xor eax, eax
fld dword [0x586aa4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x30a], 0x20
je 0x4353eb
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x3f
test ecx, ecx
je 0x4353d4
call fcn.0042c580
jmp 0x4353d6
xor eax, eax
fld dword [0x586aa0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x30a], 0x40
je 0x43542a
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x40
test ecx, ecx
je 0x435413
call fcn.0042c580
jmp 0x435415
xor eax, eax
fld dword [0x586a9c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x30a], 0x80
je 0x435469
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x41
test ecx, ecx
je 0x435452
call fcn.0042c580
jmp 0x435454
xor eax, eax
fld dword [0x586a98]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
mov eax, dword [edi + 0x40]
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
call fcn.0042cc22
jmp 0x4354c7
fldz
fcomp dword [ecx + 4]
fnstsw ax
test ah, 5
jp 0x4354bf
fld dword [edi + 0x44]
fdiv dword [ecx + 4]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fdivr qword [0x5c1168]
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 0x4354bf
fld dword [ebp - 0x14]
fstp dword [ecx + 8]
lea ecx, [ebp - 0x1c]
call fcn.0042cc39
mov ecx, eax
test ecx, ecx
jne 0x43547d
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 [0x5c1168]
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 0x43554d
mov byte [edi + eax + 0x20], 0
test byte [esi + 0x283], 4
je 0x436007
push 0x6c
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x42
test ecx, ecx
je 0x435591
call fcn.00432d77
mov edi, eax
jmp 0x435593
xor edi, edi
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0x394]
or dword [ebp - 4], 0xffffffff
push edi
call fcn.00432e43
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 [0x586988]
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 0x4356e8
fild dword [ebp + 8]
push ecx
fstp dword [ebp + 8]
fld dword [ebp + 8]
fdiv qword [0x5c1168]
fstp dword [edi + 0x14]
fld dword [ebp + 8]
fdivr qword [0x586980]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fdiv qword [0x5c1180]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fstp dword [esp]
call fcn.0045c970
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 [0x5c1168]
fstp dword [edi + 0x44]
test byte [esi + 0x347], 1
je 0x43574e
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x43
test ecx, ecx
je 0x435732
call fcn.0042c580
jmp 0x435734
xor eax, eax
fld dword [0x586a78]
or ebx, 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
mov dword [ebp - 4], ebx
call fcn.00432dde
jmp 0x435751
or ebx, 0xffffffff
test byte [esi + 0x347], 2
je 0x435790
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x44
test ecx, ecx
je 0x435779
call fcn.0042c580
jmp 0x43577b
xor eax, eax
fld dword [0x586a70]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x347], 4
je 0x4357cf
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x45
test ecx, ecx
je 0x4357b8
call fcn.0042c580
jmp 0x4357ba
xor eax, eax
fld dword [0x586a68]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x347], 8
je 0x43580e
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x46
test ecx, ecx
je 0x4357f7
call fcn.0042c580
jmp 0x4357f9
xor eax, eax
fld dword [0x586b08]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x347], 0x10
je 0x43584d
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x47
test ecx, ecx
je 0x435836
call fcn.0042c580
jmp 0x435838
xor eax, eax
fld dword [0x586b04]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x347], 0x20
je 0x43588c
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x48
test ecx, ecx
je 0x435875
call fcn.0042c580
jmp 0x435877
xor eax, eax
fld dword [0x586b00]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x347], 0x40
je 0x4358cb
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x49
test ecx, ecx
je 0x4358b4
call fcn.0042c580
jmp 0x4358b6
xor eax, eax
fld dword [0x586afc]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x347], 0x80
je 0x43590a
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x4a
test ecx, ecx
je 0x4358f3
call fcn.0042c580
jmp 0x4358f5
xor eax, eax
fld dword [0x586af8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
mov al, byte [esi + 0x348]
test al, al
je 0x435b0b
test al, 1
je 0x435952
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x4b
test ecx, ecx
je 0x43593b
call fcn.0042c580
jmp 0x43593d
xor eax, eax
fld dword [0x586af4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x348], 2
je 0x435991
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x4c
test ecx, ecx
je 0x43597a
call fcn.0042c580
jmp 0x43597c
xor eax, eax
fld dword [0x586af0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x348], 4
je 0x4359d0
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x4d
test ecx, ecx
je 0x4359b9
call fcn.0042c580
jmp 0x4359bb
xor eax, eax
fld dword [0x586aec]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x348], 8
je 0x435a0f
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x4e
test ecx, ecx
je 0x4359f8
call fcn.0042c580
jmp 0x4359fa
xor eax, eax
fld dword [0x586ae8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x348], 0x10
je 0x435a4e
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x4f
test ecx, ecx
je 0x435a37
call fcn.0042c580
jmp 0x435a39
xor eax, eax
fld dword [0x586ae4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x348], 0x20
je 0x435a8d
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x50
test ecx, ecx
je 0x435a76
call fcn.0042c580
jmp 0x435a78
xor eax, eax
fld dword [0x586ae0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x348], 0x40
je 0x435acc
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x51
test ecx, ecx
je 0x435ab5
call fcn.0042c580
jmp 0x435ab7
xor eax, eax
fld dword [0x586adc]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x348], 0x80
je 0x435b0b
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x52
test ecx, ecx
je 0x435af4
call fcn.0042c580
jmp 0x435af6
xor eax, eax
fld dword [0x586ad8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
mov al, byte [esi + 0x349]
test al, al
je 0x435d0c
test al, 1
je 0x435b53
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x53
test ecx, ecx
je 0x435b3c
call fcn.0042c580
jmp 0x435b3e
xor eax, eax
fld dword [0x586ad4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x349], 2
je 0x435b92
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x54
test ecx, ecx
je 0x435b7b
call fcn.0042c580
jmp 0x435b7d
xor eax, eax
fld dword [0x586ad0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x349], 4
je 0x435bd1
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x55
test ecx, ecx
je 0x435bba
call fcn.0042c580
jmp 0x435bbc
xor eax, eax
fld dword [0x586acc]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x349], 8
je 0x435c10
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x56
test ecx, ecx
je 0x435bf9
call fcn.0042c580
jmp 0x435bfb
xor eax, eax
fld dword [0x586ac8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x349], 0x10
je 0x435c4f
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x57
test ecx, ecx
je 0x435c38
call fcn.0042c580
jmp 0x435c3a
xor eax, eax
fld dword [0x586ac4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x349], 0x20
je 0x435c8e
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x58
test ecx, ecx
je 0x435c77
call fcn.0042c580
jmp 0x435c79
xor eax, eax
fld dword [0x586ac0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x349], 0x40
je 0x435ccd
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x59
test ecx, ecx
je 0x435cb6
call fcn.0042c580
jmp 0x435cb8
xor eax, eax
fld dword [0x586abc]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x349], 0x80
je 0x435d0c
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x5a
test ecx, ecx
je 0x435cf5
call fcn.0042c580
jmp 0x435cf7
xor eax, eax
fld dword [0x586ab8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
mov al, byte [esi + 0x34a]
test al, al
je 0x435f0d
test al, 1
je 0x435d54
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x5b
test ecx, ecx
je 0x435d3d
call fcn.0042c580
jmp 0x435d3f
xor eax, eax
fld dword [0x586ab4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x34a], 2
je 0x435d93
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x5c
test ecx, ecx
je 0x435d7c
call fcn.0042c580
jmp 0x435d7e
xor eax, eax
fld dword [0x586ab0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x34a], 4
je 0x435dd2
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x5d
test ecx, ecx
je 0x435dbb
call fcn.0042c580
jmp 0x435dbd
xor eax, eax
fld dword [0x586aac]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x34a], 8
je 0x435e11
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x5e
test ecx, ecx
je 0x435dfa
call fcn.0042c580
jmp 0x435dfc
xor eax, eax
fld dword [0x586aa8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x34a], 0x10
je 0x435e50
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x5f
test ecx, ecx
je 0x435e39
call fcn.0042c580
jmp 0x435e3b
xor eax, eax
fld dword [0x586aa4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x34a], 0x20
je 0x435e8f
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x60
test ecx, ecx
je 0x435e78
call fcn.0042c580
jmp 0x435e7a
xor eax, eax
fld dword [0x586aa0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x34a], 0x40
je 0x435ece
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x61
test ecx, ecx
je 0x435eb7
call fcn.0042c580
jmp 0x435eb9
xor eax, eax
fld dword [0x586a9c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
test byte [esi + 0x34a], 0x80
je 0x435f0d
push 0xc
call fcn.0054993e
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x62
test ecx, ecx
je 0x435ef6
call fcn.0042c580
jmp 0x435ef8
xor eax, eax
fld dword [0x586a98]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.00432dde
mov eax, dword [edi + 0x40]
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
call fcn.0042cc22
jmp 0x435f6b
fldz
fcomp dword [ecx + 4]
fnstsw ax
test ah, 5
jp 0x435f63
fld dword [edi + 0x44]
fdiv dword [ecx + 4]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fdivr qword [0x5c1168]
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 0x435f63
fld dword [ebp - 0x14]
fstp dword [ecx + 8]
lea ecx, [ebp - 0x1c]
call fcn.0042cc39
mov ecx, eax
test ecx, ecx
jne 0x435f21
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 [0x5c1168]
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 0x435ff1
mov byte [edi + eax + 0x20], 0
call fcn.0055cdaa
ret 4