Function at 0x40c271
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
push 0xc
call fcn.00439175
add esp, 4
mov dword [ebp - 0xc], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
push reloc.WS2_32.dll_getpeername
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x40c2c3
mov eax, 0x4e8aa9
push eax
push 1
mov ebx, 0x4396e0
call fcn.0043917b
add esp, 0x10
mov dword [ebp - 4], eax
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 0
add ebx, eax
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
mov al, byte [ebx]
mov byte [ebp - 8], al
cmp dword [ebp - 4], 0x12
jne 0x40c3d8
cmp byte [ebp - 8], 0x1b
jne 0x40c3d8
mov eax, 0x4e8aa9
xor ecx, ecx
test eax, eax
je 0x40c31a
mov ecx, dword [eax + 4]
push ecx
add eax, 8
push eax
mov eax, dword [0x55dee8]
xor ebx, ebx
test eax, eax
je 0x40c32d
mov ebx, dword [eax + 4]
add eax, 8
push eax
cmp ebx, ecx
mov eax, 1
jne 0x40c344
dec eax
test ecx, ecx
je 0x40c344
call fcn.004038f2
add esp, 0xc
test eax, eax
jne 0x40c3c9
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
mov eax, 0x4e8fab
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
call fcn.0040cfcf
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40c37f
push ebx
call fcn.0043916f
add esp, 4
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x40c392
mov eax, 0x4e8aa9
push eax
push 0x10025
push 0x160101d5
push 0x52010001
push 2
mov ebx, 0x43cf60
call fcn.0043917b
add esp, 0x1c
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40c3c4
push ebx
call fcn.0043916f
add esp, 4
jmp 0x40c3d3
call fcn.0040e214
call fcn.0040e338
jmp 0x40cf98
cmp byte [ebp - 8], 0
jne 0x40c3ec
call fcn.0040e8ce
jmp 0x40cf98
cmp byte [ebp - 8], 0x60
jne 0x40c4be
cmp dword [ebp - 4], 1
jle 0x40c42a
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 1
add ebx, eax
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x14]
cmp byte [ebx], 1
jne 0x40c42a
mov eax, 1
jmp 0x40c42c
xor eax, eax
test eax, eax
je 0x40c4b9
mov eax, 0x4e8fba
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call fcn.0040509e
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40c455
push ebx
call fcn.0043916f
add esp, 4
push 0xffffffffffffffff
push 8
push 0x1601000b
push 0x52010001
call fcn.00439181
add esp, 0x10
mov dword [ebp - 0x10], eax
push 0xffffffffffffffff
push 8
push 0x16010009
push 0x52010001
call fcn.00439181
add esp, 0x10
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.0040e97c
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40c4a4
push ebx
call fcn.0043916f
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40c4b4
push ebx
call fcn.0043916f
add esp, 4
jmp 0x40c4b9
jmp 0x40cf98
cmp byte [ebp - 8], 0x50
jne 0x40c518
cmp dword [ebp - 4], 1
jle 0x40c4fc
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 1
add ebx, eax
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x14]
cmp byte [ebx], 1
jne 0x40c4fc
mov eax, 1
jmp 0x40c4fe
xor eax, eax
test eax, eax
je 0x40c513
push dword [ebp + 8]
call fcn.00414194
jmp 0x40c513
jmp 0x40cf98
cmp byte [ebp - 8], 3
jne 0x40c539
cmp dword [ebp - 4], 8
jle 0x40c534
push dword [ebp + 8]
call fcn.004148f1
jmp 0x40cf98
cmp byte [ebp - 8], 0x18
jne 0x40c601
cmp dword [ebp - 4], 2
jle 0x40c5fc
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 1
add ebx, eax
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
cmp byte [ebx], 0
jne 0x40c594
cmp dword [0x55df5c], 0
jne 0x40c58f
push dword [ebp + 8]
call fcn.00414e45
mov dword [0x55df5c], 1
jmp 0x40c5fc
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 1
add ebx, eax
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
cmp byte [ebx], 1
jne 0x40c5fc
inc dword [0x55df60]
cmp dword [0x55df60], 3
jne 0x40c5de
cmp dword [0x55df64], 0
jne 0x40c5de
mov eax, 1
jmp 0x40c5e0
xor eax, eax
test eax, eax
je 0x40c5f7
mov dword [0x55df64], 1
call fcn.004152ef
jmp 0x40c5fc
jmp 0x40cf98
cmp byte [ebp - 8], 0x7c
jne 0x40ca80
push 0x80000301
push 0
push 0x4267
push reloc.WS2_32.dll_connect
push 0
push str.127.0.0.1
push 0x80002
push 0
push dword [0x55df68]
push 3
mov eax, 7
mov ebx, 0x4b9710
call fcn.0043919f
add esp, 0x28
mov eax, 0x4e8aa9
test eax, eax
je 0x40c663
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.00439175
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [0x55df6c]
test ebx, ebx
je 0x40c677
push ebx
call fcn.0043916f
add esp, 4
pop eax
mov dword [0x55df6c], eax
mov ebx, dword [ebp + 8]
push dword [ebx]
push 0x4e8e7f
mov ecx, 2
call fcn.00401378
add esp, 8
mov dword [ebp - 0x10], eax
push 0x80000301
push 0
push 0
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x40c6b6
mov eax, 0x4e8aa9
push eax
push 0x80002
push 0
push dword [0x55df68]
push 3
mov eax, 7
mov ebx, 0x4b9850
call fcn.0043919f
add esp, 0x28
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40c6eb
push ebx
call fcn.0043916f
add esp, 4
push 0
push 0
push 0
push 0x80000301
push 0
push 0x1f40
push 0x80002
push 0
push dword [0x55df68]
push 3
mov eax, 7
mov ebx, 0x4b97a0
call fcn.0043919f
add esp, 0x28
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [0x55df6c]
test ebx, ebx
je 0x40c73b
push ebx
call fcn.0043916f
add esp, 4
pop eax
mov dword [0x55df6c], eax
mov eax, 0x4e8aa9
xor ecx, ecx
test eax, eax
je 0x40c74f
mov ecx, dword [eax + 4]
push ecx
add eax, 8
push eax
mov eax, dword [0x55df6c]
xor ebx, ebx
test eax, eax
je 0x40c762
mov ebx, dword [eax + 4]
add eax, 8
push eax
cmp ebx, ecx
mov eax, 1
jne 0x40c779
dec eax
test ecx, ecx
je 0x40c779
call fcn.004038f2
add esp, 0xc
test eax, eax
je 0x40ca57
inc dword [0x55df70]
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [0x55df6c]
test eax, eax
jne 0x40c79f
mov eax, 0x4e8aa9
push eax
push 1
mov ebx, 0x4396e0
call fcn.0043917b
add esp, 0x10
mov dword [ebp - 4], eax
fild dword [ebp - 4]
fstp qword [ebp - 0x14]
fld qword [ebp - 0x14]
fsub qword [0x4e8ca0]
fstp qword [ebp - 0x1c]
fld qword [ebp - 0x1c]
call fcn.004015e1
push 0x80000301
push 0
push eax
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [0x55df6c]
test eax, eax
jne 0x40c7ec
mov eax, 0x4e8aa9
push eax
push 2
mov ebx, 0x43a9b0
call fcn.0043917b
add esp, 0x1c
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
push eax
mov ebx, dword [0x55df6c]
test ebx, ebx
je 0x40c819
push ebx
call fcn.0043916f
add esp, 4
pop eax
mov dword [0x55df6c], eax
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x10], ebx
push 0x55df6c
call fcn.004013cf
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
push eax
mov ebx, dword [ebp - 0x10]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40c848
push ebx
call fcn.0043916f
add esp, 4
pop eax
mov ebx, dword [ebp - 0x10]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 8
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebx], 1
lea eax, [ebp - 0xc]
push eax
call fcn.004017fd
cmp dword [0x55df70], 0xa
jge 0x40c954
fld qword [0x4e8fe4]
fild dword [0x55df70]
fstp qword [ebp - 0x14]
fsub qword [ebp - 0x14]
fstp qword [ebp - 0x1c]
push 0x80000601
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push 1
mov ebx, 0x43af30
call fcn.0043917b
add esp, 0x10
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x24], ebx
push reloc.WS2_32.dll_getpeername
push 0
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebx]
test eax, eax
jne 0x40c8c6
mov eax, 0x4e8aa9
push eax
push 1
mov ebx, 0x4396e0
call fcn.0043917b
add esp, 0x10
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x43af30
call fcn.0043917b
add esp, 0x10
mov dword [ebp - 0x2c], eax
push 0x4e8fec
push dword [ebp - 0x2c]
push 0x4e8fee
push dword [ebp - 0x20]
push 0x4e8ff0
mov ecx, 5
call fcn.004021aa
add esp, 0x14
mov dword [ebp - 0x30], eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x40c92b
push ebx
call fcn.0043916f
add esp, 4
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40c93b
push ebx
call fcn.0043916f
add esp, 4
lea eax, [ebp - 0x30]
push eax
call fcn.0040509e
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x40c954
push ebx
call fcn.0043916f
add esp, 4
cmp dword [0x55df70], 0xa
jne 0x40ca57
mov ebx, dword [0x55df00]
add ebx, 8
mov dword [ebp - 0x10], ebx
push 0x4e8aa8
mov ebx, dword [ebp - 0x10]
push dword [ebx]
call fcn.0040101d
add esp, 8
cmp eax, 0
jne 0x40ca1b
push 0xffffffffffffffff
push 6
push 0x16010064
push 0x52010001
call fcn.00439181
add esp, 0x10
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 1
jne 0x40c9db
mov eax, 0x4e9006
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call fcn.0040509e
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40c9cc
push ebx
call fcn.0043916f
add esp, 4
push 0x1388
call fcn.004125f4
jmp 0x40ca16
push reloc.WS2_32.dll_connect
push 0
push 0x4e9023
push 0x80000301
push 0
push 0
push reloc.WS2_32.dll_connect
push 0
push 0x4e902c
push 3
mov ebx, 0x43b8a0
call fcn.0043917b
add esp, 0x28
call fcn.004148bf
jmp 0x40ca57
mov dword [0x55df74], 1
push 0xffffffffffffffff
push 8
push 0x16010f97
push 0x52010001
call fcn.00439181
add esp, 0x10
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call fcn.00415434
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40ca57
push ebx
call fcn.0043916f
add esp, 4
push 0x80002
push 0
push dword [0x55df68]
push 1
mov eax, 7
mov ebx, 0x4b9f90
call fcn.0043919f
add esp, 0x10
jmp 0x40cf98
cmp byte [ebp - 8], 0x3c
jne 0x40ca97
push dword [ebp + 8]
call fcn.00415643
jmp 0x40cf98
cmp byte [ebp - 8], 0x6b
jne 0x40caae
push dword [ebp + 8]
call fcn.00417dcb
jmp 0x40cf98
cmp byte [ebp - 8], 0x55
jne 0x40cadf
call fcn.0041909a
push 0
push 0x7d0
push 0xffffffffffffffff
push 8
push 0x16010478
push 0x52010001
call fcn.00439199
add esp, 0x18
jmp 0x40cf98
cmp byte [ebp - 8], 0x69
jne 0x40cb06
inc dword [0x55df78]
cmp dword [0x55df78], 1
jne 0x40cb01
call fcn.004191df
jmp 0x40cf98
cmp byte [ebp - 8], 0x66
jne 0x40cb1d
push dword [ebp + 8]
call fcn.00419692
jmp 0x40cf98
cmp byte [ebp - 8], 8
jne 0x40cb34
push dword [ebp + 8]
call fcn.0041995c
jmp 0x40cf98
cmp byte [ebp - 8], 5
jne 0x40cb4b
push dword [ebp + 8]
call fcn.0041cf00
jmp 0x40cf98
cmp byte [ebp - 8], 0xf
jne 0x40cb62
push dword [ebp + 8]
call fcn.0041d097
jmp 0x40cf98
cmp byte [ebp - 8], 0x10
jne 0x40cb79
push dword [ebp + 8]
call fcn.0041de5e
jmp 0x40cf98
cmp byte [ebp - 8], 0x37
jne 0x40cb90
push dword [ebp + 8]
call fcn.0041dfe2
jmp 0x40cf98
cmp byte [ebp - 8], 0x38
jne 0x40cba7
push dword [ebp + 8]
call fcn.0041e9bf
jmp 0x40cf98
cmp byte [ebp - 8], 0x15
jne 0x40cc9a
mov eax, 0x4e9047
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call fcn.0040509e
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40cbd2
push ebx
call fcn.0043916f
add esp, 4
push dword [ebp + 8]
call fcn.0041eaec
call fcn.0041ed35
call fcn.0041f57a
mov ebx, dword [0x55df00]
add ebx, 0x70
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebx], 0
push 0
push 0x2bc
push 0xffffffffffffffff
push 8
push 0x160106a2
push 0x52010001
call fcn.00439199
add esp, 0x18
push 0xffffffffffffffff
push 6
push 0x16010064
push 0x52010001
call fcn.00439181
add esp, 0x10
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 1
jne 0x40cc5b
mov ebx, dword [0x55df00]
add ebx, 0x8c
mov dword [ebp - 0x1c], ebx
mov ebx, dword [ebp - 0x1c]
cmp dword [ebx], 1
jne 0x40cc5b
mov eax, 1
jmp 0x40cc5d
xor eax, eax
test eax, eax
je 0x40cc65
mov ebx, dword [0x55df00]
add ebx, 0x8c
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebx], 0
mov ebx, dword [0x55df00]
add ebx, 0x90
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebx], 0
jmp 0x40cf98
cmp byte [ebp - 8], 4
jne 0x40ccc6
mov ebx, dword [0x55df00]
add ebx, 0x70
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebx], 0
push dword [ebp + 8]
call fcn.0041f768
jmp 0x40cf98
cmp byte [ebp - 8], 0x33
jne 0x40ccdd
push dword [ebp + 8]
call fcn.0041f8b7
jmp 0x40cf98
cmp byte [ebp - 8], 0x62
jne 0x40ccf4
push dword [ebp + 8]
call fcn.0041fb0d
jmp 0x40cf98
cmp byte [ebp - 8], 7
jne 0x40cd0b
push dword [ebp + 8]
call fcn.00420096
jmp 0x40cf98
cmp byte [ebp - 8], 0xe
jne 0x40cd22
push dword [ebp + 8]
call fcn.00421ec9
jmp 0x40cf98
cmp byte [ebp - 8], 0x5a
jne 0x40cd39
push dword [ebp + 8]
call fcn.0042243e
jmp 0x40cf98
cmp byte [ebp - 8], 0x6a
jne 0x40cd50
push dword [ebp + 8]
call fcn.00422649
jmp 0x40cf98
cmp byte [ebp - 8], 0x5f
jne 0x40cd67
push dword [ebp + 8]
call fcn.00423138
jmp 0x40cf98
cmp byte [ebp - 8], 0x3f
jne 0x40cd7e
push dword [ebp + 8]
call fcn.0042342e
jmp 0x40cf98
cmp byte [ebp - 8], 0x42
jne 0x40cd95
push dword [ebp + 8]
call fcn.00423b44
jmp 0x40cf98
cmp byte [ebp - 8], 0x6d
jne 0x40cea2
mov eax, 0x4e9063
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call fcn.0040509e
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40cdc0
push ebx
call fcn.0043916f
add esp, 4
mov ebx, dword [0x55df00]
add ebx, 0x9c
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
inc dword [ebx]
mov ebx, dword [0x55df00]
mov dword [ebp - 0x10], ebx
mov ebx, dword [0x55df00]
add ebx, 0x10
mov dword [ebp - 0x14], ebx
mov ebx, dword [0x55df00]
add ebx, 0x9c
mov dword [ebp - 0x18], ebx
push 0x80000301
push 0
mov ebx, dword [ebp - 0x18]
push dword [ebx]
push 1
mov ebx, 0x43af30
call fcn.0043917b
add esp, 0x10
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x1c]
push 0x4e9081
mov ebx, dword [ebp - 0x14]
push dword [ebx]
push 0x4e908e
mov ebx, dword [ebp - 0x10]
push dword [ebx]
mov ecx, 5
call fcn.004021aa
add esp, 0x14
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x40ce50
push ebx
call fcn.0043916f
add esp, 4
push 0
push dword [ebp - 0x20]
push 0xffffffffffffffff
push 8
push 0x6010000
push 0x52010001
call fcn.00439199
add esp, 0x18
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x40ce7b
push ebx
call fcn.0043916f
add esp, 4
push 0
push 0
push 0xffffffffffffffff
push 0x11
push 0x16010032
push 0x52010001
call fcn.00439199
add esp, 0x18
call fcn.00424647
jmp 0x40cf98
cmp byte [ebp - 8], 0x1b
jne 0x40ceb9
push dword [ebp + 8]
call fcn.0042476b
jmp 0x40cf98
cmp byte [ebp - 8], 0x1c
jne 0x40ced0
push dword [ebp + 8]
call fcn.004250e4
jmp 0x40cf98
cmp byte [ebp - 8], 0xc
jne 0x40cee7
push dword [ebp + 8]
call fcn.004252bf
jmp 0x40cf98
cmp byte [ebp - 8], 0x17
jne 0x40cefb
call fcn.00425695
jmp 0x40cf98
cmp byte [ebp - 8], 0x44
jne 0x40cf12
push dword [ebp + 8]
call fcn.004257b3
jmp 0x40cf98
cmp byte [ebp - 8], 0x24
jne 0x40cf7a
cmp dword [ebp - 4], 0x3e8
jle 0x40cf7a
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 1
add ebx, eax
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
cmp byte [ebx], 4
jne 0x40cf7a
push dword [ebp + 8]
call fcn.00425d23
mov eax, 0x4e9090
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call fcn.0040509e
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40cf75
push ebx
call fcn.0043916f
add esp, 4
jmp 0x40cf98
cmp byte [ebp - 8], 0x2c
jne 0x40cf89
jmp 0x40cf98
cmp byte [ebp - 8], 0x2d
jne 0x40cf98
jmp 0x40cf98
mov ebx, dword [ebp - 0xc]
push ebx
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40cfac
push ebx
call fcn.0043916f
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40cfc0
push ebx
call fcn.0043916f
add esp, 4
pop ebx
call fcn.0043916f
add esp, 4
mov esp, ebp
pop ebp
ret 4