Function at 0x40307e
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x10c
mov dword [ebp - 0xf0], 0
mov edi, 0
mov dword [esp + 4], 0x40efaf
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.msvcrt.dll_fopen
mov esi, eax
mov eax, 0
test esi, esi
je 0x403388
jmp 0x4030c3
inc dword [ebp - 0xf0]
mov dword [esp], esi
call sub.msvcrt.dll_fgetc
cmp eax, 0xffffffff
jne 0x4030bd
mov dword [esp], esi
call sub.msvcrt.dll_fclose
mov dword [esp + 4], 0x40efaf
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.msvcrt.dll_fopen
mov esi, eax
mov eax, 0
test esi, esi
je 0x403388
jmp 0x403360
mov dword [esp], esi
call sub.msvcrt.dll_rewind
jmp 0x4031aa
cmp ebx, 0x40
jne 0x403360
mov dword [esp], esi
call sub.msvcrt.dll_ftell
lea edi, [eax - 1]
test edi, edi
jle 0x403127
lea edi, [eax - 2]
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], esi
call sub.msvcrt.dll_fseek
mov dword [esp], esi
call sub.msvcrt.dll_fgetc
mov ebx, eax
jmp 0x403177
test edi, edi
je 0x4030ff
dec edi
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], esi
call sub.msvcrt.dll_fseek
mov dword [esp], esi
call sub.msvcrt.dll_fgetc
mov ebx, eax
cmp eax, 0xffffffff
jne 0x403177
mov dword [esp], esi
call sub.msvcrt.dll_fclose
lea eax, [ebx - 0x61]
cmp eax, 0x19
setbe dl
lea eax, [ebx - 0x41]
cmp eax, 0x19
setbe al
or dl, al
jne 0x403147
lea eax, [ebx - 0x30]
cmp eax, 9
jbe 0x403147
cmp ebx, 0x5f
sete dl
cmp ebx, 0x2d
sete al
or dl, al
jne 0x403147
cmp ebx, 0x2e
je 0x403147
mov dword [ebp - 0xf4], 0
jmp 0x403224
mov ecx, 0
lea eax, [ebx - 0x61]
cmp eax, 0x19
ja 0x4031c8
mov ecx, 1
lea eax, [ebx - 0x41]
cmp eax, 0x19
ja 0x4031d5
mov ecx, 1
lea eax, [ebx - 0x30]
cmp eax, 9
ja 0x4031e2
mov ecx, 1
cmp ebx, 0x5f
sete dl
cmp ebx, 0x2d
sete al
or dl, al
je 0x4031f7
mov ecx, 1
cmp ebx, 0x40
sete dl
cmp ebx, 0x2e
sete al
or dl, al
je 0x40320c
mov ecx, 1
test ecx, ecx
je 0x403233
mov eax, dword [ebp - 0xf4]
mov byte [eax + ebp - 0xe8], bl
inc eax
mov dword [ebp - 0xf4], eax
mov dword [esp], esi
call sub.msvcrt.dll_fgetc
mov ebx, eax
cmp eax, 0xffffffff
jne 0x4031b6
mov eax, dword [ebp - 0xf4]
mov byte [eax + ebp - 0xe8], 0
cmp byte [eax + ebp - 0xe9], 0x40
je 0x403360
lea ebx, [ebp - 0xe8]
mov dword [esp], ebx
call sub.KERNEL32.DLL_lstrlenA
sub esp, 4
cmp eax, 9
jle 0x403360
mov eax, dword [ebp - 0xf4]
cmp byte [eax + ebp - 0xe9], 0x2e
je 0x403360
cmp byte [ebp - 0xe8], 0x40
je 0x403360
cmp byte [ebp - 0xe8], 0x2e
je 0x403360
cmp byte [ebp - 0xe8], 0x2d
je 0x403360
mov dword [esp], ebx
call fcn.00403008
test eax, eax
je 0x403360
mov dword [esp], ebx
call fcn.00402fc2
test al, al
je 0x403360
mov dword [esp], ebx
call fcn.0040305a
test eax, eax
je 0x403360
jmp 0x4032e5
mov dword [esp], 0x7530
call sub.KERNEL32.DLL_Sleep
sub esp, 4
call fcn.00404f0a
test eax, eax
je 0x4032d6
lea eax, [ebp - 0xec]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
lea eax, [ebp - 0xe8]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x402288
mov dword [esp + 4], 0
mov dword [esp], 0
call sub.KERNEL32.DLL_CreateThread
sub esp, 0x18
mov dword [esp], 0x28
call sub.KERNEL32.DLL_Sleep
sub esp, 4
cmp dword [0x414018], 4
jne 0x40335a
mov dword [0x414018], 0
mov dword [esp], 0xfa0
call sub.KERNEL32.DLL_Sleep
sub esp, 4
inc dword [0x414018]
mov dword [esp], esi
call sub.msvcrt.dll_fgetc
mov ebx, eax
cmp eax, 0xffffffff
je 0x40337b
cmp edi, dword [ebp - 0xf0]
jle 0x40310c
mov dword [esp], esi
call sub.msvcrt.dll_fclose
mov eax, 0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret