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

Disassembly:
push 0xffffffffffffffff
push 0x1015ecab
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x88
mov al, byte [0x1018c9bc]
push ebx
push ebp
push esi
push edi
mov cl, al
inc al
push 0xffffffffffffff80
push ecx
mov byte [0x1018c9bc], al
call fcn.1008c4e0
mov cl, al
mov eax, 0x350
cdq
idiv dword [0x1018c998]
mov eax, dword [0x1018c994]
mov bl, byte [edx + eax]
mov al, byte [0x1018c9c0]
add cl, bl
mov bl, byte [0x1018c9bf]
add cl, al
add cl, bl
push ecx
call fcn.1008c4d0
mov cl, byte [esp + 0x1f]
add esp, 0xc
xor ebx, ebx
mov byte [esp + 0x78], cl
push ebx
lea ecx, [esp + 0x7c]
mov byte [esp + 0x94], al
call fcn.1000bc70
mov eax, 0xff9a
mov ecx, 0xff90
mov word [esp + 0x6a], ax
mov word [esp + 0x76], ax
mov al, byte [0x1019716c]
mov dword [esp + 0xa0], ebx
test al, 1
mov byte [0x1018c9c0], 1
mov word [esp + 0x64], 0xff7d
mov word [esp + 0x66], cx
mov word [esp + 0x68], 0xff98
mov word [esp + 0x6c], 0xff9f
mov word [esp + 0x6e], cx
mov word [esp + 0x70], 0xff74
mov word [esp + 0x72], 0xff99
mov word [esp + 0x74], 0xff91
jne 0x10091292
lea edx, [esp + 0x64]
or al, 1
push edx
mov ecx, 0x10197170
mov byte [0x1019716c], al
call fcn.10093cf0
push 0x10091a90
call fcn.1013c36b
add esp, 4
mov al, byte [esp + 0x13]
mov esi, dword [0x10197170]
push ebx
lea ecx, [esp + 0x54]
mov byte [esp + 0x54], al
call fcn.1000bc70
push esi
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0x50]
push eax
push esi
call fcn.1000bf40
mov eax, 0xc5
mov edx, 0xc7
mov word [esp + 0x28], ax
mov word [esp + 0x2a], ax
mov eax, 0xc1
mov ecx, 0xc6
mov word [esp + 0x30], ax
mov word [esp + 0x38], ax
mov al, byte [0x10197174]
mov byte [esp + 0xa0], 1
test al, 1
mov word [esp + 0x24], 0xeb
mov word [esp + 0x26], dx
mov word [esp + 0x2c], 0xdd
mov word [esp + 0x2e], cx
mov word [esp + 0x32], 0xcb
mov word [esp + 0x34], 0xc9
mov word [esp + 0x36], 0xdc
mov word [esp + 0x3a], dx
mov word [esp + 0x3c], cx
jne 0x10091356
lea ecx, [esp + 0x24]
push 0xa8
or al, 1
push ecx
mov ecx, 0x10197178
mov byte [0x10197174], al
call fcn.10044220
push 0x10091a80
call fcn.1013c36b
add esp, 4
mov dl, byte [esp + 0x13]
mov esi, dword [0x10197178]
push ebx
lea ecx, [esp + 0x44]
mov byte [esp + 0x44], dl
call fcn.1000bc70
push esi
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0x40]
push eax
push esi
call fcn.1000bf40
lea eax, [esp + 0x78]
lea ecx, [esp + 0x50]
push eax
lea edx, [esp + 0x44]
push ecx
mov ecx, dword [0x10191a54]
push edx
mov byte [esp + 0xac], 2
call fcn.10058e70
mov ecx, eax
call fcn.1006dbb0
test al, al
push 1
lea ecx, [esp + 0x44]
sete byte [esp + 0x17]
mov byte [esp + 0xa4], 1
call fcn.1000bc70
push 1
lea ecx, [esp + 0x54]
mov byte [esp + 0xa4], bl
call fcn.1000bc70
cmp byte [esp + 0x13], bl
je 0x10091786
push 1
push 0xfffffffffffffff6
push 0x74
call fcn.1008d090
mov eax, 0xfff4
add esp, 0xc
mov word [esp + 0x56], ax
mov word [esp + 0x58], ax
mov al, byte [0x1019717c]
mov ebp, 0xfff1
test al, 1
mov word [esp + 0x50], 0xfff9
mov word [esp + 0x52], bx
mov word [esp + 0x54], bp
mov word [esp + 0x5a], 2
mov word [esp + 0x5c], 0xffbe
mov word [esp + 0x5e], bp
mov word [esp + 0x60], 3
mov word [esp + 0x62], bx
jne 0x1009145f
or al, 1
mov ecx, 0x10197180
mov byte [0x1019717c], al
lea eax, [esp + 0x50]
push eax
call fcn.100936b0
push 0x10093a00
call fcn.1013c36b
add esp, 4
mov cl, byte [esp + 0x13]
mov esi, dword [0x10197180]
mov byte [esp + 0x40], cl
push ebx
lea ecx, [esp + 0x44]
call fcn.1000bc70
push esi
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0x40]
push eax
push esi
call fcn.1000bf40
lea edx, [esp + 0x78]
lea eax, [esp + 0x40]
push edx
push eax
mov byte [esp + 0xa8], 3
call fcn.1008f160
add esp, 8
lea ecx, [esp + 0x40]
mov byte [esp + 0x13], al
mov byte [esp + 0xa0], bl
push 1
call fcn.1000bc70
cmp byte [esp + 0x13], bl
je 0x10091786
mov cl, byte [esp + 0x13]
mov dword [esp + 0x68], ebx
mov byte [esp + 0x64], cl
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov al, byte [0x1018c9be]
lea edx, [esp + 0x64]
dec al
push edx
mov byte [esp + 0xa4], 4
mov byte [0x1018c9be], al
mov byte [0x1018c9bc], al
sub esp, 0x10
lea eax, [esp + 0x8c]
mov ecx, esp
mov dword [esp + 0x9c], esp
push eax
call fcn.10023d70
mov byte [esp + 0xb4], 4
call fcn.100221a0
mov esi, dword [esp + 0x7c]
add esp, 0x14
cmp esi, ebx
je 0x1009175b
mov ecx, dword [esp + 0x6c]
sub ecx, esi
test ecx, 0xfffffff0
je 0x1009175b
push esi
call fcn.1004a300
add esp, 4
test al, al
je 0x10091757
push 1
mov byte [0x1018c9be], 0x74
call fcn.1008f800
mov eax, 0x5d
add esp, 4
mov word [esp + 0x2a], ax
mov word [esp + 0x36], ax
mov al, byte [0x10197184]
mov ecx, 0x57
test al, 1
mov word [esp + 0x24], 0x60
mov word [esp + 0x26], cx
mov word [esp + 0x28], 0x5f
mov word [esp + 0x2c], 0x46
mov word [esp + 0x2e], cx
mov word [esp + 0x30], 0x7b
mov word [esp + 0x32], 0x5c
mov word [esp + 0x34], 0x54
jne 0x100915d6
lea edx, [esp + 0x24]
or al, 1
push 0x32
push edx
mov ecx, 0x10197188
mov byte [0x10197184], al
call fcn.100158d0
push 0x10091ab0
call fcn.1013c36b
add esp, 4
mov al, byte [esp + 0x13]
mov edi, dword [0x10197188]
push ebx
lea ecx, [esp + 0x44]
mov byte [esp + 0x44], al
call fcn.1000bc70
push edi
call fcn.1013c2c2
add esp, 4
mov esi, eax
lea ecx, [esp + 0x40]
push 1
push esi
call fcn.1000c010
test al, al
je 0x10091622
mov ecx, dword [esp + 0x44]
push esi
push edi
push ecx
call fcn.100017d0
add esp, 0xc
lea ecx, [esp + 0x40]
push esi
call fcn.1000bff0
mov eax, 0xfff0
mov byte [esp + 0xa0], 6
mov word [esp + 0x28], ax
mov word [esp + 0x2a], ax
mov eax, 0xffec
mov ecx, 0xfff2
mov word [esp + 0x30], ax
mov word [esp + 0x38], ax
mov al, byte [0x1019718c]
mov word [esp + 0x24], 0xffc6
test al, 1
mov word [esp + 0x26], cx
mov word [esp + 0x2c], 0xfff8
mov word [esp + 0x2e], bp
mov word [esp + 0x32], 0xffe6
mov word [esp + 0x34], 0xffe4
mov word [esp + 0x36], 0xfff7
mov word [esp + 0x3a], cx
mov word [esp + 0x3c], bp
jne 0x100916b0
lea edx, [esp + 0x24]
or al, 1
push edx
mov ecx, 0x10197190
mov byte [0x1019718c], al
call fcn.10093d70
push 0x10091aa0
call fcn.1013c36b
add esp, 4
mov al, byte [esp + 0x13]
mov edi, dword [0x10197190]
push ebx
lea ecx, [esp + 0x54]
mov byte [esp + 0x54], al
call fcn.1000bc70
push edi
call fcn.1013c2c2
add esp, 4
mov esi, eax
lea ecx, [esp + 0x50]
push 1
push esi
call fcn.1000c010
test al, al
je 0x100916fc
mov ecx, dword [esp + 0x54]
push esi
push edi
push ecx
call fcn.100017d0
add esp, 0xc
lea ecx, [esp + 0x50]
push esi
call fcn.1000bff0
lea edx, [esp + 0x78]
push 0x1c20
lea eax, [esp + 0x44]
push edx
lea ecx, [esp + 0x58]
push eax
push ecx
mov ecx, dword [0x10191a54]
mov byte [esp + 0xb0], 7
call fcn.10058e70
mov ecx, eax
call fcn.1006dde0
push 1
lea ecx, [esp + 0x54]
mov byte [esp + 0xa4], 6
call fcn.1000bc70
push 1
lea ecx, [esp + 0x44]
mov byte [esp + 0xa4], 4
call fcn.1000bc70
mov byte [0x1018c9bf], 0xc0
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
mov byte [esp + 0xa0], bl
cmp esi, edi
je 0x1009177d
push ebx
mov ecx, esi
call fcn.100461a0
add esi, 0x10
cmp esi, edi
jne 0x1009176a
mov esi, dword [esp + 0x68]
push esi
call fcn.101307a0
add esp, 4
mov dl, byte [esp + 0x13]
mov dword [esp + 0x18], ebx
mov byte [esp + 0x14], dl
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov eax, 0x258
mov byte [esp + 0xa0], 8
cdq
idiv dword [0x1018c998]
mov eax, dword [0x1018c994]
mov cl, byte [edx + eax]
push ecx
push 0xf
push 0xffffffffffffffd0
call fcn.1008d0f0
push eax
push 0xffffffffffffff80
push 0xffffffffffffffae
call fcn.1008d090
mov dl, byte [0x1018c9bc]
add esp, 0x14
add al, 0x21
push eax
push edx
call fcn.1008d090
mov cl, byte [0x1018c9bd]
add esp, 0xc
sub cl, al
mov eax, 0x3b1
cdq
idiv dword [0x1018c998]
mov eax, dword [0x1018c994]
push ecx
mov cl, byte [edx + eax]
mov edx, dword [esp + 0x94]
mov al, byte [0x1018c9bf]
push ecx
push edx
push eax
push 0x33
push 0x25
push 0x66
call fcn.1008c4d0
mov dl, byte [0x1018c9bd]
mov cl, byte [0x1018c9c0]
add al, dl
mov dl, byte [0x1018c9bf]
add al, cl
add esp, 0xc
add al, dl
push eax
call fcn.1008d0a0
add esp, 0x14
lea ecx, [esp + 0x14]
lea edx, [esp + 0x78]
push ecx
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x9c], esp
push edx
call fcn.10023d70
mov byte [esp + 0xb4], 8
call fcn.100221a0
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
add esp, 0x14
cmp esi, ebx
mov byte [0x1018c9bc], 0x61
je 0x10091883
mov eax, edi
sub eax, esi
test eax, 0xfffffff0
jne 0x100918d3
cmp esi, edi
mov byte [esp + 0xa0], bl
je 0x100918a1
push ebx
mov ecx, esi
call fcn.100461a0
add esi, 0x10
cmp esi, edi
jne 0x1009188e
mov esi, dword [esp + 0x18]
push esi
call fcn.101307a0
add esp, 4
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
push 1
lea ecx, [esp + 0x7c]
mov dword [esp + 0xa4], 0xffffffff
call fcn.1000bc70
xor al, al
jmp 0x10091a64
mov cl, byte [esp + 0x13]
push ebx
mov byte [esp + 0x44], cl
lea ecx, [esp + 0x44]
call fcn.1000bc70
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
cmp ecx, ebx
mov byte [esp + 0xa0], 0xa
je 0x10091907
mov eax, edx
sub eax, ecx
sar eax, 4
cmp eax, 3
jae 0x10091922
jmp 0x10091909
xor eax, eax
lea ecx, [esp + 0x40]
push ecx
mov ecx, 3
sub ecx, eax
push ecx
push edx
lea ecx, [esp + 0x20]
call fcn.10024390
jmp 0x10091946
lea ecx, [esp + 0x14]
call fcn.100744d0
cmp eax, 3
jbe 0x10091946
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
add eax, 0x30
push edx
push eax
lea ecx, [esp + 0x1c]
call fcn.10061b50
push 1
lea ecx, [esp + 0x44]
mov byte [esp + 0xa4], 8
call fcn.1000bc70
mov ecx, dword [0x1016a210]
mov edx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0xac]
push ebx
push edx
mov byte [0x1018c9bd], 7
call fcn.1000ba60
mov eax, dword [0x1016a210]
mov ecx, dword [esp + 0x18]
push eax
add ecx, 0x10
push ebx
push ecx
mov ecx, dword [esp + 0xb8]
mov byte [0x1018c9bf], 0x43
call fcn.1000ba60
mov edx, dword [esp + 0x18]
push 0xa
add edx, 0x20
push edx
call fcn.10021b70
mov ecx, dword [esp + 0xb8]
add esp, 8
mov dword [ecx], eax
mov al, byte [0x1018c9c0]
inc al
mov byte [0x1018c9c0], al
call fcn.1008c4e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
cmp ecx, eax
mov byte [esp + 0xa0], bl
mov edi, eax
je 0x10091a19
lea esi, [ecx + 4]
mov ecx, dword [esi]
cmp ecx, ebx
je 0x10091a03
mov al, byte [ecx - 1]
cmp al, bl
je 0x100919f7
cmp al, 0xff
je 0x100919f7
dec al
mov byte [ecx - 1], al
jmp 0x10091a03
lea eax, [ecx - 2]
push eax
call fcn.101307a0
add esp, 4
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
add esi, 0x10
lea edx, [esi - 4]
cmp edx, edi
jne 0x100919df
mov ecx, dword [esp + 0x18]
push ecx
call fcn.101307a0
mov ecx, dword [esp + 0x80]
add esp, 4
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
cmp ecx, ebx
mov dword [esp + 0xa0], 0xffffffff
je 0x10091a62
mov al, byte [ecx - 1]
cmp al, bl
je 0x10091a56
cmp al, 0xff
je 0x10091a56
dec al
mov byte [ecx - 1], al
jmp 0x10091a62
add ecx, 0xfffffffe
push ecx
call fcn.101307a0
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x98]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x94
ret