Function at 0x422f15
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 0x4230be
je 0x4230a7
cmp edx, 0x26
jg 0x423015
je 0x423007
cmp edx, 0x22
jg 0x422faa
je 0x423328
cmp edx, 9
jl 0x4230f5
cmp edx, 0xa
jle 0x422f8e
cmp edx, 0xb
jle 0x4230f5
cmp edx, 0xd
jle 0x422f8e
cmp edx, 0x20
je 0x422f8e
cmp edx, 0x21
jne 0x4230f5
cmp byte [ecx + 1], 0x3d
mov eax, dword [ebp + 0xc]
je 0x42327a
mov dword [eax], 0x94
jmp 0x42326b
movzx edx, byte [ecx + 1]
push 1
pop eax
test byte [edx + 0x44958c], 1
je 0x4231d9
movzx edx, byte [eax + ecx + 1]
inc eax
jmp 0x422f95
mov eax, edx
sub eax, 0x23
je 0x422fcd
dec eax
je 0x42342d
dec eax
jne 0x4230f5
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5a
jmp 0x42310b
movzx edx, byte [ecx + 1]
mov bl, 4
push 1
test byte [edx + 0x44958c], bl
pop eax
je 0x42342d
movzx edx, byte [eax + ecx + 1]
inc eax
test byte [edx + 0x44958c], bl
jne 0x422fe2
cmp eax, 1
jle 0x42342d
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x84
jmp 0x4234a6
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x52
jmp 0x42310b
mov eax, edx
sub eax, 0x27
je 0x423328
dec eax
je 0x42309c
dec eax
je 0x423091
dec eax
je 0x423086
dec eax
je 0x423078
dec eax
je 0x42306a
dec eax
jne 0x4230f5
cmp byte [ecx + 1], 0x2d
jne 0x42305c
movzx edx, byte [ecx + 2]
push 2
pop eax
test edx, edx
je 0x4231d9
cmp edx, 0xa
je 0x4231d9
movzx edx, byte [eax + ecx + 1]
inc eax
jmp 0x423043
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x57
jmp 0x42310b
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x19
jmp 0x42310b
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x56
jmp 0x42310b
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x58
jmp 0x42310b
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x17
jmp 0x42310b
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x16
jmp 0x42310b
movzx eax, byte [ecx + 1]
test byte [eax + 0x44958c], bl
jne 0x423113
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x75
jmp 0x42310b
cmp edx, 0x3f
jg 0x4232c3
je 0x42329d
cmp edx, 0x3b
jg 0x423202
je 0x4231f5
cmp edx, 0x2f
je 0x4231af
jle 0x4230f5
cmp edx, 0x39
jle 0x423113
cmp edx, 0x3a
je 0x42342d
test byte [edx + 0x44958c], 0x46
jne 0x423403
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x94
push 1
pop eax
jmp 0x4234a6
mov esi, dword [ebp + 0xc]
xor eax, eax
mov dword [esi], 0x81
movzx edx, byte [ecx]
test byte [edx + 0x44958c], bl
je 0x423131
movzx edx, byte [eax + ecx + 1]
inc eax
jmp 0x423121
cmp byte [eax + ecx], 0x2e
jne 0x42314b
movzx edx, byte [eax + ecx + 1]
inc eax
test byte [edx + 0x44958c], bl
jne 0x423137
mov dword [esi], 0x82
mov dl, byte [eax + ecx]
cmp dl, 0x65
je 0x423158
cmp dl, 0x45
jne 0x423195
mov dl, byte [eax + ecx + 1]
movzx edi, dl
test byte [edi + 0x44958c], bl
jne 0x42317e
cmp dl, 0x2b
je 0x423171
cmp dl, 0x2d
jne 0x423195
movzx edx, byte [eax + ecx + 2]
test byte [edx + 0x44958c], bl
je 0x423195
inc eax
inc eax
movzx edx, byte [eax + ecx]
test byte [edx + 0x44958c], bl
je 0x42318f
inc eax
jmp 0x423180
mov dword [esi], 0x82
movzx edx, byte [eax + ecx]
test byte [edx + 0x44958c], 0x46
je 0x4234a6
mov dword [esi], 0x94
inc eax
jmp 0x423195
cmp byte [ecx + 1], 0x2a
jne 0x4231e7
mov dl, byte [ecx + 2]
test dl, dl
je 0x4231e7
push 3
pop eax
movzx edx, dl
cmp edx, 0x2a
jne 0x4231cd
cmp byte [eax + ecx], 0x2f
je 0x4231d8
movzx edx, byte [eax + ecx]
test edx, edx
je 0x4231d9
inc eax
jmp 0x4231c2
inc eax
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x95
jmp 0x4234a6
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x59
jmp 0x42310b
mov ecx, dword [ebp + 0xc]
push 1
pop eax
mov dword [ecx], eax
jmp 0x4234a6
mov eax, edx
sub eax, 0x3c
je 0x423259
dec eax
je 0x423242
dec eax
jne 0x4230f5
movzx eax, byte [ecx + 1]
cmp eax, 0x3d
jne 0x423227
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x50
jmp 0x42326b
cmp eax, 0x3e
mov eax, dword [ebp + 0xc]
jne 0x423237
mov dword [eax], 0x55
jmp 0x42326b
mov dword [eax], 0x4d
jmp 0x42310b
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4c
xor eax, eax
cmp byte [ecx + 1], 0x3d
sete al
jmp 0x423366
movzx eax, byte [ecx + 1]
cmp eax, 0x3d
jne 0x423272
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4e
push 2
jmp 0x42310d
cmp eax, 0x3e
jne 0x423282
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4b
jmp 0x42326b
cmp eax, 0x3c
mov eax, dword [ebp + 0xc]
jne 0x423292
mov dword [eax], 0x54
jmp 0x42326b
mov dword [eax], 0x4f
jmp 0x42310b
mov eax, dword [ebp + 0xc]
push 1
mov bl, 4
mov dword [eax], 0x85
pop eax
movzx edx, byte [ecx + 1]
test byte [edx + 0x44958c], bl
je 0x4234a6
movzx edx, byte [eax + ecx + 1]
inc eax
jmp 0x4232af
mov eax, edx
sub eax, 0x40
je 0x42342d
sub eax, 0x18
je 0x4233a4
sub eax, 3
je 0x423377
sub eax, 5
je 0x423328
sub eax, 0x18
je 0x4233a4
sub eax, 4
je 0x423309
dec eax
dec eax
jne 0x4230f5
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5d
jmp 0x42310b
cmp byte [ecx + 1], 0x7c
mov eax, dword [ebp + 0xc]
je 0x42331d
mov dword [eax], 0x53
jmp 0x42310b
mov dword [eax], 0x5b
jmp 0x42326b
movzx esi, byte [ecx + 1]
push 1
pop eax
test esi, esi
je 0x423349
cmp esi, edx
jne 0x423341
movzx edi, byte [ecx + eax + 1]
cmp edi, edx
jne 0x423349
inc eax
movzx esi, byte [eax + ecx + 1]
inc eax
jmp 0x42332f
cmp esi, 0x27
jne 0x423359
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x5e
jmp 0x423366
mov ecx, dword [ebp + 0xc]
test esi, esi
je 0x42336c
mov dword [ecx], 0x1a
inc eax
jmp 0x4234a6
mov dword [ecx], 0x94
jmp 0x4234a6
push 1
pop eax
movzx edx, byte [eax + ecx]
test edx, edx
je 0x423388
inc eax
cmp edx, 0x5d
jne 0x42337a
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 0x4234a6
cmp byte [ecx + 1], 0x27
jne 0x4230f5
mov esi, dword [ebp + 0xc]
push 2
pop edi
mov dword [esi], 0x83
movzx ebx, byte [ecx + 2]
test ebx, ebx
je 0x4233e1
cmp ebx, 0x27
je 0x4233e1
movzx eax, bl
test byte [eax + 0x44958c], 8
jne 0x4233d9
mov dword [esi], 0x94
movzx ebx, byte [edi + ecx + 1]
inc edi
jmp 0x4233be
mov eax, edi
push 2
cdq
pop ecx
idiv ecx
test edx, edx
jne 0x4233f1
test ebx, ebx
jne 0x4233fb
test ebx, ebx
mov dword [esi], 0x94
je 0x4233fc
inc edi
mov eax, edi
jmp 0x4234a6
movzx eax, byte [ecx + 1]
push 1
pop esi
test byte [eax + 0x44958c], 0x46
je 0x42341b
movzx eax, byte [esi + ecx + 1]
inc esi
jmp 0x42340a
push esi
push ecx
call fcn.004234ab
pop ecx
pop ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov eax, esi
jmp 0x4234a6
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 0x4234a0
movzx ebx, dl
test byte [ebx + 0x44958c], 0x46
je 0x423452
inc edi
jmp 0x423467
cmp edx, 0x28
jne 0x42345b
test edi, edi
jg 0x423473
cmp edx, 0x3a
jne 0x42349c
cmp byte [ecx + eax + 1], dl
jne 0x42349c
inc eax
movzx edx, byte [eax + ecx + 1]
inc eax
test edx, edx
jne 0x423443
jmp 0x42349c
movzx edx, byte [eax + ecx + 1]
inc eax
test edx, edx
je 0x42348e
movzx ebx, dl
test byte [ebx + 0x44958c], 1
jne 0x42348e
cmp edx, 0x29
jne 0x423473
cmp edx, 0x29
jne 0x423496
inc eax
jmp 0x42349c
mov dword [esi], 0x94
test edi, edi
jne 0x4234a6
mov dword [esi], 0x94
pop edi
pop esi
pop ebx
pop ebp
ret