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

Disassembly:
mov eax, 0x1004f5c6
call fcn.1004e1f0
sub esp, 0x100
push ebx
push esi
push edi
push 0
mov ebx, ecx
call fcn.10033990
cmp dword [ebx + 0x7c], 0
pop ecx
mov ecx, eax
mov esi, edx
mov edi, 0x3f1
jne 0x1000e8f2
mov eax, dword [ebx + 0x1bc]
test eax, eax
jle 0x1000e8f2
sub ecx, dword [ebx + 0x160]
cdq
sbb esi, dword [ebx + 0x164]
cmp esi, edx
jl 0x1000e8f2
jg 0x1000e8c4
cmp ecx, eax
jbe 0x1000e8f2
mov ecx, dword [ebx + 0x15c]
cmp dword [ecx + 0x208c], 1
jne 0x1000e8f2
test ecx, ecx
je 0x1000e8f2
cmp dword [ebx + 0x68], 0
je 0x1000e8f2
mov dword [ebx + 0x7c], 1
call fcn.100075a5
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x18], edi
mov ecx, dword [ebx + 0x18]
lea eax, [ecx - 0x3e8]
cmp eax, 0xe
ja case.0x1000e904.1007
jmp dword [eax*4 + 0x1000fdc3]
cmp dword [ebx + 0x34], 0x12c
jg 0x1000e9a9
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x14], esp
push 0x10059df8
call fcn.10001d63
sub esp, 0x18
xor edi, edi
mov dword [ebp - 4], edi
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x1005b79c
call fcn.10001d63
push edi
mov byte [ebp - 4], 1
push 0x17
push dword [ebx + 0x20]
push ecx
mov ecx, dword [ebx + 0x140]
sub ecx, 0x10
mov esi, esp
call fcn.100095d7
or dword [ebp - 4], 0xffffffff
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10010ed5
test eax, eax
je 0x1000e989
push edi
call fcn.10033990
mov dword [ebx + 8], eax
mov eax, dword [ebx + 0x18]
pop ecx
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x18], 0x3f0
jmp 0x1000e99e
push 0x3e8
call dword [0x1005214c]
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x18], 0x3f2
inc dword [ebx + 0x34]
mov dword [ebx + 0x1c], eax
jmp case.0x1000e904.1007
and dword [ebx + 0x70], 0
cmp dword [ebx + 0x68], 0
jne 0x1000ea20
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x14], esp
push 0x10059df8
call fcn.10001d63
sub esp, 0x18
mov dword [ebp - 4], 2
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x1005b7a0
call fcn.10001d63
push 0
mov byte [ebp - 4], 3
push 0x16970ad
push dword [ebx + 0x20]
lea edi, [ebx + 0x140]
push ecx
mov ecx, dword [edi]
sub ecx, 0x10
mov esi, esp
call fcn.100095d7
or dword [ebp - 4], 0xffffffff
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10010ed5
push edi
lea ecx, [ebx + 0x1a0]
call fcn.10015b22
mov edi, 0x3f1
push 0x7530
push 0
call fcn.1000e847
push 0
mov esi, eax
call fcn.10033990
pop ecx
push esi
call dword [0x1005214c]
push 0
call fcn.10033990
pop ecx
mov ecx, dword [ebx + 0x15c]
add ecx, 0x2010
mov dword [ebx + 0x78], 1
call fcn.1001d6e3
jmp 0x1000fd97
and dword [ebx + 0x34], 0
mov ecx, ebx
call fcn.10010c39
test eax, eax
jne 0x1000eaa3
mov eax, dword [ebx + 0x180]
sub eax, dword [ebx + 0x17c]
mov ecx, 0x1c8
cdq
idiv ecx
test eax, eax
je 0x1000eaa3
mov eax, dword [ebx + 0x50]
cmp eax, dword [ebx + 0x48]
jne 0x1000eaa3
mov eax, dword [ebx + 0x54]
cmp eax, dword [ebx + 0x4c]
jne 0x1000eaa3
cmp dword [ebx + 0x70], 0
je 0x1000fd97
lea eax, [ebp - 0x84]
push eax
mov ecx, ebx
call fcn.1001218c
sub esp, 0x18
mov dword [ebp - 4], 4
mov ecx, esp
mov dword [ebp - 0x14], esp
push 0x10059df8
call fcn.10001d63
sub esp, 0x18
mov byte [ebp - 4], 5
lea eax, [ebp - 0x84]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.10002d1c
push 0
mov byte [ebp - 4], 6
push 0xa
push dword [ebx + 0x20]
push ecx
mov ecx, dword [ebx + 0x140]
sub ecx, 0x10
mov esi, esp
call fcn.100095d7
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 4
jmp 0x1000ec0e
lea eax, [ebx + 0x128]
cmp dword [eax + 0x14], 0x10
jb 0x1000eb1c
mov ecx, dword [eax]
jmp 0x1000eb1e
mov ecx, eax
push ecx
push 0x1005b7b4
call fcn.1000191e
sub esp, 0x10
mov ecx, esp
push eax
call fcn.10002d1c
lea eax, [ebp - 0x84]
push eax
mov ecx, ebx
call fcn.100125a8
sub esp, 0x18
mov dword [ebp - 4], 7
lea eax, [ebx + 0xb0]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.10002d1c
sub esp, 0x18
mov byte [ebp - 4], 8
lea eax, [ebp - 0x84]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.10002d1c
mov byte [ebp - 4], 9
push dword [ebx + 0x10]
push 0xcf
push 0x50
push ecx
mov ecx, dword [ebx + 0x140]
sub ecx, 0x10
mov esi, esp
call fcn.100095d7
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 7
jmp 0x1000ec0e
push dword [ebx + 0x54]
lea eax, [ebp - 0x84]
push dword [ebx + 0x50]
mov ecx, ebx
push eax
call fcn.100123dc
sub esp, 0x18
mov dword [ebp - 4], 0xa
lea eax, [ebx + 0xb0]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.10002d1c
sub esp, 0x18
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x84]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.10002d1c
mov byte [ebp - 4], 0xc
push dword [ebx + 0x10]
push 0xce
push 0x50
push ecx
mov ecx, dword [ebx + 0x140]
sub ecx, 0x10
mov esi, esp
call fcn.100095d7
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0xa
mov ecx, ebx
call fcn.10010ed5
test eax, eax
je 0x1000ec33
push 0
call fcn.10033990
mov dword [ebx + 8], eax
mov eax, dword [ebx + 0x18]
pop ecx
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x18], 0x3f0
jmp 0x1000ec3d
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x18], 0x3f2
mov dword [ebx + 0x1c], eax
lea ecx, [ebp - 0x84]
jmp 0x1000fd86
mov eax, dword [ebx + 0x180]
sub eax, dword [ebx + 0x17c]
mov esi, 0x1c8
cdq
idiv esi
mov dword [ebx + 0x1c], ecx
test eax, eax
je 0x1000fd9d
mov dword [ebx + 0x18], 0x3eb
push 0
jmp 0x1000f0ed
mov eax, dword [ebx + 0x18c]
sub eax, dword [ebx + 0x188]
mov edi, 0x1c8
cdq
idiv edi
test eax, eax
je 0x1000ed67
mov eax, dword [ebx + 0x18c]
sub eax, dword [ebx + 0x188]
xor edx, edx
mov dword [ebp - 0x18], edx
cdq
idiv edi
test eax, eax
jle 0x1000ed5c
xor ecx, ecx
lea esi, [ebx + 0x17c]
mov dword [ebp - 0x24], ecx
mov eax, dword [esi + 4]
sub eax, dword [esi]
xor edx, edx
mov dword [ebp - 0x1c], edx
cdq
idiv edi
test eax, eax
jle 0x1000ed08
xor ecx, ecx
mov dword [ebp - 0x14], ecx
mov edx, dword [esi]
add edx, ecx
mov ecx, dword [ebx + 0x188]
add ecx, 0x44
add ecx, dword [ebp - 0x24]
add edx, 0x44
call fcn.1000a36c
test al, al
jne 0x1000ed39
mov eax, dword [esi + 4]
sub eax, dword [esi]
mov ecx, dword [ebp - 0x14]
cdq
idiv edi
inc dword [ebp - 0x1c]
add ecx, edi
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x1c], eax
jl 0x1000ecd1
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebx + 0x188]
add eax, 0x44
add eax, ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000ed1b
mov eax, dword [eax]
push eax
push 0x1005b7cc
call fcn.1000191e
mov eax, dword [ebx + 0x188]
add esp, 8
add eax, ecx
push eax
mov ecx, esi
call fcn.100159ba
mov eax, dword [ebx + 0x18c]
sub eax, dword [ebx + 0x188]
mov ecx, dword [ebp - 0x24]
cdq
idiv edi
inc dword [ebp - 0x18]
add ecx, edi
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x18], eax
jl 0x1000ecbb
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x1c], eax
jmp 0x1000ec6a
and dword [ebx + 0x70], 0
mov dword [ebx + 0x1c], ecx
mov dword [ebx + 0x18], 0x3f1
jmp case.0x1000e904.1007
mov eax, dword [ebx + 0x180]
sub eax, dword [ebx + 0x17c]
mov esi, 0x1c8
cdq
idiv esi
mov edi, dword [ebx + 0x14]
mov dword [ebp - 0x24], edi
cmp edi, eax
jl 0x1000eda0
mov dword [ebx + 0x1c], ecx
jmp 0x1000ef70
mov eax, dword [ebx + 0x18c]
sub eax, dword [ebx + 0x188]
cdq
idiv esi
test eax, eax
je 0x1000eeaf
mov eax, dword [ebx + 0x18c]
sub eax, dword [ebx + 0x188]
and dword [ebp - 0x1c], 0
cdq
idiv esi
test eax, eax
jle 0x1000ee20
mov eax, edi
imul eax, eax, 0x1c8
xor ecx, ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], ecx
mov edx, dword [ebx + 0x188]
add edx, ecx
mov ecx, dword [ebx + 0x17c]
add ecx, 0x44
add edx, 0x44
add ecx, eax
call fcn.1000a36c
test al, al
jne 0x1000ee28
mov eax, dword [ebx + 0x18c]
sub eax, dword [ebx + 0x188]
mov ecx, dword [ebp - 0x1c]
cdq
idiv esi
add dword [ebp - 0x18], esi
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
jl 0x1000edde
lea eax, [edi + 1]
jmp 0x1000f0ec
mov eax, dword [ebx + 0x17c]
mov edx, dword [ebp - 0x14]
add eax, 0x44
add eax, edx
mov dword [ebp - 0x18], eax
cmp dword [eax + 0x14], 0x10
jb 0x1000ee44
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebx + 0x188]
imul ecx, ecx, 0x1c8
push dword [ecx + eax + 0x2c]
push dword [ecx + eax + 0x28]
mov eax, dword [ebx + 0x17c]
push dword [edx + eax + 0x2c]
push dword [edx + eax + 0x28]
push dword [ebp - 0x18]
push 0x1005b7fc
call fcn.1000191e
mov eax, dword [ebx + 0x188]
add eax, ecx
mov ecx, dword [ebx + 0x17c]
add esp, 0x18
add ecx, edx
push eax
call fcn.1000fdff
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x17c]
add ecx, 0x134
add eax, ecx
and dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0x10
jb 0x1000eeac
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebx + 0x17c]
imul edi, edi, 0x1c8
add eax, 0x194
sub esp, 0x18
add eax, edi
mov ecx, esp
push eax
call fcn.10002d1c
call fcn.10014f88
test al, al
mov eax, dword [ebx + 0x17c]
je 0x1000ef84
mov dword [edi + eax + 0x38], 1
mov eax, dword [ebx + 0x17c]
push 0x1005b82c
and dword [edi + eax + 0x34], 0
mov eax, dword [ebx + 0x17c]
and dword [edi + eax + 0x3c], 0
mov eax, dword [ebx + 0x17c]
mov dword [edi + eax + 0x20], 0x67
call fcn.1000191f
pop ecx
mov ecx, dword [ebx + 0x17c]
push eax
add ecx, 0x17c
push 0x1005b82c
add ecx, edi
call fcn.10001f26
mov eax, dword [ebx + 0x17c]
add eax, 0x11c
add eax, edi
cmp dword [eax + 0x14], 0x10
jb 0x1000ef45
mov eax, dword [eax]
push eax
push 0x1005b83c
call fcn.1000191e
mov eax, dword [ebx + 0x180]
sub eax, dword [ebx + 0x17c]
mov ecx, dword [ebp - 0x24]
cdq
idiv esi
add esp, 8
dec eax
cmp ecx, eax
jne 0x1000ef7c
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x18], 0x3ed
jmp case.0x1000e904.1007
lea eax, [ecx + 1]
jmp 0x1000f0ec
lea ecx, [eax + 0x164]
add ecx, edi
mov dword [ebp - 0x14], ecx
cmp dword [ecx + 0x14], 0x10
jb 0x1000ef9a
mov ecx, dword [ecx]
mov dword [ebp - 0x14], ecx
lea edx, [eax + 0x14c]
add edx, edi
cmp dword [edx + 0x14], 0x10
jb 0x1000efaa
mov edx, dword [edx]
lea ecx, [eax + 0x11c]
add ecx, edi
cmp dword [ecx + 0x14], 0x10
jb 0x1000efba
mov ecx, dword [ecx]
push dword [ebp - 0x14]
push dword [edi + eax + 0x1c]
push edx
push dword [edi + eax + 0x18]
push ecx
push 0x1005b868
call fcn.1000191e
add esp, 0x18
mov ecx, ebx
push dword [ebp - 0x24]
call fcn.1001009f
test al, al
mov eax, dword [ebx + 0x17c]
jne 0x1000f094
mov dword [edi + eax + 0x38], 1
mov eax, dword [ebx + 0x17c]
and dword [edi + eax + 0x34], 0
mov eax, dword [ebx + 0x17c]
and dword [edi + eax + 0x3c], 0
mov ecx, dword [ebx + 0x17c]
lea eax, [ecx + 0x17c]
add eax, edi
cmp dword [eax + 0x14], 0x10
jb 0x1000f020
mov eax, dword [eax]
push eax
push dword [edi + ecx + 0x20]
push 0x1005b8ac
call fcn.1000191e
lea eax, [ebx + 0x1c4]
add esp, 0xc
cmp dword [eax + 0x14], 0x10
jb 0x1000f040
mov eax, dword [eax]
push eax
call dword [0x10052054]
mov eax, dword [ebx + 0x17c]
add eax, 0x17c
sub esp, 0x18
add eax, edi
mov ecx, esp
push eax
call fcn.10002d1c
mov eax, dword [ebx + 0x17c]
mov ecx, ebx
push dword [eax + edi + 0x20]
call fcn.1001164f
push 0x3e8
call dword [0x1005214c]
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x18], 0x3f1
mov byte [0x1006755c], 1
jmp case.0x1000e904.1007
cmp dword [edi + eax + 0x14], 3
jle 0x1000f0f9
mov dword [edi + eax + 0x38], 1
mov eax, dword [ebx + 0x17c]
mov esi, 0x1005b8e4
and dword [edi + eax + 0x34], 0
mov eax, dword [ebx + 0x17c]
push esi
and dword [edi + eax + 0x3c], 0
mov eax, dword [ebx + 0x17c]
mov dword [edi + eax + 0x20], 2
call fcn.1000191f
pop ecx
mov ecx, dword [ebx + 0x17c]
push eax
add ecx, 0x17c
push esi
add ecx, edi
call fcn.10001f26
mov eax, dword [ebp - 0x24]
inc eax
push eax
mov ecx, ebx
call fcn.100143f8
jmp case.0x1000e904.1007
mov eax, dword [ebx + 0x180]
sub eax, dword [ebx + 0x17c]
cdq
idiv esi
mov ecx, eax
mov eax, dword [ebp - 0x24]
cmp eax, ecx
jge 0x1000f7fb
test ecx, ecx
jle 0x1000f7fb
mov eax, dword [ebx + 0x17c]
add eax, 0x134
add eax, edi
and dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0x10
jb 0x1000f136
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebx + 0x17c]
lea esi, [eax + 0x74]
add esi, edi
cmp dword [esi + 0x14], 0x10
jb 0x1000f14c
mov esi, dword [esi]
lea edx, [eax + 0x5c]
add edx, edi
cmp dword [edx + 0x14], 0x10
jb 0x1000f159
mov edx, dword [edx]
lea ecx, [eax + 0x11c]
add ecx, edi
cmp dword [ecx + 0x14], 0x10
jb 0x1000f169
mov ecx, dword [ecx]
push esi
push edx
push dword [edi + eax + 0x2c]
push dword [edi + eax + 0x28]
push ecx
push 0x1005b908
call fcn.1000191e
and dword [ebp - 0x3c], 0
xor esi, esi
and dword [ebp - 0x34], esi
add esp, 0x18
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 4], 0xd
mov byte [ebp - 0x1d], 1
cmp dword [ebx + 0x68], esi
je 0x1000f6cb
mov eax, dword [ebx + 0x17c]
cmp dword [edi + eax + 0x6c], esi
jbe 0x1000f245
lea ecx, [eax + 0x5c]
add ecx, edi
mov edx, 0x1005b93c
call fcn.10009e37
test al, al
jne 0x1000f245
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x1005b940
call fcn.10001d63
mov byte [ebp - 4], 0xe
mov eax, dword [ebx + 0x17c]
add eax, 0x5c
sub esp, 0x18
add eax, edi
mov ecx, esp
push eax
call fcn.10002d1c
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0xd
call fcn.1001bf49
add esp, 0x30
mov esi, eax
lea eax, [ebp - 0x3c]
cmp eax, esi
je 0x1000f233
mov ecx, eax
call fcn.1000920b
mov eax, dword [esi]
mov dword [ebp - 0x3c], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0xd
call fcn.1000920b
mov esi, dword [ebp - 0x14]
sub esi, dword [ebp - 0x3c]
push 0x18
mov eax, esi
cdq
pop ecx
idiv ecx
mov dword [ebp - 0x18], eax
test eax, eax
je 0x1000f520
lea esi, [ebx + 0x1f4]
cmp dword [esi + 0x14], 0x10
jb 0x1000f26b
mov ecx, dword [esi]
jmp 0x1000f26d
mov ecx, esi
lea eax, [ebx + 0x1dc]
cmp dword [eax + 0x14], 0x10
jb 0x1000f27b
mov eax, dword [eax]
push ecx
push eax
push 0x1005b944
call fcn.1000191e
add esp, 0xc
push 0
call fcn.10033990
pop ecx
push eax
call fcn.10033856
and dword [ebp - 0x14], 0
cmp dword [ebp - 0x18], 0
pop ecx
jbe 0x1000f520
sub esp, 0xc
lea eax, [ebp - 0x3c]
mov ecx, esp
push eax
call fcn.100157d9
lea ecx, [ebp - 0x54]
call fcn.1001c006
sub esp, 0xc
mov byte [ebp - 4], 0x10
mov eax, esp
mov dword [ebp - 0x1c], esp
push eax
mov ecx, ebx
call fcn.100112be
mov byte [ebp - 4], 0x11
mov eax, dword [ebx + 0x17c]
sub esp, 0x18
add eax, 0x11c
add eax, edi
mov ecx, esp
mov dword [ebp - 0x24], esp
push eax
call fcn.10002d1c
sub esp, 0x18
mov byte [ebp - 4], 0x12
mov ecx, esp
mov dword [ebp - 0x30], esp
push esi
call fcn.10002d1c
sub esp, 0x18
lea eax, [ebx + 0x1dc]
mov ecx, esp
push eax
mov byte [ebp - 4], 0x13
call fcn.10002d1c
mov edx, dword [ebx + 0x17c]
add edx, 0x134
cmp dword [ebp - 0x40], 0x10
lea ecx, [ebp - 0x54]
cmovae ecx, dword [ebp - 0x54]
add edx, edi
mov byte [ebp - 4], 0x10
call fcn.10026c80
and dword [ebp - 0x90], 0
mov esi, eax
add esp, 0x60
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0xa4], 0x10059f70
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov byte [ebp - 4], 0x14
mov ecx, dword [ebx + 0x17c]
lea eax, [ecx + 0x134]
add eax, edi
cmp dword [eax + 0x14], 0x10
jb 0x1000f37d
mov eax, dword [eax]
push ecx
push dword [edi + ecx + 0x144]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.10004656
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0x44], 0
jbe 0x1000f3bc
cmp esi, 1
jne 0x1000f3bc
mov edx, dword [ebx + 0x17c]
add edx, 0x104
add edx, edi
lea ecx, [ebp - 0x6c]
call fcn.1000a36c
test al, al
jne 0x1000f4bd
push 0x3f
lea eax, [ebp - 0x10b]
push 0
push eax
mov byte [ebp - 0x10c], 0
call fcn.10038c70
add esp, 0xc
cmp dword [ebp - 0x40], 0x10
lea eax, [ebp - 0x54]
cmovae eax, dword [ebp - 0x54]
push esi
push eax
lea eax, [ebp - 0x10c]
push 0x1005b998
push eax
call fcn.10032575
mov esi, dword [ebx + 0x17c]
lea eax, [ebp - 0x10c]
push eax
call fcn.1000191f
add esp, 0x14
lea ecx, [esi + 0x8c]
push eax
lea eax, [ebp - 0x10c]
push eax
add ecx, edi
call fcn.10003271
mov eax, dword [ebx + 0x17c]
add eax, 0x104
add eax, edi
cmp dword [eax + 0x14], 0x10
jb 0x1000f433
mov eax, dword [eax]
cmp dword [ebp - 0x58], 0x10
lea ecx, [ebp - 0x6c]
cmovae ecx, dword [ebp - 0x6c]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x1000f45e
test dl, dl
je 0x1000f45a
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x1000f45e
add ecx, 2
add eax, 2
test dl, dl
jne 0x1000f43e
xor edx, edx
jmp 0x1000f463
sbb edx, edx
or edx, 1
cmp dword [ebp - 0x40], 0x10
lea ecx, [ebp - 0x54]
cmovae ecx, dword [ebp - 0x54]
xor eax, eax
test edx, edx
sete al
push eax
push dword [ebp - 0x1c]
push ecx
push 0x1005b9a0
call fcn.1000191e
mov esi, dword [ebp - 0x14]
add esp, 0x10
inc esi
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x14], esi
call fcn.10001d92
lea ecx, [ebp - 0xa4]
call fcn.100045bc
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xd
call fcn.10001d92
cmp esi, dword [ebp - 0x18]
jae 0x1000f520
lea esi, [ebx + 0x1f4]
jmp 0x1000f2a7
cmp dword [ebp - 0x40], 0x10
lea eax, [ebp - 0x54]
cmovae eax, dword [ebp - 0x54]
push eax
push 0x1005b970
call fcn.1000191e
mov eax, dword [ebx + 0x17c]
xor ecx, ecx
inc ecx
mov dword [edi + eax + 0x38], ecx
mov eax, dword [ebx + 0x17c]
add esp, 8
mov dword [edi + eax + 0x34], ecx
mov eax, dword [ebx + 0x17c]
lea ecx, [ebp - 0x6c]
and dword [edi + eax + 0x24], 0
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x18], 0x3ed
call fcn.10001d92
lea ecx, [ebp - 0xa4]
call fcn.100045bc
lea ecx, [ebp - 0x54]
jmp 0x1000f7e9
mov eax, dword [ebx + 0x17c]
cmp dword [edi + eax + 0x84], 0
jbe 0x1000f6cb
add eax, 0x134
add eax, edi
and dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0x10
jb 0x1000f547
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebx + 0x17c]
lea ecx, [eax + 0x74]
add ecx, edi
cmp dword [ecx + 0x14], 0x10
jb 0x1000f55d
mov ecx, dword [ecx]
push ecx
push dword [edi + eax + 8]
lea edx, [eax + 0x134]
add edx, edi
call fcn.10002982
and dword [ebp - 0x90], 0
pop ecx
mov esi, eax
pop ecx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0xa4], 0x10059f70
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov byte [ebp - 4], 0x16
mov ecx, dword [ebx + 0x17c]
lea eax, [ecx + 0x134]
add eax, edi
cmp dword [eax + 0x14], 0x10
jb 0x1000f5b2
mov eax, dword [eax]
push ecx
push dword [edi + ecx + 0x144]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.10004656
mov eax, dword [ebx + 0x17c]
cmp dword [edi + eax + 0x144], 0
jbe 0x1000f645
test esi, esi
je 0x1000f645
lea edx, [eax + 0x104]
add edx, edi
lea ecx, [ebp - 0x6c]
call fcn.1000a36c
test al, al
je 0x1000f645
mov eax, dword [ebx + 0x17c]
add eax, 0x74
add eax, edi
cmp dword [eax + 0x14], 0x10
jb 0x1000f5ff
mov eax, dword [eax]
push eax
push 0x1005b9d8
call fcn.1000191e
mov eax, dword [ebx + 0x17c]
xor ecx, ecx
add esp, 8
inc ecx
mov dword [edi + eax + 0x38], ecx
mov eax, dword [ebx + 0x17c]
mov byte [ebp - 0x1d], 0
mov dword [edi + eax + 0x34], ecx
mov eax, dword [ebx + 0x17c]
mov dword [edi + eax + 0x24], 2
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x18], 0x3ed
jmp 0x1000f6aa
mov esi, dword [ebx + 0x17c]
lea eax, [esi + 0x104]
add eax, edi
cmp dword [eax + 0x14], 0x10
jb 0x1000f65b
mov eax, dword [eax]
cmp dword [ebp - 0x58], 0x10
lea ecx, [ebp - 0x6c]
cmovae ecx, dword [ebp - 0x6c]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x1000f686
test dl, dl
je 0x1000f682
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x1000f686
add ecx, 2
add eax, 2
test dl, dl
jne 0x1000f666
xor eax, eax
jmp 0x1000f68b
sbb eax, eax
or eax, 1
lea ecx, [esi + 0x74]
add ecx, edi
cmp dword [ecx + 0x14], 0x10
jb 0x1000f698
mov ecx, dword [ecx]
push eax
push dword [ebp - 0x14]
push ecx
push 0x1005b9fc
call fcn.1000191e
add esp, 0x10
lea ecx, [ebp - 0x6c]
call fcn.10001d92
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0xd
call fcn.100045bc
cmp byte [ebp - 0x1d], 0
je 0x1000f7ee
mov eax, dword [ebx + 0x17c]
add eax, 0x134
add eax, edi
and dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0x10
jb 0x1000f6e4
mov eax, dword [eax]
mov byte [eax], 0
cmp dword [ebx + 0x68], 0
mov eax, dword [ebx + 0x17c]
je 0x1000f6fd
mov dword [edi + eax + 0x24], 1
jmp 0x1000f705
mov dword [edi + eax + 0x24], 4
mov eax, dword [ebx + 0x17c]
add eax, 0x44
sub esp, 0x18
add eax, edi
mov ecx, esp
push eax
call fcn.10002d1c
push 0
lea eax, [ebp - 0x84]
push eax
mov ecx, ebx
call fcn.100129e3
sub esp, 0x18
mov byte [ebp - 4], 0x17
lea eax, [ebx + 0xb0]
mov ecx, esp
mov dword [ebp - 0x28], esp
push eax
call fcn.10002d1c
push 0x18
pop eax
sub esp, 0x18
mov byte [ebp - 4], al
lea eax, [ebp - 0x84]
mov ecx, esp
mov dword [ebp - 0x30], esp
push eax
call fcn.10002d1c
mov byte [ebp - 4], 0x19
push dword [ebx + 0x10]
push 0xcb
push dword [ebx + 0x20]
push ecx
mov ecx, dword [ebx + 0x140]
sub ecx, 0x10
mov esi, esp
call fcn.100095d7
add eax, 0x10
mov dword [esi], eax
mov ecx, ebx
mov byte [ebp - 4], 0x17
call fcn.10010ed5
test eax, eax
mov eax, dword [ebx + 0x17c]
je 0x1000f7b9
push 0
mov dword [edi + eax + 0x40], 1
call fcn.10033990
mov dword [ebx + 8], eax
mov eax, dword [ebx + 0x18]
pop ecx
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x18], 0x3f0
jmp 0x1000f7e0
add eax, 0x11c
add eax, edi
cmp dword [eax + 0x14], 0x10
jb 0x1000f7c8
mov eax, dword [eax]
push eax
push 0x1005ba38
call fcn.1000191e
mov eax, dword [ebx + 0x18]
add esp, 8
mov dword [ebx + 0x18], 0x3f2
mov dword [ebx + 0x1c], eax
lea ecx, [ebp - 0x84]
call fcn.10001d92
lea ecx, [ebp - 0x3c]
call fcn.1000920b
jmp case.0x1000e904.1007
inc eax
cmp eax, ecx
jl 0x1000f809
test ecx, ecx
jle 0x1000f80b
jmp 0x1000ef6a
test ecx, ecx
jne case.0x1000e904.1007
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x18], 0x3e9
jmp case.0x1000e904.1007
push 0
call fcn.10033990
mov dword [ebx + 8], eax
mov eax, dword [ebx + 0x18]
pop ecx
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x18], 0x3f0
jmp case.0x1000e904.1007
mov eax, dword [ebx + 0x180]
sub eax, dword [ebx + 0x17c]
mov edi, 0x1c8
cdq
idiv edi
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x1000f86d
mov dword [ebx + 0x1c], ecx
mov dword [ebx + 0x18], 0x3e8
jmp case.0x1000e904.1007
mov esi, dword [ebx + 0x14]
push esi
mov ecx, ebx
call fcn.10010581
inc esi
cmp esi, dword [ebp - 0x14]
je 0x1000f88c
cmp dword [ebx + 0x70], 0
jne 0x1000f88c
push esi
mov ecx, ebx
jmp 0x1000fa66
mov ecx, ebx
call fcn.10010c39
mov ecx, ebx
test eax, eax
jne 0x1000fa64
lea eax, [ebp - 0x84]
push eax
call fcn.100122b7
sub esp, 0x18
mov dword [ebp - 4], 0x1a
lea eax, [ebx + 0xb0]
mov ecx, esp
mov dword [ebp - 0x28], esp
push eax
call fcn.10002d1c
sub esp, 0x18
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x84]
mov ecx, esp
mov dword [ebp - 0x30], esp
push eax
call fcn.10002d1c
mov byte [ebp - 4], 0x1c
push dword [ebx + 0x10]
push 0xca
push dword [ebx + 0x20]
push ecx
mov ecx, dword [ebx + 0x140]
sub ecx, 0x10
mov esi, esp
call fcn.100095d7
add eax, 0x10
mov dword [esi], eax
mov ecx, ebx
mov byte [ebp - 4], 0x1a
call fcn.10010ed5
test eax, eax
je 0x1000f92b
push 0
call fcn.10033990
mov dword [ebx + 8], eax
mov eax, dword [ebx + 0x18]
pop ecx
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x18], 0x3f0
mov ecx, ebx
call fcn.1000e6ca
cmp dword [ebx + 0x70], 0
jne 0x1000fa51
mov eax, dword [ebx + 0x180]
sub eax, dword [ebx + 0x17c]
xor ecx, ecx
cdq
idiv edi
test eax, eax
je 0x1000f994
mov eax, dword [ebx + 0x180]
sub eax, dword [ebx + 0x17c]
xor edx, edx
mov dword [ebp - 0x14], edx
cdq
idiv edi
test eax, eax
jle 0x1000f994
mov esi, dword [ebx + 0x17c]
add esi, 0x144
cmp dword [esi], 0
jbe 0x1000f97b
inc ecx
mov eax, dword [ebx + 0x180]
sub eax, dword [ebx + 0x17c]
inc dword [ebp - 0x14]
cdq
idiv edi
add esi, edi
cmp dword [ebp - 0x14], eax
jl 0x1000f975
mov dword [ebx + 0x3c], ecx
test ecx, ecx
jle 0x1000fa22
mov eax, dword [ebx + 0x18]
mov esi, dword [ebx + 0x15c]
mov dword [ebx + 0x1c], eax
xor eax, eax
mov dword [ebx + 0x18], 0x3f3
mov dword [ebx + 0x64], 1
cmp dword [ebx + 0x68], eax
je 0x1000ec40
test esi, esi
je 0x1000ec40
cmp dword [ebx + 0x120], eax
jbe 0x1000f9ef
add ebx, 0x110
lea ecx, [esi + 0x20ac]
cmp ecx, ebx
je 0x1000fa14
push 0xffffffffffffffff
push eax
push ebx
call fcn.10001e92
jmp 0x1000fa14
lea eax, [ebp - 0xc8]
push eax
mov ecx, esi
call fcn.100087d0
push eax
lea ecx, [esi + 0x20ac]
call fcn.10002d65
lea ecx, [ebp - 0xc8]
call fcn.10001d92
push 3
mov ecx, esi
call fcn.100062a3
jmp 0x1000ec40
sub esp, 0x18
mov ecx, esp
push 0x1005ba5c
call fcn.10001d63
push 0x6b
mov ecx, ebx
call fcn.1001164f
push 0x3e8
call dword [0x1005214c]
mov byte [0x1006755c], 1
jmp 0x1000ec40
mov eax, dword [ebx + 0x18]
and dword [ebx + 0x70], 0
mov dword [ebx + 0x18], 0x3f1
jmp 0x1000ec3d
dec eax
push eax
call fcn.100143f8
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x18], 0x3eb
jmp case.0x1000e904.1007
mov eax, dword [ebx + 0x1c]
mov dword [ebx + 0x1c], ecx
mov dword [ebx + 0x18], eax
jmp case.0x1000e904.1007
push 0
call fcn.10033990
sub eax, dword [ebx + 8]
pop ecx
sbb edx, dword [ebx + 0xc]
mov dword [ebp - 0x28], edx
js case.0x1000e904.1007
jg 0x1000faad
cmp eax, 0xa
jbe case.0x1000e904.1007
xor ecx, ecx
cmp dword [ebx + 0x5c], ecx
jle case.0x1000e904.1007
mov eax, dword [ebx + 0x24]
cmp eax, 5
jle 0x1000fbbc
cmp dword [ebx + 0x68], ecx
je 0x1000faf6
cmp dword [ebx + 0x70], ecx
je 0x1000faf6
mov ecx, dword [ebx + 0x15c]
mov dword [ebx + 0x7c], 1
test ecx, ecx
je 0x1000fbb1
call fcn.100075a5
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x18], edi
jmp 0x1000fbb1
mov ecx, ebx
call fcn.1000e6ca
and dword [ebx + 0x70], 0
cmp dword [ebx + 0x68], 0
jne 0x1000fb74
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x28], esp
push 0x10059df8
call fcn.10001d63
sub esp, 0x18
mov dword [ebp - 4], 0x1d
mov ecx, esp
mov dword [ebp - 0x30], esp
push 0x1005b7a0
call fcn.10001d63
push 0
mov byte [ebp - 4], 0x1e
push 0x16970ad
push dword [ebx + 0x20]
lea edi, [ebx + 0x140]
push ecx
mov ecx, dword [edi]
sub ecx, 0x10
mov esi, esp
call fcn.100095d7
or dword [ebp - 4], 0xffffffff
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10010ed5
push edi
lea ecx, [ebx + 0x1a0]
call fcn.10015b22
mov edi, 0x3f1
push 0x7530
push 0
call fcn.1000e847
push 0
mov esi, eax
call fcn.10033990
pop ecx
push esi
call dword [0x1005214c]
push 0
call fcn.10033990
pop ecx
mov ecx, dword [ebx + 0x15c]
add ecx, 0x2010
mov dword [ebx + 0x78], 1
call fcn.1001d6e3
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x18], edi
jmp 0x1000fbc0
inc eax
mov dword [ebx + 0x24], eax
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x18], ecx
jmp case.0x1000e904.1007
cmp dword [ebx + 0x28], 0x13
jle 0x1000fc7d
cmp dword [ebx + 0x68], 0
je 0x1000fc06
cmp dword [ebx + 0x70], 0
je 0x1000fc06
mov ecx, dword [ebx + 0x15c]
mov dword [ebx + 0x7c], 1
test ecx, ecx
je case.0x1000e904.1007
call fcn.100075a5
jmp 0x1000fd97
push 0x12
push 3
call fcn.1000e847
push 0
mov esi, eax
call fcn.10033990
pop ecx
push esi
call dword [0x1005214c]
push 0
call fcn.10033990
pop ecx
lea esi, [ebx + 0x140]
push 0
mov ecx, esi
call fcn.10008b0b
sub esp, 0x18
mov ecx, esp
push eax
call fcn.10001d63
call fcn.100154a7
push esi
lea ecx, [ebx + 0x1a0]
mov dword [ebx + 0x78], 1
call fcn.10015b22
mov ecx, dword [ebx + 0x15c]
add ecx, 0x2010
call fcn.1001d6e3
mov eax, dword [ebx + 0x18]
and dword [ebx + 0x70], 0
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x18], edi
jmp case.0x1000e904.1007
push 0
push dword [ebx + 0x20]
push ecx
mov ecx, dword [ebx + 0x140]
sub ecx, 0x10
mov esi, esp
call fcn.100095d7
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10010cea
test eax, eax
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x1c], eax
je 0x1000fcb5
mov dword [ebx + 0x18], 0x3f4
jmp case.0x1000e904.1007
inc dword [ebx + 0x28]
mov dword [ebx + 0x18], 0x3f2
jmp case.0x1000e904.1007
push 1
mov ecx, ebx
call fcn.100117d8
test eax, eax
je 0x1000fd8d
lea eax, [ebp - 0x9c]
push eax
mov ecx, ebx
call fcn.100112be
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x1f
call fcn.1001be44
mov esi, 0x1005ba94
push esi
mov byte [ebp - 4], 0x20
call fcn.1000191f
pop ecx
push eax
push esi
lea ecx, [ebp - 0x6c]
call fcn.10003271
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x6c]
call fcn.10002f4c
mov dword [ebp - 0x28], 0x10058870
mov byte [ebp - 4], 0x21
cmp dword [ebp - 0x58], 0x10
lea eax, [ebp - 0x6c]
cmovae eax, dword [ebp - 0x6c]
push eax
call fcn.10001898
push eax
lea ecx, [ebp - 0x54]
call fcn.10001d63
cmp dword [ebp - 0x40], 0x10
lea eax, [ebp - 0x54]
cmovae eax, dword [ebp - 0x54]
push eax
push 0
push 0
call dword [0x1005210c]
and dword [0x101699d8], 0
mov dword [ebx + 0x154], eax
mov eax, dword [ebx + 0x18]
lea ecx, [ebp - 0x54]
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x18], edi
call fcn.10001d92
lea ecx, [ebp - 0x6c]
call fcn.10001d92
lea ecx, [ebp - 0x9c]
call fcn.10001d92
jmp case.0x1000e904.1007
mov eax, dword [0x101699d8]
cmp eax, 5
jle 0x1000fda2
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x18], edi
jmp case.0x1000e904.1007
inc eax
push 0xbb8
mov dword [0x101699d8], eax
call dword [0x1005214c]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret