Function at 0x4141fe
Capabilities:
Parse credit card information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x44
mov eax, dword [0x41a140]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
xor eax, eax
mov byte [ebp - 0x1b], 1
push esi
mov esi, ecx
mov dword [ebp - 0x20], eax
mov edx, eax
mov dword [ebp - 0x2c], eax
mov cl, al
mov byte [ebp - 0x1a], al
mov bl, al
mov dword [ebp - 0x28], edx
mov bh, al
mov byte [ebp - 0x19], cl
mov eax, dword [esi + 0x224]
push edi
mov edi, dword [esi + 0x228]
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x34], edi
cmp eax, 1
jb 0x414606
mov dword [ebp - 0x40], 0x2f
mov dword [ebp - 0x38], 0x2d
add dword [ebp - 0x34], 4
dec eax
mov edi, dword [edi]
mov dword [ebp - 0x24], eax
test cl, cl
jne 0x414572
movzx eax, word [edi]
lea ecx, [edi + 2]
push 0x2f
pop edx
cmp ax, dx
mov edx, dword [ebp - 0x28]
jne 0x4142a0
push 0x2f
pop edx
cmp word [ecx], dx
mov edx, dword [ebp - 0x28]
jne 0x4142a0
lea ecx, [edi + 4]
xor eax, eax
cmp word [ecx], ax
jne 0x4142d4
mov cl, 1
mov byte [ebp - 0x19], cl
mov eax, dword [ebp - 0x24]
jmp 0x414586
cmp byte [ebp - 0x1b], 0
je 0x41456c
cmp ax, word [ebp - 0x40]
je 0x4142d4
cmp ax, word [ebp - 0x38]
jne 0x41456c
movzx eax, word [ecx]
test ax, ax
je 0x41456c
cmp ax, word [ebp - 0x38]
jne 0x4142d4
xor eax, eax
cmp word [ecx + 2], ax
jmp 0x414291
lea edx, [ebp - 0x20]
call fcn.00414154
cmp eax, 0x4a
jg 0x414430
je 0x41440b
cmp eax, 0x44
jg 0x414345
je 0x4144ed
push 0x2f
pop ecx
cmp eax, ecx
je 0x41433b
cmp eax, 0x3a
je 0x4145c5
cmp eax, 0x3f
je 0x41432f
cmp eax, 0x42
jne 0x4145c5
test bl, bl
je 0x414322
cmp byte [esi + 0x11], 0
je 0x414593
mov bl, 1
mov word [esi + 0x11], 0x101
jmp 0x41455e
mov byte [esi + 0x22e], 1
jmp 0x41455e
mov cl, 1
mov byte [ebp - 0x19], cl
jmp 0x414561
sub eax, 0x45
je 0x4143f5
sub eax, 3
je 0x414376
sub eax, 1
jne 0x4145c5
test bl, bl
je 0x414369
cmp byte [esi + 0x11], al
jne 0x414593
mov bl, 1
mov word [esi + 0x11], 0x100
jmp 0x41455e
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x4145a7
push 0xffffffffffffffff
mov edx, 0x402a8c
mov ecx, edi
call fcn.00416ce0
test eax, eax
jne 0x4143b9
cmp byte [ebp - 0x1a], al
je 0x4143a2
cmp dword [esi + 0x18], 0x43
jne 0x414593
mov byte [ebp - 0x1a], 1
mov byte [esi + 0x22f], 1
mov dword [esi + 0x18], 0x43
jmp 0x41455e
push 0xffffffffffffffff
mov edx, 0x401ee8
mov ecx, edi
call fcn.00416ce0
test eax, eax
jne 0x41459d
cmp byte [ebp - 0x1a], al
je 0x4143de
cmp dword [esi + 0x18], 0x57
jne 0x414593
mov byte [ebp - 0x1a], 1
mov byte [esi + 0x22f], 1
mov dword [esi + 0x18], 0x57
jmp 0x41455e
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x4145b1
mov dword [esi + 0x230], eax
jmp 0x41455e
cmp dword [ebp - 0x20], 0
je 0x4145bb
push dword [ebp - 0x20]
lea ecx, [esi + 0x234]
call fcn.0041487b
test eax, eax
js 0x41460e
jmp 0x41455e
sub eax, 0x53
je 0x41453c
sub eax, 1
je 0x414508
sub eax, 1
je 0x4144f5
sub eax, 3
je 0x4144e7
sub eax, 0xb
je 0x4144a5
sub eax, 9
je 0x414487
dec eax
sub eax, 1
jne 0x4145c5
test bh, bh
je 0x414475
cmp byte [esi + 6], al
jne 0x414593
xor eax, eax
mov word [esi + 7], 0x101
mov bh, 1
mov byte [esi + 6], al
jmp 0x41455e
test bh, bh
je 0x414495
cmp byte [esi + 6], 0
je 0x414593
mov bh, 1
mov word [esi + 7], 0x101
mov byte [esi + 6], bh
jmp 0x41455e
mov edx, dword [ebp - 0x20]
test edx, edx
je 0x4145d7
sub esp, 0xc
lea eax, [ebp - 0x3c]
push eax
call fcn.0041811a
test al, al
jne 0x4144c8
or edi, 0xffffffff
mov dword [ebp - 0x3c], edi
jmp 0x4144cb
mov edi, dword [ebp - 0x3c]
lea eax, [ebp - 0x18]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
test eax, eax
je 0x4145cd
mov byte [esi + 0x10], 1
mov dword [esi + 0xc], edi
jmp 0x41455e
mov word [esi + 0x15], 0x101
mov word [esi + 0x13], 0x101
jmp 0x41455e
cmp byte [0x41a62d], 0
je 0x4145e1
mov byte [esi + 0x17], 1
jmp 0x41455e
mov edx, dword [ebp - 0x20]
test edx, edx
je 0x4145f5
sub esp, 0xc
lea eax, [ebp - 0x44]
push eax
call fcn.0041811a
test al, al
je 0x4145eb
mov eax, dword [ebp - 0x44]
test eax, eax
js 0x4145eb
mov word [esi + 4], 0x101
mov dword [esi], eax
jmp 0x41455e
cmp dword [ebp - 0x2c], 0
jne 0x414557
cmp dword [ebp - 0x24], 0
jne 0x414557
cmp dword [ebp - 0x28], 0
jne 0x414557
mov byte [esi + 0x22d], 1
jmp 0x41455e
mov byte [esi + 0x22c], 1
mov cl, byte [ebp - 0x19]
inc dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
jmp 0x414298
mov eax, dword [ebp - 0x24]
mov cl, byte [ebp - 0x19]
mov edx, dword [ebp - 0x30]
add dword [ebp - 0x30], 4
mov byte [ebp - 0x1b], 0
mov dword [edx], edi
mov edx, dword [ebp - 0x28]
inc edx
mov dword [ebp - 0x28], edx
cmp eax, 1
jb 0x414606
mov edi, dword [ebp - 0x34]
jmp 0x41425b
xor eax, eax
push eax
push 0xce9
jmp 0x4145fd
xor eax, eax
push eax
push 0xcec
jmp 0x4145fd
xor eax, eax
push eax
push 0xceb
jmp 0x4145fd
xor eax, eax
push eax
push 0xcf1
jmp 0x4145fd
xor eax, eax
push eax
push 0xcf5
jmp 0x4145fd
push edi
push 0xce6
jmp 0x4145fd
xor eax, eax
push eax
push 0xcf4
jmp 0x4145fd
xor eax, eax
push eax
push 0xcf3
jmp 0x4145fd
xor eax, eax
push eax
push 0xcf6
jmp 0x4145fd
xor eax, eax
push eax
push 0xce5
jmp 0x4145fd
xor eax, eax
push eax
push 0xce4
mov ecx, esi
call fcn.004140dc
jmp 0x41460e
mov dword [esi + 0x224], edx
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00419610
leave
ret