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

Disassembly:
sub esp, 0x79c
mov eax, dword [0x1013567c]
xor eax, esp
mov dword [esp + 0x798], eax
or dword [esp + 0x10], 0xffffffff
mov eax, dword [esp + 0x7ac]
push ebx
mov ebx, dword [esp + 0x7ac]
push ebp
push esi
xor ebp, ebp
mov edx, dword [esp + 0x7b0]
push edi
mov edi, dword [ebx]
mov dword [esp + 0x54], eax
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x50], ebp
mov eax, dword [edi]
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x58], ebp
mov ebp, dword [esp + 0x7b0]
mov esi, dword [eax]
xor ax, ax
cmp ax, word [ebx + 0xc]
mov dword [esp + 0x5c], edx
sbb eax, eax
mov dword [esp + 0x60], ebx
neg eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x64], eax
movzx eax, word [edi + 0x5c]
mov ecx, eax
mov dword [esp + 0x24], esi
and ecx, 4
shr ecx, 2
cmp dword [esp + 0x7c0], 0xffffffff
mov dword [esp + 0x44], ecx
mov ecx, 0x40000
jne 0x100ec222
test al, 0x10
mov eax, 0x10000
cmovne eax, ecx
mov dword [esp + 0x30], eax
jmp 0x100ec250
push 8
push 4
pop eax
push eax
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x7cc]
push ebp
call fcn.1003b6c0
mov ecx, dword [esp + 0x30]
mov edx, 0x10000
test eax, eax
cmovs ecx, edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x30], ecx
xor ecx, ecx
xor eax, eax
inc ecx
cmp word [edi + 0x12], ax
jne 0x100ec277
lea eax, [edi + 0xc]
push eax
push ecx
push 0x78
push edx
call fcn.100c9f55
test eax, eax
js 0x100ec34b
push 0x14
pop eax
mov word [edi + 0x12], ax
push 0xfffffffffffffffa
pop eax
push eax
push esi
push ebp
call fcn.100ed7a0
mov dword [esp + 0x6c], eax
xor eax, eax
push 0xffffffffffffffff
inc eax
push eax
lea eax, [esp + 0x20]
push eax
push esi
push ebp
call fcn.100debbe
test eax, eax
js 0x100ec34b
xor eax, eax
mov word [edi + 0x10], ax
movzx eax, word [ebx + 0xc]
test ax, ax
je 0x100ec2ba
mov ecx, eax
xor edx, edx
mov eax, dword [ebx + 8]
mov word [eax + ecx*2], dx
push dword [ebx + 4]
push 0xfffffffffffffffd
push dword [ebx + 8]
push dword [esp + 0x24]
push esi
push ebp
call fcn.100dfa54
mov esi, eax
test esi, esi
js 0x100ec313
movzx eax, word [ebx + 0xc]
push 0x2e
pop edx
test ax, ax
je 0x100ec2e8
mov ecx, eax
mov eax, dword [ebx + 8]
mov word [eax + ecx*2], dx
lea eax, [esp + 0x3c]
push eax
push dword [esp + 0x1c]
xor eax, eax
push dword [esp + 0x2c]
push ebp
push eax
call fcn.100df5de
mov esi, eax
test esi, esi
js 0x100ec313
push 0xb
pop eax
cmp word [esp + 0x3c], ax
jge 0x100ec366
mov esi, 0xffffe1d1
cmp dword [esp + 0x20], 0xffffffff
je 0x100ec329
push dword [esp + 0x20]
push ebp
call fcn.1003bdc0
or dword [esp + 0x20], 0xffffffff
push ebp
push dword [esp + 0x1c]
xor eax, eax
push dword [esp + 0x2c]
inc eax
push eax
push dword [esp + 0x28]
call dword [0x10139148]
movzx eax, ax
push eax
call fcn.100dec36
mov eax, esi
mov ecx, dword [esp + 0x7a8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1011720d
add esp, 0x79c
ret 0x14
xor eax, eax
inc eax
mov dword [ebx + 0xa4], eax
jmp 0x100ecbc4
push dword [esp + 0x18]
xor eax, eax
push dword [esp + 0x28]
push ebp
push eax
call fcn.100df207
mov esi, eax
test esi, esi
js 0x100ecc28
lea eax, [esp + 0x10]
push eax
push 0x1fe
lea eax, [esp + 0x1b0]
push eax
push 0xfffffffffffffff8
push 2
pop eax
push eax
push dword [esp + 0x2c]
xor eax, eax
push dword [esp + 0x3c]
push ebp
push eax
call fcn.100df317
mov esi, eax
test esi, esi
js 0x100ec313
mov eax, dword [esp + 0x10]
test eax, eax
js 0x100ecc1e
and eax, 0xfffffffe
cmp eax, 0x200
jae 0x100ecc50
xor ecx, ecx
mov word [esp + eax + 0x1a8], cx
cmp word [esp + 0x1c], cx
jne 0x100ec409
lea eax, [esp + 0x1a8]
push eax
push 0x100
lea eax, [esp + 0x5b0]
push eax
call fcn.10062b10
jmp 0x100ec432
cmp dword [esp + 0x64], ecx
jne 0x100ec432
push dword [0x10135544]
lea eax, [esp + 0x5ac]
push eax
lea eax, [esp + 0x1b0]
push eax
call fcn.10091f7d
test eax, eax
je 0x100ecbd8
lea eax, [esp + 0x10]
push eax
push 0x1fe
lea eax, [esp + 0x3b0]
push eax
push 0xfffffffffffffff8
push 3
pop eax
push eax
push dword [esp + 0x2c]
xor eax, eax
push dword [esp + 0x3c]
push ebp
push eax
call fcn.100df317
mov esi, eax
test esi, esi
js 0x100ec313
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x100ecc14
and eax, 0xfffffffe
cmp eax, 0x200
jae 0x100ecc50
xor ecx, ecx
mov word [esp + eax + 0x3a8], cx
xor eax, eax
inc eax
cmp dword [0x1017b2b8], eax
je 0x100ec576
cmp word [esp + 0x1c], cx
jne 0x100ec576
xor edi, edi
cmp word [ebx + 0xc], di
jne 0x100ec520
cmp word [esp + 0x1a8], cx
je 0x100ec520
lea ecx, [esp + 0x1a8]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x100ec4bf
mov esi, dword [ebx + 4]
sub ecx, edx
mov edx, esi
sar ecx, 1
mov word [ebx + 0xc], cx
lea edi, [edx + 2]
mov ax, word [edx]
add edx, 2
cmp ax, word [esp + 0x50]
jne 0x100ec4da
sub edx, edi
sar edx, 1
lea eax, [edx*2 + 2]
push eax
movzx eax, cx
inc eax
push esi
lea eax, [esi + eax*2]
push eax
call fcn.10117c10
mov ecx, dword [ebx + 4]
add esp, 0xc
movzx eax, word [ebx + 0xc]
mov dword [ebx + 8], ecx
add ecx, 2
xor edi, edi
push 0x2e
lea eax, [ecx + eax*2]
pop ecx
mov dword [ebx + 4], eax
mov word [eax - 2], cx
cmp dword [ebx + 8], 0
je 0x100ec540
movzx eax, word [ebx + 0xc]
add eax, eax
push eax
lea eax, [esp + 0x1ac]
push eax
push dword [ebx + 8]
call fcn.101175c0
add esp, 0xc
lea ecx, [esp + 0x3a8]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x100ec54a
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x3ac]
push eax
push dword [ebx + 4]
call fcn.101175c0
add esp, 0xc
jmp 0x100ec5de
movzx eax, word [ebx + 0xc]
test ax, ax
jne 0x100ec589
cmp word [esp + 0x1a8], cx
je 0x100ec5a5
push eax
push dword [ebx + 8]
lea eax, [esp + 0x1b0]
push eax
call fcn.101157a0
add esp, 0xc
test eax, eax
jne 0x100ecbc4
lea ecx, [esp + 0x3a8]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [esp + 0x50]
jne 0x100ec5af
sub ecx, edx
lea eax, [esp + 0x3a8]
sar ecx, 1
push ecx
push dword [ebx + 4]
push eax
call fcn.101157a0
add esp, 0xc
test eax, eax
jne 0x100ecbc4
xor edi, edi
mov ebx, dword [esp + 0x24]
lea eax, [esp + 0x10]
push eax
push 0x80
lea eax, [esp + 0xa8]
push eax
push 0xfffffffffffffff8
push 4
pop eax
push eax
push dword [esp + 0x2c]
push ebx
push ebp
push edi
call fcn.100df317
mov esi, eax
test esi, esi
js 0x100ec313
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x100ecc0a
mov ecx, 0x80
cmp eax, ecx
cmova eax, ecx
mov dword [esp + 0x10], eax
and eax, 0xfffffffe
cmp eax, 0x82
jae 0x100ecc50
xor ecx, ecx
mov word [esp + eax + 0xa0], cx
lea eax, [esp + 0x10]
push eax
push 2
pop eax
push eax
lea eax, [esp + 0x30]
push eax
push 0x63
push 5
pop eax
push eax
push dword [esp + 0x2c]
push ebx
push ebp
push edi
call fcn.100df317
mov esi, eax
test esi, esi
js 0x100ec313
push 2
pop eax
cmp dword [esp + 0x10], eax
jne 0x100ecc00
cmp dword [esp + 0x44], 0
je 0x100ec717
push 4
pop eax
cmp word [esp + 0x28], ax
je 0x100ec6a2
push 5
pop eax
cmp word [esp + 0x28], ax
je 0x100ec6a2
push 0xfffffffffffffffa
pop eax
cmp word [esp + 0x28], ax
jne 0x100ec717
lea eax, [esp + 0x10]
push eax
mov eax, 0x80
push eax
lea eax, [esp + 0x12c]
push eax
push 0xfffffffffffffff8
push 6
push dword [esp + 0x2c]
push ebx
push ebp
push edi
call fcn.100df317
mov esi, eax
test esi, esi
js 0x100ec313
mov eax, dword [esp + 0x10]
and eax, 0xfffffffe
cmp eax, 0x82
jae 0x100ecc50
xor ecx, ecx
mov word [esp + eax + 0x124], cx
lea eax, [esp + 0x124]
push eax
call fcn.100e256a
mov ebx, eax
mov dword [esp + 0x48], ebx
test ebx, ebx
je 0x100ec70d
cmp dword [esp + 0x58], 0
jne 0x100ecbe2
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x24]
jmp 0x100ec71b
mov dword [esp + 0x48], edi
lea eax, [esp + 0x10]
push eax
push 4
pop eax
push eax
lea eax, [esp + 0x3c]
push eax
push 0x63
push 7
push dword [esp + 0x2c]
push ebx
push ebp
push edi
call fcn.100df317
mov esi, eax
test esi, esi
js 0x100ec313
cmp esi, 0x3ec
je 0x100ec765
cmp dword [esp + 0x10], 0
je 0x100ec765
push 4
pop eax
cmp dword [esp + 0x10], eax
je 0x100ec769
mov esi, 0xffffe1cc
jmp 0x100ec313
mov dword [esp + 0x34], edi
lea eax, [esp + 0x10]
push eax
push 2
pop eax
push eax
lea eax, [esp + 0x40]
push eax
push 0x63
push 9
push dword [esp + 0x2c]
push ebx
push ebp
push edi
call fcn.100df317
mov esi, eax
test esi, esi
js 0x100ec313
cmp esi, 0x3ec
je 0x100ec7b3
cmp dword [esp + 0x10], 0
je 0x100ec7b3
push 2
pop eax
cmp dword [esp + 0x10], eax
je 0x100ec7b7
mov esi, 0xffffe1cb
jmp 0x100ec313
mov dword [esp + 0x38], edi
lea eax, [esp + 0x10]
mov edi, esi
push eax
push 2
pop eax
push eax
lea eax, [esp + 0x48]
push eax
push 0x63
push 0xb
push dword [esp + 0x2c]
push ebx
push ebp
xor ebx, ebx
push ebx
call fcn.100df317
mov esi, eax
test esi, esi
js 0x100ec313
mov eax, dword [esp + 0x10]
cmp esi, 0x3ec
je 0x100ec804
test eax, eax
je 0x100ec804
push 2
pop edx
cmp eax, edx
jne 0x100ecbec
mov ebx, dword [esp + 0x40]
jmp 0x100ec80b
push 2
mov dword [esp + 0x44], ebx
pop edx
test bx, bx
je 0x100ec821
xor ecx, ecx
inc ecx
cmp bx, cx
je 0x100ec821
cmp bx, dx
jne 0x100ecbf6
mov ebp, dword [esp + 0x38]
cmp edi, 0x3ec
mov edi, dword [esp + 0x34]
je 0x100ec835
test eax, eax
jne 0x100ec844
push 3
pop eax
cmp ax, word [esp + 0x28]
jne 0x100ec844
push 7
pop esi
jmp 0x100ec877
cmp dword [esp + 0x30], 0x40000
sbb eax, eax
inc eax
push eax
push dword [esp + 0x48]
push dword [esp + 0x74]
push ebp
push edi
push dword [esp + 0x3c]
push dword [esp + 0x30]
push dword [esp + 0x40]
push dword [esp + 0x7d0]
call fcn.100ed998
push 3
mov esi, eax
pop eax
cmp dword [esp + 0x48], 0
je 0x100ec8a0
push 4
pop edx
cmp esi, edx
je 0x100ec890
cmp esi, eax
je 0x100ec890
push 2
pop eax
cmp esi, eax
jne 0x100ec8a0
push 0x10
pop ecx
mov esi, edx
mov dword [esp + 0x84], ecx
xor edx, edx
jmp 0x100ec8b9
xor edx, edx
mov ecx, edx
mov dword [esp + 0x84], ecx
test esi, esi
je 0x100ec8e9
cmp esi, 9
je 0x100ec8e5
cmp esi, 0xa
je 0x100ec8e0
lea eax, [esi - 0xb]
cmp eax, 1
ja 0x100ec8c5
mov eax, edx
jmp 0x100ec8f1
push esi
call fcn.1003a900
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x84]
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x40]
jmp 0x100ec8f1
lea eax, [edi + edi]
jmp 0x100ec8f1
mov eax, edi
jmp 0x100ec8f1
push 0xa
pop esi
mov eax, 0x1fe
mov dword [esp + 0x70], 0x18
mov dword [esp + 0x78], esi
cmp esi, 0x10
jne 0x100ec90e
mov word [esp + 0x7c], di
mov word [esp + 0x7e], bp
jmp 0x100ec916
mov dword [esp + 0x7c], 0x409
mov dword [esp + 0x80], eax
xor eax, eax
test bx, bx
push 4
pop edx
cmove eax, edx
or ecx, eax
mov dword [esp + 0x84], ecx
cmp esi, 8
ja 0x100ec942
xor eax, eax
inc eax
or ecx, eax
mov dword [esp + 0x84], ecx
mov ebx, dword [esp + 0x60]
xor edi, edi
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x7b0]
inc ecx
mov dword [esp + 0x1c], ecx
cmp dword [ebx + 0xa8], edi
je 0x100ec9c0
movzx eax, cx
mov dword [esp + 0x74], eax
lea eax, [esp + 0x70]
push ecx
push eax
lea eax, [esp + 0xa8]
push eax
lea eax, [ebx + 0xac]
push eax
push ebp
call fcn.100eaed7
mov esi, eax
test esi, esi
js 0x100ec313
lea eax, [ebx + 0x20]
cmp word [eax], di
je 0x100ecb65
push eax
lea eax, [esp + 0xa4]
push eax
call fcn.1004af50
mov edi, dword [esp + 0x2c]
test eax, eax
jne 0x100ecb69
mov ax, word [esp + 0x1c]
mov word [edi + 0x14], ax
jmp 0x100ecb69
lea eax, [esp + 0x68]
push eax
push edi
push edi
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0xb0]
push eax
push dword [ebx + 0x10]
push ebp
call fcn.1003bd60
mov esi, eax
test esi, esi
js 0x100ec313
lea eax, [ebx + 0x20]
cmp word [eax], di
je 0x100eca0e
push eax
lea eax, [esp + 0xa4]
push eax
call fcn.1004af50
test eax, eax
jne 0x100eca0e
mov eax, dword [esp + 0x68]
mov dword [ebx + 0xa4], edi
mov dword [ebx + 0x1c], eax
push 3
pop eax
push eax
push 4
pop eax
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xac]
push eax
push dword [ebx + 0x10]
push ebp
call fcn.1003c480
mov esi, eax
test esi, esi
js 0x100ec313
xor eax, eax
inc eax
cmp word [esp + 0x1c], ax
jne 0x100eca71
push edi
push 0x18
lea eax, [esp + 0x90]
push eax
push 0x1000273c
push dword [esp + 0x30]
push ebp
call fcn.1003c480
mov esi, eax
test esi, esi
js 0x100ec313
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x4c], edi
jmp 0x100eca75
mov edi, dword [esp + 0x4c]
push 2
pop eax
push eax
push dword [esp + 0x24]
push ebp
call fcn.1003c9c0
mov esi, eax
test esi, esi
js 0x100ec313
xor eax, eax
push eax
push eax
push 2
pop eax
push eax
lea eax, [esp + 0x28]
push eax
push edi
push dword [esp + 0x34]
push ebp
call fcn.1003cd80
mov esi, eax
test esi, esi
js 0x100ec313
xor eax, eax
push eax
push eax
push eax
push dword [esp + 0x2c]
push ebp
call fcn.1003cf90
mov esi, eax
test esi, esi
js 0x100ec313
push dword [esp + 0x20]
push ebp
call fcn.1003bdc0
or dword [esp + 0x20], 0xffffffff
test byte [esp + 0x84], 4
mov edi, dword [esp + 0x54]
je 0x100ecb1e
xor eax, eax
inc eax
push eax
push eax
push eax
mov byte [esp + 0x23], al
lea eax, [esp + 0x23]
push eax
push 0x10002a80
lea eax, [esp + 0xb4]
push eax
push edi
push 0x10002410
push dword [esp + 0x7e0]
push ebp
call fcn.1002d290
mov esi, eax
test esi, esi
js 0x100ec313
cmp dword [esp + 0x78], 0xa
je 0x100ecb2c
cmp dword [esp + 0x78], 0xc
jne 0x100ecb65
xor eax, eax
inc eax
push eax
push eax
push eax
mov byte [esp + 0x23], al
lea eax, [esp + 0x23]
push eax
push 0x10002a94
lea eax, [esp + 0xb4]
push eax
push edi
push 0x10002410
push dword [esp + 0x7e0]
push ebp
call fcn.1002d290
mov esi, eax
test esi, esi
js 0x100ec313
mov edi, dword [esp + 0x2c]
movzx ecx, word [edi + 0x12]
mov eax, dword [esp + 0x1c]
cmp ax, cx
jbe 0x100ecb9d
lea eax, [ecx + 0x14]
mov word [edi + 0x12], ax
cwde
imul eax, eax, 6
push eax
lea eax, [edi + 0xc]
push eax
push dword [esp + 0x64]
call fcn.100ca040
mov esi, eax
test esi, esi
js 0x100ec313
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi + 0xc]
movzx eax, ax
imul edx, eax, 6
mov ax, word [esp + 0x28]
mov word [edx + ecx - 6], ax
mov ax, word [esp + 0x34]
mov word [edx + ecx - 4], ax
mov ax, word [esp + 0x38]
mov word [edx + ecx - 2], ax
mov eax, dword [esp + 0x1c]
mov ecx, 0xff
cmp ax, cx
jb 0x100ec374
jmp 0x100ecc2c
mov esi, 0xfffff812
jmp 0x100ec313
mov esi, 0xffffe19f
jmp 0x100ec313
mov esi, 0xffffe1ca
jmp 0x100ec313
mov esi, 0xffffe1c9
jmp 0x100ec313
mov esi, 0xffffe1cd
jmp 0x100ec313
mov esi, 0xffffe1ce
jmp 0x100ec313
mov esi, 0xffffe1cf
jmp 0x100ec313
mov esi, 0xffffe1d0
jmp 0x100ec313
mov eax, dword [esp + 0x1c]
test ax, ax
jne 0x100ecc43
cmp esi, 0xfffff9bd
jne 0x100ecc43
mov eax, 0xfffffae7
jmp 0x100ec34b
mov word [edi + 0x10], ax
xor eax, eax
mov esi, eax
jmp 0x100ec329
call fcn.10116ea2
int3