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

Disassembly:
sub esp, 0x88
cmp dword [esp + 0x98], 0xa
jae 0x1e4f134
push 0xffffffffffffffec
pop eax
jmp 0x1e4f8bd
mov edx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
push ebx
mov ebx, dword [esp + 0x90]
add eax, ebx
mov dword [esp + 0x24], eax
lea eax, [edx + 4]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x9c]
push ebp
movzx ebp, word [ecx]
push esi
movzx esi, word [ecx + 4]
sub eax, esi
mov dword [esp + 0x90], ebp
push edi
movzx edi, word [ecx + 2]
sub eax, edi
mov dword [esp + 0x20], edi
sub eax, ebp
sub eax, 6
mov dword [esp + 0x24], eax
lea eax, [ecx + 6]
mov dword [esp + 0x40], eax
add eax, ebp
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xa0]
add eax, 3
shr eax, 2
lea ecx, [eax + ebx]
lea ebx, [ecx + eax]
mov dword [esp + 0x3c], ecx
add eax, ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x2c], eax
mov edi, eax
mov dword [esp + 0x14], eax
mov ebp, ecx
mov eax, dword [edx]
shr eax, 0x10
movzx eax, al
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x28], ebx
cmp eax, dword [esp + 0xa8]
ja 0x1e4f3f4
push dword [esp + 0x94]
lea eax, [esp + 0x48]
push dword [esp + 0x44]
push eax
call fcn.01e4df18
add esp, 0xc
cmp eax, 0xffffff88
ja 0x1e4f8b9
push dword [esp + 0x20]
lea eax, [esp + 0x5c]
push dword [esp + 0x38]
push eax
call fcn.01e4df18
add esp, 0xc
cmp eax, 0xffffff88
ja 0x1e4f8b9
mov eax, dword [esp + 0x34]
add eax, dword [esp + 0x20]
push esi
push eax
lea eax, [esp + 0x74]
push eax
call fcn.01e4df18
add esp, 0xc
cmp eax, 0xffffff88
ja 0x1e4f8b9
mov eax, dword [esp + 0x34]
add eax, dword [esp + 0x20]
push dword [esp + 0x24]
add eax, esi
push eax
lea eax, [esp + 0x88]
push eax
call fcn.01e4df18
add esp, 0xc
cmp eax, 0xffffff88
ja 0x1e4f8b9
lea eax, [esp + 0x80]
push eax
call fcn.01e4c35f
mov esi, eax
lea eax, [esp + 0x70]
push eax
call fcn.01e4c35f
or esi, eax
lea eax, [esp + 0x60]
push eax
call fcn.01e4c35f
or esi, eax
lea eax, [esp + 0x50]
push eax
call fcn.01e4c35f
or esi, eax
add esp, 0x10
mov eax, dword [esp + 0x30]
neg esi
mov ecx, edi
sbb esi, esi
add eax, 0xfffffffd
inc esi
cmp ecx, eax
sbb eax, eax
neg eax
test eax, esi
je 0x1e4f3db
push dword [esp + 0x10]
mov esi, dword [esp + 0x3c]
lea eax, [esp + 0x48]
push esi
push eax
push dword [esp + 0xa8]
call fcn.01e4e6b9
push dword [esp + 0x20]
add dword [esp + 0xb0], eax
lea eax, [esp + 0x6c]
push esi
push eax
push ebp
call fcn.01e4e6b9
push dword [esp + 0x30]
add ebp, eax
lea eax, [esp + 0x90]
push esi
push eax
push ebx
call fcn.01e4e6b9
push dword [esp + 0x40]
add ebx, eax
lea eax, [esp + 0xb4]
push esi
push eax
push edi
call fcn.01e4e6b9
add esp, 0x40
add edi, eax
lea eax, [esp + 0x44]
push dword [esp + 0x10]
push esi
push eax
push dword [esp + 0xa8]
call fcn.01e4e6b9
push dword [esp + 0x20]
add dword [esp + 0xb0], eax
lea eax, [esp + 0x6c]
push esi
push eax
push ebp
call fcn.01e4e6b9
push dword [esp + 0x30]
add ebp, eax
lea eax, [esp + 0x90]
push esi
push eax
push ebx
call fcn.01e4e6b9
push dword [esp + 0x40]
add ebx, eax
lea eax, [esp + 0xb4]
push esi
push eax
push edi
call fcn.01e4e6b9
add esp, 0x40
add edi, eax
lea eax, [esp + 0x80]
push eax
call fcn.01e4c35f
mov esi, eax
lea eax, [esp + 0x70]
push eax
call fcn.01e4c35f
or esi, eax
lea eax, [esp + 0x60]
push eax
call fcn.01e4c35f
or esi, eax
lea eax, [esp + 0x50]
push eax
call fcn.01e4c35f
or esi, eax
add esp, 0x10
mov eax, dword [esp + 0x30]
neg esi
sbb esi, esi
inc esi
add eax, 0xfffffffd
cmp edi, eax
sbb eax, eax
neg eax
test eax, esi
jne 0x1e4f2bf
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x28], ebx
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x9c]
mov eax, dword [esp + 0x3c]
cmp esi, eax
ja 0x1e4f3f4
cmp ebp, dword [esp + 0x1c]
ja 0x1e4f3f4
cmp ebx, ecx
jbe 0x1e4f3fc
push 0xffffffffffffffec
pop eax
jmp 0x1e4f8b9
add eax, 0xfffffffd
mov dword [esp + 0x24], eax
lea eax, [esp + 0x44]
push eax
call fcn.01e4c35f
neg eax
pop ecx
sbb ecx, ecx
inc ecx
cmp esi, dword [esp + 0x24]
mov esi, dword [esp + 0x38]
sbb eax, eax
neg eax
test eax, ecx
je 0x1e4f47f
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x9c]
mov ebp, dword [esp + 0x24]
push edi
push esi
lea eax, [esp + 0x4c]
push eax
push ebx
call fcn.01e4e6b9
push edi
add ebx, eax
lea eax, [esp + 0x58]
push esi
push eax
push ebx
call fcn.01e4e6b9
add ebx, eax
lea eax, [esp + 0x64]
push eax
call fcn.01e4c35f
add esp, 0x24
neg eax
sbb ecx, ecx
inc ecx
cmp ebx, ebp
sbb eax, eax
neg eax
test eax, ecx
jne 0x1e4f432
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x9c], ebx
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x3c]
add eax, 0xfffffffe
mov dword [esp + 0x20], eax
lea eax, [esp + 0x44]
push eax
call fcn.01e4c35f
mov edx, dword [esp + 0x24]
neg eax
pop ecx
sbb ecx, ecx
inc ecx
cmp edx, dword [esp + 0x9c]
sbb eax, eax
inc eax
test eax, ecx
je 0x1e4f4fa
mov edi, dword [esp + 0x10]
mov ebp, edx
mov ebx, dword [esp + 0x9c]
push edi
push esi
lea eax, [esp + 0x4c]
push eax
push ebx
call fcn.01e4e6b9
add ebx, eax
lea eax, [esp + 0x54]
push eax
call fcn.01e4c35f
add esp, 0x14
neg eax
sbb ecx, ecx
inc ecx
cmp ebp, ebx
sbb eax, eax
inc eax
test eax, ecx
jne 0x1e4f4b9
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x9c], ebx
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x9c]
cmp eax, edx
ja 0x1e4f53f
mov edi, dword [esp + 0x10]
mov ebx, eax
mov ebp, dword [esp + 0x20]
push edi
push esi
lea eax, [esp + 0x4c]
push eax
push ebx
call fcn.01e4e6b9
add ebx, eax
add esp, 0x10
cmp ebx, ebp
jbe 0x1e4f50f
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x9c], ebx
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x9c]
cmp eax, dword [esp + 0x3c]
jae 0x1e4f558
push dword [esp + 0x10]
lea ecx, [esp + 0x48]
push esi
push ecx
push eax
call fcn.01e4e634
add esp, 0x10
mov eax, dword [esp + 0x1c]
add eax, 0xfffffffd
mov dword [esp + 0x24], eax
lea eax, [esp + 0x58]
push eax
call fcn.01e4c35f
neg eax
pop ecx
sbb ecx, ecx
inc ecx
cmp ebp, dword [esp + 0x24]
sbb eax, eax
neg eax
test eax, ecx
je 0x1e4f5c9
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x24]
push edi
push esi
lea eax, [esp + 0x60]
push eax
push ebp
call fcn.01e4e6b9
push edi
add ebp, eax
lea eax, [esp + 0x6c]
push esi
push eax
push ebp
call fcn.01e4e6b9
add ebp, eax
lea eax, [esp + 0x78]
push eax
call fcn.01e4c35f
add esp, 0x24
neg eax
sbb ecx, ecx
inc ecx
cmp ebp, ebx
sbb eax, eax
neg eax
test eax, ecx
jne 0x1e4f587
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add eax, 0xfffffffe
mov dword [esp + 0x18], eax
lea eax, [esp + 0x58]
push eax
call fcn.01e4c35f
neg eax
pop ecx
sbb ecx, ecx
inc ecx
cmp dword [esp + 0x18], ebp
sbb eax, eax
inc eax
test eax, ecx
je 0x1e4f629
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
push edi
push esi
lea eax, [esp + 0x60]
push eax
push ebp
call fcn.01e4e6b9
add ebp, eax
lea eax, [esp + 0x68]
push eax
call fcn.01e4c35f
add esp, 0x14
neg eax
sbb ecx, ecx
inc ecx
cmp ebx, ebp
sbb eax, eax
inc eax
test eax, ecx
jne 0x1e4f5f7
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
cmp ebp, dword [esp + 0x18]
ja 0x1e4f655
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
push edi
push esi
lea eax, [esp + 0x60]
push eax
push ebp
call fcn.01e4e6b9
add ebp, eax
add esp, 0x10
cmp ebp, ebx
jbe 0x1e4f637
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
cmp ebp, dword [esp + 0x1c]
jae 0x1e4f66e
push dword [esp + 0x10]
lea eax, [esp + 0x5c]
push esi
push eax
push ebp
call fcn.01e4e634
add esp, 0x10
mov ebp, dword [esp + 0x2c]
lea eax, [esp + 0x6c]
add ebp, 0xfffffffd
push eax
mov dword [esp + 0x44], ebp
call fcn.01e4c35f
neg eax
pop ecx
sbb ecx, ecx
inc ecx
cmp ebx, ebp
mov ebp, dword [esp + 0x10]
sbb eax, eax
neg eax
test eax, ecx
je 0x1e4f6df
mov edi, dword [esp + 0x40]
push ebp
push esi
lea eax, [esp + 0x74]
push eax
push ebx
call fcn.01e4e6b9
push ebp
add ebx, eax
lea eax, [esp + 0x80]
push esi
push eax
push ebx
call fcn.01e4e6b9
add ebx, eax
lea eax, [esp + 0x8c]
push eax
call fcn.01e4c35f
add esp, 0x24
neg eax
sbb ecx, ecx
inc ecx
cmp ebx, edi
sbb eax, eax
neg eax
test eax, ecx
jne 0x1e4f69b
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
add eax, 0xfffffffe
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x6c]
push eax
call fcn.01e4c35f
neg eax
pop ecx
sbb ecx, ecx
inc ecx
cmp dword [esp + 0x1c], ebx
sbb eax, eax
inc eax
test eax, ecx
je 0x1e4f737
mov edi, dword [esp + 0x1c]
push ebp
push esi
lea eax, [esp + 0x74]
push eax
push ebx
call fcn.01e4e6b9
add ebx, eax
lea eax, [esp + 0x7c]
push eax
call fcn.01e4c35f
add esp, 0x14
neg eax
sbb ecx, ecx
inc ecx
cmp edi, ebx
sbb eax, eax
inc eax
test eax, ecx
jne 0x1e4f709
mov edi, dword [esp + 0x14]
cmp ebx, dword [esp + 0x1c]
ja 0x1e4f75b
mov edi, dword [esp + 0x1c]
push ebp
push esi
lea eax, [esp + 0x74]
push eax
push ebx
call fcn.01e4e6b9
add ebx, eax
add esp, 0x10
cmp ebx, edi
jbe 0x1e4f741
mov edi, dword [esp + 0x14]
cmp ebx, dword [esp + 0x2c]
jae 0x1e4f771
push ebp
push esi
lea eax, [esp + 0x74]
push eax
push ebx
call fcn.01e4e634
add esp, 0x10
lea eax, [esp + 0x80]
push eax
call fcn.01e4c35f
mov ebx, dword [esp + 0x34]
neg eax
pop ecx
sbb ecx, ecx
add ebx, 0xfffffffd
jmp 0x1e4f7bd
push ebp
push esi
push eax
push edi
call fcn.01e4e6b9
push ebp
add edi, eax
lea eax, [esp + 0x94]
push esi
push eax
push edi
call fcn.01e4e6b9
add edi, eax
lea eax, [esp + 0xa0]
push eax
call fcn.01e4c35f
add esp, 0x24
neg eax
sbb ecx, ecx
inc ecx
cmp edi, ebx
sbb eax, eax
neg eax
test eax, ecx
lea eax, [esp + 0x80]
jne 0x1e4f78c
mov ebx, dword [esp + 0x30]
push eax
add ebx, 0xfffffffe
call fcn.01e4c35f
pop ecx
jmp 0x1e4f801
push ebp
push esi
lea eax, [esp + 0x88]
push eax
push edi
call fcn.01e4e6b9
add edi, eax
lea eax, [esp + 0x90]
push eax
call fcn.01e4c35f
add esp, 0x14
neg eax
sbb ecx, ecx
inc ecx
cmp ebx, edi
sbb eax, eax
inc eax
test eax, ecx
jne 0x1e4f7df
jmp 0x1e4f826
push ebp
push esi
lea eax, [esp + 0x88]
push eax
push edi
call fcn.01e4e6b9
add esp, 0x10
add edi, eax
cmp edi, ebx
jbe 0x1e4f811
cmp edi, dword [esp + 0x30]
jae 0x1e4f843
push ebp
push esi
lea eax, [esp + 0x88]
push eax
push edi
call fcn.01e4e634
add esp, 0x10
mov eax, dword [esp + 0x4c]
xor ecx, ecx
inc ecx
push 0x20
pop ebx
cmp eax, dword [esp + 0x50]
jne 0x1e4f85d
cmp dword [esp + 0x48], ebx
jne 0x1e4f85d
mov edi, ecx
jmp 0x1e4f85f
xor edi, edi
mov eax, dword [esp + 0x60]
cmp eax, dword [esp + 0x64]
jne 0x1e4f873
cmp dword [esp + 0x5c], ebx
jne 0x1e4f873
mov esi, ecx
jmp 0x1e4f875
xor esi, esi
mov eax, dword [esp + 0x74]
cmp eax, dword [esp + 0x78]
jne 0x1e4f889
cmp dword [esp + 0x70], ebx
jne 0x1e4f889
mov edx, ecx
jmp 0x1e4f88b
xor edx, edx
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0x8c]
jne 0x1e4f8a4
cmp dword [esp + 0x84], ebx
je 0x1e4f8a6
xor ecx, ecx
mov eax, dword [esp + 0xa0]
and ecx, edx
and ecx, esi
test edi, ecx
push 0xffffffffffffffec
pop ecx
cmove eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret