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

Disassembly:
sub esp, 0x10c
mov eax, dword [0x102cf440]
xor eax, esp
mov dword [esp + 0x108], eax
push ebx
mov ebx, dword [esp + 0x120]
push ebp
mov ebp, dword [esp + 0x120]
push esi
mov esi, dword [esp + 0x11c]
push edi
mov edi, dword [esp + 0x124]
mov dword [esp + 0x18], esi
cmp dword [esi + 0x78], 0xffffffff
je 0x100e2fb3
test bl, 8
jne 0x100e2fb3
mov edx, dword [edi + 4]
test dword [edx + 4], 0x7fff0000
jne 0x100e2fb3
test dword [edx + 8], 0x8000
jne 0x100e2fb3
mov eax, dword [esi + 0x10]
mov ecx, dword [edx + 0x21c]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x108]
push eax
lea eax, [edi + 0x4c]
push eax
push dword [edx + 0x68]
mov eax, dword [ecx + 0x48]
push ebx
push ebp
push dword [esi + 0x78]
push edx
call eax
mov edx, eax
add esp, 0x1c
test edx, edx
jne 0x100e2ca7
movzx ecx, word [esp + 0x10a]
mov dword [edi + 0x6c], eax
movzx eax, word [esp + 0x108]
shl eax, 6
mov dword [edi + 0x1c], eax
shl ecx, 6
mov dword [edi + 0x18], ecx
movsx ecx, word [esp + 0x10c]
mov eax, ecx
mov dword [edi + 0x48], 0x62697473
shl eax, 6
mov dword [edi + 0x20], eax
movsx eax, word [esp + 0x10e]
shl eax, 6
mov dword [edi + 0x24], eax
movzx eax, word [esp + 0x110]
shl eax, 6
mov dword [edi + 0x28], eax
movsx eax, word [esp + 0x112]
shl eax, 6
mov dword [edi + 0x2c], eax
movsx eax, word [esp + 0x114]
shl eax, 6
mov dword [edi + 0x30], eax
movzx eax, word [esp + 0x116]
shl eax, 6
mov dword [edi + 0x34], eax
test bl, 0x10
je 0x100e2c99
movsx eax, word [esp + 0x112]
mov dword [edi + 0x64], eax
movsx eax, word [esp + 0x114]
jmp 0x100e2ca4
movsx eax, word [esp + 0x10e]
mov dword [edi + 0x64], ecx
mov dword [edi + 0x68], eax
mov eax, dword [edi + 4]
cmp dl, 0x9d
jne 0x100e2e29
test byte [eax + 8], 1
mov dword [esp + 0x14], eax
jne 0x100e2fb3
mov dword [esp + 0x1c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x18], 0
cmp dword [eax + 0x2f0], 0
je 0x100e2e3c
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x20]
push ecx
push ebp
push eax
call fcn.100e21b0
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x3c]
push eax
push 0
push ebp
push dword [esp + 0x34]
call fcn.100e21e0
xor eax, eax
add esp, 0x24
mov dword [edi + 0x6c], eax
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], eax
movsx eax, word [esp + 0x1c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov dword [edi + 0x20], eax
movzx eax, word [esp + 0x2c]
mov dword [edi + 0x24], 0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov dword [edi + 0x28], eax
movsx eax, word [esp + 0x28]
mov dword [edi + 0x2c], 0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov dword [edi + 0x30], eax
movzx eax, word [esp + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov dword [edi + 0x34], eax
xor eax, eax
mov dword [edi + 0x48], 0x62697473
mov byte [edi + 0x5e], 1
mov dword [edi + 0x64], 0
mov dword [edi + 0x68], 0
jmp 0x100e320e
mov dword [esp + 0x10], eax
mov eax, dword [eax + 8]
test edx, edx
je 0x100e2e43
test al, 1
jne 0x100e2fb3
mov eax, edx
jmp 0x100e320e
test eax, 0x20001
je 0x100e2fac
push 1
push ebx
push edi
lea eax, [esp + 0x3c]
push esi
push eax
call fcn.100eb810
push 1
push 0
lea eax, [esp + 0x4c]
push ebp
push eax
call fcn.100e9910
lea eax, [esp + 0x54]
push eax
call fcn.100eb7f0
mov eax, dword [esp + 0x94]
add esp, 0x28
mov dword [edi + 0x38], eax
mov eax, dword [esp + 0xe0]
mov dword [edi + 0x3c], eax
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x31c], 3
jne 0x100e2f30
cmp word [esp + 0x50], 0
jle 0x100e2f30
test bl, 0x10
je 0x100e2ec0
mov eax, dword [esp + 0x54]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xdc]
jmp 0x100e2ecc
mov eax, dword [esp + 0x64]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
sar eax, 6
add dword [edi + 0x64], eax
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
sar eax, 6
add dword [edi + 0x68], eax
cmp dword [edi + 0x28], 0
jne 0x100e2f6e
mov eax, dword [edi + 0x38]
test eax, eax
je 0x100e2f6e
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov dword [edi + 0x28], eax
cmp dword [edi + 0x34], 0
jne 0x100e2fac
mov eax, dword [edi + 0x3c]
test eax, eax
je 0x100e2fac
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov dword [edi + 0x34], eax
xor eax, eax
jmp 0x100e320e
test ebx, 0x4000
je 0x100e2fc5
mov esi, 6
jmp 0x100e320c
mov eax, ebx
and eax, 1
mov dword [esp + 0x14], eax
jne 0x100e2fe0
cmp byte [esi + 0x70], 0
jne 0x100e2fe0
mov esi, 0x24
jmp 0x100e320c
test ebx, 0x100000
je 0x100e30b0
mov eax, dword [edi + 4]
cmp dword [eax + 0x36c], 0
je 0x100e30b0
mov eax, dword [eax + 0x21c]
mov dword [esp + 0x10], eax
push ebp
push edi
mov eax, dword [eax + 0xb4]
call eax
add esp, 8
test eax, eax
jne 0x100e30b0
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x1c]
mov esi, dword [edi + 4]
push eax
lea eax, [esp + 0x24]
mov dword [edi + 0x48], 0x53564720
push eax
mov eax, dword [ebx + 0xa0]
push ebp
push 0
push esi
call eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x3c]
push eax
mov eax, dword [ebx + 0xa0]
push ebp
push 1
push esi
call eax
mov ecx, dword [edi + 4]
movzx eax, word [ecx + 0x44]
push eax
mov eax, dword [ecx + 0x58]
movzx eax, word [eax + 0xc]
push eax
movzx eax, word [esp + 0x4c]
push eax
call fcn.100cef30
movzx eax, ax
mov dword [esp + 0x50], eax
mov eax, dword [edi + 4]
movzx ecx, word [eax + 0x44]
mov eax, dword [eax + 0x58]
push ecx
movzx edx, word [eax + 0xe]
movzx eax, word [esp + 0x64]
push edx
push eax
call fcn.100cef30
movzx ecx, ax
add esp, 0x40
movzx eax, word [esp + 0x1c]
shl eax, 6
shl ecx, 6
mov dword [edi + 0x28], eax
xor eax, eax
mov dword [edi + 0x34], ecx
jmp 0x100e320e
test ebx, 0x800000
jne 0x100e2fbb
push 0
push ebx
push edi
lea eax, [esp + 0x3c]
push esi
push eax
call fcn.100eb810
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x100e320c
mov ecx, ebx
and ecx, 0x110
cmp ecx, 0x100
jne 0x100e3102
mov eax, dword [esp + 0x104]
test eax, eax
je 0x100e3102
movzx eax, byte [eax + ebp]
shl eax, 6
mov dword [edi + 0x28], eax
jmp 0x100e31f1
push 0
push 0
lea eax, [esp + 0x38]
mov dword [edi + 0x48], 0x6f75746c
push ebp
push eax
mov dword [edi + 0x80], 0
mov dword [edi + 0x7c], 0
call fcn.100e9910
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x100e31d5
cmp dword [edi + 0x48], 0x636f6d70
jne 0x100e3157
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 0x30]
mov dword [edi + 0x80], eax
mov eax, dword [ecx + 0x34]
mov dword [edi + 0x84], eax
jmp 0x100e3188
mov eax, dword [esp + 0x3c]
lea ecx, [edi + 0x6c]
movups xmm0, xmmword [eax + 0x14]
movups xmmword [ecx], xmm0
mov eax, dword [eax + 0x24]
mov dword [ecx + 0x10], eax
and dword [edi + 0x7c], 0xfffffdff
mov eax, dword [esp + 0x74]
test eax, eax
je 0x100e3188
push 0
neg eax
push eax
push ecx
call fcn.100cffe0
add esp, 0xc
test bl, 2
jne case.0x100e31a8.1
mov eax, dword [esp + 0xcc]
cmp byte [eax + 0x155], 0
je case.0x100e31a8.2
mov eax, dword [eax + 0x158]
cmp eax, 5
ja case.0x100e31a8.2
jmp dword [eax*4 + 0x100e3228]
or dword [edi + 0x7c], 0x20
jmp case.0x100e31a8.1
or dword [edi + 0x7c], 0x30
jmp case.0x100e31a8.1
or dword [edi + 0x7c], 0x10
jmp case.0x100e31a8.1
or dword [edi + 0x7c], 8
lea eax, [esp + 0x30]
push ebp
push eax
call fcn.100e7b10
add esp, 8
mov esi, eax
cmp dword [esp + 0x14], 0
jne 0x100e31f1
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x2c]
cmp word [eax + 2], 0x18
jae 0x100e31f1
or dword [edi + 0x7c], 0x100
mov eax, dword [esp + 0x30]
push 0
push dword [eax + 0x64]
lea eax, [esp + 0x104]
push 0
push eax
call fcn.100ce080
add esp, 0x10
mov eax, esi
mov ecx, dword [esp + 0x118]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.101eafcd
add esp, 0x10c
ret