Function at 0x4014f0
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x1b8
mov eax, dword [0x4921c0]
xor eax, esp
mov dword [esp + 0x1b4], eax
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov ecx, 0x74
mov eax, 0x61
xor edi, edi
mov dword [esp + 0x24], esi
mov ebx, edx
mov dword [esp + 0x4c], 0x66
mov dword [esp + 0x50], 0x6d
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], 0x20
mov dword [esp + 0x5c], 0x64
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
cmp dword [esi], edi
jne 0x401567
mov eax, dword [0x497b6c]
mov edx, dword [eax + 0x10]
mov ecx, esi
call fcn.004013b0
test eax, eax
je 0x40185f
mov ebp, dword [esp + 0x1cc]
mov dword [esi + ebp*4 + 0x12cc], edi
cmp dword [esi + ebp*4 + 0xc8c], edi
je 0x4015b2
mov eax, dword [esi + ebp*4 + 0x64c]
mov dword [esi + ebp*4 + 0xc8c], edi
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [esi + ebp*4 + 0x64c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esi + ebp*4 + 0x96c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push edi
push 0x8000
push ebx
call fcn.004081c0
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x40185f
push esi
call fcn.00408044
push esi
call fcn.004093f4
push 0x92
lea eax, [esp + 0x9c]
push edi
push eax
mov dword [esp + 0x2c], edi
call fcn.00411230
mov eax, ebx
add esp, 0x14
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4015f7
sub eax, edx
mov ecx, 0x488174
lea eax, [ebx + eax - 3]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401630
test dl, dl
je 0x40162c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401630
add eax, 2
add ecx, 2
test dl, dl
jne 0x401610
xor eax, eax
jmp 0x401635
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
jne 0x4016ea
cmp dword [0x58c9d0], edi
jne 0x401657
push str.oggdec.dll
push 0x488150
call fcn.00456ce0
add esp, 8
mov ecx, 0x12
mov word [esp + 0xa0], cx
mov edx, 0x10
mov esi, 1
lea ecx, [esp + 0x18]
push ecx
mov word [esp + 0xa2], dx
mov eax, esi
lea edx, [esp + 0x98]
mov word [esp + 0x94], ax
push edx
lea eax, [esp + 0x9a]
push eax
push ebx
call dword [0x58c9d0]
movzx ecx, word [esp + 0xae]
movzx eax, word [esp + 0xa2]
imul eax, ecx
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
cdq
and edx, 7
add eax, edx
sar eax, 3
movzx ecx, ax
add esp, 0x10
imul ecx, dword [esp + 0x94]
mov dword [esp + 0x20], ebx
mov word [esp + 0x9c], ax
mov dword [esp + 0x98], ecx
mov dword [esp + 0x18], esi
jmp 0x4017c4
push 0x48814c
push ebx
call fcn.00408b67
mov ebp, eax
push ebp
xor esi, esi
call fcn.00408669
add esp, 0xc
cmp eax, 0xffffffff
je 0x40185f
jmp 0x401710
cmp eax, dword [esp + esi*4 + 0x4c]
jne 0x40184b
inc esi
cmp esi, 4
jne 0x40184d
push ebp
call fcn.00408669
push ebp
mov esi, eax
call fcn.00408669
shl eax, 8
push ebp
add esi, eax
call fcn.00408669
shl eax, 0x10
push ebp
add esi, eax
call fcn.00408669
shl eax, 0x18
push ebp
add esi, eax
push esi
lea edx, [esp + 0xa8]
push 1
push edx
call fcn.00408e1e
push ebp
xor esi, esi
call fcn.00408669
add esp, 0x24
cmp eax, 0xffffffff
je 0x40187a
cmp eax, dword [esp + esi*4 + 0x5c]
jne 0x401866
inc esi
cmp esi, 4
jne 0x401868
push ebp
call fcn.00408669
push ebp
mov esi, eax
call fcn.00408669
shl eax, 8
push ebp
add esi, eax
call fcn.00408669
shl eax, 0x10
push ebp
add esi, eax
call fcn.00408669
mov ecx, dword [esp + 0xa8]
shl eax, 0x18
add esp, 0x10
add esi, eax
mov dword [esp + 0x20], esi
mov ebx, esi
mov esi, 1
cmp word [esp + 0x90], si
je 0x401881
push 0
push 0
push ebx
lea ebx, [esp + 0x38]
lea eax, [esp + 0x44]
lea edi, [esp + 0x9c]
mov dword [esp + 0x28], esi
call fcn.0046c070
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
mov esi, edi
mov ecx, 0x24
lea edi, [esp + 0x134]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x48]
movsw word es:[edi], word [esi]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0xa8], eax
mov ax, word [esp + 0x54]
add esp, 0xc
mov dword [esp + 0x98], ecx
mov word [esp + 0xa0], ax
jmp 0x401883
xor esi, esi
push ebp
call fcn.00408669
add esp, 4
cmp eax, 0xffffffff
jne 0x401710
xor eax, eax
jmp 0x401a92
xor esi, esi
push ebp
call fcn.00408669
add esp, 4
cmp eax, 0xffffffff
jne 0x401772
xor eax, eax
jmp 0x401a92
mov edx, ebx
xor eax, eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x6c], 0x24
mov dword [esp + 0x70], 0x81e0
mov dword [esp + 0x74], edx
cmp dword [esp + 0x18], eax
je 0x4018db
cmp ecx, edx
jbe 0x4018db
mov dword [esp + 0x74], ecx
mov esi, dword [esp + 0x24]
mov eax, dword [esi + 0x644]
mov edx, dword [esp + 0x1cc]
push 0
lea esi, [esi + edx*4 + 0x64c]
push esi
lea ecx, [esp + 0x98]
lea edx, [esp + 0x74]
mov dword [esp + 0x84], ecx
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
mov eax, dword [esi]
mov ecx, dword [eax]
push 0
push 0
push 0
lea edx, [esp + 0x1c]
push edx
lea edx, [esp + 0x24]
push edx
mov edx, dword [esp + 0x24]
push edx
push 0
push eax
mov eax, dword [ecx + 0x2c]
call eax
cmp dword [esp + 0x18], 0
je 0x401957
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push ecx
push edx
call dword [0x58c9d8]
add esp, 8
call dword [0x58c9e0]
jmp 0x4019e1
test edi, edi
jne 0x401986
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push eax
push edi
push ecx
call fcn.00411230
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
push ebp
push edx
push 1
push eax
call fcn.00408e1e
add esp, 0x1c
mov dword [esp + 0x28], eax
jmp 0x4019d8
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push ecx
push 0
push edx
call fcn.00411230
push ebx
call fcn.0040823c
push ebp
push ebx
mov edi, eax
push 1
push edi
mov dword [esp + 0x3c], edi
call fcn.00408e1e
mov ecx, dword [esp + 0x34]
push ecx
push edi
push eax
lea ebx, [esp + 0x54]
lea eax, [esp + 0xbc]
lea edi, [esp + 0x154]
call fcn.0046c070
mov edx, dword [esp + 0x48]
push edx
call fcn.00407edf
add esp, 0x30
push ebp
call fcn.00408fa4
add esp, 4
mov edx, dword [esp + 0x28]
mov eax, dword [esi]
mov ecx, dword [eax]
push 0
push 0
push edx
mov edx, dword [esp + 0x20]
push edx
push eax
mov eax, dword [ecx + 0x4c]
call eax
mov eax, dword [esi]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push 0
push eax
call edx
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1cc]
mov esi, dword [esi]
mov edx, dword [esi]
lea edi, [eax + ecx*4 + 0x96c]
mov eax, dword [edx]
push edi
push 0x47a080
push esi
call eax
cmp dword [edi], 0
jne 0x401a3d
push 0x488178
push 0x488178
call fcn.00456ce0
add esp, 8
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x1cc]
mov ecx, dword [ebx + esi*4 + 0x324]
mov edi, dword [edi]
lea eax, [esp + 0x30]
push eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], 0xffffffff
mov edx, dword [edi]
mov ecx, dword [edx + 0xc]
push 1
push edi
call ecx
test eax, eax
je 0x401a82
push str._not3
push str._not3
call fcn.00456ce0
add esp, 8
mov dword [ebx + esi*4 + 0xc8c], 1
mov eax, 1
mov ecx, dword [esp + 0x1c4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00407ed0
add esp, 0x1b8
ret 4