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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
or eax, 0xffffffff
mov word [ebp - 0x40], ax
xor eax, eax
push ebx
mov word [ebp - 0x3e], ax
mov dword [ebp - 0x54], eax
xor ecx, ecx
push esi
xor esi, esi
mov eax, 0x65
mov edx, 2
mul edx
seto cl
push edi
mov dword [ebp - 8], esi
mov dword [ebp - 0x50], 0x65
neg ecx
or ecx, eax
push ecx
call fcn.00420d7a
mov ebx, eax
add esp, 4
xor eax, eax
push 4
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x58], ebx
mov word [ebx], ax
call fcn.00420d7a
add esp, 4
mov dword [ebp - 0xc], eax
test eax, eax
je 0x40c7da
mov dword [eax], 1
mov edx, dword [ebp + 0x10]
xor edi, edi
mov dword [ebp - 0x4c], eax
cmp dword [edx + 8], esi
jbe 0x40c02a
jmp 0x40bff0
mov eax, dword [edx + 4]
mov eax, dword [eax + edi*4]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x40c01d
movzx ecx, word [eax + 8]
cmp cx, 0x3f
jg 0x40c011
cmp cx, 0x30
jge 0x40c0cc
push eax
call fcn.00420dee
mov edx, dword [ebp + 0x10]
add esp, 4
mov eax, dword [edx + 4]
inc edi
mov dword [eax + edi*4 - 4], esi
cmp edi, dword [edx + 8]
jb 0x40bff0
mov ecx, dword [ebp + 0xc]
mov dword [edx + 8], esi
cmp word [ecx], si
je 0x40c20b
lea esp, [esp]
movzx eax, word [ecx + esi*2]
cmp eax, 0x20
je 0x40c119
cmp eax, 9
je 0x40c119
movzx eax, word [ecx + esi*2]
mov dword [ebp - 8], esi
test ax, ax
je 0x40c1fa
mov edi, eax
mov word [ebp - 0x3e], si
cmp edi, 0x30
jb 0x40c07a
cmp edi, 0x39
jbe 0x40c322
cmp edi, 0x2e
je 0x40c322
cmp edi, 0x41
jae 0x40c11f
cmp edi, 0x61
jae 0x40c78e
cmp edi, 0x5f
je 0x40c128
mov eax, edi
cmp eax, 0x24
je case.0x40c0c5.64
cmp eax, 0x3d
je 0x40c3da
sub eax, 0x1a
cmp eax, 0x44
ja case.0x40c0c5.27
movzx eax, byte [eax + 0x40c83c]
jmp dword [eax*4 + 0x40c7f0]
mov ecx, dword [eax]
mov dword [ebp - 8], ecx
test ecx, ecx
je 0x40c011
mov eax, dword [ecx + 0xc]
dec dword [eax]
mov eax, dword [ecx + 0xc]
cmp dword [eax], esi
je 0x474c00
push ecx
call fcn.00420dee
mov eax, dword [ebp - 0x18]
add esp, 4
jmp 0x40c011
push 0x40
lea ecx, [ebp - 0x48]
call fcn.0040c9c1
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040c890
inc esi
mov dword [ebp - 8], esi
jmp 0x40c1e9
inc esi
jmp 0x40c040
cmp edi, 0x5a
ja 0x40c08c
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 8]
push eax
push dword [ebp + 0xc]
call fcn.0040bd30
cmp dword [ebp - 0x48], 0xffffffff
je 0x474e46
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040c890
mov eax, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x58]
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], ebx
jmp 0x40c1e9
cmp bx, 0x30
jae 0x40c316
cmp bx, 0x5f
je 0x40c2e7
mov dword [ebp - 8], esi
test edi, edi
je 0x474eb4
lea ecx, [ebp - 0x58]
call fcn.0040ca6c
mov edi, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x58]
push edi
push ebx
mov dword [ebp - 0x10], ebx
call dword [sym.imp.USER32.dll_CharUpperBuffW]
cmp word [ebp - 0x20], 0xf
ja 0x40c1b0
mov ecx, dword [ebp - 0x48]
test ecx, ecx
jne 0x474e10
push 0x10
call fcn.00420d7a
mov ecx, eax
mov eax, dword [ebp - 0x4c]
add esp, 4
mov dword [ebp - 0xc], eax
test ecx, ecx
je 0x474e1b
mov edx, dword [ebp - 0x50]
mov dword [ecx], ebx
mov dword [ecx + 4], edi
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
inc dword [eax]
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040c890
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
cmp word [ecx + esi*2], 0
jne 0x40c040
mov ax, word [ebp - 0x40]
cmp ax, 0x30
jge 0x40c3f8
mov edx, dword [ebp + 0x10]
mov eax, 0x7f
mov word [ebp - 0x40], ax
lea eax, [ebp - 0x48]
push eax
mov ecx, edx
mov dword [ebp - 0x48], 0
mov word [ebp - 0x3e], si
call fcn.0040c890
mov esi, dword [ebp - 0xc]
xor edi, edi
dec dword [esi]
jne 0x40c245
push ebx
call fcn.00420dee
add esp, 4
push esi
call fcn.00420dee
add esp, 4
mov eax, dword [ebp - 0x40]
add eax, 0xffffffd0
cmp ax, 0xf
jbe 0x474eec
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push edx
call fcn.0040ca3a
test eax, eax
js 0x474ed3
cmp edi, 0x24
jne 0x40c68b
mov edi, 0x33
mov eax, dword [ebp - 0x40]
add eax, 0xffffffd0
cmp ax, 0xf
jbe 0x474ca6
lea eax, [edi - 0x30]
mov word [ebp - 0x40], di
mov dword [ebp - 0x20], eax
cmp ax, 0xf
ja 0x474cbc
mov dword [ebp - 0x48], 0
mov ecx, dword [ebp - 0xc]
inc esi
mov eax, dword [ecx]
mov dword [ebp - 8], esi
cmp eax, 1
jg 0x40c384
mov edx, dword [ebp - 0x50]
xor edi, edi
xor eax, eax
mov word [ebx], ax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x54], edi
movzx ebx, word [eax + esi*2]
cmp bx, 0x5a
jbe 0x40c30e
cmp bx, 0x61
jb 0x40c166
cmp bx, 0x7a
ja 0x40c166
mov eax, dword [ecx]
cmp eax, 1
jg 0x474ce6
lea eax, [edi + 2]
cmp edx, eax
jb 0x40c49e
mov eax, dword [ebp - 0x10]
mov word [eax + edi*2], bx
inc edi
xor ebx, ebx
mov word [eax + edi*2], bx
inc esi
jmp 0x40c2c3
cmp bx, 0x41
jae 0x40c2e7
jmp 0x40c2d3
cmp bx, 0x39
ja 0x40c170
jmp 0x40c2e7
mov ecx, dword [edx + 8]
mov esi, 0x40
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x40c33c
mov eax, dword [edx + 4]
mov eax, dword [eax + ecx*4 - 4]
movzx esi, word [eax + 8]
mov ebx, dword [ebp + 0xc]
push esi
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 8]
push eax
push ebx
call fcn.0040cb60
cmp al, 1
jne 0x40c6f6
cmp si, 0x4a
je 0x40c5dc
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040c890
mov eax, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x58]
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], ebx
jmp 0x40c1e9
dec eax
push 4
mov dword [ecx], eax
call fcn.00420d7a
add esp, 4
mov dword [ebp - 0xc], eax
test eax, eax
je 0x40c7e4
mov dword [eax], 1
mov dword [ebp - 0x4c], eax
xor ecx, ecx
mov eax, 8
mov edx, 2
mul edx
seto cl
mov dword [ebp - 0x50], 8
neg ecx
or ecx, eax
push ecx
call fcn.004206fd
mov ecx, dword [ebp - 0xc]
mov ebx, eax
add esp, 4
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x58], ebx
jmp 0x40c2b9
inc esi
mov dword [ebp - 8], esi
cmp word [ecx + esi*2], 0x3d
lea ecx, [ebp - 0x48]
je 0x40c6e6
push 0x41
call fcn.0040c9c1
jmp 0x40c1dd
cmp ax, 0x3f
jg 0x40c208
mov edi, dword [ebp - 0x48]
test edi, edi
je 0x40c208
mov ecx, edi
call fcn.00408d6e
push edi
call fcn.00420dee
add esp, 4
jmp 0x40c208
push 0x47
lea ecx, [ebp - 0x48]
call fcn.0040c9c1
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040c890
inc esi
mov dword [ebp - 8], esi
jmp 0x40c1e9
push 0x48
lea ecx, [ebp - 0x48]
call fcn.0040c9c1
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040c890
inc esi
mov dword [ebp - 8], esi
jmp 0x40c1e9
push 0x4e
lea ecx, [ebp - 0x48]
call fcn.0040c9c1
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040c890
inc esi
mov dword [ebp - 8], esi
jmp 0x40c1e9
push 0x4f
lea ecx, [ebp - 0x48]
call fcn.0040c9c1
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040c890
inc esi
mov dword [ebp - 8], esi
jmp 0x40c1e9
cmp eax, 0x41c2
jae 0x474d46
add eax, eax
push eax
call fcn.0040d9f3
xor ecx, ecx
mov dword [ebp - 0x50], eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004206fd
mov edx, eax
mov eax, dword [ebp - 0x10]
add esp, 4
mov dword [ebp - 0x18], edx
test eax, eax
je 0x40c4fa
lea ecx, [edi*2 + 2]
push ecx
push eax
push edx
call fcn.00420710
mov ecx, dword [ebp - 0x10]
add esp, 0xc
push ecx
call fcn.00422670
mov edx, dword [ebp - 0x18]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov eax, edx
mov edx, dword [ebp - 0x50]
mov word [eax + edi*2], bx
inc edi
xor ebx, ebx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x58], eax
mov word [eax + edi*2], bx
inc esi
jmp 0x40c2c3
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 8]
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040cd9f
lea ecx, [ebp - 0x48]
test eax, eax
js 0x474e64
push 0x36
call fcn.0040c9c1
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x48]
call fcn.0041ea4f
jmp 0x40c146
push 0x49
lea ecx, [ebp - 0x48]
call fcn.0040c9c1
mov eax, dword [ebp + 0xc]
inc esi
mov dword [ebp - 8], esi
cmp word [eax + esi*2], 0x3d
jne 0x40c1dd
inc esi
push 0x52
lea ecx, [ebp - 0x48]
mov dword [ebp - 8], esi
call fcn.0040c9c1
jmp 0x40c1dd
push 0x4d
lea ecx, [ebp - 0x48]
call fcn.0040c9c1
mov eax, dword [ebp + 0xc]
inc esi
mov dword [ebp - 8], esi
cmp word [eax + esi*2], 0x3d
jne 0x40c1dd
inc esi
push 0x56
lea ecx, [ebp - 0x48]
mov dword [ebp - 8], esi
call fcn.0040c9c1
jmp 0x40c1dd
push 0x4a
lea ecx, [ebp - 0x48]
call fcn.0040c9c1
mov eax, dword [ebp + 0xc]
inc esi
mov dword [ebp - 8], esi
cmp word [eax + esi*2], 0x3d
jne 0x40c1dd
inc esi
push 0x53
lea ecx, [ebp - 0x48]
mov dword [ebp - 8], esi
call fcn.0040c9c1
jmp 0x40c1dd
cmp word [ebp - 0x40], 5
jne 0x40c364
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x18]
neg ecx
adc eax, 0
neg eax
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x44], eax
mov eax, dword [ecx + 4]
mov eax, dword [eax + edx*4 - 4]
mov edx, 0x49
mov word [eax + 8], dx
jmp 0x40c367
mov eax, dword [ebp + 0xc]
inc esi
mov dword [ebp - 8], esi
movzx eax, word [eax + esi*2]
lea ecx, [ebp - 0x48]
sub eax, 0x3d
je 0x40c6c6
dec eax
je 0x40c6b6
push 0x43
call fcn.0040c9c1
jmp 0x40c1dd
push 0x4c
lea ecx, [ebp - 0x48]
call fcn.0040c9c1
mov eax, dword [ebp + 0xc]
inc esi
mov dword [ebp - 8], esi
cmp word [eax + esi*2], 0x3d
jne 0x40c1dd
inc esi
push 0x55
lea ecx, [ebp - 0x48]
mov dword [ebp - 8], esi
call fcn.0040c9c1
jmp 0x40c1dd
mov eax, dword [ebp + 0xc]
inc esi
mov dword [ebp - 8], esi
cmp word [eax + esi*2], 0x3d
lea ecx, [ebp - 0x48]
je 0x40c6d6
push 0x42
call fcn.0040c9c1
jmp 0x40c1dd
mov edi, 0x32
jmp 0x40c27c
push 0x4b
lea ecx, [ebp - 0x48]
call fcn.0040c9c1
mov eax, dword [ebp + 0xc]
inc esi
mov dword [ebp - 8], esi
cmp word [eax + esi*2], 0x3d
jne 0x40c1dd
jmp 0x474c46
push 0x44
call fcn.0040c9c1
inc esi
mov dword [ebp - 8], esi
jmp 0x40c1dd
push 0x46
call fcn.0040c9c1
inc esi
mov dword [ebp - 8], esi
jmp 0x40c1dd
push 0x45
call fcn.0040c9c1
inc esi
mov dword [ebp - 8], esi
jmp 0x40c1dd
push 0x50
call fcn.0040c9c1
inc esi
mov dword [ebp - 8], esi
jmp 0x40c1dd
mov esi, dword [ebp - 8]
cmp edi, 0x2e
jne 0x474c2f
inc esi
lea ecx, [ebp - 0x58]
mov dword [ebp - 8], esi
call fcn.0040d59d
movzx eax, word [ebx + esi*2]
cmp ax, 0x5a
jbe 0x40c730
cmp ax, 0x61
jb 0x40c738
cmp ax, 0x7a
ja 0x40c738
push eax
lea ecx, [ebp - 0x58]
call fcn.0040ce18
inc esi
jmp 0x40c70e
cmp ax, 0x41
jae 0x40c724
jmp 0x40c718
cmp ax, 0x30
jae 0x474c20
cmp ax, 0x5f
je 0x40c724
cmp ax, 0x7f
ja 0x40c724
cmp dword [ebp - 0x54], 0
mov dword [ebp - 8], esi
je 0x474e27
push 0x35
lea ecx, [ebp - 0x48]
call fcn.0040c9c1
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x48]
call fcn.0041ea4f
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040c890
mov eax, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], ebx
jmp 0x40c1e9
cmp edi, 0x7a
jbe 0x40c128
jmp 0x40c095
push 0x57
lea ecx, [ebp - 0x48]
call fcn.0040c9c1
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040c890
inc esi
mov dword [ebp - 8], esi
jmp 0x40c1e9
push 0x58
lea ecx, [ebp - 0x48]
call fcn.0040c9c1
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040c890
inc esi
mov dword [ebp - 8], esi
jmp 0x40c1e9
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x40bfdb
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x40c3a2
push dword [ecx]
call fcn.00420dee
mov eax, dword [ebp - 8]
add esp, 4
push dword [eax + 0xc]
call fcn.00420dee
mov ecx, dword [ebp - 8]
add esp, 4
jmp 0x40c0e9
cmp ax, 0x39
jbe 0x40c724
jmp 0x40c742
mov eax, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x58]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], ebx
jmp 0x40c083
inc esi
push 0x54
lea ecx, [ebp - 0x48]
mov dword [ebp - 8], esi
call fcn.0040c9c1
jmp 0x40c1dd
push 0x51
lea ecx, [ebp - 0x48]
call fcn.0040c9c1
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040c890
inc esi
mov dword [ebp - 8], esi
jmp 0x40c1e9
test esi, esi
jne case.0x40c0c5.27
cmp word [ecx + 2], si
jne case.0x40c0c5.27
mov eax, dword [ebp + 8]
cmp eax, dword [0x4c32f8]
jl case.0x40c0c5.27
mov esi, 1
mov dword [ebp - 8], esi
jmp 0x40c1ef
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x40c28c
push ecx
call fcn.0040338e
jmp 0x40c28c
cmp di, 0x10
jne 0x474ccf
xorps xmm0, xmm0
movlpd qword [ebp - 0x48], xmm0
jmp 0x40c2a7
cmp di, 0x20
jne 0x40c2a0
xorps xmm0, xmm0
movsd qword [ebp - 0x48], xmm0
jmp 0x40c2a7
dec eax
mov dword [ecx], eax
lea ecx, [ebp - 0x58]
call fcn.0040b97d
mov edi, dword [ebp - 0x54]
lea eax, [edi + 2]
push eax
call fcn.0040d9f3
xor ecx, ecx
mov dword [ebp - 0x50], eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00420d7a
mov ecx, eax
add esp, 4
lea eax, [edi*2 + 2]
push eax
push dword [ebp - 0x58]
mov dword [ebp - 0x10], ecx
push ecx
call fcn.00420710
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
add esp, 0xc
mov dword [ebp - 0x58], eax
mov dword [ebp - 0xc], ecx
jmp 0x40c300
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cmp eax, 0x2000000
jae 0x474d91
shr eax, 0x1f
fnstcw word [ebp - 6]
addsd xmm0, qword [eax*8 + 0x4b7590]
movzx eax, word [ebp - 6]
or eax, 0xc00
mulsd xmm0, qword [0x4b3750]
mov dword [ebp - 0x18], eax
movsd qword [ebp - 0x2c], xmm0
fld qword [ebp - 0x2c]
fldcw word [ebp - 0x18]
fistp qword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
fldcw word [ebp - 6]
jmp 0x40c4ab
cmp eax, 0x8000000
jae 0x474dd4
shr eax, 0x1f
fnstcw word [ebp - 6]
addsd xmm0, qword [eax*8 + 0x4b7590]
movzx eax, word [ebp - 6]
or eax, 0xc00
mulsd xmm0, qword [0x4b3748]
mov dword [ebp - 0x18], eax
movsd qword [ebp - 0x34], xmm0
fld qword [ebp - 0x34]
fldcw word [ebp - 0x18]
fistp qword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
fldcw word [ebp - 6]
jmp 0x40c4ab
shr eax, 0x1f
fnstcw word [ebp - 6]
addsd xmm0, qword [eax*8 + 0x4b7590]
movzx eax, word [ebp - 6]
or eax, 0xc00
mulsd xmm0, qword [0x4b3740]
mov dword [ebp - 0x18], eax
movsd qword [ebp - 0x3c], xmm0
fld qword [ebp - 0x3c]
fldcw word [ebp - 0x18]
fistp qword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
fldcw word [ebp - 6]
jmp 0x40c4ab
push ecx
call fcn.0040338e
jmp 0x40c1b0
mov dword [ebp - 0x48], 0
jmp 0x40c1dd
lea eax, [esi - 1]
push eax
push 0x138b
push dword [ebp + 8]
call fcn.00443d3c
mov esi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x58]
or edi, 0xffffffff
jmp 0x40c22f
push dword [ebp - 8]
push 0x138c
push dword [ebp + 8]
call fcn.00443d3c
mov esi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x58]
or edi, 0xffffffff
jmp 0x40c22f
push 0x7f
call fcn.0040c9c1
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040c890
mov esi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x58]
or edi, 0xffffffff
jmp 0x40c22f
push esi
push 0x1388
push dword [ebp + 8]
call fcn.00443d3c
push 0x7f
lea ecx, [ebp - 0x48]
call fcn.0040c9c1
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040c890
mov esi, dword [ebp - 0xc]
or edi, 0xffffffff
jmp 0x40c22f
lea eax, [esi - 1]
push eax
push 0x138b
push dword [ebp + 8]
call fcn.00443d3c
mov ebx, dword [ebp - 0x10]
mov esi, dword [ebp - 0xc]
or edi, 0xffffffff
jmp 0x40c22f
push esi
push 0x138b
push dword [ebp + 8]
call fcn.00443d3c
mov esi, dword [ebp - 0xc]
or edi, 0xffffffff
jmp 0x40c22f
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x40c255
push ecx
call fcn.0040338e
jmp 0x40c255