Function at 0x43aeb0
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, dword [esp + 8]
mov eax, dword [esi + 0x3f4]
fld dword [eax + 0x28]
fcomp dword [0x5887a8]
fnstsw ax
test ah, 1
je 0x43aed1
xor al, al
pop esi
ret 0x10
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
cmp eax, 0xd
ja case.default.0x43aee0
jmp dword [eax*4 + 0x43b148]
call fcn.00576af5
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x30
jle case.default.0x43aee0
xor al, al
pop esi
ret 0x10
call fcn.00576af5
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x33
jle case.default.0x43aee0
xor al, al
pop esi
ret 0x10
call fcn.00576af5
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x36
jle case.default.0x43aee0
xor al, al
pop esi
ret 0x10
call fcn.00576af5
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x38
jle case.default.0x43aee0
xor al, al
pop esi
ret 0x10
call fcn.00576af5
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x3b
jle case.default.0x43aee0
xor al, al
pop esi
ret 0x10
call fcn.00576af5
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x3f
jle case.default.0x43aee0
xor al, al
pop esi
ret 0x10
call fcn.00576af5
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x42
jle case.default.0x43aee0
xor al, al
pop esi
ret 0x10
call fcn.00576af5
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x45
jle case.default.0x43aee0
xor al, al
pop esi
ret 0x10
call fcn.00576af5
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x49
jle case.default.0x43aee0
xor al, al
pop esi
ret 0x10
call fcn.00576af5
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x4d
jle case.default.0x43aee0
xor al, al
pop esi
ret 0x10
call fcn.00576af5
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x51
jle case.default.0x43aee0
xor al, al
pop esi
ret 0x10
call fcn.00576af5
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x55
jle case.default.0x43aee0
xor al, al
pop esi
ret 0x10
call fcn.00576af5
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x5a
jle case.default.0x43aee0
xor al, al
pop esi
ret 0x10
call fcn.00576af5
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x5f
jle case.default.0x43aee0
xor al, al
pop esi
ret 0x10
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
test ecx, ecx
jge 0x43b066
add ecx, 3
mov dword [eax], ecx
mov ecx, dword [eax]
cmp ecx, 3
jle 0x43b072
add ecx, 0xfffffffd
mov dword [eax], ecx
mov eax, dword [eax]
cmp eax, 3
ja case.default.0x43b079
jmp dword [eax*4 + 0x43b180]
mov ecx, 0x166
jmp 0x43b0a0
mov ecx, 0x16c
jmp 0x43b0a0
mov ecx, 0x169
jmp 0x43b0a0
mov ecx, 0x16f
jmp 0x43b0a0
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
mov eax, dword [edx]
dec eax
je 0x43b0b1
dec eax
jne 0x43b0b2
add ecx, 2
jmp 0x43b0b2
inc ecx
mov eax, dword [esi + 0x3f4]
mov dword [eax + 8], 0xf6
mov edx, dword [esi + 0x3f4]
mov dword [edx + 0xc], 0xff
mov eax, dword [esi + 0x3f4]
mov edx, dword [eax + 0x71c]
or dh, 4
mov dword [eax + 0x71c], edx
mov eax, dword [esi + 0x3f4]
mov dword [eax + 0x30], 0x3f800000
mov eax, dword [esi + 0x3f4]
mov dl, byte [eax + 0x73c]
test dl, dl
je 0x43b116
mov ecx, dword [esi + 0x10]
pop esi
mov edx, dword [ecx + 8]
add edx, 0x14840
mov dword [eax + 0x6dc], edx
mov al, 1
ret 0x10
mov edx, dword [esi + 0x10]
lea esi, [ecx + ecx*2]
push 0x41700000
push 0x3f400000
mov edx, dword [edx + 8]
lea ecx, [ecx + esi*4]
shl ecx, 4
add edx, ecx
mov ecx, 0x64eed8
mov dword [eax + 0x6dc], edx
call fcn.0041d030
mov al, 1
pop esi
ret 0x10