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

Disassembly:
push ebp
push ebx
mov edx, 0x15
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x4014d6
mov edx, dword [esp + 0x60]
lea ecx, [esp]
call fcn.00402000
push dword [esp]
push 0
call fcn.00403540
and eax, eax
je 0x401bd8
push dword [0x40c6e4]
push dword [0x40c6e4]
push dword [esp + 8]
call fcn.00402f27
lea eax, [esp + 8]
push eax
call fcn.00404a90
push dword [0x40c6e4]
push dword [0x40c6e4]
push 1
push dword [esp + 0xc]
call fcn.00402fa6
lea eax, [esp + 0xc]
push eax
call fcn.00404a90
mov edx, dword [esp + 4]
push dword [0x40c6e4]
push edx
call fcn.00404a00
mov edx, dword [esp + 0xc]
push edx
call fcn.00404a00
mov edx, str._UP_
push edx
call fcn.00404a00
lea eax, [esp + 0x10]
push eax
call fcn.00404a90
push dword [esp + 0xc]
call fcn.00403063
push 0
call fcn.004038f0
push edx
push eax
add dword [esp], 0xffffff33
adc dword [esp + 4], 0xffffffff
pop dword [esp + 0x14]
pop dword [esp + 0x14]
push dword [esp + 0x14]
push dword [esp + 0x14]
push 0
call fcn.00403670
push 0
push 0x2c
call fcn.00402eb0
mov dword [esp + 0x18], eax
push 0x2c
push dword [esp + 0x1c]
push 0
call fcn.004036e0
mov ebp, dword [esp + 0x18]
lea eax, [ebp + 8]
push dword [eax + 4]
push dword [eax]
push 0
call fcn.00403670
push dword [0x40c6e4]
call fcn.0040141d
pop dword [0x40c6e4]
push 0
call fcn.004037a0
mov dword [esp + 0x1c], eax
mov ebx, dword [esp + 0x1c]
dec ebx
mov eax, ebx
inc eax
lea edx, [esp + 0x20]
push edx
push 0x40c260
push 7
push eax
push 0x2d
call fcn.004045f2
mov dword [esp + 0x28], 0
jmp 0x401638
mov ebx, dword [esp + 0x1c]
dec ebx
cmp ebx, dword [esp + 0x28]
jl 0x401826
push dword [0x40c6e4]
call fcn.0040141d
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x24]
imul ebx, ebx, 0x2d
add ebp, ebx
lea eax, [ebp]
push eax
call fcn.00404a90
push 0
call fcn.00403940
push edx
push eax
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x28]
imul ebx, ebx, 0x2d
add ebp, ebx
lea eax, [ebp + 4]
pop dword [eax]
pop dword [eax + 4]
push 0
call fcn.00403940
push edx
push eax
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x28]
imul ebx, ebx, 0x2d
add ebp, ebx
lea eax, [ebp + 0xc]
pop dword [eax]
pop dword [eax + 4]
push 0
call fcn.00403940
push edx
push eax
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x28]
imul ebx, ebx, 0x2d
add ebp, ebx
lea eax, [ebp + 0x14]
pop dword [eax]
pop dword [eax + 4]
push 0
call fcn.004037a0
push eax
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x24]
imul ebx, ebx, 0x2d
add ebp, ebx
pop eax
mov dword [ebp + 0x1c], eax
push dword [0x40c6e4]
call fcn.004012fc
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x24]
imul ebx, ebx, 0x2d
add ebp, ebx
lea eax, [ebp + 0x20]
push eax
call fcn.00404a90
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x20]
imul ebx, ebx, 0x2d
add ebp, ebx
mov ebx, dword [ebp + 0x1c]
and ebx, ebx
jne 0x401721
jmp 0x4017e4
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x20]
imul ebx, ebx, 0x2d
add ebp, ebx
mov ebx, dword [ebp + 0x1c]
cmp ebx, 1
jne 0x4017e4
push 0
call fcn.004037a0
mov dword [esp + 0x2c], eax
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x20]
imul ebx, ebx, 0x2d
add ebp, ebx
push ebp
mov ebx, dword [esp + 0x30]
dec ebx
mov eax, ebx
inc eax
pop ebp
lea edx, [ebp + 0x24]
push edx
push eax
call fcn.00404740
mov dword [esp + 0x30], 0
jmp 0x401773
mov ebx, dword [esp + 0x2c]
dec ebx
cmp ebx, dword [esp + 0x30]
jl 0x4017e2
push 0
call fcn.00403940
push edx
push eax
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x28]
imul ebx, ebx, 0x2d
add ebp, ebx
push ebp
mov ebx, dword [esp + 0x3c]
pop ebp
mov ebp, dword [ebp + 0x24]
shl ebx, 4
add ebp, ebx
lea eax, [ebp]
pop dword [eax]
pop dword [eax + 4]
push 0
call fcn.00403940
push edx
push eax
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x28]
imul ebx, ebx, 0x2d
add ebp, ebx
push ebp
mov ebx, dword [esp + 0x3c]
pop ebp
mov ebp, dword [ebp + 0x24]
shl ebx, 4
add ebp, ebx
lea eax, [ebp + 8]
pop dword [eax]
pop dword [eax + 4]
inc dword [esp + 0x30]
jno 0x401773
jmp 0x4017e4
push 0
call fcn.00403740
push eax
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x24]
imul ebx, ebx, 0x2d
add ebp, ebx
pop eax
mov byte [ebp + 0x28], al
push 0
call fcn.004037a0
push eax
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x24]
imul ebx, ebx, 0x2d
add ebp, ebx
pop eax
mov dword [ebp + 0x29], eax
inc dword [esp + 0x28]
jno 0x401638
mov dword [esp + 0x28], 0
jmp 0x401830
push dword [esp + 0x20]
call fcn.00404856
cmp eax, dword [esp + 0x28]
jl 0x401bba
push dword [0x40c6e4]
push dword [0x40c6e4]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x28]
imul ebx, ebx, 0x2d
add ebp, ebx
push dword [ebp]
call fcn.00402f27
lea eax, [esp + 0x38]
push eax
call fcn.00404a90
push dword [0x40c6e4]
push dword [0x40c6e4]
mov eax, 0x40c06e
push eax
mov eax, 0x40c066
push eax
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x30]
imul ebx, ebx, 0x2d
add ebp, ebx
push dword [ebp]
call fcn.004028b0
lea eax, [esp + 0x3c]
push eax
call fcn.00404a90
mov edx, 0x40c024
lea ecx, [esp + 0x3c]
call fcn.00402008
mov dword [esp + 0x40], 1
jmp 0x4018bd
mov eax, 0x40c066
push eax
push dword [esp + 0x38]
call fcn.004028d0
cmp eax, dword [esp + 0x40]
jl 0x401959
mov edx, dword [esp + 0x3c]
push dword [0x40c6e4]
push edx
call fcn.00404a00
push dword [0x40c6e4]
push dword [0x40c6e4]
mov eax, 0x40c066
push eax
push dword [esp + 0x50]
push dword [esp + 0x48]
call fcn.00402960
pop eax
mov edx, 0x40c06e
push edx
call fcn.00404a00
lea eax, [esp + 0x40]
push eax
call fcn.00404a90
push dword [0x40c6e4]
mov edx, dword [esp + 0x10]
push dword [0x40c6e4]
push edx
call fcn.00404a00
mov edx, dword [esp + 0x44]
push edx
call fcn.00404a00
mov edx, dword [0x40c284]
add dword [esp], edx
call fcn.00403063
pop dword [0x40c6e4]
inc dword [esp + 0x40]
jno 0x4018bd
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x20]
imul ebx, ebx, 0x2d
add ebp, ebx
mov ebx, dword [ebp + 0x1c]
and ebx, ebx
jne 0x4019dd
push dword [0x40c6e4]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x24]
imul ebx, ebx, 0x2d
add ebp, ebx
lea eax, [ebp + 0xc]
push dword [eax + 4]
push dword [eax]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x2c]
imul ebx, ebx, 0x2d
add ebp, ebx
lea eax, [ebp + 4]
push dword [eax + 4]
push dword [eax]
add dword [esp], 0x35
adc dword [esp + 4], 0
pop eax
pop edx
push edx
push eax
mov edx, dword [esp + 0x20]
push dword [0x40c6e4]
push edx
call fcn.00404a00
mov edx, dword [esp + 0x50]
push edx
call fcn.00404a00
mov edx, dword [0x40c284]
add dword [esp], edx
call fcn.00401d0b
pop dword [0x40c6e4]
jmp 0x401bb0
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x20]
imul ebx, ebx, 0x2d
add ebp, ebx
mov ebx, dword [ebp + 0x1c]
cmp ebx, 1
jne 0x401b5f
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x20]
imul ebx, ebx, 0x2d
add ebp, ebx
mov eax, dword [ebp + 0x14]
push eax
call fcn.00402e50
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
jmp 0x401a2a
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x20]
imul ebx, ebx, 0x2d
add ebp, ebx
push ebp
pop eax
push dword [ebp + 0x24]
call fcn.00404856
cmp eax, dword [esp + 0x50]
jl 0x401b07
push dword [esp + 0x4c]
push dword [esp + 0x4c]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x28]
imul ebx, ebx, 0x2d
add ebp, ebx
push ebp
mov ebx, dword [esp + 0x5c]
pop ebp
mov ebp, dword [ebp + 0x24]
shl ebx, 4
add ebp, ebx
lea eax, [ebp + 8]
push dword [eax + 4]
push dword [eax]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x30]
imul ebx, ebx, 0x2d
add ebp, ebx
push ebp
mov ebx, dword [esp + 0x64]
pop ebp
mov ebp, dword [ebp + 0x24]
shl ebx, 4
add ebp, ebx
lea eax, [ebp]
push dword [eax + 4]
push dword [eax]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x38]
imul ebx, ebx, 0x2d
add ebp, ebx
mov eax, dword [ebp + 0x29]
cdq
push edx
push eax
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x40]
imul ebx, ebx, 0x2d
add ebp, ebx
lea eax, [ebp + 4]
push dword [eax + 4]
push dword [eax]
mov ebx, dword [esp + 0x6c]
mov ecx, ebx
sar ecx, 0x1f
push ecx
push ebx
lea eax, [esp + 0x78]
mov edx, dword [eax]
add dword [esp], edx
mov edx, dword [eax + 4]
adc dword [esp + 4], edx
mov ebx, dword [esp]
add esp, 8
mov eax, ebx
push eax
call fcn.0040122f
push edx
push eax
pop eax
pop edx
add dword [esp], eax
adc dword [esp + 4], edx
pop dword [esp + 0x4c]
pop dword [esp + 0x4c]
inc dword [esp + 0x50]
jno 0x401a2a
push dword [0x40c6e4]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x24]
imul ebx, ebx, 0x2d
add ebp, ebx
lea eax, [ebp + 0x14]
push dword [eax + 4]
push dword [eax]
push dword [esp + 0x50]
mov edx, dword [esp + 0x1c]
push dword [0x40c6e4]
push edx
call fcn.00404a00
mov edx, dword [esp + 0x4c]
push edx
call fcn.00404a00
mov edx, dword [0x40c284]
add dword [esp], edx
call fcn.0040119e
pop dword [0x40c6e4]
push dword [esp + 0x44]
call fcn.00402e90
jmp 0x401bb0
push dword [0x40c6e4]
push dword [0x40c6e4]
mov edx, str.Compression_ERR
push edx
call fcn.00404a00
push dword [0x40c6e4]
push dword [0x40c6e4]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x30]
imul ebx, ebx, 0x2d
add ebp, ebx
mov eax, dword [ebp + 0x1c]
cdq
push edx
push eax
call fcn.00402a90
pop eax
mov edx, dword [0x40c284]
add dword [esp], edx
call dword [0x40c28c]
pop dword [0x40c6e4]
inc dword [esp + 0x28]
jno 0x401830
push dword [esp + 0x20]
call fcn.00404864
push dword [esp + 0x18]
call fcn.00402ef0
push 0
call fcn.00403190
jmp 0x401c0e
push dword [0x40c6e4]
push dword [0x40c6e4]
mov edx, str.ERR:
push edx
call fcn.00404a00
mov edx, dword [esp + 8]
push edx
call fcn.00404a00
mov edx, dword [0x40c284]
add dword [esp], edx
call dword [0x40c28c]
pop dword [0x40c6e4]
xor eax, eax
push dword [esp]
call fcn.00404a60
push dword [esp + 4]
call fcn.00404a60
push dword [esp + 0xc]
call fcn.00404a60
push dword [esp + 0x38]
call fcn.00404a60
push dword [esp + 0x34]
call fcn.00404a60
push dword [esp + 0x3c]
call fcn.00404a60
push dword [esp + 8]
call fcn.00404a60
push eax
push dword [esp + 0x24]
call fcn.00404869
pop eax
add esp, 0x54
pop ebx
pop ebp
ret 4