Function at 0x100ebf7c
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 0x100ec01f
test al, 0x10
mov eax, 0x10000
cmovne eax, ecx
mov dword [esp + 0x30], eax
jmp 0x100ec04d
push 8
push 4
pop eax
push eax
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x7cc]
push ebp
call fcn.1003b620
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 0x100ec074
lea eax, [edi + 0xc]
push eax
push ecx
push 0x78
push edx
call fcn.100c9d55
test eax, eax
js 0x100ec148
push 0x14
pop eax
mov word [edi + 0x12], ax
push 0xfffffffffffffffa
pop eax
push eax
push esi
push ebp
call fcn.100ed59d
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.100de9bb
test eax, eax
js 0x100ec148
xor eax, eax
mov word [edi + 0x10], ax
movzx eax, word [ebx + 0xc]
test ax, ax
je 0x100ec0b7
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.100df851
mov esi, eax
test esi, esi
js 0x100ec110
movzx eax, word [ebx + 0xc]
push 0x2e
pop edx
test ax, ax
je 0x100ec0e5
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.100df3db
mov esi, eax
test esi, esi
js 0x100ec110
push 0xb
pop eax
cmp word [esp + 0x3c], ax
jge 0x100ec163
mov esi, 0xffffe1d1
cmp dword [esp + 0x20], 0xffffffff
je 0x100ec126
push dword [esp + 0x20]
push ebp
call fcn.1003bd20
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.100dea33
mov eax, esi
mov ecx, dword [esp + 0x7a8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1011705d
add esp, 0x79c
ret 0x14
xor eax, eax
inc eax
mov dword [ebx + 0xa4], eax
jmp 0x100ec9c1
push dword [esp + 0x18]
xor eax, eax
push dword [esp + 0x28]
push ebp
push eax
call fcn.100df004
mov esi, eax
test esi, esi
js 0x100eca25
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.100df114
mov esi, eax
test esi, esi
js 0x100ec110
mov eax, dword [esp + 0x10]
test eax, eax
js 0x100eca1b
and eax, 0xfffffffe
cmp eax, 0x200
jae 0x100eca4d
xor ecx, ecx
mov word [esp + eax + 0x1a8], cx
cmp word [esp + 0x1c], cx
jne 0x100ec206
lea eax, [esp + 0x1a8]
push eax
push 0x100
lea eax, [esp + 0x5b0]
push eax
call fcn.10062a00
jmp 0x100ec22f
cmp dword [esp + 0x64], ecx
jne 0x100ec22f
push dword [0x10135544]
lea eax, [esp + 0x5ac]
push eax
lea eax, [esp + 0x1b0]
push eax
call fcn.10091d7d
test eax, eax
je 0x100ec9d5
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.100df114
mov esi, eax
test esi, esi
js 0x100ec110
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x100eca11
and eax, 0xfffffffe
cmp eax, 0x200
jae 0x100eca4d
xor ecx, ecx
mov word [esp + eax + 0x3a8], cx
xor eax, eax
inc eax
cmp dword [0x1017b2b8], eax
je 0x100ec373
cmp word [esp + 0x1c], cx
jne 0x100ec373
xor edi, edi
cmp word [ebx + 0xc], di
jne 0x100ec31d
cmp word [esp + 0x1a8], cx
je 0x100ec31d
lea ecx, [esp + 0x1a8]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x100ec2bc
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 0x100ec2d7
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.10117a60
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 0x100ec33d
movzx eax, word [ebx + 0xc]
add eax, eax
push eax
lea eax, [esp + 0x1ac]
push eax
push dword [ebx + 8]
call fcn.10117410
add esp, 0xc
lea ecx, [esp + 0x3a8]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x100ec347
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.10117410
add esp, 0xc
jmp 0x100ec3db
movzx eax, word [ebx + 0xc]
test ax, ax
jne 0x100ec386
cmp word [esp + 0x1a8], cx
je 0x100ec3a2
push eax
push dword [ebx + 8]
lea eax, [esp + 0x1b0]
push eax
call fcn.101155f0
add esp, 0xc
test eax, eax
jne 0x100ec9c1
lea ecx, [esp + 0x3a8]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [esp + 0x50]
jne 0x100ec3ac
sub ecx, edx
lea eax, [esp + 0x3a8]
sar ecx, 1
push ecx
push dword [ebx + 4]
push eax
call fcn.101155f0
add esp, 0xc
test eax, eax
jne 0x100ec9c1
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.100df114
mov esi, eax
test esi, esi
js 0x100ec110
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x100eca07
mov ecx, 0x80
cmp eax, ecx
cmova eax, ecx
mov dword [esp + 0x10], eax
and eax, 0xfffffffe
cmp eax, 0x82
jae 0x100eca4d
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.100df114
mov esi, eax
test esi, esi
js 0x100ec110
push 2
pop eax
cmp dword [esp + 0x10], eax
jne 0x100ec9fd
cmp dword [esp + 0x44], 0
je 0x100ec514
push 4
pop eax
cmp word [esp + 0x28], ax
je 0x100ec49f
push 5
pop eax
cmp word [esp + 0x28], ax
je 0x100ec49f
push 0xfffffffffffffffa
pop eax
cmp word [esp + 0x28], ax
jne 0x100ec514
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.100df114
mov esi, eax
test esi, esi
js 0x100ec110
mov eax, dword [esp + 0x10]
and eax, 0xfffffffe
cmp eax, 0x82
jae 0x100eca4d
xor ecx, ecx
mov word [esp + eax + 0x124], cx
lea eax, [esp + 0x124]
push eax
call fcn.100e2367
mov ebx, eax
mov dword [esp + 0x48], ebx
test ebx, ebx
je 0x100ec50a
cmp dword [esp + 0x58], 0
jne 0x100ec9df
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x24]
jmp 0x100ec518
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.100df114
mov esi, eax
test esi, esi
js 0x100ec110
cmp esi, 0x3ec
je 0x100ec562
cmp dword [esp + 0x10], 0
je 0x100ec562
push 4
pop eax
cmp dword [esp + 0x10], eax
je 0x100ec566
mov esi, 0xffffe1cc
jmp 0x100ec110
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.100df114
mov esi, eax
test esi, esi
js 0x100ec110
cmp esi, 0x3ec
je 0x100ec5b0
cmp dword [esp + 0x10], 0
je 0x100ec5b0
push 2
pop eax
cmp dword [esp + 0x10], eax
je 0x100ec5b4
mov esi, 0xffffe1cb
jmp 0x100ec110
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.100df114
mov esi, eax
test esi, esi
js 0x100ec110
mov eax, dword [esp + 0x10]
cmp esi, 0x3ec
je 0x100ec601
test eax, eax
je 0x100ec601
push 2
pop edx
cmp eax, edx
jne 0x100ec9e9
mov ebx, dword [esp + 0x40]
jmp 0x100ec608
push 2
mov dword [esp + 0x44], ebx
pop edx
test bx, bx
je 0x100ec61e
xor ecx, ecx
inc ecx
cmp bx, cx
je 0x100ec61e
cmp bx, dx
jne 0x100ec9f3
mov ebp, dword [esp + 0x38]
cmp edi, 0x3ec
mov edi, dword [esp + 0x34]
je 0x100ec632
test eax, eax
jne 0x100ec641
push 3
pop eax
cmp ax, word [esp + 0x28]
jne 0x100ec641
push 7
pop esi
jmp 0x100ec674
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.100ed795
push 3
mov esi, eax
pop eax
cmp dword [esp + 0x48], 0
je 0x100ec69d
push 4
pop edx
cmp esi, edx
je 0x100ec68d
cmp esi, eax
je 0x100ec68d
push 2
pop eax
cmp esi, eax
jne 0x100ec69d
push 0x10
pop ecx
mov esi, edx
mov dword [esp + 0x84], ecx
xor edx, edx
jmp 0x100ec6b6
xor edx, edx
mov ecx, edx
mov dword [esp + 0x84], ecx
test esi, esi
je 0x100ec6e6
cmp esi, 9
je 0x100ec6e2
cmp esi, 0xa
je 0x100ec6dd
lea eax, [esi - 0xb]
cmp eax, 1
ja 0x100ec6c2
mov eax, edx
jmp 0x100ec6ee
push esi
call fcn.1003a8b0
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x84]
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x40]
jmp 0x100ec6ee
lea eax, [edi + edi]
jmp 0x100ec6ee
mov eax, edi
jmp 0x100ec6ee
push 0xa
pop esi
mov eax, 0x1fe
mov dword [esp + 0x70], 0x18
mov dword [esp + 0x78], esi
cmp esi, 0x10
jne 0x100ec70b
mov word [esp + 0x7c], di
mov word [esp + 0x7e], bp
jmp 0x100ec713
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 0x100ec73f
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 0x100ec7bd
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.100eacd4
mov esi, eax
test esi, esi
js 0x100ec110
lea eax, [ebx + 0x20]
cmp word [eax], di
je 0x100ec962
push eax
lea eax, [esp + 0xa4]
push eax
call fcn.1004aeb0
mov edi, dword [esp + 0x2c]
test eax, eax
jne 0x100ec966
mov ax, word [esp + 0x1c]
mov word [edi + 0x14], ax
jmp 0x100ec966
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.1003bcc0
mov esi, eax
test esi, esi
js 0x100ec110
lea eax, [ebx + 0x20]
cmp word [eax], di
je 0x100ec80b
push eax
lea eax, [esp + 0xa4]
push eax
call fcn.1004aeb0
test eax, eax
jne 0x100ec80b
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.1003c3e0
mov esi, eax
test esi, esi
js 0x100ec110
xor eax, eax
inc eax
cmp word [esp + 0x1c], ax
jne 0x100ec86e
push edi
push 0x18
lea eax, [esp + 0x90]
push eax
push 0x1000273c
push dword [esp + 0x30]
push ebp
call fcn.1003c3e0
mov esi, eax
test esi, esi
js 0x100ec110
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x4c], edi
jmp 0x100ec872
mov edi, dword [esp + 0x4c]
push 2
pop eax
push eax
push dword [esp + 0x24]
push ebp
call fcn.1003c920
mov esi, eax
test esi, esi
js 0x100ec110
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.1003cce0
mov esi, eax
test esi, esi
js 0x100ec110
xor eax, eax
push eax
push eax
push eax
push dword [esp + 0x2c]
push ebp
call fcn.1003cef0
mov esi, eax
test esi, esi
js 0x100ec110
push dword [esp + 0x20]
push ebp
call fcn.1003bd20
or dword [esp + 0x20], 0xffffffff
test byte [esp + 0x84], 4
mov edi, dword [esp + 0x54]
je 0x100ec91b
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.1002d250
mov esi, eax
test esi, esi
js 0x100ec110
cmp dword [esp + 0x78], 0xa
je 0x100ec929
cmp dword [esp + 0x78], 0xc
jne 0x100ec962
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.1002d250
mov esi, eax
test esi, esi
js 0x100ec110
mov edi, dword [esp + 0x2c]
movzx ecx, word [edi + 0x12]
mov eax, dword [esp + 0x1c]
cmp ax, cx
jbe 0x100ec99a
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.100c9e40
mov esi, eax
test esi, esi
js 0x100ec110
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 0x100ec171
jmp 0x100eca29
mov esi, 0xfffff812
jmp 0x100ec110
mov esi, 0xffffe19f
jmp 0x100ec110
mov esi, 0xffffe1ca
jmp 0x100ec110
mov esi, 0xffffe1c9
jmp 0x100ec110
mov esi, 0xffffe1cd
jmp 0x100ec110
mov esi, 0xffffe1ce
jmp 0x100ec110
mov esi, 0xffffe1cf
jmp 0x100ec110
mov esi, 0xffffe1d0
jmp 0x100ec110
mov eax, dword [esp + 0x1c]
test ax, ax
jne 0x100eca40
cmp esi, 0xfffff9bd
jne 0x100eca40
mov eax, 0xfffffae7
jmp 0x100ec148
mov word [edi + 0x10], ax
xor eax, eax
mov esi, eax
jmp 0x100ec126
call fcn.10116cf2
int3