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

Disassembly:
push 0xffffffffffffffff
push 0x1015e572
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xdc
mov al, byte [0x1018c989]
push ebx
push ebp
push esi
mov esi, ecx
dec al
mov byte [0x1018c989], al
push edi
lea eax, [esi + 0x10]
mov dword [esp + 0x38], esi
push eax
mov dword [esp + 0x2c], eax
call fcn.10093730
add esp, 4
xor ebp, ebp
mov dword [esp + 0xf4], ebp
call fcn.100883b0
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
push eax
push ecx
mov ecx, esi
call fcn.1008b850
mov eax, 0x210
cdq
idiv dword [0x1018c960]
mov eax, dword [0x1018c95c]
mov cl, byte [edx + eax]
mov eax, dword [esp + 0xfc]
mov byte [esp + 0x33], cl
mov edi, dword [eax + 4]
mov eax, dword [eax + 8]
cmp edi, eax
mov dword [esp + 0x2c], edi
je 0x1008a875
mov dl, byte [esp + 0x12]
mov dword [esp + 0x18], ebp
mov byte [esp + 0x14], dl
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
mov al, byte [0x1019724c]
mov byte [esp + 0xf4], 1
test al, 1
mov word [esp + 0x24], 0x39
jne 0x1008a262
mov bl, al
lea eax, [esp + 0x24]
or bl, 1
push eax
mov ecx, 0x10197250
mov byte [0x1019724c], bl
call fcn.10030c10
push 0x1008a8b0
call fcn.1013c36b
add esp, 4
mov cl, byte [esp + 0x12]
mov esi, dword [0x10197250]
mov byte [esp + 0x8c], cl
push ebp
lea ecx, [esp + 0x90]
call fcn.1000bc70
push esi
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0x8c]
push eax
push esi
call fcn.1000bf40
lea edx, [esp + 0x14]
lea eax, [esp + 0x8c]
push edx
push eax
push edi
mov byte [esp + 0x100], 2
call fcn.10021e70
add esp, 0xc
lea ecx, [esp + 0x8c]
mov byte [esp + 0xf4], 1
push 1
call fcn.1000bc70
call fcn.100883b0
mov ecx, dword [esp + 0x1c]
mov byte [0x1018c98b], al
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x1008a79d
mov edx, ecx
sub edx, eax
sar edx, 4
cmp edx, 4
jb 0x1008a79d
mov al, byte [esp + 0x12]
push ebp
lea ecx, [esp + 0x40]
mov byte [esp + 0x40], al
call fcn.1000bc70
lea ecx, [esp + 0x12]
mov byte [esp + 0xf4], 3
push ecx
lea ecx, [esp + 0x50]
call fcn.10043a70
lea edx, [esp + 0x13]
mov byte [esp + 0xf4], 4
push edx
lea ecx, [esp + 0x64]
mov byte [esp + 0x60], 0
call fcn.10043a70
mov byte [esp + 0xf4], 5
lea ecx, [esp + 0x7c]
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], ebp
call fcn.100727a0
mov eax, dword [0x1016a210]
mov ecx, dword [esp + 0x18]
push eax
push ebp
push ecx
lea ecx, [esp + 0x48]
mov byte [esp + 0x100], 7
call fcn.1000ba60
push 0xffffffffffffffc8
call fcn.10089100
push 0x12
mov bl, al
call fcn.10089100
mov dl, 3
sub bl, 0x49
imul dl
mov dl, byte [esp + 0x3b]
push eax
mov al, byte [0x1018c98b]
mov cl, al
add cl, dl
push ecx
push eax
mov eax, 0x1b3
cdq
idiv dword [0x1018c960]
mov eax, dword [0x1018c95c]
mov al, byte [edx + eax]
imul bl
push eax
push 0xffffffffffffff9c
call fcn.10088da0
mov ecx, dword [0x1016a210]
mov edx, dword [esp + 0x34]
add esp, 0x1c
add edx, 0x10
mov byte [esp + 0x32], al
push ecx
push ebp
push edx
lea ecx, [esp + 0x58]
call fcn.1000ba60
mov eax, 0xf5
mov word [esp + 0x24], 0xff47
cdq
idiv dword [0x1018c960]
mov eax, dword [0x1018c95c]
mov cl, byte [edx + eax]
mov al, byte [0x10197254]
test al, 1
mov byte [0x1018c986], cl
jne 0x1008a428
mov bl, al
lea edx, [esp + 0x24]
or bl, 1
push edx
mov ecx, 0x10197258
mov byte [0x10197254], bl
call fcn.1008b7b0
push 0x1008a8c0
call fcn.1013c36b
add esp, 4
mov esi, dword [0x10197258]
mov eax, dword [esp + 0x18]
push esi
lea edi, [eax + 0x20]
call fcn.1013c2c2
mov ecx, dword [edi + 8]
add esp, 4
push eax
push esi
push ecx
push ebp
mov ecx, edi
call fcn.1000d2b0
cmp eax, ebp
mov al, byte [esp + 0x13]
setne dl
push ebp
lea ecx, [esp + 0xb0]
mov byte [esp + 0x60], dl
mov byte [esp + 0xb0], al
call fcn.1000bc70
push str.__t_r_n
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0xac]
push eax
push str.__t_r_n
call fcn.1000bf40
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0xdc]
add ecx, 0x30
mov byte [esp + 0xf4], 8
push ecx
push edx
call fcn.100ea010
lea ecx, [esp + 0xb4]
lea edx, [esp + 0xd4]
push ecx
push eax
push edx
mov byte [esp + 0x108], 9
call fcn.10022dc0
add esp, 0x14
mov ecx, dword [0x1016a210]
mov byte [esp + 0xf4], 0xa
push ecx
push ebp
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ba60
push 1
lea ecx, [esp + 0xd0]
mov byte [esp + 0xf8], 9
call fcn.1000bc70
push 1
lea ecx, [esp + 0xe0]
mov byte [esp + 0xf8], 8
call fcn.1000bc70
push 1
lea ecx, [esp + 0xb0]
mov byte [esp + 0xf8], 7
call fcn.1000bc70
cmp dword [esp + 0x68], ebp
je 0x1008a7c6
mov dl, byte [esp + 0x13]
push ebp
lea ecx, [esp + 0xc0]
mov byte [esp + 0xc0], dl
call fcn.1000bc70
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
cmp ecx, ebp
mov byte [esp + 0xf4], 0x10
je 0x1008a56a
mov eax, edx
sub eax, ecx
sar eax, 4
cmp eax, 8
jae 0x1008a588
jmp 0x1008a56c
xor eax, eax
lea ecx, [esp + 0xbc]
push ecx
mov ecx, 8
sub ecx, eax
push ecx
push edx
lea ecx, [esp + 0x20]
call fcn.10024390
jmp 0x1008a5ae
lea ecx, [esp + 0x14]
call fcn.100744d0
cmp eax, 8
jbe 0x1008a5ae
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
add eax, 0x80
push edx
push eax
lea ecx, [esp + 0x1c]
call fcn.10061b50
push 1
lea ecx, [esp + 0xc0]
mov byte [esp + 0xf8], 7
call fcn.1000bc70
mov cl, byte [0x1018c98a]
mov edx, dword [esp + 0x32]
push 0xffffffffffffffcb
push ecx
push 0x10
push edx
push 5
call fcn.10088da0
mov eax, dword [esp + 0x2c]
push 0xa
add eax, 0x40
push eax
call fcn.10021b70
mov dword [esp + 0x8c], eax
call fcn.100883b0
mov ecx, dword [esp + 0x34]
push 0xa
add ecx, 0x50
push ecx
call fcn.10021b70
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x98], eax
add edx, 0x60
push edx
call fcn.100f6ad0
mov esi, dword [esp + 0x60]
add esp, 0x28
lea ecx, [esp + 0x3c]
mov dword [esp + 0x78], eax
mov eax, dword [esi + 8]
push ecx
push 1
push eax
mov ecx, esi
call fcn.1008b930
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x9c]
add edx, 0x70
mov byte [0x1018c98b], 0xe8
mov esi, dword [esi + 8]
push edx
push eax
call fcn.100ea010
add esi, 0xfffffff0
mov byte [esp + 0xfc], 0x11
push esi
push eax
call fcn.100fbde0
mov eax, dword [esp + 0xb0]
add esp, 0x10
cmp eax, ebp
mov byte [esp + 0xf4], 7
je 0x1008a69c
mov cl, byte [eax - 1]
test cl, cl
je 0x1008a690
cmp cl, 0xff
je 0x1008a690
dec cl
mov byte [eax - 1], cl
jmp 0x1008a69c
add eax, 0xfffffffe
push eax
call fcn.101307a0
add esp, 4
mov cl, byte [esp + 0x33]
mov dword [esp + 0xa0], ebp
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xa8], ebp
mov byte [0x1018c988], cl
lea edx, [esp + 0x7c]
mov byte [esp + 0xf4], 0x14
mov dword [esp + 0x24], edx
lea ecx, [esp + 0x7c]
mov byte [esp + 0xf4], 0x14
call fcn.10072ba0
push 1
lea ecx, [esp + 0x64]
mov byte [esp + 0xf8], 0x13
call fcn.1000bc70
push 1
lea ecx, [esp + 0x50]
mov byte [esp + 0xf8], 0x12
call fcn.1000bc70
mov ecx, dword [esp + 0x40]
mov byte [esp + 0xf4], 1
cmp ecx, ebp
je 0x1008a730
mov al, byte [ecx - 1]
test al, al
je 0x1008a724
cmp al, 0xff
je 0x1008a724
dec al
mov byte [ecx - 1], al
jmp 0x1008a730
lea eax, [ecx - 2]
push eax
call fcn.101307a0
add esp, 4
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], ebp
cmp esi, edi
mov byte [esp + 0xf4], 0
je 0x1008a764
push 1
mov ecx, esi
call fcn.1000bc70
add esi, 0x10
cmp esi, edi
jne 0x1008a750
mov esi, dword [esp + 0x18]
push esi
call fcn.101307a0
mov ecx, dword [esp + 0x100]
mov eax, dword [esp + 0x30]
add eax, 0x10
add esp, 4
mov edx, dword [ecx + 8]
mov dword [esp + 0x18], ebp
cmp eax, edx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x2c], eax
je 0x1008a875
mov edi, eax
jmp 0x1008a20f
cmp eax, ecx
mov byte [esp + 0xf4], 0
mov edi, ecx
mov esi, eax
je 0x1008a7c0
push ebp
mov ecx, esi
call fcn.100461a0
add esi, 0x10
cmp esi, edi
jne 0x1008a7ad
mov eax, dword [esp + 0x18]
push eax
jmp 0x1008a848
mov al, 0xd
lea ecx, [esp + 0x7c]
mov byte [esp + 0xf4], al
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x7c]
mov byte [esp + 0xf4], al
call fcn.10072ba0
push 1
lea ecx, [esp + 0x64]
mov byte [esp + 0xf8], 0xc
call fcn.1000bc70
push 1
lea ecx, [esp + 0x50]
mov byte [esp + 0xf8], 0xb
call fcn.1000bc70
push 1
lea ecx, [esp + 0x40]
mov byte [esp + 0xf8], 1
call fcn.1000bc70
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
cmp esi, edi
mov byte [esp + 0xf4], 0
je 0x1008a847
push ebp
mov ecx, esi
call fcn.100461a0
add esi, 0x10
cmp esi, edi
jne 0x1008a834
mov esi, dword [esp + 0x18]
push esi
call fcn.101307a0
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
push edx
mov dword [esp + 0xfc], 0xffffffff
call fcn.10072d60
add esp, 8
xor al, al
jmp 0x1008a88f
mov eax, dword [esp + 0x28]
mov dword [esp + 0xf4], 0xffffffff
push eax
call fcn.10072d60
add esp, 4
mov al, 1
mov ecx, dword [esp + 0xec]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xe8
ret 4