Function at 0x403c6f
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
mov esi, dword [ebp + 0xc]
lea eax, [esi + 0x54]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0xa4]
and eax, 0xffff
mov dword [ebp - 4], eax
mov eax, dword [esi + 0xa8]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0xac]
mov dword [ebp - 0xc], eax
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 4]
cmp eax, 0x2b
jne 0x403cae
jmp 0x4041ef
cmp eax, 0x2e
jne 0x403cfe
lea eax, [edi + 0x98]
push eax
call fcn.00405d9a
cmp dword [edi + 0x11c], 0
jne 0x403ced
cmp dword [edi + 0x110], 0
je 0x403ced
mov edx, dword [0x40fc50]
push 0
push dword [ebp + 8]
push 0x8017
push dword [0x4118df]
call dword [edx + 0x248]
lea eax, [edi + 0x98]
push eax
call fcn.00405dad
jmp 0x4041ef
cmp eax, 0x32
je 0x403d0c
cmp eax, 0x30
jne 0x403ed7
cmp dword [edi + 0x118], 1
jne 0x403d1a
jmp 0x403dfc
inc dword [edi + 0xc4]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x94], 0
cmp dword [ecx + 0x100], 1
jne 0x403d4b
sub dword [ecx + 0x8c], 0x34
mov eax, dword [ecx + 0xb8]
sub dword [ecx + 0x8c], eax
jmp 0x403d52
sub dword [ecx + 0x8c], 0x34
jae 0x403d5b
sbb dword [ecx + 0x90], 0
mov eax, dword [ecx + 0x8c]
mov edx, dword [ecx + 0x90]
cmp eax, dword [edi + 0xe8]
jb 0x403d77
cmp edx, dword [edi + 0xec]
jae 0x403de4
cmp dword [ebp - 4], 0x32
jne 0x403dbf
push 2
push 0
push 0x4164c8
call fcn.0040741a
cmp eax, 2
jne 0x403dbf
push 0
push 0
push 0x34
push 0
push 0
push 0
push 0x14
push 0x32
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040717d
lea eax, [edi + 0xc4]
push eax
push dword [ebp + 8]
call fcn.00405e63
jmp 0x40420b
mov esi, dword [ebp + 8]
mov edx, dword [0x40fc50]
push dword [ebp - 4]
push 0
push dword [0x41139f]
push dword [ebp + 8]
call fcn.0040427c
test eax, eax
jne 0x403ddf
jmp 0x403ed2
cmp eax, dword [edi + 0xe8]
jne 0x403ed2
cmp edx, dword [edi + 0xec]
jne 0x403ed2
mov dword [edi + 0xc4], 0
mov dword [edi + 0x84], 0
mov dword [edi + 0xe8], 0
mov dword [edi + 0xec], 0
mov dword [edi + 0xb8], 0
mov dword [edi + 0x94], 0
mov dword [edi + 0x88], 0
mov dword [edi + 0x8c], 0
mov dword [edi + 0x90], 0
mov edx, dword [0x40fc50]
cmp dword [edi + 0xe4], 0
je 0x403e7b
push dword [edi + 0xe4]
call dword [edx + 0xbc]
mov dword [edi + 0xe4], 0
cmp dword [ebp - 4], 0x32
jne 0x403e9a
mov edx, dword [0x40fc50]
mov ebx, dword [0x4164d0]
lea eax, [ebx + 0x208]
push eax
call dword [edx + 0xd8]
cmp dword [edi + 0x118], 1
jne 0x403ed2
mov dword [edi + 0x118], 0
push 0x2000
push 0
push 0
push 0
push 0
push 0
push 0
push 0x33
push 0
push dword [ebp + 8]
push 0
call fcn.0040542b
mov esp, ebp
pop ebp
ret 0xc
jmp 0x4041ef
cmp eax, 0x38
jne 0x403ef9
push dword [ebp - 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00408332
cmp eax, 1
jne 0x403ef4
jmp 0x40420b
jmp 0x4041ef
cmp eax, 0x39
jne 0x403fb0
mov eax, dword [ebp - 8]
cmp eax, 1
jne 0x403f99
mov edi, dword [ebp + 8]
lea eax, [edi + 0x144]
push eax
call fcn.00404c2b
test eax, eax
je 0x403f46
push 0
push 0
push 0
push 0
push 0
push 0
push 2
push 0x39
push dword [ebp + 0xc]
push dword [ebp + 8]
push 0
call fcn.0040542b
mov eax, dword [ebp + 0xc]
jmp 0x40420b
mov edx, dword [ebp + 0xc]
lea edx, [edx + 0x54]
mov ecx, dword [ebp + 0x10]
sub ecx, 0x34
add dword [edx + 0xc], ecx
mov ecx, dword [edx + 0xc]
cmp ecx, dword [edx + 0x24]
jne 0x403f87
mov edx, dword [0x412d5c]
mov edx, dword [edx]
push dword [0x412d5c]
call dword [edx + 8]
mov dword [0x412d5c], 0
mov edx, dword [ebp + 0xc]
mov dword [edx + 0xe0], 0
jmp 0x403f97
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00408d4f
jmp 0x40420b
jmp 0x403fab
cmp eax, 2
jne 0x403fab
mov edx, dword [ebp + 0xc]
mov dword [edx + 0xe0], 0
jmp 0x4041ef
cmp eax, 0x3a
jne 0x403fe7
push dword [ebp - 8]
push dword [ebp - 4]
push dword [ebp - 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00409c09
cmp eax, 1
jne 0x403fd5
jmp 0x40420b
mov edx, dword [ebp + 0xc]
mov dword [edx + 0xe0], 0
jmp 0x4041ef
cmp eax, 0x3b
jne 0x40401e
push dword [ebp - 8]
push dword [ebp - 4]
push dword [ebp - 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00409e57
cmp eax, 1
jne 0x40400c
jmp 0x40420b
mov edx, dword [ebp + 0xc]
mov dword [edx + 0xe0], 0
jmp 0x4041ef
cmp eax, 0x3c
jne 0x404055
push dword [ebp - 8]
push dword [ebp - 4]
push dword [ebp - 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00409fb2
cmp eax, 1
jne 0x404043
jmp 0x40420b
mov edx, dword [ebp + 0xc]
mov dword [edx + 0xe0], 0
jmp 0x4041ef
cmp eax, 0x3d
jne 0x40408c
push dword [ebp - 8]
push dword [ebp - 4]
push dword [ebp - 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a07d
cmp eax, 1
jne 0x40407a
jmp 0x40420b
mov edx, dword [ebp + 0xc]
mov dword [edx + 0xe0], 0
jmp 0x4041ef
cmp eax, 0x3e
jne 0x4040c3
push dword [ebp - 8]
push dword [ebp - 4]
push dword [ebp - 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a148
cmp eax, 1
jne 0x4040b1
jmp 0x40420b
mov edx, dword [ebp + 0xc]
mov dword [edx + 0xe0], 0
jmp 0x4041ef
cmp eax, 0x3f
jne 0x4040fa
push dword [ebp - 8]
push dword [ebp - 4]
push dword [ebp - 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a213
cmp eax, 1
jne 0x4040e8
jmp 0x40420b
mov edx, dword [ebp + 0xc]
mov dword [edx + 0xe0], 0
jmp 0x4041ef
cmp eax, 0x40
jne 0x404131
push dword [ebp - 8]
push dword [ebp - 4]
push dword [ebp - 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040ac45
cmp eax, 1
jne 0x40411f
jmp 0x40420b
mov edx, dword [ebp + 0xc]
mov dword [edx + 0xe0], 0
jmp 0x4041ef
cmp eax, 0x3e8
jne 0x40415e
mov eax, dword [ebp - 8]
cmp eax, 1
je 0x404144
test eax, eax
jne 0x404159
mov esi, dword [ebp + 0xc]
push dword [esi + 0x34]
push dword [0x416344]
push esi
push dword [ebp + 8]
call fcn.0040b625
jmp 0x4041ef
cmp eax, 0x3e9
jne 0x4041ef
mov eax, dword [ebp - 8]
cmp eax, 1
jne 0x4041db
mov esi, dword [ebp + 8]
lea eax, [esi + 0x148]
push eax
call fcn.00404c2b
test eax, eax
je 0x4041ae
push dword [ebp + 8]
call fcn.0040baf1
push 0
push 0
push 0x34
push 0
push 0
push 0
push 3
push 0x3e9
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040717d
jmp 0x40420b
mov eax, dword [ebp - 0xc]
and eax, 0xffff
test ax, ax
jne 0x4041cc
push 0
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040b98c
jmp 0x40420b
mov edx, dword [ebp + 0xc]
mov dword [edx + 0xe0], 0
jmp 0x4041ed
cmp eax, 3
jne 0x4041ed
mov edx, dword [ebp + 0xc]
mov dword [edx + 0xe0], 0
jmp 0x4041ef
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
cmp dword [esi + 0xe0], 0
jne 0x40420b
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00402cb2
jmp 0x404215
push 0
push dword [ebp + 8]
call fcn.00402cb2
cmp eax, 1
jne 0x404236
mov edx, dword [0x40fc50]
push 0
push dword [ebp + 8]
push 0x8015
push dword [0x4118df]
call dword [edx + 0x248]
mov esp, ebp
pop ebp
ret 0xc