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

Disassembly:
sub esp, 0x79c
mov eax, dword [0x101366b4]
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 0x100ecd10
test al, 0x10
mov eax, 0x10000
cmovne eax, ecx
mov dword [esp + 0x30], eax
jmp 0x100ecd3e
push 8
push 4
pop eax
push eax
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x7cc]
push ebp
call fcn.1003ba10
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 0x100ecd65
lea eax, [edi + 0xc]
push eax
push ecx
push 0x78
push edx
call fcn.100caa46
test eax, eax
js 0x100ece39
push 0x14
pop eax
mov word [edi + 0x12], ax
push 0xfffffffffffffffa
pop eax
push eax
push esi
push ebp
call fcn.100ee28e
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.100df6ac
test eax, eax
js 0x100ece39
xor eax, eax
mov word [edi + 0x10], ax
movzx eax, word [ebx + 0xc]
test ax, ax
je 0x100ecda8
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.100e0542
mov esi, eax
test esi, esi
js 0x100ece01
movzx eax, word [ebx + 0xc]
push 0x2e
pop edx
test ax, ax
je 0x100ecdd6
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.100e00cc
mov esi, eax
test esi, esi
js 0x100ece01
push 0xb
pop eax
cmp word [esp + 0x3c], ax
jge 0x100ece54
mov esi, 0xffffe1d1
cmp dword [esp + 0x20], 0xffffffff
je 0x100ece17
push dword [esp + 0x20]
push ebp
call fcn.1003c120
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 [0x1013a188]
movzx eax, ax
push eax
call fcn.100df724
mov eax, esi
mov ecx, dword [esp + 0x7a8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10117cfd
add esp, 0x79c
ret 0x14
xor eax, eax
inc eax
mov dword [ebx + 0xa4], eax
jmp 0x100ed6b2
push dword [esp + 0x18]
xor eax, eax
push dword [esp + 0x28]
push ebp
push eax
call fcn.100dfcf5
mov esi, eax
test esi, esi
js 0x100ed716
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.100dfe05
mov esi, eax
test esi, esi
js 0x100ece01
mov eax, dword [esp + 0x10]
test eax, eax
js 0x100ed70c
and eax, 0xfffffffe
cmp eax, 0x200
jae 0x100ed73e
xor ecx, ecx
mov word [esp + eax + 0x1a8], cx
cmp word [esp + 0x1c], cx
jne 0x100ecef7
lea eax, [esp + 0x1a8]
push eax
push pe_nt_image_headers32
lea eax, [esp + 0x5b0]
push eax
call fcn.100631e0
jmp 0x100ecf20
cmp dword [esp + 0x64], ecx
jne 0x100ecf20
push dword [0x1013657c]
lea eax, [esp + 0x5ac]
push eax
lea eax, [esp + 0x1b0]
push eax
call fcn.1009295d
test eax, eax
je 0x100ed6c6
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.100dfe05
mov esi, eax
test esi, esi
js 0x100ece01
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x100ed702
and eax, 0xfffffffe
cmp eax, 0x200
jae 0x100ed73e
xor ecx, ecx
mov word [esp + eax + 0x3a8], cx
xor eax, eax
inc eax
cmp dword [0x1017c2f8], eax
je 0x100ed064
cmp word [esp + 0x1c], cx
jne 0x100ed064
xor edi, edi
cmp word [ebx + 0xc], di
jne 0x100ed00e
cmp word [esp + 0x1a8], cx
je 0x100ed00e
lea ecx, [esp + 0x1a8]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x100ecfad
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 0x100ecfc8
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.10118700
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 0x100ed02e
movzx eax, word [ebx + 0xc]
add eax, eax
push eax
lea eax, [esp + 0x1ac]
push eax
push dword [ebx + 8]
call fcn.101180b0
add esp, 0xc
lea ecx, [esp + 0x3a8]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x100ed038
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.101180b0
add esp, 0xc
jmp 0x100ed0cc
movzx eax, word [ebx + 0xc]
test ax, ax
jne 0x100ed077
cmp word [esp + 0x1a8], cx
je 0x100ed093
push eax
push dword [ebx + 8]
lea eax, [esp + 0x1b0]
push eax
call fcn.10116290
add esp, 0xc
test eax, eax
jne 0x100ed6b2
lea ecx, [esp + 0x3a8]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [esp + 0x50]
jne 0x100ed09d
sub ecx, edx
lea eax, [esp + 0x3a8]
sar ecx, 1
push ecx
push dword [ebx + 4]
push eax
call fcn.10116290
add esp, 0xc
test eax, eax
jne 0x100ed6b2
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.100dfe05
mov esi, eax
test esi, esi
js 0x100ece01
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x100ed6f8
mov ecx, 0x80
cmp eax, ecx
cmova eax, ecx
mov dword [esp + 0x10], eax
and eax, 0xfffffffe
cmp eax, 0x82
jae 0x100ed73e
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.100dfe05
mov esi, eax
test esi, esi
js 0x100ece01
push 2
pop eax
cmp dword [esp + 0x10], eax
jne 0x100ed6ee
cmp dword [esp + 0x44], 0
je 0x100ed205
push 4
pop eax
cmp word [esp + 0x28], ax
je 0x100ed190
push 5
pop eax
cmp word [esp + 0x28], ax
je 0x100ed190
push 0xfffffffffffffffa
pop eax
cmp word [esp + 0x28], ax
jne 0x100ed205
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.100dfe05
mov esi, eax
test esi, esi
js 0x100ece01
mov eax, dword [esp + 0x10]
and eax, 0xfffffffe
cmp eax, 0x82
jae 0x100ed73e
xor ecx, ecx
mov word [esp + eax + 0x124], cx
lea eax, [esp + 0x124]
push eax
call fcn.100e3058
mov ebx, eax
mov dword [esp + 0x48], ebx
test ebx, ebx
je 0x100ed1fb
cmp dword [esp + 0x58], 0
jne 0x100ed6d0
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x24]
jmp 0x100ed209
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.100dfe05
mov esi, eax
test esi, esi
js 0x100ece01
cmp esi, 0x3ec
je 0x100ed253
cmp dword [esp + 0x10], 0
je 0x100ed253
push 4
pop eax
cmp dword [esp + 0x10], eax
je 0x100ed257
mov esi, 0xffffe1cc
jmp 0x100ece01
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.100dfe05
mov esi, eax
test esi, esi
js 0x100ece01
cmp esi, 0x3ec
je 0x100ed2a1
cmp dword [esp + 0x10], 0
je 0x100ed2a1
push 2
pop eax
cmp dword [esp + 0x10], eax
je 0x100ed2a5
mov esi, 0xffffe1cb
jmp 0x100ece01
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.100dfe05
mov esi, eax
test esi, esi
js 0x100ece01
mov eax, dword [esp + 0x10]
cmp esi, 0x3ec
je 0x100ed2f2
test eax, eax
je 0x100ed2f2
push 2
pop edx
cmp eax, edx
jne 0x100ed6da
mov ebx, dword [esp + 0x40]
jmp 0x100ed2f9
push 2
mov dword [esp + 0x44], ebx
pop edx
test bx, bx
je 0x100ed30f
xor ecx, ecx
inc ecx
cmp bx, cx
je 0x100ed30f
cmp bx, dx
jne 0x100ed6e4
mov ebp, dword [esp + 0x38]
cmp edi, 0x3ec
mov edi, dword [esp + 0x34]
je 0x100ed323
test eax, eax
jne 0x100ed332
push 3
pop eax
cmp ax, word [esp + 0x28]
jne 0x100ed332
push 7
pop esi
jmp 0x100ed365
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.100ee486
push 3
mov esi, eax
pop eax
cmp dword [esp + 0x48], 0
je 0x100ed38e
push 4
pop edx
cmp esi, edx
je 0x100ed37e
cmp esi, eax
je 0x100ed37e
push 2
pop eax
cmp esi, eax
jne 0x100ed38e
push 0x10
pop ecx
mov esi, edx
mov dword [esp + 0x84], ecx
xor edx, edx
jmp 0x100ed3a7
xor edx, edx
mov ecx, edx
mov dword [esp + 0x84], ecx
test esi, esi
je 0x100ed3d7
cmp esi, 9
je 0x100ed3d3
cmp esi, 0xa
je 0x100ed3ce
lea eax, [esi - 0xb]
cmp eax, 1
ja 0x100ed3b3
mov eax, edx
jmp 0x100ed3df
push esi
call fcn.1003aa80
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x84]
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x40]
jmp 0x100ed3df
lea eax, [edi + edi]
jmp 0x100ed3df
mov eax, edi
jmp 0x100ed3df
push 0xa
pop esi
mov eax, 0x1fe
mov dword [esp + 0x70], 0x18
mov dword [esp + 0x78], esi
cmp esi, 0x10
jne 0x100ed3fc
mov word [esp + 0x7c], di
mov word [esp + 0x7e], bp
jmp 0x100ed404
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 0x100ed430
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 0x100ed4ae
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.100eb9c5
mov esi, eax
test esi, esi
js 0x100ece01
lea eax, [ebx + 0x20]
cmp word [eax], di
je 0x100ed653
push eax
lea eax, [esp + 0xa4]
push eax
call fcn.1004b2f0
mov edi, dword [esp + 0x2c]
test eax, eax
jne 0x100ed657
mov ax, word [esp + 0x1c]
mov word [edi + 0x14], ax
jmp 0x100ed657
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.1003c0c0
mov esi, eax
test esi, esi
js 0x100ece01
lea eax, [ebx + 0x20]
cmp word [eax], di
je 0x100ed4fc
push eax
lea eax, [esp + 0xa4]
push eax
call fcn.1004b2f0
test eax, eax
jne 0x100ed4fc
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.1003c7e0
mov esi, eax
test esi, esi
js 0x100ece01
xor eax, eax
inc eax
cmp word [esp + 0x1c], ax
jne 0x100ed55f
push edi
push 0x18
lea eax, [esp + 0x90]
push eax
push 0x1000277c
push dword [esp + 0x30]
push ebp
call fcn.1003c7e0
mov esi, eax
test esi, esi
js 0x100ece01
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x4c], edi
jmp 0x100ed563
mov edi, dword [esp + 0x4c]
push 2
pop eax
push eax
push dword [esp + 0x24]
push ebp
call fcn.1003cd20
mov esi, eax
test esi, esi
js 0x100ece01
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.1003d0e0
mov esi, eax
test esi, esi
js 0x100ece01
xor eax, eax
push eax
push eax
push eax
push dword [esp + 0x2c]
push ebp
call fcn.1003d2f0
mov esi, eax
test esi, esi
js 0x100ece01
push dword [esp + 0x20]
push ebp
call fcn.1003c120
or dword [esp + 0x20], 0xffffffff
test byte [esp + 0x84], 4
mov edi, dword [esp + 0x54]
je 0x100ed60c
xor eax, eax
inc eax
push eax
push eax
push eax
mov byte [esp + 0x23], al
lea eax, [esp + 0x23]
push eax
push 0x10002ac0
lea eax, [esp + 0xb4]
push eax
push edi
push 0x10002450
push dword [esp + 0x7e0]
push ebp
call fcn.1002d3f0
mov esi, eax
test esi, esi
js 0x100ece01
cmp dword [esp + 0x78], 0xa
je 0x100ed61a
cmp dword [esp + 0x78], 0xc
jne 0x100ed653
xor eax, eax
inc eax
push eax
push eax
push eax
mov byte [esp + 0x23], al
lea eax, [esp + 0x23]
push eax
push 0x10002ad4
lea eax, [esp + 0xb4]
push eax
push edi
push 0x10002450
push dword [esp + 0x7e0]
push ebp
call fcn.1002d3f0
mov esi, eax
test esi, esi
js 0x100ece01
mov edi, dword [esp + 0x2c]
movzx ecx, word [edi + 0x12]
mov eax, dword [esp + 0x1c]
cmp ax, cx
jbe 0x100ed68b
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.100cab31
mov esi, eax
test esi, esi
js 0x100ece01
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 0x100ece62
jmp 0x100ed71a
mov esi, 0xfffff812
jmp 0x100ece01
mov esi, 0xffffe19f
jmp 0x100ece01
mov esi, 0xffffe1ca
jmp 0x100ece01
mov esi, 0xffffe1c9
jmp 0x100ece01
mov esi, 0xffffe1cd
jmp 0x100ece01
mov esi, 0xffffe1ce
jmp 0x100ece01
mov esi, 0xffffe1cf
jmp 0x100ece01
mov esi, 0xffffe1d0
jmp 0x100ece01
mov eax, dword [esp + 0x1c]
test ax, ax
jne 0x100ed731
cmp esi, 0xfffff9bd
jne 0x100ed731
mov eax, 0xfffffae7
jmp 0x100ece39
mov word [edi + 0x10], ax
xor eax, eax
mov esi, eax
jmp 0x100ece17
call fcn.10117992
int3