Function at 0x43e09c
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 0x43e20e
je 0x43e206
cmp ecx, 0x26
jg 0x43e187
je 0x43e17f
cmp ecx, 0x21
jg 0x43e12d
je 0x43e115
cmp ecx, 9
jl 0x43e241
cmp ecx, 0xa
jle 0x43e0f0
cmp ecx, 0xb
jle 0x43e241
cmp ecx, 0xd
jle 0x43e0f0
cmp ecx, 0x20
jne 0x43e241
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
mov ecx, eax
jmp 0x43e100
inc ecx
movzx edx, byte [ecx + ebx]
test byte [edx + 0x440e08], al
jne 0x43e0fb
mov dword [esi], 0x95
mov eax, ecx
jmp 0x43e505
cmp byte [ebx + 1], 0x3d
push 2
pop eax
jne 0x43e4ff
mov dword [esi], 0x4b
jmp 0x43e505
mov edx, ecx
sub edx, 0x22
je 0x43e3e6
dec edx
je 0x43e14e
dec edx
dec edx
jne 0x43e241
mov dword [esi], 0x5a
jmp 0x43e1d6
movzx edx, byte [ebx + 1]
test byte [edx + 0x440e08], 4
mov ecx, eax
je 0x43e4d5
inc ecx
movzx edx, byte [ecx + ebx]
test byte [edx + 0x440e08], 4
jne 0x43e161
cmp ecx, eax
jle 0x43e4d5
mov dword [esi], 0x84
jmp 0x43e10e
mov dword [esi], 0x52
jmp 0x43e1d6
mov eax, ecx
sub eax, 0x27
je 0x43e3e6
dec eax
je 0x43e1fe
dec eax
je 0x43e1f6
dec eax
je 0x43e1ee
dec eax
je 0x43e1e6
dec eax
je 0x43e1de
dec eax
jne 0x43e241
cmp byte [ebx + 1], 0x2d
jne 0x43e1d0
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x43e1c1
cmp ecx, 0xa
je 0x43e1c5
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x43e1b7
mov dword [esi], 0x95
jmp 0x43e505
mov dword [esi], 0x57
xor eax, eax
inc eax
jmp 0x43e505
mov dword [esi], 0x19
jmp 0x43e1d6
mov dword [esi], 0x56
jmp 0x43e1d6
mov dword [esi], 0x58
jmp 0x43e1d6
mov dword [esi], 0x17
jmp 0x43e1d6
mov dword [esi], 0x16
jmp 0x43e1d6
mov dword [esi], 0x76
jmp 0x43e1d6
cmp ecx, 0x3f
jg 0x43e387
je 0x43e365
cmp ecx, 0x3b
jg 0x43e2da
je 0x43e2d0
cmp ecx, 0x2f
je 0x43e292
jle 0x43e241
cmp ecx, 0x39
jle 0x43e256
cmp ecx, 0x3a
je 0x43e4d5
test byte [ecx + 0x440e08], 0x46
jne 0x43e4b3
xor eax, eax
inc eax
jmp 0x43e4ff
mov dword [esi], 0x81
xor eax, eax
jmp 0x43e265
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x440e08], 4
jne 0x43e260
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x440e08], 0x46
je 0x43e505
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x440e08], 0x46
jne 0x43e27f
jmp 0x43e4ff
cmp byte [ebx + 1], 0x2a
jne 0x43e2c5
mov cl, byte [ebx + 2]
test cl, cl
je 0x43e2c5
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x43e2b0
cmp byte [eax + ebx], 0x2f
je 0x43e2bf
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x43e1c5
inc eax
jmp 0x43e2a5
inc eax
jmp 0x43e1c5
mov dword [esi], 0x59
jmp 0x43e1d6
xor eax, eax
inc eax
mov dword [esi], eax
jmp 0x43e505
mov eax, ecx
sub eax, 0x3c
je 0x43e329
dec eax
je 0x43e314
dec eax
jne 0x43e241
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x43e2fc
mov dword [esi], 0x50
jmp 0x43e338
cmp eax, 0x3e
jne 0x43e309
mov dword [esi], 0x55
jmp 0x43e338
mov dword [esi], 0x4d
jmp 0x43e1d6
xor eax, eax
cmp byte [ebx + 1], 0x3d
mov dword [esi], 0x4c
sete al
inc eax
jmp 0x43e505
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x43e340
mov dword [esi], 0x4e
push 2
pop eax
jmp 0x43e505
cmp eax, 0x3e
jne 0x43e34d
mov dword [esi], 0x4b
jmp 0x43e338
cmp eax, 0x3c
jne 0x43e35a
mov dword [esi], 0x54
jmp 0x43e338
mov dword [esi], 0x4f
jmp 0x43e1d6
movzx ecx, byte [ebx + 1]
xor eax, eax
mov dword [esi], 0x85
inc eax
jmp 0x43e379
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x440e08], 4
jne 0x43e374
jmp 0x43e505
mov edx, ecx
sub edx, 0x40
je 0x43e4d5
sub edx, 0x18
je 0x43e455
sub edx, 3
je 0x43e429
sub edx, 5
je 0x43e3e6
sub edx, 0x18
je 0x43e455
sub edx, 4
je 0x43e3ca
dec edx
dec edx
jne 0x43e241
mov dword [esi], 0x5d
jmp 0x43e1d6
cmp byte [ebx + 1], 0x7c
je 0x43e3db
mov dword [esi], 0x53
jmp 0x43e1d6
mov dword [esi], 0x5b
jmp 0x43e338
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x43e402
cmp edx, ecx
jne 0x43e3fd
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x43e406
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x43e3ef
cmp edx, 0x27
jne 0x43e416
mov dword [esi], 0x5e
jmp 0x43e323
test edx, edx
je 0x43e4ff
mov dword [esi], 0x1a
jmp 0x43e323
xor eax, eax
inc eax
jmp 0x43e437
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x43e43c
inc eax
cmp ecx, 0x5d
jne 0x43e42e
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff86
add edx, 0x94
mov dword [esi], edx
jmp 0x43e505
cmp byte [ebx + 1], 0x27
jne 0x43e241
movzx ecx, byte [ebx + 2]
push 2
mov dword [esi], 0x83
pop eax
mov edx, 0x94
jmp 0x43e48b
cmp ecx, 0x27
je 0x43e48f
movzx ecx, cl
test byte [ecx + 0x440e08], 8
jne 0x43e486
mov dword [esi], edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x43e473
mov edi, eax
and edi, 0x80000001
jns 0x43e49e
dec edi
or edi, 0xfffffffe
inc edi
jne 0x43e4a8
test ecx, ecx
jne 0x43e323
test ecx, ecx
mov dword [esi], edx
je 0x43e505
jmp 0x43e323
movzx eax, byte [ebx + 1]
xor edi, edi
inc edi
jmp 0x43e4c1
inc edi
movzx eax, byte [edi + ebx]
test byte [eax + 0x440e08], 0x46
jne 0x43e4bc
call fcn.0043e026
mov dword [esi], eax
mov eax, edi
jmp 0x43e505
movzx ecx, byte [ebx + 1]
xor edx, edx
test ecx, ecx
mov dword [esi], 0x85
je 0x43e4ff
movzx ecx, cl
test byte [ecx + 0x440e08], 0x46
je 0x43e4fb
inc edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x43e4e5
test edx, edx
jne 0x43e505
mov dword [esi], 0x94
pop edi
pop ebx
ret