Function at 0x40f000
Capabilities:
Resolve function by parsing pe exports

Disassembly:
call 0x40f005
push ebp
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 4]
sub dword [esp + 4], 0xdeb5
and ebx, 0xfffff000
sub ebp, 0x401005
cmp dword [ebx + 0x4e], 0x73696854
jne 0x40f037
mov eax, dword [ebx + 0x3c]
add eax, ebx
cmp word [eax], 0x4550
je 0x40f03f
sub ebx, 0x100
jmp 0x40f022
mov edx, dword [eax + 0x78]
add edx, ebx
mov esi, dword [edx + 0x20]
mov ecx, dword [edx + 0x18]
add esi, ebx
push ecx
lodsd eax, dword [esi]
add eax, ebx
cmp dword [eax - 1], 0x74654700
jne 0x40f074
cmp dword [eax + 3], 0x636f7250
jne 0x40f074
cmp dword [eax + 7], 0x72646441
jne 0x40f074
cmp dword [eax + 0xb], 0x737365
je 0x40f079
loop 0x40f04d
pop ecx
pop ebp
ret
sub dword [esp], ecx
mov esi, dword [edx + 0x24]
pop ecx
add esi, ebx
movzx eax, word [esi + ecx*2]
mov edi, dword [edx + 0x1c]
add edi, ebx
mov esi, dword [edi + eax*4]
add esi, ebx
call 0x40f0a1
inc ebx
insb byte es:[edi], dx
outsd dx, dword [esi]
jae 0x40f0ff
dec eax
popal
outsb dx, byte [esi]
insb byte es:[edi], dx
add byte gs:[ebx - 1], dl
salc
mov dword [ebp + fcn.00402407], eax
call 0x40f0bc
inc ebx
jb 0x40f117
popal
je 0x40f11a
inc ebp
jbe 0x40f11d
outsb dx, byte [esi]
je 0x40f0fc
add byte [ebx - 1], dl
salc
mov dword [ebp + fcn.0040240b], eax
call 0x40f0d7
inc edi
je 0x40f11a
popal
jae fcn.0040f145
inc ebp
jb 0x40f146
outsd dx, dword [esi]
jb 0x40f0d7
push ebx
call esi
mov dword [ebp + 0x40240f], eax
call fcn.0040f12a
test eax, eax
je 0x40f10a
push eax
call dword [ebp + 0x40240f]
test eax, eax
jne 0x40f104
lea eax, [ebp + 0x401155]
mov dl, byte [eax - 1]
call fcn.0040f145
jmp 0x40f155
invalid
add byte [eax], al
add bl, ch
push ecx
call dword [ebp + fcn.00402407]
pop ebp
ret
add byte [eax + eax], al
mov eax, esp
push 0
push eax
push 0xc
mov eax, esp
jmp edx
add byte [eax + 0x6a], dl
or al, 0x8b
invalid
mov ecx, 0x12b2
and dword [ebp + 0x401480], 0
and dword [ebp + 0x401484], 0
and dword [ebp + 0x401488], 0
push edi
mov byte [ebp + 0x401262], 1
mov dword [ebp + fcn.00402413], esi
lea esi, [ebp + 0x4014a9]
xor ecx, ecx
lea edi, [ebp + 0x402423]
mov cl, 0x1c
call fcn.0040f48c
pop edi
call dword [ebp + 0x40245b]
shr eax, 0x1f
je 0x40f271
mov eax, dword [edi + 0x14]
push 0x40
add eax, ebx
push 0x8001000
mov dword [ebp + 0x40241b], eax
push 0x5839
push 0
call dword [ebp + 0x40248b]
test eax, eax
je 0x40f104
xchg edi, eax
lea esi, [ebp + sym.imp.MSVBVM60.DLL_MethCallEngine]
mov ebp, edi
mov ecx, 0x60f
sub ebp, sym.imp.MSVBVM60.DLL_MethCallEngine
lea edx, [ebp + 0x4011e2]
rep movsd dword es:[edi], dword [esi]
jmp edx
cmp dword [ebp + 0x40243b], 0
je 0x40f104
call 0x40f289
dec esi
push esp
inc esp
dec esp
dec esp
add bh, bh
xchg ebp, eax
dec edi
and al, 0x40
add byte [ebp + 0x401637b5], cl
add byte [ebx], dh
leave
lea edi, [ebp + 0x402493]
mov cl, 9
xchg ebx, eax
call fcn.0040f48c
cmp dword [ebp + 0x4024b3], 0
je 0x40f104
mov eax, dword [ebp + 0x402497]
push dword [eax + 1]
pop dword [ebp + 0x4023c1]
mov eax, dword [ebp + 0x40249b]
push dword [eax + 1]
pop dword [ebp + 0x4023c7]
mov ecx, dword [ebp + 0x40249f]
jecxz 0x40f2e1
push dword [ecx + 1]
pop dword [ebp + 0x4023d4]
call fcn.0040f10c
lea edx, [ebp + 0x40149f]
push edx
push 0x5839
push 0
push 4
push eax
push 0xffffffffffffffff
call dword [ebp + fcn.0040242b]
add esp, 0x20
push 0x5839
mov edx, esp
push 0
mov ecx, esp
push 4
push 0
push 2
push edx
push 0
push 0x5839
push 0
push ecx
push 0xffffffffffffffff
push eax
call dword [ebp + 0x4024a3]
pop edi
pop ecx
test edi, edi
je 0x40f104
lea esi, [ebp + sym.imp.MSVBVM60.DLL_MethCallEngine]
mov ecx, 0x60f
mov ebp, edi
rep movsd dword es:[edi], dword [esi]
sub ebp, sym.imp.MSVBVM60.DLL_MethCallEngine
lea eax, [ebp + 0x40134e]
jmp eax