Function at 0x4235cb
Capabilities:
Parse credit card information
Parse pe header

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
push ebx
push esi
push edi
movzx edx, byte [ecx]
cmp edx, 0x2e
mov bl, 4
jg 0x423774
je 0x42375d
cmp edx, 0x26
jg 0x4236cb
je 0x4236bd
cmp edx, 0x22
jg 0x423660
je 0x4239de
cmp edx, 9
jl 0x4237ab
cmp edx, 0xa
jle 0x423644
cmp edx, 0xb
jle 0x4237ab
cmp edx, 0xd
jle 0x423644
cmp edx, 0x20
je 0x423644
cmp edx, 0x21
jne 0x4237ab
cmp byte [ecx + 1], 0x3d
mov eax, dword [ebp + 0xc]
je 0x423930
mov dword [eax], 0x94
jmp 0x423921
movzx edx, byte [ecx + 1]
push 1
pop eax
test byte [edx + 0x44a58c], 1
je 0x42388f
movzx edx, byte [eax + ecx + 1]
inc eax
jmp 0x42364b
mov eax, edx
sub eax, 0x23
je 0x423683
dec eax
je 0x423ae3
dec eax
jne 0x4237ab
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5a
jmp 0x4237c1
movzx edx, byte [ecx + 1]
mov bl, 4
push 1
test byte [edx + 0x44a58c], bl
pop eax
je 0x423ae3
movzx edx, byte [eax + ecx + 1]
inc eax
test byte [edx + 0x44a58c], bl
jne 0x423698
cmp eax, 1
jle 0x423ae3
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x84
jmp 0x423b5c
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x52
jmp 0x4237c1
mov eax, edx
sub eax, 0x27
je 0x4239de
dec eax
je 0x423752
dec eax
je 0x423747
dec eax
je 0x42373c
dec eax
je 0x42372e
dec eax
je 0x423720
dec eax
jne 0x4237ab
cmp byte [ecx + 1], 0x2d
jne 0x423712
movzx edx, byte [ecx + 2]
push 2
pop eax
test edx, edx
je 0x42388f
cmp edx, 0xa
je 0x42388f
movzx edx, byte [eax + ecx + 1]
inc eax
jmp 0x4236f9
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x57
jmp 0x4237c1
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x19
jmp 0x4237c1
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x56
jmp 0x4237c1
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x58
jmp 0x4237c1
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x17
jmp 0x4237c1
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x16
jmp 0x4237c1
movzx eax, byte [ecx + 1]
test byte [eax + 0x44a58c], bl
jne 0x4237c9
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x75
jmp 0x4237c1
cmp edx, 0x3f
jg 0x423979
je 0x423953
cmp edx, 0x3b
jg 0x4238b8
je 0x4238ab
cmp edx, 0x2f
je 0x423865
jle 0x4237ab
cmp edx, 0x39
jle 0x4237c9
cmp edx, 0x3a
je 0x423ae3
test byte [edx + 0x44a58c], 0x46
jne 0x423ab9
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x94
push 1
pop eax
jmp 0x423b5c
mov esi, dword [ebp + 0xc]
xor eax, eax
mov dword [esi], 0x81
movzx edx, byte [ecx]
test byte [edx + 0x44a58c], bl
je 0x4237e7
movzx edx, byte [eax + ecx + 1]
inc eax
jmp 0x4237d7
cmp byte [eax + ecx], 0x2e
jne 0x423801
movzx edx, byte [eax + ecx + 1]
inc eax
test byte [edx + 0x44a58c], bl
jne 0x4237ed
mov dword [esi], 0x82
mov dl, byte [eax + ecx]
cmp dl, 0x65
je 0x42380e
cmp dl, 0x45
jne 0x42384b
mov dl, byte [eax + ecx + 1]
movzx edi, dl
test byte [edi + 0x44a58c], bl
jne 0x423834
cmp dl, 0x2b
je 0x423827
cmp dl, 0x2d
jne 0x42384b
movzx edx, byte [eax + ecx + 2]
test byte [edx + 0x44a58c], bl
je 0x42384b
inc eax
inc eax
movzx edx, byte [eax + ecx]
test byte [edx + 0x44a58c], bl
je 0x423845
inc eax
jmp 0x423836
mov dword [esi], 0x82
movzx edx, byte [eax + ecx]
test byte [edx + 0x44a58c], 0x46
je 0x423b5c
mov dword [esi], 0x94
inc eax
jmp 0x42384b
cmp byte [ecx + 1], 0x2a
jne 0x42389d
mov dl, byte [ecx + 2]
test dl, dl
je 0x42389d
push 3
pop eax
movzx edx, dl
cmp edx, 0x2a
jne 0x423883
cmp byte [eax + ecx], 0x2f
je 0x42388e
movzx edx, byte [eax + ecx]
test edx, edx
je 0x42388f
inc eax
jmp 0x423878
inc eax
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x95
jmp 0x423b5c
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x59
jmp 0x4237c1
mov ecx, dword [ebp + 0xc]
push 1
pop eax
mov dword [ecx], eax
jmp 0x423b5c
mov eax, edx
sub eax, 0x3c
je 0x42390f
dec eax
je 0x4238f8
dec eax
jne 0x4237ab
movzx eax, byte [ecx + 1]
cmp eax, 0x3d
jne 0x4238dd
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x50
jmp 0x423921
cmp eax, 0x3e
mov eax, dword [ebp + 0xc]
jne 0x4238ed
mov dword [eax], 0x55
jmp 0x423921
mov dword [eax], 0x4d
jmp 0x4237c1
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4c
xor eax, eax
cmp byte [ecx + 1], 0x3d
sete al
jmp 0x423a1c
movzx eax, byte [ecx + 1]
cmp eax, 0x3d
jne 0x423928
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4e
push 2
jmp 0x4237c3
cmp eax, 0x3e
jne 0x423938
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4b
jmp 0x423921
cmp eax, 0x3c
mov eax, dword [ebp + 0xc]
jne 0x423948
mov dword [eax], 0x54
jmp 0x423921
mov dword [eax], 0x4f
jmp 0x4237c1
mov eax, dword [ebp + 0xc]
push 1
mov bl, 4
mov dword [eax], 0x85
pop eax
movzx edx, byte [ecx + 1]
test byte [edx + 0x44a58c], bl
je 0x423b5c
movzx edx, byte [eax + ecx + 1]
inc eax
jmp 0x423965
mov eax, edx
sub eax, 0x40
je 0x423ae3
sub eax, 0x18
je 0x423a5a
sub eax, 3
je 0x423a2d
sub eax, 5
je 0x4239de
sub eax, 0x18
je 0x423a5a
sub eax, 4
je 0x4239bf
dec eax
dec eax
jne 0x4237ab
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5d
jmp 0x4237c1
cmp byte [ecx + 1], 0x7c
mov eax, dword [ebp + 0xc]
je 0x4239d3
mov dword [eax], 0x53
jmp 0x4237c1
mov dword [eax], 0x5b
jmp 0x423921
movzx esi, byte [ecx + 1]
push 1
pop eax
test esi, esi
je 0x4239ff
cmp esi, edx
jne 0x4239f7
movzx edi, byte [ecx + eax + 1]
cmp edi, edx
jne 0x4239ff
inc eax
movzx esi, byte [eax + ecx + 1]
inc eax
jmp 0x4239e5
cmp esi, 0x27
jne 0x423a0f
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x5e
jmp 0x423a1c
mov ecx, dword [ebp + 0xc]
test esi, esi
je 0x423a22
mov dword [ecx], 0x1a
inc eax
jmp 0x423b5c
mov dword [ecx], 0x94
jmp 0x423b5c
push 1
pop eax
movzx edx, byte [eax + ecx]
test edx, edx
je 0x423a3e
inc eax
cmp edx, 0x5d
jne 0x423a30
xor ecx, ecx
cmp edx, 0x5d
mov edx, dword [ebp + 0xc]
setne cl
dec ecx
and ecx, 0xffffff86
add ecx, 0x94
mov dword [edx], ecx
jmp 0x423b5c
cmp byte [ecx + 1], 0x27
jne 0x4237ab
mov esi, dword [ebp + 0xc]
push 2
pop edi
mov dword [esi], 0x83
movzx ebx, byte [ecx + 2]
test ebx, ebx
je 0x423a97
cmp ebx, 0x27
je 0x423a97
movzx eax, bl
test byte [eax + 0x44a58c], 8
jne 0x423a8f
mov dword [esi], 0x94
movzx ebx, byte [edi + ecx + 1]
inc edi
jmp 0x423a74
mov eax, edi
push 2
cdq
pop ecx
idiv ecx
test edx, edx
jne 0x423aa7
test ebx, ebx
jne 0x423ab1
test ebx, ebx
mov dword [esi], 0x94
je 0x423ab2
inc edi
mov eax, edi
jmp 0x423b5c
movzx eax, byte [ecx + 1]
push 1
pop esi
test byte [eax + 0x44a58c], 0x46
je 0x423ad1
movzx eax, byte [esi + ecx + 1]
inc esi
jmp 0x423ac0
push esi
push ecx
call fcn.00423b61
pop ecx
pop ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov eax, esi
jmp 0x423b5c
mov esi, dword [ebp + 0xc]
xor edi, edi
push 1
mov dword [esi], 0x85
pop eax
movzx edx, byte [ecx + 1]
test edx, edx
je 0x423b56
movzx ebx, dl
test byte [ebx + 0x44a58c], 0x46
je 0x423b08
inc edi
jmp 0x423b1d
cmp edx, 0x28
jne 0x423b11
test edi, edi
jg 0x423b29
cmp edx, 0x3a
jne 0x423b52
cmp byte [ecx + eax + 1], dl
jne 0x423b52
inc eax
movzx edx, byte [eax + ecx + 1]
inc eax
test edx, edx
jne 0x423af9
jmp 0x423b52
movzx edx, byte [eax + ecx + 1]
inc eax
test edx, edx
je 0x423b44
movzx ebx, dl
test byte [ebx + 0x44a58c], 1
jne 0x423b44
cmp edx, 0x29
jne 0x423b29
cmp edx, 0x29
jne 0x423b4c
inc eax
jmp 0x423b52
mov dword [esi], 0x94
test edi, edi
jne 0x423b5c
mov dword [esi], 0x94
pop edi
pop esi
pop ebx
pop ebp
ret