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

Disassembly:
push 0xffffffffffffffff
push 0x4a3ee1
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x4ccecc]
xor eax, esp
mov dword [esp + 0x50], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4ccecc]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
xor eax, eax
mov dword [esp + 0x34], eax
mov esi, 0xf
mov dword [edx + 0x18], esi
mov dword [edx + 0x14], eax
mov dword [esp + 0x2c], edx
add edx, 4
mov byte [esp + 0x54], al
mov dword [esp + 0x55], eax
mov dword [esp + 0x59], eax
mov dword [esp + 0x5d], eax
mov word [esp + 0x61], ax
mov byte [esp + 0x63], al
mov dword [esp + 0x18], edx
mov byte [edx], al
mov dword [esp + 0x70], eax
mov dword [esp + 0x20], eax
xor ebx, ebx
mov dword [esp + 0x4c], eax
mov eax, ecx
mov dword [esp + 0x50], esi
mov dword [esp + 0x34], 1
xor edi, edi
mov byte [esp + 0x3c], bl
lea esi, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x417c60
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x40]
call fcn.004090e0
push 0x12
push 0x4b73bc
lea eax, [esp + 0x40]
mov dword [esp + 0x78], 1
call fcn.00408fd0
cmp dword [esp + 0x50], 0x10
mov eax, dword [esp + 0x3c]
jae 0x417c9b
lea eax, [esp + 0x3c]
mov dword [esp + 0x30], eax
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417ca2
sub eax, esi
mov ebp, eax
je 0x417e8f
mov esi, 1
cmp ebp, esi
mov dword [esp + 0x28], esi
jl 0x417daa
jmp 0x417cd0
mov eax, dword [esp + 0x30]
movsx edi, byte [eax + esi - 1]
mov dword [esp + 0x1c], edi
fild dword [esp + 0x1c]
call fcn.0049f990
fimul dword [esp + 0x28]
imul edi, esi
fadd qword [0x4bbe08]
imul edi, esi
mov dword [esp + 0x1c], edi
fild dword [esp + 0x1c]
fmulp st(1)
fiadd dword [esp + 0x20]
call fcn.00455510
cdq
mov ecx, 0x186a0
idiv ecx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x30]
movsx eax, byte [edx + esi - 1]
mov dword [esp + 0x1c], eax
mov eax, 2
fild dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld1
fstp dword [esp + 0x24]
fld dword [esp + 0x1c]
test al, 1
je 0x417d47
fld dword [esp + 0x24]
fmul st(1)
fstp dword [esp + 0x24]
shr eax, 1
je 0x417d53
fmul st(0), st(0)
fstp dword [esp + 0x1c]
jmp 0x417d35
fstp st(0)
fld dword [esp + 0x24]
fstp dword [esp + 0x1c]
fild dword [esp + 0x28]
fmul dword [esp + 0x1c]
call fcn.00455510
fild dword [esp + 0x20]
mov ecx, esi
imul ecx, ebx
add eax, ecx
cdq
mov ecx, 0x186a0
idiv ecx
mov ebx, edx
call fcn.0049f990
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
call fcn.00455510
add eax, ebx
cdq
mov ecx, 0x186a0
idiv ecx
inc esi
cmp esi, ebp
mov dword [esp + 0x28], esi
mov edi, edx
jle 0x417cd0
xor eax, eax
lea esp, [esp]
mov edx, eax
imul edx, eax
imul edx, eax
lea ecx, [edx + edi + 0x23]
and ecx, 0x8000007f
jns 0x417dc9
dec ecx
or ecx, 0xffffff80
inc ecx
mov byte [esp + eax + 0x54], cl
inc eax
cmp eax, 5
jl 0x417db0
mov eax, 5
mov edx, eax
imul edx, eax
imul edx, eax
lea ecx, [edx + ebx + 0x23]
and ecx, 0x8000007f
jns 0x417df1
dec ecx
or ecx, 0xffffff80
inc ecx
mov byte [esp + eax + 0x54], cl
inc eax
cmp eax, 0xa
jl 0x417dd8
mov eax, 0xa
mov ecx, dword [esp + 0x20]
mov edx, eax
imul edx, eax
imul edx, eax
lea edx, [edx + ecx + 0x23]
and edx, 0x8000007f
jns 0x417e1d
dec edx
or edx, 0xffffff80
inc edx
mov byte [esp + eax + 0x54], dl
inc eax
cmp eax, 0xf
jl 0x417e00
xor edx, edx
mov byte [esp + 0x63], 0
lea ecx, [edx + 0x23]
mov al, byte [esp + edx + 0x54]
cmp al, 0x30
jl 0x417e3d
cmp al, 0x39
jle 0x417e64
cmp al, 0x41
jl 0x417e45
cmp al, 0x5a
jle 0x417e64
cmp al, 0x61
jl 0x417e4d
cmp al, 0x7a
jle 0x417e64
movsx eax, al
add eax, ecx
and eax, 0x8000007f
jns 0x417e5e
dec eax
or eax, 0xffffff80
inc eax
mov byte [esp + edx + 0x54], al
jmp 0x417e31
add ecx, 7
inc edx
cmp ecx, 0x8c
jl 0x417e31
lea eax, [esp + 0x54]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417e77
sub eax, edx
push eax
lea ecx, [esp + 0x58]
push ecx
mov ecx, dword [esp + 0x34]
call fcn.004090e0
xor eax, eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x2c]
xor edi, edi
xor ebp, ebp
xor edx, edx
cmp dword [eax + 0x18], 0x10
mov dword [esp + 0x20], edi
jb 0x417ebd
mov ecx, dword [esp + 0x18]
mov ebx, dword [ecx]
jmp 0x417ec1
mov ebx, dword [esp + 0x18]
mov eax, ebx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417ec6
sub eax, esi
mov dword [esp + 0x1c], eax
je 0x4180a8
mov esi, 1
cmp eax, esi
mov dword [esp + 0x28], esi
jl 0x417fc5
lea ebx, [ebx]
movsx edi, byte [ebx + esi - 1]
mov dword [esp + 0x18], edi
fild dword [esp + 0x18]
call fcn.0049f990
fimul dword [esp + 0x28]
imul edi, esi
fadd qword [0x4bbe08]
imul edi, esi
mov dword [esp + 0x18], edi
fild dword [esp + 0x18]
fmulp st(1)
fiadd dword [esp + 0x20]
call fcn.00455510
cdq
mov ecx, 0x186a0
idiv ecx
mov eax, 2
mov edi, edx
movsx edx, byte [ebx + esi - 1]
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], edi
fild dword [esp + 0x18]
fstp dword [esp + 0x18]
fld1
fstp dword [esp + 0x24]
nop
fld dword [esp + 0x18]
test al, 1
je 0x417f62
fld dword [esp + 0x24]
fmul st(1)
fstp dword [esp + 0x24]
shr eax, 1
je 0x417f6e
fmul st(0), st(0)
fstp dword [esp + 0x18]
jmp 0x417f50
fstp st(0)
fld dword [esp + 0x24]
fstp dword [esp + 0x18]
fild dword [esp + 0x28]
fmul dword [esp + 0x18]
call fcn.00455510
fild dword [esp + 0x20]
mov ecx, esi
imul ecx, ebp
add eax, ecx
cdq
mov ecx, 0x186a0
idiv ecx
mov ebp, edx
call fcn.0049f990
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
call fcn.00455510
add eax, ebp
cdq
mov ecx, 0x186a0
inc esi
idiv ecx
cmp esi, dword [esp + 0x1c]
mov dword [esp + 0x28], esi
jle 0x417ef0
xor eax, eax
mov ecx, eax
imul ecx, eax
imul ecx, eax
lea ecx, [ecx + edi + 0x23]
and ecx, 0x8000007f
jns 0x417fe0
dec ecx
or ecx, 0xffffff80
inc ecx
mov byte [esp + eax + 0x54], cl
inc eax
cmp eax, 5
jl 0x417fc7
mov eax, 5
nop
mov ecx, eax
imul ecx, eax
imul ecx, eax
lea ecx, [ecx + ebp + 0x23]
and ecx, 0x8000007f
jns 0x418009
dec ecx
or ecx, 0xffffff80
inc ecx
mov byte [esp + eax + 0x54], cl
inc eax
cmp eax, 0xa
jl 0x417ff0
mov eax, 0xa
mov ecx, eax
imul ecx, eax
imul ecx, eax
lea ecx, [ecx + edx + 0x23]
and ecx, 0x8000007f
jns 0x418031
dec ecx
or ecx, 0xffffff80
inc ecx
mov byte [esp + eax + 0x54], cl
inc eax
cmp eax, 0xf
jl 0x418018
xor edx, edx
mov byte [esp + 0x63], 0
lea ecx, [edx + 0x23]
mov al, byte [esp + edx + 0x54]
cmp al, 0x30
jl 0x418051
cmp al, 0x39
jle 0x418078
cmp al, 0x41
jl 0x418059
cmp al, 0x5a
jle 0x418078
cmp al, 0x61
jl 0x418061
cmp al, 0x7a
jle 0x418078
movsx eax, al
add eax, ecx
and eax, 0x8000007f
jns 0x418072
dec eax
or eax, 0xffffff80
inc eax
mov byte [esp + edx + 0x54], al
jmp 0x418045
add ecx, 7
inc edx
cmp ecx, 0x8c
jl 0x418045
lea eax, [esp + 0x54]
lea edx, [eax + 1]
jmp 0x418090
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x418090
sub eax, edx
push eax
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x58]
push ecx
call fcn.00408fd0
cmp dword [esp + 0x50], 0x10
jb 0x4180bc
mov edx, dword [esp + 0x3c]
push edx
call fcn.00442977
add esp, 4
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x50]
xor ecx, esp
call fcn.0044e200
add esp, 0x60
ret