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

Disassembly:
sub esp, 0x9c
push ebp
push edi
push esi
push ebx
mov ebx, dword [esp + 0xc8]
mov ecx, dword [esp + 0xd0]
mov al, byte [esp + 0xc4]
mov byte [esp + 0x2f], al
mov byte [esp + 0x2e], bl
mov dl, byte [esp + 0xcc]
mov byte [esp + 0x2d], dl
mov dword [ecx], 0
add esp, 0xfffffffc
push dword [esp + 0xbc]
push dword [esp + 0xbc]
push dword [esp + 0xbc]
call sym.__p_IsNotANumber
add esp, 0x10
test al, al
je 0x417628
mov edx, 0x417564
cmp dword [esp + 0xc0], 0
jge 0x417aae
test bl, bl
je 0x417aae
mov edx, 0x41755f
jmp 0x417aae
add esp, 0xfffffffc
push dword [esp + 0xbc]
push dword [esp + 0xbc]
push dword [esp + 0xbc]
call sym.__p_IsInfinity
add esp, 0x10
test al, al
je 0x417690
fldz
mov edx, 0x417568
fld xword [esp + 0xb0]
fcompp
fnstsw ax
and ah, 0x45
cmp ah, 1
je 0x417aae
mov edx, 0x417572
cmp dword [esp + 0xc0], 0
jge 0x417aae
test bl, bl
je 0x417aae
mov edx, 0x41756d
jmp 0x417aae
xor ecx, ecx
mov esi, esi
fld xword [esp + 0xb0]
fstp xword [esp + 0x60]
fldz
fld xword [esp + 0xb0]
fcom st(1)
fnstsw ax
and ah, 5
fstp st(1)
je 0x4176c8
fchs
mov byte [esp + 0x2c], 0x2d
mov dword [esp + 0x24], 1
fstp xword [esp + 0x60]
jmp 0x4176f0
fstp st(0)
mov byte [esp + 0x2c], 0x20
mov dword [esp + 0x24], 0
cmp dword [esp + 0xc0], 0
jge 0x4176f0
cmp byte [esp + 0x2e], 0
setne al
movzx eax, al
mov dword [esp + 0x24], eax
xor ebx, ebx
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0x80000000
mov dword [esp + 0x58], 0x3fff
fld xword [esp + 0x60]
fld1
fcom st(1)
fnstsw ax
and ah, 0x45
je 0x417750
fld xword [0x417578]
fmulp st(2)
fcomp st(1)
fnstsw ax
and ah, 0x45
je 0x41779d
fld xword [0x417588]
fld xword [esp + 0x50]
fmul st(1)
inc ebx
fld st(0)
fstp xword [esp + 0x50]
fcomp st(2)
fnstsw ax
and ah, 0x45
dec ah
cmp ah, 0x40
jb 0x417730
jmp 0x41779b
cmp dword [esp + 0xc0], 0
jge 0x41779b
fldz
fucomp st(2)
fnstsw ax
and ah, 0x45
cmp ah, 0x40
je 0x41779b
fcom st(1)
fnstsw ax
and ah, 0x45
dec ah
cmp ah, 0x40
jb 0x41779b
fld xword [0x417588]
jmp 0x417780
fxch st(2)
fmul st(2), st(0)
fxch st(2)
dec ebx
fcom st(1)
fnstsw ax
and ah, 0x45
cmp ah, 1
je 0x41777e
fstp st(1)
fstp st(1)
fstp xword [esp + 0x60]
jmp 0x41779f
fstp st(0)
fstp st(0)
cmp ecx, 1
jne 0x4177b5
fld xword [esp + 0x50]
fld xword [0x417588]
fmulp st(1)
inc ebx
fstp xword [esp + 0x50]
cmp dword [esp + 0xc0], 0
jge 0x417844
lea esi, [esp + 0x99]
mov byte [esp + 0x2b], 0x2b
test ebx, ebx
jge 0x4177da
mov byte [esp + 0x2b], 0x2d
neg ebx
add esp, 0xfffffff8
push esi
push ebx
call sym.__p_card_to_decimal
mov dword [esp + 0x88], eax
add esp, 0x10
cmp ebx, 9
jg 0x4177fe
lea edx, [eax - 1]
mov dword [esp + 0x78], edx
mov byte [eax - 1], 0x30
mov eax, dword [esp + 0x78]
lea ecx, [eax - 1]
mov dword [esp + 0x78], ecx
mov dl, byte [esp + 0x2b]
mov byte [eax - 1], dl
cmp byte [esp + 0x2d], 0
je 0x417828
mov eax, dword [esp + 0x78]
lea ecx, [eax - 1]
mov dword [esp + 0x78], ecx
mov byte [eax - 1], 0x45
jmp 0x417837
mov eax, dword [esp + 0x78]
lea ebp, [eax - 1]
mov dword [esp + 0x78], ebp
mov byte [eax - 1], 0x65
sub esi, dword [esp + 0x78]
mov dword [esp + 0x1c], esi
jmp 0x41784c
mov dword [esp + 0x1c], 0
cmp dword [esp + 0xc0], 0
jge 0x41788c
mov edi, 1
cmp byte [esp + 0x2f], 0
jne 0x41786c
mov esi, 0xf
jmp 0x417896
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0xbc]
add eax, 2
add eax, dword [esp + 0x1c]
sub esi, eax
cmp esi, 1
jge 0x417896
mov esi, 1
jmp 0x417896
mov esi, dword [esp + 0xc0]
lea edi, [ebx + 1]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0xd0]
add eax, edi
lea eax, [eax + esi + 1]
add eax, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov dword [edx], ecx
add esp, 0xfffffff4
mov eax, ecx
push eax
call sym.__p_new
mov dword [esp + 0x30], eax
mov dword [esp + 0x8c], eax
add esp, 0x10
cmp dword [esp + 0x24], 0
jle 0x4178da
mov dl, byte [esp + 0x2c]
mov byte [eax], dl
inc dword [esp + 0x7c]
test edi, edi
jle 0x41796b
mov ebx, 1
jmp 0x4178ed
inc ebx
fld xword [esp + 0x60]
fld xword [esp + 0x50]
fdivp st(1)
lea ecx, [esp + 0xa0]
fnstcw word [esp + 0x4a]
mov bp, word [esp + 0x4a]
or bp, 0xc00
mov word [esp + 0x48], bp
fldcw word [esp + 0x48]
fistp qword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
fldcw word [esp + 0x4a]
test edx, edx
jl 0x417935
jne 0x417930
cmp eax, 9
jb 0x417935
mov eax, 9
mov edx, eax
mov dword [esp + 0x3c], edx
fild dword [esp + 0x3c]
fld xword [ecx - 0x50]
fmulp st(1)
fld xword [ecx - 0x40]
fsubrp st(1)
fld xword [0x417588]
fmulp st(1)
fstp xword [ecx - 0x40]
mov eax, dword [esp + 0x7c]
add dl, 0x30
mov byte [eax], dl
inc dword [esp + 0x7c]
mov al, 1
test al, al
je 0x4178ed
cmp ebx, edi
jne 0x4178ec
test esi, esi
jle 0x417a07
mov eax, dword [esp + 0x7c]
mov byte [eax], 0x2e
inc dword [esp + 0x7c]
mov ebx, 1
jmp 0x417989
inc ebx
fld xword [esp + 0x60]
fld xword [esp + 0x50]
fdivp st(1)
lea ecx, [esp + 0xa0]
fnstcw word [esp + 0x4a]
mov bp, word [esp + 0x4a]
or bp, 0xc00
mov word [esp + 0x48], bp
fldcw word [esp + 0x48]
fistp qword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
fldcw word [esp + 0x4a]
test edx, edx
jl 0x4179d1
jne 0x4179cc
cmp eax, 9
jb 0x4179d1
mov eax, 9
mov edx, eax
mov dword [esp + 0x3c], edx
fild dword [esp + 0x3c]
fld xword [ecx - 0x50]
fmulp st(1)
fld xword [ecx - 0x40]
fsubrp st(1)
fld xword [0x417588]
fmulp st(1)
fstp xword [ecx - 0x40]
mov eax, dword [esp + 0x7c]
add dl, 0x30
mov byte [eax], dl
inc dword [esp + 0x7c]
mov al, 1
test al, al
je 0x417989
cmp ebx, esi
jne 0x417988
fld xword [esp + 0x50]
fld xword [0x417598]
fmulp st(1)
xor ecx, ecx
fld xword [esp + 0x60]
fcompp
fnstsw ax
and ah, 0x45
cmp ah, 1
je 0x417a6d
mov edx, dword [esp + 0x7c]
lea eax, [edx - 1]
lea ebx, [esi + edi]
test ebx, ebx
jle 0x417a58
cmp byte [edx - 1], 0x39
jne 0x417a4f
lea esi, [esi]
mov byte [eax], 0x30
dec eax
dec ebx
cmp ebx, edi
jne 0x417a46
dec eax
test ebx, ebx
jle 0x417a58
cmp byte [eax], 0x39
je 0x417a3c
test ebx, ebx
jle 0x417a58
inc byte [eax]
jmp 0x417a6d
add esp, 0xfffffff4
mov edx, dword [esp + 0x2c]
push edx
call sym.__p_dispose
mov ecx, 1
add esp, 0x10
test ecx, ecx
jne 0x417694
cmp dword [esp + 0x1c], 0
jle 0x417a9f
mov ebx, 1
jmp 0x417a85
inc ebx
mov eax, dword [esp + 0x78]
mov dl, byte [eax]
mov eax, dword [esp + 0x7c]
mov byte [eax], dl
inc dword [esp + 0x7c]
inc dword [esp + 0x78]
cmp ebx, dword [esp + 0x1c]
jne 0x417a84
mov eax, dword [esp + 0x7c]
mov byte [eax], 0
mov edx, dword [esp + 0x20]
inc dword [esp + 0x7c]
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
add esp, 0x9c
ret