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

Disassembly:
push ebx
push ebp
mov ebp, dword [esp + 0xc]
mov eax, dword [ebp + 0x8c]
xor ebx, ebx
mov dword [ebp + 0x5568], ebx
mov byte [ebp + 0x5c4], bl
mov dword [ebp + 0x5554], ebx
mov ecx, dword [eax + 0x888]
mov dword [ebp + 0x5768], ecx
mov ecx, dword [eax + 0x7f8]
cmp ecx, 0x32
push esi
push edi
je 0x40afd9
cmp ecx, 0x2b
je 0x40afd9
mov esi, dword [eax + 0x83c]
call fcn.0045abb0
mov eax, dword [ebp + 0x8c]
cmp dword [eax + 0x7f8], ebx
jne 0x40aff8
mov edx, dword [eax + 0x82c]
mov eax, dword [edx + 0x24]
mov dword [ebp + 0x5550], eax
jmp 0x40affe
mov dword [ebp + 0x5550], ebx
mov eax, ebp
call fcn.0040a550
mov eax, ebp
mov dword [ebp + 0x557c], ebx
call fcn.0040abb0
mov ecx, dword [ebp + 0x8c]
mov edx, dword [ecx + 0x7f8]
cmp edx, 0x14
je 0x40b0a1
cmp edx, 0x18
je 0x40b0a1
mov eax, edx
cmp eax, 0x33
jl 0x40b034
cmp eax, 0x3c
jle 0x40b0a1
cmp eax, ebx
jne 0x40b044
mov eax, dword [ecx + 0x82c]
cmp dword [eax + 0x24], 0x23
je 0x40b0a1
call fcn.00453890
test al, al
jne 0x40b0a1
cmp edx, 0x1f
jne 0x40b05e
mov dword [ebp + 0x5560], 0x1388
jmp 0x40b0a7
mov eax, ecx
call fcn.004537d0
test al, al
je 0x40b075
mov dword [ebp + 0x5560], 0x96
jmp 0x40b0a7
mov eax, ecx
call fcn.00454190
test al, al
je 0x40b095
cmp dword [ebp + 0x5550], 1
jne 0x40b095
mov dword [ebp + 0x5560], 0x96
jmp 0x40b0a7
jmp 0x86c600
mov dword [ebp + 0x5560], ebx
push 0x60
lea esi, [ebp + 0x654]
push ebx
push esi
call fcn.00626020
mov eax, 0xffffff9c
mov dword [ebp + 0x5f0], eax
mov ecx, 0x370
mov dword [ebp + 0x60c], ecx
mov dword [ebp + 0x624], ebx
mov dword [ebp + 0x63c], ebx
mov dword [esi], ebx
mov dword [ebp + 0x5f4], eax
mov dword [ebp + 0x610], ecx
mov dword [ebp + 0x628], ebx
mov dword [ebp + 0x640], ebx
mov dword [ebp + 0x664], 1
mov dword [ebp + 0x5f8], eax
mov dword [ebp + 0x614], ecx
mov dword [ebp + 0x62c], ebx
mov dword [ebp + 0x644], ebx
mov dword [ebp + 0x674], 2
mov dword [ebp + 0x5fc], eax
mov dword [ebp + 0x618], ecx
mov dword [ebp + 0x630], ebx
mov dword [ebp + 0x648], ebx
mov dword [ebp + 0x684], 3
mov dword [ebp + 0x600], eax
mov dword [ebp + 0x61c], ecx
mov dword [ebp + 0x634], ebx
mov dword [ebp + 0x64c], ebx
mov dword [ebp + 0x694], 4
mov dword [ebp + 0x604], eax
mov dword [ebp + 0x620], ecx
mov dword [ebp + 0x638], ebx
mov dword [ebp + 0x650], ebx
mov dword [ebp + 0x6a4], 5
mov eax, dword [ebp + 0x554c]
add esp, 0xc
cmp eax, 1
mov dword [ebp + 0x553c], ebx
je 0x40b1c1
cmp eax, 3
je 0x40b1c1
cmp eax, 5
je 0x40b1c1
cmp eax, 6
je 0x40b1c1
cmp eax, 8
je 0x40b1c1
mov eax, 0x114
call fcn.005af400
add eax, 0x1a9
mov dword [ebp + 0x5538], eax
push 0x42
lea eax, [ebp + 0x55a8]
push ebx
push eax
call fcn.00626020
add esp, 0xc
mov edi, ebp
call fcn.0041bee0
mov ecx, dword [ebp + 0x144]
mov dword [ecx + 0x24], eax
mov esi, dword [ebp + 0x144]
call fcn.00489cd0
xor edi, edi
mov edx, dword [ebp + 0x144]
lea esi, [ebx + edx + 0x28]
mov eax, ebp
mov dword [esi + 0x2c], edi
call fcn.0041c210
add ebx, 0x50
add edi, 1
cmp edi, 0xe
nop dword [eax]
mov dword [esi + 8], eax
mov dword [esi + 0xc], 8
mov dword [esi + 0x34], 0xffffffff
jl 0x40b1f0
mov ecx, dword [ebp + 0x8c]
cmp dword [ecx + 0x768], 0
je 0x40b27d
cmp dword [ecx + 0x7f8], 0x12
jne 0x40b27d
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0x28
lea edi, [edx + 2]
call fcn.00489b50
mov esi, dword [ebp + 0x144]
add esi, 0x78
or edx, edx
xor edi, edi
call fcn.00489b50
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0xc8
lea edi, [edx + 6]
call fcn.00489b50
jmp 0x40b8e5
mov edx, dword [ecx + 0x7f8]
jmp 0x86ae00
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x28]
call eax
mov eax, dword [ebp + 0x8c]
mov byte [ebp + 0x164], 0
mov dword [ebp + 0x5578], 0
cmp dword [eax + 0x768], 0
je 0x40b932
mov ecx, dword [eax + 0x7f8]
cmp ecx, 0x2f
je 0x40b9aa
test ecx, ecx
jne 0x40b932
mov ecx, dword [eax + 0x82c]
cmp dword [ecx + 0x24], 0x28
je 0x40b9aa
mov eax, dword [eax + 0x7f8]
cmp eax, 0x15
je 0x40b9aa
cmp dword [ebp + 0x554c], 3
jne 0x40b9aa
cmp eax, 0x29
jne 0x40b955
mov dword [esp + 0x14], 6
jmp 0x40b98a
test eax, eax
je 0x40b963
mov dword [esp + 0x14], 5
jmp 0x40b98a
mov eax, dword [ebp + 0x5550]
cmp eax, 0x1f
je 0x40b94b
cmp eax, 0x20
jl 0x40b978
cmp eax, 0x24
jle 0x40b959
cmp eax, 0x25
jl 0x40b98a
cmp eax, 0x28
jg 0x40b98a
mov dword [esp + 0x14], 4
fild dword [esp + 0x14]
mov dword [ebp + 0x5d4], 0xc8
fmul qword [0x679820]
fsubr qword [0x679fb8]
fstp dword [ebp + 0x5d0]
mov edi, dword [ebp + 0x160]
call fcn.0041f380
pop edi
pop esi
pop ebp
pop ebx
ret 4