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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x90
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov ecx, dword [esi + 0x3d8]
test cl, 8
je 0x10091e1e
test dword [esi + 0x3c8], 0x800
je 0x10091bf6
and dword [esp + 0x18], 0xfffffff8
lea eax, [esi + 0x1e4]
and dword [esp + 0x20], 0xfffffff8
lea ecx, [esp + 0x40]
push 1
mov word [esp + 0x18], 0
and dword [esp + 0x18], 0xc000ffff
mov word [esp + 0x20], 0
and dword [esp + 0x20], 0xc000ffff
push eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0x30
call fcn.10043d20
lea eax, [esp + 0x14]
push eax
lea edx, [esp + 0x44]
lea ecx, [esp + 0x78]
call fcn.10043ea0
add esp, 4
lea ecx, [esp + 0x40]
push eax
movzx eax, byte [esi + 0x298]
push eax
push dword [esi + 0x294]
call fcn.10043fa0
lea eax, [esp + 0x40]
mov ecx, esi
push eax
lea edi, [esi + 0xb4]
push edi
call fcn.10044f10
lea eax, [esi + 0xcc]
mov ecx, esi
push eax
push edi
lea ebx, [esi + 0xbc]
push ebx
call fcn.10045390
push ebx
push ebx
mov ecx, esi
call fcn.10044d20
push 0xd8
push ebx
push ebx
mov ecx, esi
call fcn.100455b0
push ebx
push ebx
mov ecx, esi
call fcn.100460b0
mov eax, dword [esi + 0x3d0]
lea ecx, [esi + 0x294]
push ebx
add eax, 0x220
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.10044040
push eax
mov ecx, esi
call fcn.10045100
push 0
push edi
push edi
lea ebp, [esi + 0xc4]
mov ecx, esi
push ebp
call fcn.10045f90
push 0xaa
push edi
push edi
lea eax, [esi + 0xcc]
mov ecx, esi
push eax
call fcn.10045f90
xor ecx, ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], ecx
nop word [eax + eax]
and dword [esp + 0x70], 0xfffffff8
lea eax, [ecx + 4]
movzx ecx, al
mov eax, dword [esp + 0x6c]
and eax, 0xffffff00
mov dword [esp + 0x34], ecx
or eax, ecx
and eax, 0xc08010ff
or eax, 0x801000
mov dword [esp + 0x6c], eax
mov eax, dword [edi]
shr eax, 8
test al, 0x10
je 0x100914da
test dword [ebp], 0x1000
jne 0x100914fc
test al, 0x20
je 0x100914e7
test dword [ebp], 0x2000
jne 0x100914fc
test al, 0x40
je 0x10091f59
test dword [ebp], 0x4000
je 0x10091f59
push 0x100
push 0x59
push 0x213408
lea eax, [esp + 0x78]
mov ecx, esi
push eax
push ebp
push edi
call fcn.1003fea0
mov eax, dword [edi]
shr eax, 8
test al, 0x40
je 0x10091527
mov edx, dword [esi + 0x1b4]
jmp 0x10091539
test al, 0x20
je 0x10091533
mov edx, dword [esi + 0x194]
jmp 0x10091539
mov edx, dword [esi + 0x174]
test al, al
mov ebp, edx
mov ecx, edi
cmovne ebp, edi
cmovne ecx, edx
test al, 0x10
je 0x10091551
test dword [ecx], 0x1000
jne 0x10091575
test al, 0x20
je 0x1009155d
test dword [ecx], 0x2000
jne 0x10091575
test dword [edi], 0x4000
je 0x10091f3f
test dword [ecx], 0x4000
je 0x10091f3f
push 0x100
push 0x5b
push 0x28340a
push ebp
push ecx
push edi
mov ecx, esi
call fcn.1003fea0
mov ecx, dword [edi]
mov eax, ecx
shr eax, 8
test al, 0x10
je 0x1009159e
test ecx, 0x1000
jne 0x100915be
test al, 0x20
je 0x100915aa
test ecx, 0x2000
jne 0x100915be
test al, 0x40
je 0x10091f25
test ecx, 0x4000
je 0x10091f25
push 0x100
push 0x6b
push 0x203409
push edi
push edi
push edi
mov ecx, esi
call fcn.1003fea0
mov eax, dword [esp + 0x38]
lea ecx, [esi + 0xcc]
and dword [esp + 0x3c], 0xfffffff8
and eax, 0xffffff00
or eax, dword [esp + 0x34]
and eax, 0xc08010ff
or eax, 0x801000
mov dword [esp + 0x38], eax
mov eax, dword [ebx]
shr eax, 8
test al, 0x10
je 0x1009160b
test dword [ecx], 0x1000
jne 0x1009162b
test al, 0x20
je 0x10091617
test dword [ecx], 0x2000
jne 0x1009162b
test al, 0x40
je 0x10091f0b
test dword [ecx], 0x4000
je 0x10091f0b
push 0x100
push 0x59
push 0x213408
lea eax, [esp + 0x44]
push eax
push ecx
push ebx
mov ecx, esi
call fcn.1003fea0
mov eax, dword [ebx]
shr eax, 8
test al, 0x40
je 0x10091656
mov edx, dword [esi + 0x1b4]
jmp 0x10091668
test al, 0x20
je 0x10091662
mov edx, dword [esi + 0x194]
jmp 0x10091668
mov edx, dword [esi + 0x174]
test al, al
mov ebp, edx
mov ecx, ebx
cmovne ebp, ebx
cmovne ecx, edx
test al, 0x10
je 0x10091680
test dword [ecx], 0x1000
jne 0x100916a4
test al, 0x20
je 0x1009168c
test dword [ecx], 0x2000
jne 0x100916a4
test dword [ebx], 0x4000
je 0x10091ef1
test dword [ecx], 0x4000
je 0x10091ef1
push 0x100
push 0x5b
push 0x28340a
push ebp
push ecx
push ebx
mov ecx, esi
call fcn.1003fea0
mov ecx, dword [ebx]
mov eax, ecx
shr eax, 8
test al, 0x10
je 0x100916cd
test ecx, 0x1000
jne 0x100916ed
test al, 0x20
je 0x100916d9
test ecx, 0x2000
jne 0x100916ed
test al, 0x40
je 0x10091ed7
test ecx, 0x4000
je 0x10091ed7
push 0x100
push 0x6b
push 0x203409
push ebx
push ebx
push ebx
mov ecx, esi
call fcn.1003fea0
push ebx
push edi
push edi
mov ecx, esi
call fcn.10045dc0
mov ecx, dword [esp + 0x2c]
mov eax, dword [esi + 0x3d0]
add ecx, 0x40
and dword [esp + 0x18], 0xfffffff8
add eax, ecx
and dword [esp + 0x20], 0xfffffff8
lea ecx, [esp + 0x74]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x14]
push eax
movzx eax, byte [esi + 0x298]
push eax
push dword [esi + 0x294]
mov word [esp + 0x20], 0
and dword [esp + 0x20], 0xc000ffff
mov word [esp + 0x28], 0
and dword [esp + 0x28], 0xc000ffff
mov dword [esp + 0x30], 0
call fcn.10043fa0
mov edx, dword [edi]
shr edx, 8
test dl, 0x40
je 0x1009177e
mov ebp, dword [esi + 0x1b4]
jmp 0x10091791
test dl, 0x20
je 0x1009178b
mov ebp, dword [esi + 0x194]
jmp 0x10091791
mov ebp, dword [esi + 0x174]
mov eax, dword [esp + 0x74]
lea ecx, [esp + 0x74]
shr eax, 8
movzx eax, al
test eax, eax
cmove ecx, ebp
mov dword [esp + 0x34], ecx
mov ecx, edi
cmovne ecx, ebp
test dl, 0x10
je 0x100917ba
test dword [ecx], 0x1000
jne 0x100917df
test dl, 0x20
je 0x100917c7
test dword [ecx], 0x2000
jne 0x100917df
test dword [edi], 0x4000
je 0x10091ebd
test dword [ecx], 0x4000
je 0x10091ebd
push 0x100
push 0x7f
push 0x1009
push dword [esp + 0x40]
push ecx
push edi
mov ecx, esi
call fcn.1003fea0
mov ecx, dword [esp + 0x30]
lea ebp, [esi + 0xc4]
mov eax, dword [esi + 0x3cc]
inc ecx
sub dword [esp + 0x2c], 0xffffff80
and eax, 0x800000
neg eax
mov dword [esp + 0x30], ecx
sbb eax, eax
and eax, 0xfffffffd
add eax, 4
cmp ecx, eax
jl 0x100914a0
mov eax, dword [esi + 0x1e4]
mov ecx, eax
and dword [esp + 0x44], 0xfffffff8
and dword [esp + 0x4c], 0xfffffff8
and dword [esp + 0x18], 0xfffffff8
and dword [esp + 0x20], 0xfffffff8
mov word [esp + 0x40], 0
and dword [esp + 0x40], 0xc000ffff
mov word [esp + 0x48], 0
and dword [esp + 0x48], 0xc000ffff
mov word [esp + 0x14], 0
and dword [esp + 0x14], 0xc000ffff
mov word [esp + 0x1c], 0
and dword [esp + 0x1c], 0xc000ffff
shr ecx, 8
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0x30
mov dword [esp + 0x24], 1
mov dword [esp + 0x28], 0
test cl, 2
je 0x100918b0
test eax, 0x200000
jne 0x100918b9
test cl, 0x70
je 0x10091e55
mov ecx, dword [esi + 0x1e4]
and eax, 0x3ff0000
mov edx, dword [esi + 0x1e8]
cmp eax, 0x800000
jae 0x100918db
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
jmp 0x100918e3
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
lea eax, [esp + 0x40]
push eax
lea edx, [esp + 0x18]
lea ecx, [esp + 0x78]
call fcn.10043ea0
add esp, 4
lea ecx, [esp + 0x40]
push eax
movzx eax, byte [esi + 0x298]
push eax
push dword [esi + 0x294]
call fcn.10043fa0
lea eax, [esp + 0x40]
mov ecx, esi
push eax
push edi
call fcn.10044f10
push 0x55
push edi
push edi
lea ebp, [esi + 0xc4]
mov ecx, esi
push ebp
call fcn.10045f90
push 0xff
push edi
push edi
lea eax, [esi + 0xcc]
mov ecx, esi
push eax
call fcn.10045f90
xor ecx, ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], ecx
nop
and dword [esp + 0x3c], 0xfffffff8
lea eax, [ecx + 4]
movzx ecx, al
mov eax, dword [esp + 0x38]
and eax, 0xffffff00
mov dword [esp + 0x6c], ecx
or eax, ecx
and eax, 0xc08010ff
or eax, 0x801000
mov dword [esp + 0x38], eax
mov eax, dword [edi]
shr eax, 8
test al, 0x10
je 0x1009198a
test dword [ebp], 0x1000
jne 0x100919ac
test al, 0x20
je 0x10091997
test dword [ebp], 0x2000
jne 0x100919ac
test al, 0x40
je 0x10091ea3
test dword [ebp], 0x4000
je 0x10091ea3
push 0x100
push 0x59
push 0x213408
lea eax, [esp + 0x44]
mov ecx, esi
push eax
push ebp
push edi
call fcn.1003fea0
mov eax, dword [edi]
shr eax, 8
test al, 0x40
je 0x100919d7
mov edx, dword [esi + 0x1b4]
jmp 0x100919e9
test al, 0x20
je 0x100919e3
mov edx, dword [esi + 0x194]
jmp 0x100919e9
mov edx, dword [esi + 0x174]
test al, al
mov ecx, edx
cmovne ecx, edi
mov dword [esp + 0x34], ecx
mov ecx, edi
cmovne ecx, edx
test al, 0x10
je 0x10091a05
test dword [ecx], 0x1000
jne 0x10091a29
test al, 0x20
je 0x10091a11
test dword [ecx], 0x2000
jne 0x10091a29
test dword [edi], 0x4000
je 0x10091e89
test dword [ecx], 0x4000
je 0x10091e89
push 0x100
push 0x5b
push 0x28340a
push dword [esp + 0x40]
push ecx
push edi
mov ecx, esi
call fcn.1003fea0
mov ecx, dword [edi]
mov eax, ecx
shr eax, 8
test al, 0x10
je 0x10091a55
test ecx, 0x1000
jne 0x10091a75
test al, 0x20
je 0x10091a61
test ecx, 0x2000
jne 0x10091a75
test al, 0x40
je 0x10091e6f
test ecx, 0x4000
je 0x10091e6f
push 0x100
push 0x6b
push 0x203409
push edi
push edi
push edi
mov ecx, esi
call fcn.1003fea0
mov eax, dword [esp + 0x14]
mov ecx, esi
and dword [esp + 0x18], 0xfffffff8
and eax, 0xffffff00
or eax, dword [esp + 0x6c]
push 0x100
and eax, 0xc08010ff
or eax, 0x801000
push 0x59
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push 0x213408
push eax
lea eax, [esi + 0xcc]
push eax
push ebx
call fcn.10040090
mov eax, dword [ebx]
shr eax, 8
test al, 0x40
je 0x10091adc
mov eax, dword [esi + 0x1b4]
jmp 0x10091aee
test al, 0x20
je 0x10091ae8
mov eax, dword [esi + 0x194]
jmp 0x10091aee
mov eax, dword [esi + 0x174]
push 0x100
push 0x5b
push 0x28340a
push ebx
push eax
push ebx
mov ecx, esi
call fcn.10040090
push 0x100
push 0x6b
push 0x203409
push ebx
push ebx
push ebx
mov ecx, esi
call fcn.10040090
push ebx
push edi
push edi
mov ecx, esi
call fcn.10045dc0
mov ecx, dword [esp + 0x2c]
mov eax, dword [esi + 0x3d0]
add ecx, 0x50
and dword [esp + 0x44], 0xfffffff8
add eax, ecx
and dword [esp + 0x4c], 0xfffffff8
lea ecx, [esp + 0x74]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x40]
push eax
movzx eax, byte [esi + 0x298]
push eax
push dword [esi + 0x294]
mov word [esp + 0x4c], 0
and dword [esp + 0x4c], 0xc000ffff
mov word [esp + 0x54], 0
and dword [esp + 0x54], 0xc000ffff
mov dword [esp + 0x5c], 0
call fcn.10043fa0
mov eax, dword [edi]
shr eax, 8
test al, 0x40
je 0x10091b94
mov eax, dword [esi + 0x1b4]
jmp 0x10091ba6
test al, 0x20
je 0x10091ba0
mov eax, dword [esi + 0x194]
jmp 0x10091ba6
mov eax, dword [esi + 0x174]
push 0x100
push 0x7f
push 0x1009
lea ecx, [esp + 0x80]
push ecx
push eax
push edi
mov ecx, esi
call fcn.10040090
mov ecx, dword [esp + 0x30]
mov eax, dword [esi + 0x3cc]
inc ecx
sub dword [esp + 0x2c], 0xffffff80
and eax, 0x800000
neg eax
mov dword [esp + 0x30], ecx
sbb eax, eax
and eax, 0xfffffffd
add eax, 4
cmp ecx, eax
jl 0x10091950
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x3cc]
xor ebx, ebx
shr eax, 0xe
and eax, 3
jmp dword [eax*4 + 0x10091f74]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 6
lea ecx, [esp + 0x18]
call fcn.1003deb0
push 0x101aac88
lea eax, [esp + 0x18]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push 5
lea ecx, [esp + 0x18]
call fcn.1003deb0
push 0x101aac88
lea eax, [esp + 0x18]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push 5
lea ecx, [esp + 0x18]
call fcn.1003deb0
push 0x101aac88
lea eax, [esp + 0x18]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push 5
lea ecx, [esp + 0x18]
call fcn.1003deb0
push 0x101aac88
lea eax, [esp + 0x18]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push 5
lea ecx, [esp + 0x18]
call fcn.1003deb0
push 0x101aac88
lea eax, [esp + 0x18]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push 5
lea ecx, [esp + 0x18]
call fcn.1003deb0
push 0x101aac88
lea eax, [esp + 0x18]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push 5
lea ecx, [esp + 0x18]
call fcn.1003deb0
push 0x101aac88
lea eax, [esp + 0x18]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push 5
lea ecx, [esp + 0x18]
call fcn.1003deb0
push 0x101aac88
lea eax, [esp + 0x18]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push 5
lea ecx, [esp + 0x18]
call fcn.1003deb0
push 0x101aac88
lea eax, [esp + 0x18]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push 5
lea ecx, [esp + 0x18]
call fcn.1003deb0
push 0x101aac88
lea eax, [esp + 0x18]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push 5
lea ecx, [esp + 0x18]
call fcn.1003deb0
push 0x101aac88
lea eax, [esp + 0x18]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
nop
or ebx, dword [ecx + ecx]
adc byte [esi], ah
push ds
or dword [eax], edx
xor byte [esi], bl
or dword [eax], edx
cmp bl, byte [esi]
or dword [eax], edx
int3