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

Disassembly:
sub esp, 0x108
mov eax, dword [0x5370e4]
xor eax, esp
mov dword [esp + 0x104], eax
fldz
xor eax, eax
push ebx
fst qword [esp + 0x5c]
push ebp
fstp qword [esp + 0x68]
push esi
mov esi, dword [esp + 0x118]
push edi
xor edi, edi
mov dword [esp + 0x64], esi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edi
cmp edx, 3
jb 0x417be5
cmp byte [esi], 0xef
jne 0x417be5
cmp byte [esi + 1], 0xbb
jne 0x417be5
cmp byte [esi + 2], 0xbf
jne 0x417be5
add esi, 3
mov dword [esp + 0x64], esi
sub edx, 3
add esi, edx
mov edx, dword [ecx + 4]
mov byte [esp + 0x90], al
mov eax, dword [ecx]
mov dword [esp + 0x58], esi
mov esi, dword [ecx + 0x10]
mov dword [esp + 0x28], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x2c], edx
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], ecx
cmp eax, edi
jne 0x417c27
mov dword [esp + 0x30], 0x4179d0
cmp edx, edi
jne 0x417c33
mov dword [esp + 0x34], 0x417a00
mov dword [esp + 0x40], 1
jmp 0x417c40
mov edi, dword [esp + 0x64]
xor ebp, ebp
xor edx, edx
xor esi, esi
mov dword [esp + 0x60], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x54], ebp
mov dword [esp + 0x1c], ebp
lea ebx, [ebp + 8]
mov dword [esp + 0x48], 1
mov eax, dword [esp + 0x40]
mov dword [esp + 0x44], edi
cmp edi, dword [esp + 0x58]
jne 0x417c7b
xor cl, cl
mov byte [esp + 0x13], cl
jmp 0x417c82
movzx ecx, byte [edi]
mov byte [esp + 0x13], cl
test bl, 0x20
je 0x418011
test cl, cl
je 0x41892b
cmp esi, 0xfffffff7
ja 0x418b9f
test bl, 0x10
je 0x417fd1
movsx eax, cl
and ebx, 0xffffffef
add eax, 0xffffff9e
mov dword [esp + 0x14], ebx
cmp eax, 0x13
ja case.0x417cc2.99
movzx eax, byte [eax + 0x418c5c]
jmp dword [eax*4 + 0x418c40]
cmp dword [esp + 0x40], 0
jne 0x417cd4
mov byte [esi + edx], 8
mov edx, dword [esp + 0x60]
inc esi
mov dword [esp + 0x18], esi
inc edi
jmp 0x417c65
cmp dword [esp + 0x40], 0
jne 0x417ceb
mov byte [esi + edx], 0xc
mov edx, dword [esp + 0x60]
inc esi
mov dword [esp + 0x18], esi
inc edi
jmp 0x417c65
cmp dword [esp + 0x40], 0
jne 0x417d05
mov byte [esi + edx], 0xa
mov edx, dword [esp + 0x60]
inc esi
mov dword [esp + 0x18], esi
inc edi
jmp 0x417c65
cmp dword [esp + 0x40], 0
jne 0x417d1f
mov byte [esi + edx], 0xd
mov edx, dword [esp + 0x60]
inc esi
mov dword [esp + 0x18], esi
inc edi
jmp 0x417c65
cmp dword [esp + 0x40], 0
jne 0x417d39
mov byte [esi + edx], 9
mov edx, dword [esp + 0x60]
inc esi
mov dword [esp + 0x18], esi
inc edi
jmp 0x417c65
mov edx, dword [esp + 0x58]
sub edx, edi
cmp edx, 4
jle 0x418975
mov bl, byte [edi + 1]
inc edi
mov dword [esp + 0x44], edi
call fcn.00417900
mov byte [esp + 0x22], al
cmp al, 0xff
je 0x418971
mov bl, byte [edi + 1]
inc edi
mov dword [esp + 0x44], edi
call fcn.00417900
mov byte [esp + 0x21], al
cmp al, 0xff
je 0x418971
mov bl, byte [edi + 1]
inc edi
mov dword [esp + 0x44], edi
call fcn.00417900
mov byte [esp + 0x23], al
cmp al, 0xff
je 0x418971
mov bl, byte [edi + 1]
inc edi
mov dword [esp + 0x44], edi
call fcn.00417900
cmp al, 0xff
je 0x418971
mov cl, byte [esp + 0x22]
shl cl, 4
or cl, byte [esp + 0x21]
movzx eax, al
mov dl, cl
mov cl, byte [esp + 0x23]
shl cl, 4
movzx edx, dl
movzx ecx, cl
shl edx, 8
or ecx, edx
or ecx, eax
mov edx, ecx
and edx, 0xf800
mov dword [esp + 0x18], ecx
cmp edx, 0xd800
jne 0x417ec2
mov eax, dword [esp + 0x58]
sub eax, edi
cmp eax, 6
jle 0x41894f
inc edi
cmp byte [edi], 0x5c
mov dword [esp + 0x44], edi
jne 0x41894f
inc edi
cmp byte [edi], 0x75
mov dword [esp + 0x44], edi
jne 0x41894f
mov bl, byte [edi + 1]
inc edi
mov dword [esp + 0x44], edi
call fcn.00417900
mov byte [esp + 0x22], al
cmp al, 0xff
je 0x41894f
mov bl, byte [edi + 1]
inc edi
mov dword [esp + 0x44], edi
call fcn.00417900
mov byte [esp + 0x21], al
cmp al, 0xff
je 0x41894f
mov bl, byte [edi + 1]
inc edi
mov dword [esp + 0x44], edi
call fcn.00417900
mov byte [esp + 0x23], al
cmp al, 0xff
je 0x41894f
mov bl, byte [edi + 1]
inc edi
mov dword [esp + 0x44], edi
call fcn.00417900
cmp al, 0xff
je 0x41894f
mov cl, byte [esp + 0x22]
mov edx, dword [esp + 0x18]
shl cl, 4
or cl, byte [esp + 0x21]
and edx, 0x3bf
movzx ecx, cl
or edx, 0x40
and ecx, 3
add edx, edx
add edx, edx
or edx, ecx
mov cl, byte [esp + 0x23]
shl cl, 4
movzx ecx, cl
movzx eax, al
or ecx, eax
and ecx, 0x3ff
shl edx, 8
or edx, ecx
mov dword [esp + 0x18], edx
mov ecx, edx
cmp ecx, 0x7f
ja 0x417ee8
cmp dword [esp + 0x40], 0
jne 0x417ed5
mov edx, dword [esp + 0x60]
mov byte [esi + edx], cl
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x60]
inc esi
mov dword [esp + 0x18], esi
inc edi
jmp 0x417c65
mov ebx, dword [esp + 0x14]
cmp ecx, 0x7ff
ja 0x417f34
cmp dword [esp + 0x40], 0
je 0x417f0c
mov edx, dword [esp + 0x60]
add esi, 2
mov dword [esp + 0x18], esi
inc edi
jmp 0x417c65
mov eax, dword [esp + 0x60]
mov edx, ecx
shr edx, 6
or dl, 0xc0
mov byte [esi + eax], dl
mov edx, dword [esp + 0x60]
and cl, 0x3f
inc esi
or cl, 0x80
mov byte [esi + eax], cl
inc esi
mov dword [esp + 0x18], esi
inc edi
jmp 0x417c65
cmp ecx, 0xffff
ja 0x417f71
cmp dword [esp + 0x40], 0
je 0x417f54
mov edx, dword [esp + 0x60]
add esi, 3
mov dword [esp + 0x18], esi
inc edi
jmp 0x417c65
mov eax, dword [esp + 0x60]
mov edx, ecx
shr edx, 0xc
or dl, 0xe0
mov byte [esi + eax], dl
mov edx, ecx
shr edx, 6
and dl, 0x3f
inc esi
or dl, 0x80
jmp 0x417f18
cmp dword [esp + 0x40], 0
je 0x417f89
mov edx, dword [esp + 0x60]
add esi, 4
mov dword [esp + 0x18], esi
inc edi
jmp 0x417c65
mov eax, dword [esp + 0x60]
mov edx, ecx
shr edx, 0x12
or dl, 0xf0
mov byte [esi + eax], dl
mov edx, ecx
shr edx, 0xc
and dl, 0x3f
or dl, 0x80
inc esi
mov byte [esi + eax], dl
mov edx, ecx
shr edx, 6
and dl, 0x3f
inc esi
or dl, 0x80
jmp 0x417f18
cmp dword [esp + 0x40], 0
jne 0x417fc2
mov byte [esi + edx], cl
mov edx, dword [esp + 0x60]
inc esi
mov dword [esp + 0x18], esi
inc edi
jmp 0x417c65
cmp cl, 0x5c
jne 0x417fe3
mov edx, dword [esp + 0x60]
or ebx, 0x10
inc edi
jmp 0x417c65
cmp cl, 0x22
jne 0x4180a0
test eax, eax
jne 0x417ff3
mov byte [esi + edx], al
mov eax, dword [ebp + 4]
and ebx, 0xffffffdf
sub eax, 1
mov dword [esp + 0x60], 0
je 0x418057
sub eax, 4
jne 0x418011
mov dword [ebp + 8], esi
or ebx, 1
test byte [esp + 0x2c], 1
je 0x418150
test ebx, 0x6000
je 0x4180ff
test ebx, 0x2000
je 0x4180ba
cmp cl, 0xd
je 0x418046
cmp cl, 0xa
je 0x418046
test cl, cl
jne case.0x41883e.9
mov edx, dword [esp + 0x60]
dec edi
and ebx, 0xffffdfff
inc edi
jmp 0x417c65
cmp dword [esp + 0x40], 0
je 0x418071
mov edx, dword [esp + 0x60]
lea eax, [esi + 1]
add dword [ebp + 0xc], eax
or ebx, 0x48
inc edi
jmp 0x417c65
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
lea ecx, [eax + eax*2]
mov eax, dword [ebp + 0x10]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
lea ecx, [eax + eax*2]
mov dword [edx + ecx*4 + 4], esi
mov edx, dword [esp + 0x60]
lea eax, [esi + 1]
add dword [ebp + 0x10], eax
or ebx, 0x48
inc edi
jmp 0x417c65
test eax, eax
jne 0x417fc2
mov byte [esi + edx], cl
mov edx, dword [esp + 0x60]
inc esi
mov dword [esp + 0x18], esi
inc edi
jmp 0x417c65
test ebx, 0x4000
je 0x418150
test cl, cl
je 0x418995
cmp cl, 0x2a
jne case.0x41883e.9
mov ecx, dword [esp + 0x58]
dec ecx
cmp edi, ecx
jae case.0x41883e.9
cmp byte [edi + 1], 0x2f
jne case.0x41883e.9
mov edx, dword [esp + 0x60]
inc edi
and ebx, 0xffffbfff
inc edi
jmp 0x417c65
cmp cl, 0x2f
jne 0x418150
test bl, 0x88
jne 0x418113
cmp dword [ebp + 4], 1
jne 0x4189b9
inc edi
mov dword [esp + 0x44], edi
cmp edi, dword [esp + 0x58]
je 0x4189dd
mov al, byte [edi]
cmp al, 0x2a
je 0x418140
cmp al, 0x2f
jne 0x418a01
mov edx, dword [esp + 0x60]
or ebx, 0x2000
inc edi
jmp 0x417c65
mov edx, dword [esp + 0x60]
or ebx, 0x4000
inc edi
jmp 0x417c65
test bl, bl
jns 0x41818f
test cl, cl
je 0x418913
movsx eax, cl
add eax, 0xfffffff7
cmp eax, 0x17
ja case.0x418172.11
movzx edx, byte [eax + 0x418c7c]
jmp dword [edx*4 + 0x418c70]
inc dword [esp + 0x48]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x4c], 0
inc edi
jmp 0x417c65
test bl, 8
je 0x41850b
movsx eax, cl
lea edx, [eax - 9]
cmp edx, 0x54
ja case.0x4181aa.11
movzx edx, byte [edx + 0x418ca4]
jmp dword [edx*4 + 0x418c94]
test ebp, ebp
je 0x418a39
cmp dword [ebp + 4], 2
jne 0x418a39
and ebx, 0xfffffff3
or ebx, 1
mov dword [esp + 0x14], ebx
jmp 0x418878
test bl, 4
je 0x4181ed
cmp cl, 0x2c
jne 0x418a5d
mov edx, dword [esp + 0x60]
and ebx, 0xfffffffb
inc edi
jmp 0x417c65
test bl, 0x40
je 0x418208
cmp cl, 0x3a
jne 0x418a7d
mov edx, dword [esp + 0x60]
and ebx, 0xffffffbf
inc edi
jmp 0x417c65
and ebx, 0xfffffff7
add eax, 0xffffffde
mov dword [esp + 0x14], ebx
cmp eax, 0x59
ja case.0x418222.35
movzx eax, byte [eax + 0x418d18]
jmp dword [eax*4 + 0x418cfc]
lea ecx, [esp + 0x54]
push 1
push ecx
lea ecx, [esp + 0x64]
lea ebx, [esp + 0x24]
lea eax, [esp + 0x2c]
call fcn.00417a50
add esp, 8
test eax, eax
je 0x418ad9
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x60]
inc edi
jmp 0x417c65
lea edx, [esp + 0x54]
push 2
push edx
lea ecx, [esp + 0x64]
lea ebx, [esp + 0x24]
lea eax, [esp + 0x2c]
call fcn.00417a50
add esp, 8
test eax, eax
je 0x418ad9
or dword [esp + 0x14], 8
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x60]
inc edi
jmp 0x417c65
lea eax, [esp + 0x54]
push 5
push eax
lea ecx, [esp + 0x64]
lea ebx, [esp + 0x24]
lea eax, [esp + 0x2c]
call fcn.00417a50
add esp, 8
test eax, eax
je 0x418ad9
mov ebp, dword [esp + 0x1c]
or dword [esp + 0x14], 0x20
mov ecx, dword [ebp + 0xc]
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x14]
xor esi, esi
mov dword [esp + 0x60], ecx
mov dword [esp + 0x18], esi
inc edi
mov edx, ecx
jmp 0x417c65
mov edx, dword [esp + 0x58]
sub edx, edi
cmp edx, 3
jle 0x418a95
inc edi
cmp byte [edi], 0x72
mov dword [esp + 0x44], edi
jne 0x418a95
inc edi
cmp byte [edi], 0x75
mov dword [esp + 0x44], edi
jne 0x418a95
inc edi
cmp byte [edi], 0x65
mov dword [esp + 0x44], edi
jne 0x418a95
lea eax, [esp + 0x54]
push 6
push eax
lea ecx, [esp + 0x64]
lea ebx, [esp + 0x24]
lea eax, [esp + 0x2c]
call fcn.00417a50
add esp, 8
test eax, eax
je 0x418ad9
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x44]
mov eax, 1
or dword [esp + 0x14], eax
mov ebx, dword [esp + 0x14]
mov dword [ebp + 8], eax
jmp 0x418878
mov ecx, dword [esp + 0x58]
sub ecx, edi
cmp ecx, 4
jle 0x418a95
inc edi
cmp byte [edi], 0x61
mov dword [esp + 0x44], edi
jne 0x418a95
inc edi
cmp byte [edi], 0x6c
mov dword [esp + 0x44], edi
jne 0x418a95
inc edi
cmp byte [edi], 0x73
mov dword [esp + 0x44], edi
jne 0x418a95
inc edi
cmp byte [edi], 0x65
mov dword [esp + 0x44], edi
jne 0x418a95
push 6
lea edx, [esp + 0x58]
push edx
lea ecx, [esp + 0x64]
lea ebx, [esp + 0x24]
lea eax, [esp + 0x2c]
call fcn.00417a50
add esp, 8
test eax, eax
je 0x418ad9
or dword [esp + 0x14], 1
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
jmp 0x418878
mov eax, dword [esp + 0x58]
sub eax, edi
cmp eax, 3
jle 0x418a95
inc edi
cmp byte [edi], 0x75
mov dword [esp + 0x44], edi
jne 0x418a95
inc edi
cmp byte [edi], 0x6c
mov dword [esp + 0x44], edi
jne 0x418a95
inc edi
cmp byte [edi], 0x6c
mov dword [esp + 0x44], edi
jne 0x418a95
push 7
lea ecx, [esp + 0x58]
push ecx
jmp 0x4183b0
movzx edx, cl
push edx
call fcn.0042b445
add esp, 4
test eax, eax
jne 0x418440
mov al, byte [esp + 0x13]
cmp al, 0x2d
jne 0x418ab9
lea eax, [esp + 0x54]
push 3
push eax
lea ecx, [esp + 0x64]
lea ebx, [esp + 0x24]
lea eax, [esp + 0x2c]
call fcn.00417a50
add esp, 8
test eax, eax
je 0x418ad9
cmp dword [esp + 0x40], 0
mov edi, dword [esp + 0x44]
jne 0x4184c2
mov ebp, dword [esp + 0x58]
mov bl, byte [esp + 0x13]
movzx ecx, bl
push ecx
call fcn.0042b445
add esp, 4
test eax, eax
jne 0x41849f
cmp bl, 0x2b
je 0x41849f
cmp bl, 0x2d
je 0x41849f
cmp bl, 0x65
je 0x41849f
cmp bl, 0x45
je 0x41849f
cmp bl, 0x2e
jne 0x4184ac
inc edi
cmp edi, ebp
je 0x4184ac
mov dl, byte [edi]
mov byte [esp + 0x13], dl
jmp 0x418472
or dword [esp + 0x14], 3
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x44], edi
jmp 0x418878
fldz
and dword [esp + 0x14], 0xffffe0ff
cmp byte [esp + 0x13], 0x2d
fst qword [esp + 0x70]
mov ebp, dword [esp + 0x1c]
fstp qword [esp + 0x68]
mov dword [esp + 0x50], 0
je 0x4184f5
or dword [esp + 0x14], 2
mov ebx, dword [esp + 0x14]
jmp 0x418878
or dword [esp + 0x14], 0x100
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x60]
inc edi
jmp 0x417c65
mov eax, dword [ebp + 4]
cmp eax, 1
je 0x418828
add eax, 0xfffffffd
cmp eax, 1
ja 0x418878
movzx eax, cl
push eax
call fcn.0042b445
add esp, 4
test eax, eax
je 0x418697
mov eax, 1
add dword [esp + 0x50], eax
cmp dword [ebp + 4], 3
je 0x4185ac
test ebx, 0x400
jne 0x418667
test ebx, 0x8000
je 0x418584
movsx ecx, byte [esp + 0x13]
mov edx, dword [esp + 0x60]
sub ecx, 0x30
mov dword [esp + 0x14], ecx
inc edi
fild dword [esp + 0x14]
fld qword [esp + 0x70]
fmul qword [0x52c5f0]
faddp st(1)
fstp qword [esp + 0x70]
jmp 0x417c65
movsx edx, byte [esp + 0x13]
sub edx, 0x30
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x60]
inc edi
fild dword [esp + 0x14]
fld qword [ebp + 8]
fmul qword [0x52c5f0]
faddp st(1)
fstp qword [ebp + 8]
jmp 0x417c65
test ebx, 0x400
jne 0x418667
test ebx, 0x200
jne 0x418af3
cmp dword [esp + 0x50], eax
jne 0x4185d7
cmp byte [esp + 0x13], 0x30
jne 0x4185d7
or ebx, 0x200
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov al, byte [esp + 0x13]
push edi
push esi
call fcn.00417990
add esp, 8
test eax, eax
je 0x41862d
mov edx, dword [esp + 0x60]
mov dword [esp + 0x84], edi
mov dword [esp + 0x80], esi
fild qword [esp + 0x80]
mov esi, dword [esp + 0x18]
mov eax, 1
sub dword [esp + 0x44], eax
mov edi, dword [esp + 0x44]
sub dword [esp + 0x50], eax
mov dword [ebp + 4], 4
fstp qword [ebp + 8]
inc edi
jmp 0x417c65
movsx eax, byte [esp + 0x13]
mov ecx, dword [ebp + 8]
sub eax, 0x30
cdq
push 0
mov esi, eax
mov eax, dword [ebp + 0xc]
push 0xa
push eax
push ecx
mov edi, edx
call fcn.0042ff00
add esi, eax
adc edi, edx
mov edx, dword [esp + 0x60]
mov dword [ebp + 0xc], edi
mov edi, dword [esp + 0x44]
mov dword [ebp + 8], esi
mov esi, dword [esp + 0x18]
inc edi
jmp 0x417c65
movsx edx, byte [esp + 0x13]
sub edx, 0x30
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x60]
or ebx, 0x800
fild dword [esp + 0x14]
inc edi
fld qword [esp + 0x68]
fmul qword [0x52c5f0]
faddp st(1)
fstp qword [esp + 0x68]
jmp 0x417c65
mov cl, byte [esp + 0x13]
cmp cl, 0x2b
je 0x4186fc
cmp cl, 0x2d
je 0x4186fc
cmp cl, 0x2e
jne 0x41872b
cmp dword [ebp + 4], 3
jne 0x41872b
cmp dword [esp + 0x50], 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
je 0x418b15
fild qword [esp + 0x88]
mov edx, dword [esp + 0x60]
mov dword [ebp + 4], 4
or ebx, 0x8000
fstp qword [ebp + 8]
mov dword [esp + 0x50], 0
inc edi
jmp 0x417c65
test ebx, 0x400
je 0x418737
test ebx, 0x800
jne 0x41872b
or ebx, 0x800
cmp cl, 0x2d
jne case.0x41883e.9
mov edx, dword [esp + 0x60]
or ebx, 0x1000
inc edi
jmp 0x417c65
test ebx, 0x400
jne 0x4187c9
cmp dword [ebp + 4], 4
jne 0x41877f
mov edx, dword [esp + 0x50]
test edx, edx
je 0x418b39
fld qword [0x52c5f0]
mov eax, edx
jge 0x418755
neg eax
fld1
fld st(0)
test al, 1
je 0x41875f
fmul st(2)
shr eax, 1
je 0x418769
fld st(2)
fmulp st(3)
jmp 0x418759
fstp st(2)
test edx, edx
jge 0x418773
fdivrp st(1)
jmp 0x418775
fstp st(0)
fdivr qword [esp + 0x70]
fadd qword [ebp + 8]
fstp qword [ebp + 8]
cmp cl, 0x65
je 0x418789
cmp cl, 0x45
jne 0x4187f5
or ebx, 0x400
cmp dword [ebp + 4], 3
jne 0x4187b1
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
fild qword [esp + 0x78]
mov dword [ebp + 4], 4
fstp qword [ebp + 8]
mov edx, dword [esp + 0x60]
and ebx, 0xfffffdff
mov dword [esp + 0x50], 0
inc edi
jmp 0x417c65
cmp dword [esp + 0x50], 0
je 0x418b5d
fld qword [esp + 0x68]
test ebx, 0x1000
je 0x4187e2
fchs
fld qword [0x52c5f0]
fxch st(1)
call fcn.0045fa10
fmul qword [ebp + 8]
fstp qword [ebp + 8]
test ebx, 0x100
je 0x418823
cmp dword [ebp + 4], 3
jne 0x41881b
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
neg ecx
adc edx, 0
neg edx
mov dword [ebp + 8], ecx
mov dword [ebp + 0xc], edx
or ebx, 3
jmp 0x418878
fld qword [ebp + 8]
fchs
fstp qword [ebp + 8]
or ebx, 3
jmp 0x418878
movsx eax, cl
add eax, 0xfffffff7
cmp eax, 0x74
ja case.0x41883e.11
movzx eax, byte [eax + 0x418d8c]
jmp dword [eax*4 + 0x418d74]
test bl, 4
jne 0x418b7e
mov ecx, dword [ebp + 0x10]
or ebx, 0x20
xor esi, esi
mov dword [esp + 0x60], ecx
mov dword [esp + 0x18], esi
jmp 0x418878
and ebx, 0xfffffffb
or ebx, 1
mov dword [esp + 0x14], ebx
jmp 0x418878
test bl, 4
je case.0x41883e.11
and ebx, 0xfffffffb
test bl, 2
je 0x418885
and ebx, 0xfffffffd
dec edi
mov dword [esp + 0x44], edi
test bl, 1
je case.0x41883e.9
and ebx, 0xfffffffe
or ebx, 4
cmp dword [ebp], 0
mov dword [esp + 0x14], ebx
jne 0x4188b4
or dword [esp + 0x14], 0x80
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x60]
inc edi
jmp 0x417c65
mov eax, dword [ebp]
cmp dword [eax + 4], 2
jne 0x4188c2
or dword [esp + 0x14], 8
cmp dword [esp + 0x40], 0
jne 0x4188ee
mov ecx, dword [eax + 4]
sub ecx, 1
je 0x4188e1
sub ecx, 1
jne 0x4188ee
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [eax + edx*4], ebp
jmp 0x4188ee
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
lea ecx, [ecx + ecx*2]
mov dword [edx + ecx*4 + 8], ebp
mov eax, dword [ebp]
inc dword [eax + 8]
mov ebp, dword [ebp]
cmp dword [ebp + 8], 0xfffffff7
ja 0x418b9f
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x1c], ebp
mov edx, dword [esp + 0x60]
inc edi
jmp 0x417c65
sub dword [esp + 0x40], 1
mov eax, dword [esp + 0x54]
mov dword [esp + 0x5c], eax
jns 0x417c40
jmp 0x418c24
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
push eax
push ecx
lea edx, [esp + 0x98]
push str._u:_u:_Unexpected_EOF_in_string
push edx
call fcn.004299bc
add esp, 0x10
jmp 0x418be3
movsx eax, byte [esp + 0x13]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
push eax
push ecx
push edx
push str._u:_u:_Invalid_character_value___c_
lea eax, [esp + 0xa0]
push eax
jmp 0x418bdb
mov cl, byte [esp + 0x13]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
movsx ecx, cl
push ecx
push edx
push eax
push str._u:_u:_Invalid_character_value___c_
lea ecx, [esp + 0xa0]
push ecx
jmp 0x418bdb
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
push edx
push eax
lea ecx, [esp + 0x98]
push str._u:_u:_Unexpected_EOF_in_block_comment
push ecx
call fcn.004299bc
add esp, 0x10
jmp 0x418be3
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
push edx
push eax
lea ecx, [esp + 0x98]
push str._u:_u:_Comment_not_allowed_here
push ecx
call fcn.004299bc
add esp, 0x10
jmp 0x418be3
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
push edx
push eax
lea ecx, [esp + 0x98]
push str._u:_u:_EOF_unexpected
push ecx
call fcn.004299bc
add esp, 0x10
jmp 0x418be3
mov ecx, dword [esp + 0x48]
movsx edx, al
mov eax, dword [esp + 0x4c]
push edx
push eax
push ecx
push str._u:_u:_Unexpected___c__in_comment_opening_sequence
jmp 0x418bd3
mov edx, dword [esp + 0x48]
movsx eax, cl
mov ecx, dword [esp + 0x4c]
push eax
push ecx
push edx
push str._u:_u:_Trailing_garbage:___c_
lea eax, [esp + 0xa0]
push eax
jmp 0x418bdb
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
push ecx
push edx
lea eax, [esp + 0x98]
push str._u:_u:_Unexpected____
push eax
call fcn.004299bc
add esp, 0x10
jmp 0x418be3
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
movsx ecx, cl
push ecx
push edx
push eax
push str._u:_u:_Expected_____before___c_
lea ecx, [esp + 0xa0]
push ecx
jmp 0x418bdb
mov eax, dword [esp + 0x4c]
movsx edx, cl
mov ecx, dword [esp + 0x48]
push edx
push eax
push ecx
push str._u:_u:_Expected__:__before___c_
jmp 0x418bd3
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
push eax
push ecx
lea edx, [esp + 0x98]
push str._u:_u:_Unknown_value
push edx
call fcn.004299bc
add esp, 0x10
jmp 0x418be3
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
movsx eax, al
push eax
push ecx
push edx
push str._u:_u:_Unexpected___c__when_seeking_value
lea eax, [esp + 0xa0]
push eax
jmp 0x418bdb
mov ecx, 6
mov esi, str.Memory_allocation_failure
lea edi, [esp + 0x90]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x418be3
movsx ecx, byte [esp + 0x13]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
push ecx
push edx
push eax
push str._u:_u:_Unexpected__0__before___c_
lea ecx, [esp + 0xa0]
push ecx
jmp 0x418bdb
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
push edx
push eax
lea ecx, [esp + 0x98]
push str._u:_u:_Expected_digit_before__._
push ecx
call fcn.004299bc
add esp, 0x10
jmp 0x418be3
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
push edx
push eax
lea ecx, [esp + 0x98]
push str._u:_u:_Expected_digit_after__._
push ecx
call fcn.004299bc
add esp, 0x10
jmp 0x418be3
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
push edx
push eax
lea ecx, [esp + 0x98]
push str._u:_u:_Expected_digit_after__e_
push ecx
call fcn.004299bc
add esp, 0x10
jmp 0x418be3
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
push edx
push eax
lea ecx, [esp + 0x98]
push str._u:_u:_Expected_____before____
push ecx
call fcn.004299bc
add esp, 0x10
jmp 0x418be3
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
push edx
push eax
lea ecx, [esp + 0x98]
push str._u:_u:_Too_long__caught_overflow_
push ecx
call fcn.004299bc
add esp, 0x10
jmp 0x418be3
mov eax, dword [esp + 0x4c]
movsx edx, cl
mov ecx, dword [esp + 0x48]
push edx
push eax
push ecx
push str._u:_u:_Unexpected___c__in_object
lea edx, [esp + 0xa0]
push edx
call fcn.004299bc
add esp, 0x14
cmp dword [esp + 0x40], 0
mov edi, dword [esp + 0x54]
mov eax, edi
jne 0x418bf4
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x418c10
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov esi, dword [eax + 0x10]
push ebx
push eax
call ebp
add esp, 8
mov eax, esi
test esi, esi
jne 0x418c00
cmp dword [esp + 0x40], 0
jne 0x418c22
mov eax, edi
lea edi, [esp + 0x28]
call fcn.00418e50
xor eax, eax
mov ecx, dword [esp + 0x114]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00428ddf
add esp, 0x108
ret