Function at 0x43dee4
Capabilities:
Parse credit card information

Disassembly:
push ebx
mov ebx, eax
movzx ecx, byte [ebx]
xor eax, eax
inc eax
cmp ecx, 0x2e
push edi
jg 0x43e056
je 0x43e04e
cmp ecx, 0x26
jg 0x43dfcf
je 0x43dfc7
cmp ecx, 0x21
jg 0x43df75
je 0x43df5d
cmp ecx, 9
jl 0x43e089
cmp ecx, 0xa
jle 0x43df38
cmp ecx, 0xb
jle 0x43e089
cmp ecx, 0xd
jle 0x43df38
cmp ecx, 0x20
jne 0x43e089
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
mov ecx, eax
jmp 0x43df48
inc ecx
movzx edx, byte [ecx + ebx]
test byte [edx + 0x441e50], al
jne 0x43df43
mov dword [esi], 0x95
mov eax, ecx
jmp 0x43e34d
cmp byte [ebx + 1], 0x3d
push 2
pop eax
jne 0x43e347
mov dword [esi], 0x4b
jmp 0x43e34d
mov edx, ecx
sub edx, 0x22
je 0x43e22e
dec edx
je 0x43df96
dec edx
dec edx
jne 0x43e089
mov dword [esi], 0x5a
jmp 0x43e01e
movzx edx, byte [ebx + 1]
test byte [edx + 0x441e50], 4
mov ecx, eax
je 0x43e31d
inc ecx
movzx edx, byte [ecx + ebx]
test byte [edx + 0x441e50], 4
jne 0x43dfa9
cmp ecx, eax
jle 0x43e31d
mov dword [esi], 0x84
jmp 0x43df56
mov dword [esi], 0x52
jmp 0x43e01e
mov eax, ecx
sub eax, 0x27
je 0x43e22e
dec eax
je 0x43e046
dec eax
je 0x43e03e
dec eax
je 0x43e036
dec eax
je 0x43e02e
dec eax
je 0x43e026
dec eax
jne 0x43e089
cmp byte [ebx + 1], 0x2d
jne 0x43e018
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x43e009
cmp ecx, 0xa
je 0x43e00d
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x43dfff
mov dword [esi], 0x95
jmp 0x43e34d
mov dword [esi], 0x57
xor eax, eax
inc eax
jmp 0x43e34d
mov dword [esi], 0x19
jmp 0x43e01e
mov dword [esi], 0x56
jmp 0x43e01e
mov dword [esi], 0x58
jmp 0x43e01e
mov dword [esi], 0x17
jmp 0x43e01e
mov dword [esi], 0x16
jmp 0x43e01e
mov dword [esi], 0x76
jmp 0x43e01e
cmp ecx, 0x3f
jg 0x43e1cf
je 0x43e1ad
cmp ecx, 0x3b
jg 0x43e122
je 0x43e118
cmp ecx, 0x2f
je 0x43e0da
jle 0x43e089
cmp ecx, 0x39
jle 0x43e09e
cmp ecx, 0x3a
je 0x43e31d
test byte [ecx + 0x441e50], 0x46
jne 0x43e2fb
xor eax, eax
inc eax
jmp 0x43e347
mov dword [esi], 0x81
xor eax, eax
jmp 0x43e0ad
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x441e50], 4
jne 0x43e0a8
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x441e50], 0x46
je 0x43e34d
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x441e50], 0x46
jne 0x43e0c7
jmp 0x43e347
cmp byte [ebx + 1], 0x2a
jne 0x43e10d
mov cl, byte [ebx + 2]
test cl, cl
je 0x43e10d
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x43e0f8
cmp byte [eax + ebx], 0x2f
je 0x43e107
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x43e00d
inc eax
jmp 0x43e0ed
inc eax
jmp 0x43e00d
mov dword [esi], 0x59
jmp 0x43e01e
xor eax, eax
inc eax
mov dword [esi], eax
jmp 0x43e34d
mov eax, ecx
sub eax, 0x3c
je 0x43e171
dec eax
je 0x43e15c
dec eax
jne 0x43e089
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x43e144
mov dword [esi], 0x50
jmp 0x43e180
cmp eax, 0x3e
jne 0x43e151
mov dword [esi], 0x55
jmp 0x43e180
mov dword [esi], 0x4d
jmp 0x43e01e
xor eax, eax
cmp byte [ebx + 1], 0x3d
mov dword [esi], 0x4c
sete al
inc eax
jmp 0x43e34d
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x43e188
mov dword [esi], 0x4e
push 2
pop eax
jmp 0x43e34d
cmp eax, 0x3e
jne 0x43e195
mov dword [esi], 0x4b
jmp 0x43e180
cmp eax, 0x3c
jne 0x43e1a2
mov dword [esi], 0x54
jmp 0x43e180
mov dword [esi], 0x4f
jmp 0x43e01e
movzx ecx, byte [ebx + 1]
xor eax, eax
mov dword [esi], 0x85
inc eax
jmp 0x43e1c1
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x441e50], 4
jne 0x43e1bc
jmp 0x43e34d
mov edx, ecx
sub edx, 0x40
je 0x43e31d
sub edx, 0x18
je 0x43e29d
sub edx, 3
je 0x43e271
sub edx, 5
je 0x43e22e
sub edx, 0x18
je 0x43e29d
sub edx, 4
je 0x43e212
dec edx
dec edx
jne 0x43e089
mov dword [esi], 0x5d
jmp 0x43e01e
cmp byte [ebx + 1], 0x7c
je 0x43e223
mov dword [esi], 0x53
jmp 0x43e01e
mov dword [esi], 0x5b
jmp 0x43e180
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x43e24a
cmp edx, ecx
jne 0x43e245
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x43e24e
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x43e237
cmp edx, 0x27
jne 0x43e25e
mov dword [esi], 0x5e
jmp 0x43e16b
test edx, edx
je 0x43e347
mov dword [esi], 0x1a
jmp 0x43e16b
xor eax, eax
inc eax
jmp 0x43e27f
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x43e284
inc eax
cmp ecx, 0x5d
jne 0x43e276
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff86
add edx, 0x94
mov dword [esi], edx
jmp 0x43e34d
cmp byte [ebx + 1], 0x27
jne 0x43e089
movzx ecx, byte [ebx + 2]
push 2
mov dword [esi], 0x83
pop eax
mov edx, 0x94
jmp 0x43e2d3
cmp ecx, 0x27
je 0x43e2d7
movzx ecx, cl
test byte [ecx + 0x441e50], 8
jne 0x43e2ce
mov dword [esi], edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x43e2bb
mov edi, eax
and edi, 0x80000001
jns 0x43e2e6
dec edi
or edi, 0xfffffffe
inc edi
jne 0x43e2f0
test ecx, ecx
jne 0x43e16b
test ecx, ecx
mov dword [esi], edx
je 0x43e34d
jmp 0x43e16b
movzx eax, byte [ebx + 1]
xor edi, edi
inc edi
jmp 0x43e309
inc edi
movzx eax, byte [edi + ebx]
test byte [eax + 0x441e50], 0x46
jne 0x43e304
call fcn.0043de6e
mov dword [esi], eax
mov eax, edi
jmp 0x43e34d
movzx ecx, byte [ebx + 1]
xor edx, edx
test ecx, ecx
mov dword [esi], 0x85
je 0x43e347
movzx ecx, cl
test byte [ecx + 0x441e50], 0x46
je 0x43e343
inc edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x43e32d
test edx, edx
jne 0x43e34d
mov dword [esi], 0x94
pop edi
pop ebx
ret