Function at 0x4367d0
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x436b4d
push ebx
push edi
cmp eax, 0x7c
je 0x436b4b
cmp eax, 0x29
jne 0x43680d
cmp dword [esi + 0x10], 0
jne 0x436b4b
test dword [esi + 0x50], 0x10000000
je 0x436b5a
jmp 0x436adc
cmp eax, 0x2e
jne 0x436821
push 5
lea ecx, [esi + 0x24]
call fcn.00438dd0
jmp 0x436ae9
cmp eax, 0x5c
jne 0x4368fd
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x436870
cmp word [eax], 0x5c
jne 0x43686b
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x436869
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x436857
movzx edi, word [ecx]
cmp edi, 0x28
je 0x43686b
cmp edi, 0x29
je 0x43686b
test dl, 0x10
jne 0x436869
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x43686b
cmp ecx, 0x7d
je 0x43686b
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004390b0
test byte [esi + 0x50], 0x80
je 0x4368f1
movzx eax, word [esi + 0x48]
cmp eax, 0x62
jne 0x4368d9
push 4
lea ecx, [esi + 0x24]
call fcn.00438dd0
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x436a86
cmp word [eax], 0x5c
jne 0x436a81
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x436a7f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x4368d1
movzx edx, word [ecx]
cmp edx, 0x28
je 0x436a81
cmp edx, 0x29
je 0x436a81
test bl, 0x10
jmp 0x436a70
cmp eax, 0x42
jne 0x4368f1
push 4
lea ecx, [esi + 0x24]
call fcn.00438dd0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
jmp 0x436890
mov ecx, esi
call fcn.00436b80
jmp 0x436b36
cmp eax, 0x5b
jne 0x4369af
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x43694c
cmp word [eax], 0x5c
jne 0x436947
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x436945
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x436933
movzx edi, word [ecx]
cmp edi, 0x28
je 0x436947
cmp edi, 0x29
je 0x436947
test dl, 0x10
jne 0x436945
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x436947
cmp ecx, 0x7d
je 0x436947
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004390b0
lea ecx, [esi + 0x24]
call fcn.00436040
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x436974
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.00438e40
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x436992
cmp eax, 0x5d
jne 0x436992
push eax
lea ecx, [esi + 0x24]
call fcn.00435fc0
mov ecx, esi
call fcn.00438e40
mov ecx, esi
call fcn.00437440
cmp dword [esi + 0x4c], 0x5d
jne 0x436b6c
mov ecx, esi
call fcn.00438e40
jmp 0x436b36
cmp eax, 0x28
jne 0x436a28
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x4369fa
cmp word [eax], 0x5c
jne 0x4369f5
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x4369f3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4369e1
movzx edi, word [ecx]
cmp edi, 0x28
je 0x4369f5
cmp edi, 0x29
je 0x4369f5
test dl, 0x10
jne 0x4369f3
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x4369f5
cmp ecx, 0x7d
je 0x4369f5
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004390b0
mov ecx, esi
call fcn.00439370
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x436b5a
mov ecx, esi
call fcn.00438e40
test bl, bl
je 0x436b3d
jmp 0x436b36
cmp eax, 0x5e
jne 0x436a31
push 2
jmp 0x436a38
cmp eax, 0x24
jne 0x436a92
push 3
lea ecx, [esi + 0x24]
call fcn.00438dd0
mov edx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, edx
je 0x436a86
cmp word [eax], 0x5c
jne 0x436a81
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x436a7f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x436a6d
movzx edi, word [ecx]
cmp edi, 0x28
je 0x436a81
cmp edi, 0x29
je 0x436a81
test dl, 0x10
jne 0x436a7f
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x436a81
cmp ecx, 0x7d
je 0x436a81
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004390b0
jmp 0x436b3d
cmp eax, 0x2a
je 0x436b51
cmp eax, 0x2b
je 0x436b51
cmp eax, 0x3f
je 0x436b51
cmp eax, 0x7b
je 0x436b51
cmp eax, 0x7d
jne 0x436aca
test dword [esi + 0x50], 0x10000000
je 0x436b63
jmp 0x436adc
cmp eax, 0x5d
jne 0x436adc
test dword [esi + 0x50], 0x10000000
je 0x436b6c
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00435df0
mov edx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, edx
je 0x436b2f
cmp word [eax], 0x5c
jne 0x436b2a
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x436b28
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x436b16
movzx edi, word [ecx]
cmp edi, 0x28
je 0x436b2a
cmp edi, 0x29
je 0x436b2a
test dl, 0x10
jne 0x436b28
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x436b2a
cmp ecx, 0x7d
je 0x436b2a
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004390b0
mov ecx, esi
call fcn.00438e90
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x4367e3
pop edi
pop ebx
mov al, cl
pop esi
ret
push 0xa
mov ecx, esi
call fcn.004385f0
push 5
mov ecx, esi
call fcn.004385f0
push 6
mov ecx, esi
call fcn.004385f0
push 4
mov ecx, esi
call fcn.004385f0
int3