Function at 0x4106a0
Capabilities:
Parse credit card information
Write file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov ebx, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
mov ebp, dword [esp + 0x74]
mov edi, dword [ebx + 0x10]
test edi, edi
je 0x41071b
cmp esi, 0x64
je 0x410790
mov eax, dword [esp + 0x60]
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.00409460
test al, al
je 0x410880
cmp byte [ebx + 4], 0
mov eax, dword [ebx + 0x10]
mov dword [ebx + 0x20], 0
mov byte [ebx + 0x24], 0
mov dword [ebx + 0x28], eax
jne 0x4106f8
mov eax, dword [ebx + 0x14]
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x44], 1
mov dword [esp], 4
call fcn.004a70b0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x48], eax
mov dword [eax], 0
mov dword [esp], ebp
call sub.msvcrt.dll_strlen
cmp esi, 0x62
mov edi, eax
je 0x410bfd
jle 0x410890
cmp esi, 0xc0
je 0x4113a0
jle 0x410aa0
cmp esi, 0xe0
je 0x410d00
jle 0x410c82
cmp esi, 0xe2
je 0x411380
cmp esi, 0xe4
jne 0x410910
mov eax, dword [esp + 0x60]
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.00409ab0
mov esi, eax
jmp 0x410882
movzx eax, byte [ebp]
test al, al
je 0x4106c3
mov edx, dword [esp + 0x70]
cmp dword [ebx + 0x14], edx
jne 0x4106c3
cmp byte [ebx + 0x34], 0
jne 0x410e10
test edi, edi
je 0x41159f
cmp al, 0x2f
je 0x411510
cmp al, 0x5c
je 0x411510
cmp byte [ebp + 1], 0x3a
je 0x411510
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
mov dword [esp], edi
call fcn.0049e100
mov dword [ebx + 0x10], eax
mov dword [esp], edi
call fcn.004a9de0
mov eax, dword [esp + 0x70]
mov esi, 1
mov dword [ebx + 0x14], eax
jmp 0x410882
lea edx, [eax + 3]
mov dword [esp + 0x38], edx
cmp byte [eax + 2], 0
je case.0x410a96.1
lea edx, [eax + 4]
mov dword [esp + 0x38], edx
cmp byte [eax + 3], 0x6e
jne case.0x410a96.1
cmp byte [eax + 4], 0x30
lea edx, [eax + 5]
mov dword [esp + 0x38], edx
jne case.0x410a96.1
movzx edx, byte [eax + 5]
cmp dl, 0x3b
je 0x410853
test dl, dl
je 0x410853
add eax, 6
jmp 0x410845
cmp dl, 0x3b
je 0x410853
mov dword [esp + 0x38], eax
movzx edx, byte [eax]
add eax, 1
test dl, dl
jne 0x410840
test dl, dl
jne 0x410bfd
nop
lea esi, [esi]
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], ebp
mov dword [esp + 4], str.Bad_stab:__s_n
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
lea esi, [esi]
xor esi, esi
add esp, 0x4c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
cmp esi, 0x24
je 0x410d80
jle 0x411471
cmp esi, 0x38
je 0x410bfd
jle 0x411501
cmp esi, 0x3c
je 0x411400
cmp esi, 0x44
jne 0x410910
xor eax, eax
cmp byte [ebx + 0x34], 0
je 0x4108c7
mov eax, dword [ebx + 0x1c]
add eax, dword [esp + 0x70]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.00409980
mov esi, eax
jmp 0x410882
cmp byte [ebx + 0x34], 0
je 0x410910
mov eax, dword [ebx + 0x38]
cmp eax, 0xffffffff
je 0x410904
cmp dword [esp + 0x70], eax
jae 0x410910
mov eax, dword [esp + 0x70]
mov dword [ebx + 0x38], eax
nop
lea esi, [esi]
mov dword [esp + 4], 0x3a
mov dword [esp], ebp
call sub.msvcrt.dll_strchr
test eax, eax
je 0x410bfd
movzx ecx, byte [eax + 1]
mov edx, ecx
and edx, 0xffffffdf
cmp dl, 0x46
jne 0x410de3
cmp byte [ebx + 0x34], 0
je 0x410991
mov ecx, dword [ebx + 0x38]
cmp ecx, 0xffffffff
je 0x411520
cmp dword [esp + 0x70], ecx
jbe 0x411520
mov eax, dword [esp + 0x60]
lea edx, [ebx + 0x40]
mov dword [esp + 0x20], ecx
call fcn.0040af20
test al, al
mov ecx, dword [esp + 0x20]
je 0x410880
mov eax, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.004097d0
test al, al
je 0x410880
mov dword [ebx + 0x38], 0xffffffff
cmp byte [ebx + 4], 0
je 0x41099e
mov eax, dword [esp + 0x70]
mov dword [ebx + 0x1c], eax
mov byte [ebx + 0x34], 1
mov dword [esp + 4], 0x3a
mov dword [esp], ebp
call sub.msvcrt.dll_strchr
test eax, eax
mov dword [esp + 0x38], eax
jne 0x4109e3
jmp 0x410bfd
add eax, 2
mov dword [esp + 4], 0x3a
mov dword [esp], eax
mov dword [esp + 0x38], eax
call sub.msvcrt.dll_strchr
test eax, eax
mov dword [esp + 0x38], eax
je case.0x410a96.1
movzx ecx, byte [eax + 1]
cmp cl, 0x3a
je 0x4109c0
cmp byte [ebp], 0x24
je 0x411529
cmp ebp, eax
je 0x411586
cmp byte [ebp], 0x20
jne 0x410a0f
lea edx, [ebp + 1]
cmp eax, edx
je 0x411586
sub eax, ebp
mov edx, eax
mov eax, ebp
call fcn.0040ad20
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x38]
lea edx, [eax + 1]
add edi, ebp
mov dword [esp + 0x38], edx
movzx edx, byte [eax + 1]
mov ecx, edx
movzx edx, word [edx + edx + 0x4e3480]
mov byte [esp + 0x2f], cl
shr dx, 2
and edx, 1
cmp cl, 0x2d
mov byte [esp + 0x20], dl
sete dl
cmp cl, 0x28
sete byte [esp + 0x24]
movzx ecx, byte [esp + 0x24]
or edx, ecx
mov ecx, edx
or cl, byte [esp + 0x20]
mov byte [esp + 0x20], cl
jne case.0x410a96.21
cmp byte [esp + 0x2f], 0
je case.0x410a96.1
lea edx, [eax + 2]
mov dword [esp + 0x38], edx
movzx edx, byte [eax + 1]
mov byte [esp + 0x24], dl
sub edx, 0x43
cmp dl, 0x33
ja case.0x410a96.1
movzx edx, dl
jmp dword [edx*4 + 0x4b732c]
cmp esi, 0x82
je 0x410c10
jle 0x410dec
cmp esi, 0x84
je 0x410c6b
cmp esi, 0xa2
jne 0x410910
mov eax, dword [ebx + 0x2c]
test eax, eax
je 0x411491
mov ecx, dword [eax + 0x10]
cmp ecx, dword [ebx + 0x44]
mov edx, dword [eax + 4]
mov dword [ebx + 0x2c], edx
jae 0x411491
mov esi, dword [ebx + 0x48]
test edx, edx
mov ecx, dword [esi + ecx*4]
mov dword [eax + 0x14], ecx
je 0x411491
mov eax, dword [edx + 8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.00409510
mov esi, eax
jmp 0x410882
cmp byte [eax + 2], 0x74
je 0x4115b8
lea eax, [esp + 0x3c]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x28]
mov edx, ebx
mov dword [esp + 4], eax
lea eax, [esp + 0x38]
mov ecx, edi
mov dword [esp], eax
mov eax, dword [esp + 0x60]
call fcn.0040d6e0
test eax, eax
je 0x410880
test edi, edi
je 0x410bfd
movzx esi, byte [ebx + 0xd8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0040a500
test eax, eax
mov ebp, eax
je 0x410880
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x410b7f
mov dword [eax], ebp
mov eax, esi
test al, al
jne 0x410bcc
lea esi, [ebx + 0xd4]
mov ebx, dword [ebx + 0xd4]
test ebx, ebx
je 0x410bcc
mov eax, dword [esp + 0x28]
movzx edx, byte [eax]
mov edi, edx
jmp 0x410ba8
mov esi, ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x410bcc
mov eax, dword [ebx + 4]
mov edx, edi
cmp byte [eax], dl
jne 0x410ba0
mov ecx, dword [esp + 0x28]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x410ba0
mov eax, dword [ebx]
mov dword [ebx + 0xc], ebp
mov dword [esi], eax
cmp byte [esp + 0x20], 0
je 0x410bfd
mov eax, dword [esp + 0x28]
mov dword [esp + 8], ebp
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.0040a440
test eax, eax
je 0x410880
mov edx, dword [esp + 0x3c]
test edx, edx
je 0x410bfd
mov dword [edx], eax
add esp, 0x4c
mov esi, 1
pop ebx
mov eax, esi
pop esi
pop edi
pop ebp
ret
mov dword [esp], 0x18
call fcn.004a70b0
mov esi, eax
mov eax, dword [ebx + 0x30]
mov dword [esi + 8], ebp
mov dword [esi + 0x14], 0
mov dword [ebx + 0x30], esi
mov dword [esi], eax
mov eax, dword [ebx + 0x2c]
mov dword [ebx + 0x2c], esi
mov dword [esi + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esi + 0xc], eax
mov eax, dword [ebx + 0x44]
mov dword [esi + 0x10], eax
add eax, 1
mov dword [ebx + 0x44], eax
shl eax, 2
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x48]
mov dword [esp], eax
call fcn.004a7130
mov edx, dword [esi + 0x10]
mov dword [ebx + 0x48], eax
mov dword [eax + edx*4], 0
mov eax, dword [esp + 0x60]
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.00409510
mov esi, eax
jmp 0x410882
cmp esi, 0xc2
jne 0x410910
mov eax, dword [ebx + 0x44]
add eax, 1
mov dword [ebx + 0x44], eax
shl eax, 2
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x48]
mov dword [esp], eax
call fcn.004a7130
mov edi, dword [ebx + 0x30]
mov dword [ebx + 0x48], eax
test edi, edi
je 0x411435
mov dword [esp + 0x20], eax
mov esi, dword [esp + 0x70]
jmp 0x410ccb
mov edi, dword [edi]
test edi, edi
je 0x411435
cmp esi, dword [edi + 0xc]
jne 0x410cc1
mov dword [esp + 4], ebp
mov eax, dword [edi + 8]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x410cc1
mov esi, dword [esp + 0x20]
mov edx, dword [edi + 0x14]
mov eax, dword [ebx + 0x44]
mov dword [esi + eax*4 - 4], edx
mov esi, 1
jmp 0x410882
cmp dword [esp + 0x6c], 1
sete al
and al, byte [ebx + 0x24]
mov esi, eax
jne 0x410bfd
mov eax, dword [esp + 0x60]
lea edx, [ebx + 0x40]
call fcn.0040af20
test al, al
je 0x410880
mov eax, dword [ebx + 0x1c]
add eax, dword [ebx + 0x18]
add eax, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.00409910
test al, al
je 0x410880
sub dword [ebx + 0x3c], 1
jns 0x410bfd
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x12
mov dword [esp + 4], 1
mov dword [esp], str.Too_many_N_RBRACs_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
jmp 0x410882
cmp byte [ebp], 0
jne 0x4108f0
cmp byte [ebx + 0x34], 0
je 0x410bfd
cmp byte [ebx + 4], 0
je 0x410da1
mov eax, dword [ebx + 0x1c]
add dword [esp + 0x70], eax
mov eax, dword [esp + 0x60]
lea edx, [ebx + 0x40]
call fcn.0040af20
test al, al
je 0x410880
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.004097d0
test al, al
mov esi, eax
je 0x410880
mov byte [ebx + 0x34], 0
mov dword [ebx + 0x38], 0xffffffff
jmp 0x410882
mov dword [esp + 0x38], eax
jmp 0x4109e7
cmp esi, 0x64
jne 0x410910
cmp byte [ebx + 0x34], 0
movzx eax, byte [ebp]
je 0x410e61
test al, al
je 0x4114e0
mov esi, esi
lea edi, [edi]
mov esi, dword [ebx + 0x38]
cmp esi, 0xffffffff
je 0x4114e0
cmp dword [esp + 0x70], esi
jbe 0x4114e0
mov eax, dword [esp + 0x60]
lea edx, [ebx + 0x40]
call fcn.0040af20
test al, al
je 0x410880
mov eax, dword [esp + 0x60]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.004097d0
test al, al
je 0x410880
mov byte [ebx + 0x34], 0
mov dword [ebx + 0x38], 0xffffffff
movzx eax, byte [ebp]
test al, al
je 0x410bfd
mov edi, dword [ebx + 0x10]
jmp 0x4107b3
lea eax, [esp + 0x38]
xor ecx, ecx
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov edx, ebx
mov dword [esp], eax
mov eax, dword [esp + 0x60]
call fcn.0040d6e0
test eax, eax
je 0x410880
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], 4
mov dword [esp + 8], ecx
mov dword [esp], eax
mov ecx, dword [esp + 0x28]
mov edx, ebx
mov eax, dword [esp + 0x60]
call fcn.0040ae90
test al, al
jne 0x410bfd
jmp 0x410880
lea eax, [esp + 0x38]
xor ecx, ecx
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov edx, ebx
mov dword [esp], eax
mov eax, dword [esp + 0x60]
call fcn.0040d6e0
test eax, eax
je 0x410880
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.00409700
test al, al
jne 0x410bfd
jmp 0x410880
lea eax, [esp + 0x38]
xor ecx, ecx
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov edx, ebx
mov dword [esp], eax
mov eax, dword [esp + 0x60]
call fcn.0040d6e0
test eax, eax
je 0x410880
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], ecx
mov dword [esp], eax
call fcn.00409bc0
test al, al
jne 0x410bfd
jmp 0x410880
cmp esi, 0x24
jne case.0x410a96.15
lea esi, [esp + 0x38]
mov ebp, dword [esp + 0x60]
jmp 0x410fb9
add eax, 1
xor ecx, ecx
mov dword [esp + 8], edi
mov dword [esp + 0x38], eax
mov dword [esp + 4], 0
mov edx, ebx
mov dword [esp], esi
mov eax, ebp
call fcn.0040d6e0
test eax, eax
je 0x410880
mov eax, dword [esp + 0x38]
cmp byte [eax], 0x3b
je 0x410f90
jmp 0x410bfd
lea eax, [esp + 0x38]
xor ecx, ecx
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov edx, ebx
mov dword [esp], eax
mov eax, dword [esp + 0x60]
call fcn.0040d6e0
test eax, eax
je 0x410880
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], 2
mov dword [esp + 8], ecx
jmp 0x410ea9
lea eax, [esp + 0x38]
xor ecx, ecx
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov edx, ebx
mov dword [esp], eax
mov eax, dword [esp + 0x60]
call fcn.0040d6e0
test eax, eax
mov dword [esp + 0x24], eax
je 0x410880
mov edx, dword [esp + 0x28]
test edx, edx
je 0x4110b2
mov eax, dword [ebx]
mov ebp, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
mov eax, dword [eax + 4]
test ebp, ebp
movzx ecx, byte [eax + 0x18]
jle 0x4110b2
movzx eax, byte [edx]
mov dword [esp + 0x64], ebx
mov ebx, ecx
mov edx, eax
jmp 0x41106c
add esi, 4
sub ebp, 1
je 0x4115af
mov edi, dword [esi]
test bl, bl
mov eax, dword [edi + 4]
movzx ecx, byte [eax]
je 0x411080
cmp bl, cl
je 0x411593
cmp cl, dl
jne 0x411060
mov ecx, dword [esp + 0x28]
mov dword [esp], eax
mov byte [esp + 0x20], dl
mov dword [esp + 4], ecx
call sub.msvcrt.dll_strcmp
test eax, eax
movzx edx, byte [esp + 0x20]
jne 0x411060
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 8]
mov ebx, dword [esp + 0x64]
add eax, dword [edx + 0x20]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
jmp 0x410ea9
lea esi, [esp + 0x38]
mov eax, dword [esp + 0x60]
xor ecx, ecx
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov edx, ebx
mov dword [esp], esi
call fcn.0040d6e0
test eax, eax
je 0x410880
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
xor edx, edx
cmp byte [esp + 0x24], 0x46
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x10], ecx
sete dl
mov dword [esp + 0xc], edx
mov dword [esp], eax
call fcn.004095f0
test al, al
mov ebp, dword [esp + 0x60]
jne 0x411159
jmp 0x410880
add eax, 1
xor ecx, ecx
mov dword [esp + 8], edi
mov dword [esp + 0x38], eax
mov dword [esp + 4], 0
mov edx, ebx
mov dword [esp], esi
mov eax, ebp
call fcn.0040d6e0
test eax, eax
je 0x410880
mov eax, dword [esp + 0x38]
cmp byte [eax], 0x3b
je 0x411130
jmp 0x410bfd
lea eax, [esp + 0x3c]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x28]
mov edx, ebx
mov dword [esp + 4], eax
lea eax, [esp + 0x38]
mov ecx, edi
mov dword [esp], eax
mov eax, dword [esp + 0x60]
call fcn.0040d6e0
test eax, eax
je 0x410880
test edi, edi
je 0x410bfd
mov dword [esp + 8], eax
mov dword [esp + 4], edi
jmp 0x410bdf
lea eax, [esp + 0x38]
xor ecx, ecx
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov edx, ebx
mov dword [esp], eax
mov eax, dword [esp + 0x60]
call fcn.0040d6e0
test eax, eax
je 0x410880
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], 5
mov dword [esp + 8], ecx
jmp 0x410ea9
cmp byte [eax + 2], 0x46
je 0x4115c9
lea eax, [esp + 0x38]
mov dword [esp + 8], edi
mov dword [esp + 4], 0
xor ecx, ecx
mov edx, ebx
mov dword [esp], eax
mov eax, dword [esp + 0x60]
call fcn.0040d6e0
test eax, eax
je 0x410880
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], ecx
jmp 0x410f00
lea eax, [esp + 0x38]
xor ecx, ecx
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov edx, ebx
mov dword [esp], eax
mov eax, dword [esp + 0x60]
call fcn.0040d6e0
test eax, eax
je 0x410880
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], ecx
jmp 0x410f00
cmp byte [eax + 2], 0x3d
jne case.0x410a96.1
lea edx, [eax + 4]
mov dword [esp + 0x38], edx
movzx eax, byte [eax + 3]
cmp al, 0x69
je 0x41165a
cmp al, 0x72
je 0x41162d
cmp al, 0x65
jne case.0x410a96.1
lea eax, [esp + 0x38]
xor ecx, ecx
mov edx, ebx
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [esp + 0x60]
call fcn.0040d6e0
test eax, eax
mov ebx, eax
je 0x410880
mov eax, dword [esp + 0x38]
cmp byte [eax], 0x2c
jne case.0x410a96.1
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.00409b60
test al, al
jne 0x410bfd
jmp 0x410880
lea eax, [esp + 0x38]
xor ecx, ecx
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov edx, ebx
mov dword [esp], eax
mov eax, dword [esp + 0x60]
call fcn.0040d6e0
test eax, eax
je 0x410880
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xc], 4
mov dword [esp + 0x10], ecx
jmp 0x410f00
lea eax, [esp + 0x38]
xor ecx, ecx
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov edx, ebx
mov dword [esp], eax
mov eax, dword [esp + 0x60]
call fcn.0040d6e0
test eax, eax
je 0x410880
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], 3
mov dword [esp + 8], ecx
jmp 0x410ea9
mov eax, dword [esp + 0x60]
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.00409a80
mov esi, eax
jmp 0x410882
cmp byte [ebx + 0x24], 0
je 0x4113b1
cmp dword [esp + 0x6c], 1
je 0x410bfd
movzx esi, byte [ebx + 0x34]
mov eax, esi
test al, al
je 0x4114b0
mov eax, dword [ebx + 0x1c]
add eax, dword [ebx + 0x18]
add eax, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.00409850
test al, al
je 0x410880
mov eax, dword [esp + 0x60]
lea edx, [ebx + 0x40]
call fcn.0040af20
test al, al
mov esi, eax
je 0x410880
add dword [ebx + 0x3c], 1
jmp 0x410882
mov edi, str.gcc2_compiled.
mov ecx, 0xf
mov esi, ebp
repe cmpsb byte [esi], byte es:[edi]
je 0x4114f0
mov edi, str.gcc_compiled.
mov ecx, 0xe
mov esi, ebp
repe cmpsb byte [esi], byte es:[edi]
jne 0x4114a0
mov dword [ebx + 0x20], 1
mov esi, 1
jmp 0x410882
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 0xc], ebp
mov esi, 1
mov dword [esp + 8], str.Undefined_N_EXCL
mov dword [esp + 4], str.Warning:__s:__s_n
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov edx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x48]
mov dword [eax + edx*4 - 4], 0
jmp 0x410882
cmp esi, 0xc
je 0x410bfd
jl 0x410910
lea eax, [esi - 0x1e]
cmp eax, 1
jbe 0x410bfd
jmp 0x410910
mov eax, dword [ebx + 0x28]
jmp 0x410afb
mov byte [ebx + 0x24], 1
jmp 0x410bfd
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x1c
mov dword [esp + 4], 1
mov dword [esp], str.N_LBRAC_not_within_function_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
jmp 0x410882
mov esi, dword [esp + 0x70]
jmp 0x410e26
mov dword [ebx + 0x20], 2
mov esi, 1
jmp 0x410882
cmp esi, 0x2a
je 0x410bfd
jmp 0x410910
mov dword [esp], ebp
call fcn.004a7180
mov dword [ebx + 0x10], eax
jmp 0x4107ec
mov ecx, dword [esp + 0x70]
jmp 0x410956
movzx ecx, byte [ebp + 1]
lea edx, [ecx - 0x58]
cmp dl, 0x1e
ja case.0x411538.1
movzx edx, dl
jmp dword [edx*4 + 0x4b73fc]
mov dword [esp + 0x28], str.eh_throw
jmp 0x410a22
mov dword [esp + 0x28], 0x4b72a4
jmp 0x410a22
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], str.unknown_C_encoded_name
mov dword [esp + 4], str.Warning:__s:__s_n
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, dword [esp + 0x38]
jmp case.0x411538.0
mov dword [esp + 0x28], 0
jmp 0x410a22
movzx ecx, byte [eax + 1]
add eax, 1
jmp 0x411080
mov dword [esp], ebp
call fcn.004a7180
mov dword [ebx + 0x10], eax
jmp 0x4107f4
mov ebx, dword [esp + 0x64]
jmp 0x4110b2
add eax, 3
mov byte [esp + 0x20], 1
mov dword [esp + 0x38], eax
jmp 0x410b1c
add eax, 3
xor ecx, ecx
mov dword [esp + 8], edi
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [esp + 4], 0
mov edx, ebx
mov dword [esp], eax
mov eax, dword [esp + 0x60]
call fcn.0040d6e0
test eax, eax
je 0x410880
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], eax
call fcn.00409f10
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.00409ec0
jmp 0x41120f
mov dword [esp], edx
call sub.msvcrt.dll_atof
mov eax, dword [esp + 0x28]
fstp qword [esp + 8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.00409b20
test al, al
jne 0x410bfd
jmp 0x410880
mov dword [esp], edx
call sub.msvcrt.dll_atoi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.00409ae0
test al, al
jne 0x410bfd
jmp 0x410880