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

Disassembly:
sub esp, 0x70
mov eax, dword [0x10583760]
xor eax, esp
mov dword [esp + 0x6c], eax
mov edx, dword [esp + 0x78]
mov dword [esp + 8], ecx
push ebx
mov ebx, dword [esp + 0x90]
mov dword [esp + 0x30], ebx
push esi
mov esi, dword [esp + 0x7c]
test edx, edx
jne 0x101c46f5
mov eax, dword [ecx + 0x14]
mov dword [ebx], eax
xor eax, eax
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.101f6477
add esp, 0x70
ret 0x1c
mov eax, dword [ecx + 0xc]
imul eax, dword [ecx + 8]
push edx
push esi
mov esi, ecx
mov dword [esp + 0x24], eax
lea eax, [esp + 0x24]
push eax
push dword [esi + 0x10]
call fcn.101d53c0
add esp, 0x10
test eax, eax
jne 0x101c49d3
mov ecx, dword [esp + 0x8c]
cmp dword [esi + 0x20], ecx
mov eax, dword [esp + 0x84]
cmovl ecx, dword [esi + 0x20]
mov ebx, dword [esi + 0x14]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x90]
cmp dword [esi + 0x24], ecx
push ebp
cmovl ecx, dword [esi + 0x24]
mov ebp, dword [esi + 0x10]
push edi
mov edi, dword [esp + 0x90]
cmp edi, ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], edi
jg 0x101c49a7
mov ecx, dword [esi + 0x18]
lea eax, [esp + 0x10]
push eax
call fcn.10176050
mov ecx, dword [esi + 0x18]
lea eax, [esp + 0x34]
push eax
call fcn.10176070
mov esi, dword [esp + 0x10]
cmp esi, dword [eax]
je 0x101c4999
mov ecx, dword [esi + 0x118]
test edi, edi
js 0x101c47a3
mov eax, edi
cdq
idiv ecx
mov edx, eax
jmp 0x101c47b9
mov eax, ecx
test ecx, ecx
js 0x101c47ae
sub eax, edi
dec eax
jmp 0x101c47b2
not eax
sub eax, edi
cdq
idiv ecx
mov edx, eax
neg edx
imul edx, ecx
mov eax, edi
sub eax, edx
jne 0x101c492a
push dword [esp + 0x2c]
push dword [esp + 0x34]
push dword [esi + 0x114]
call fcn.1018b610
mov edx, eax
xor edi, edi
mov eax, dword [esi + 0x110]
add esp, 0xc
sub eax, edi
je 0x101c48b2
sub eax, 1
je 0x101c4865
sub eax, 1
jne 0x101c4922
lea ecx, [edx + ebp]
mov esi, ebp
lea ebp, [ecx + edx]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x18]
lea eax, [edx + ebp]
mov dword [esp + 0x1c], eax
sub eax, dword [ecx + 0x10]
mov ecx, dword [esp + 0x14]
cmp eax, dword [esp + 0x24]
ja 0x101c49f8
test edx, edx
jle 0x101c4922
sub ecx, esi
mov dword [esp + 0x14], ecx
movzx ecx, byte [ecx + esi]
lea ebp, [ebp + 1]
movzx eax, byte [esi]
lea esi, [esi + 1]
shl eax, 8
or ecx, eax
movzx eax, byte [ebp - 1]
shl ecx, 8
or ecx, eax
shl ecx, 8
add edi, ecx
mov ecx, dword [esp + 0x14]
mov dword [ebx], edi
add ebx, 4
sub edx, 1
jne 0x101c4832
jmp 0x101c4922
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
add esi, edx
lea eax, [esi + edx]
mov dword [esp + 0x1c], eax
sub eax, dword [ecx + 0x10]
cmp eax, dword [esp + 0x24]
ja 0x101c49f8
test edx, edx
jle 0x101c4922
nop dword [eax + eax]
movzx ecx, byte [ebp]
lea esi, [esi + 1]
movzx eax, byte [esi - 1]
lea ebp, [ebp + 1]
shl ecx, 8
or ecx, eax
add edi, ecx
mov word [ebx], di
add ebx, 2
sub edx, 1
jne 0x101c4890
jmp 0x101c4922
mov ecx, ebp
lea esi, [edx + ebp]
lea ebp, [esi + edx]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x18]
lea eax, [edx + ebp]
mov dword [esp + 0x28], eax
add eax, edx
mov dword [esp + 0x1c], eax
sub eax, dword [ecx + 0x10]
mov ecx, dword [esp + 0x14]
cmp eax, dword [esp + 0x24]
ja 0x101c49f8
test edx, edx
jle 0x101c4922
movzx ecx, byte [ecx]
lea ebp, [ebp + 1]
movzx eax, byte [esi]
lea esi, [esi + 1]
inc dword [esp + 0x14]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 1]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x28]
inc dword [esp + 0x28]
shl ecx, 8
movzx eax, byte [eax]
or ecx, eax
add edi, ecx
mov ecx, dword [esp + 0x14]
mov dword [ebx], edi
add ebx, 4
sub edx, 1
jne 0x101c48e4
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x10]
cmp byte [esi + 0xd], 0
jne 0x101c4978
mov ecx, dword [esi + 8]
cmp byte [ecx + 0xd], 0
jne 0x101c4951
mov eax, dword [ecx]
cmp byte [eax + 0xd], 0
jne 0x101c494b
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0xd], 0
je 0x101c4941
mov dword [esp + 0x10], ecx
jmp 0x101c4978
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x101c4974
nop word [eax + eax]
cmp esi, dword [eax + 8]
jne 0x101c4974
mov esi, eax
mov dword [esp + 0x10], esi
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x101c4960
mov dword [esp + 0x10], eax
lea eax, [esp + 0x34]
push eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x18]
call fcn.10176070
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
cmp esi, dword [eax]
jne 0x101c4790
mov esi, dword [esp + 0x18]
inc edi
cmp edi, dword [esp + 0x38]
jmp 0x101c4760
sub ebp, dword [esi + 0x10]
cmp ebp, dword [esp + 0x24]
jb 0x101c49fd
mov eax, dword [esp + 0x3c]
mov ecx, dword [esi + 0x14]
pop edi
pop ebp
mov dword [eax], ecx
sub ebx, dword [esi + 0x14]
mov ecx, dword [esp + 0x74]
mov eax, ebx
pop esi
pop ebx
xor ecx, esp
call fcn.101f6477
add esp, 0x70
ret 0x1c
push str.Data_decompression__zlib__failed.
lea ecx, [esp + 0x3c]
call fcn.1018aab0
push 0x103fa184
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], vtable.Iex_2_2::InputExc.0
push eax
call fcn.101f94fb
call fcn.101c4a30
call fcn.101c4a70
int3