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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1007315e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x198
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x80], edx
push 1
lea ecx, [esp + 0xc4]
mov dword [esp + 0x1c], edi
call fcn.10013d2b
mov dword [esp + 0x128], 0x81c2900
lea edx, [esp + 0xc0]
lea ecx, [esp + 0x188]
mov dword [esp + 0x120], 0xffffffff
call fcn.1000e801
lea eax, [esp + 0x120]
push eax
lea edx, [esp + 0xc4]
lea ecx, [esp + 0x12c]
call fcn.1000e820
xor ebx, ebx
pop ecx
cmp dword [esp + 0xc0], ebx
je 0x1000eac5
push dword [esp + 0xc0]
call fcn.10058737
pop ecx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
cmp dword [edi + 0x10], ebx
jne 0x1000ead1
xor al, al
jmp 0x1000f9f2
mov eax, dword [esp + 0x80]
mov dword [eax], ebx
cmp dword [edi + 0x14], 0x10
jb 0x1000eae8
mov esi, dword [edi]
mov dword [esp + 0x10], esi
jmp 0x1000eaee
mov esi, edi
mov dword [esp + 0x10], edi
cmp dword [edi + 0x14], 0x10
jb 0x1000eaf8
mov ecx, dword [edi]
jmp 0x1000eafa
mov ecx, edi
mov eax, dword [edi + 0x10]
add eax, ecx
cmp esi, eax
je 0x1000f9f0
mov dword [esp + 0x44], 1
mov dword [esp + 0x30], 0x355fff83
mov dword [esp + 0x38], 0x7af2c9a1
mov dword [esp + 0x3c], 0xf15cc7c4
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x3c], 0x31ea062
mov dword [esp + 0x3c], 0xc6dd3ed2
mov dword [esp + 0x3c], 0xfffffffa
mov dword [esp + 0x14], 0x14c8
cmp dword [esp + 0x14], 0xa7b
jge 0x1000ee54
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0xa0]
push eax
push 0x1000b254
call fcn.1005821b
mov eax, ebx
mov dword [esp + 0x6c], ebx
add esp, 0xc
mov dword [esp + 0x5c], eax
mov dword [esp + 0x64], ebx
mov dword [esp + 0x1ac], ebx
mov ecx, ebx
mov edi, ebx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], ebx
mov edx, ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], edx
mov dword [esp + 0x70], ebx
mov byte [esp + 0x1ac], 2
cmp dword [esp + 0x9c], 0
mov dword [esp + 0x14], ebx
jle 0x1000ec5c
mov esi, ebx
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x110]
push eax
lea eax, [esp + 0x80]
push eax
push 0x1000b264
call fcn.1005821b
add esp, 0x10
cmp dword [esp + 0x10c], 0
je 0x1000ec1d
cmp dword [esp + 0x98], 0
lea eax, [esp + 0x78]
push eax
je 0x1000ec17
lea ecx, [esp + 0x6c]
jmp 0x1000ec33
lea ecx, [esp + 0x60]
jmp 0x1000ec33
cmp dword [esp + 0x98], 0
je 0x1000ec38
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x90]
call fcn.10013e59
inc esi
cmp esi, dword [esp + 0x9c]
jl 0x1000ebd3
mov ecx, dword [esp + 0x90]
mov edi, dword [esp + 0x8c]
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x20], ecx
mov esi, dword [esp + 0x60]
sub esi, eax
mov eax, dword [esp + 0x6c]
sub eax, edx
mov dword [esp + 0x1c], esi
sar dword [esp + 0x1c], 2
sar eax, 2
mov dword [esp + 0x28], eax
add eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x58]
jb 0x1000ec93
mov eax, ecx
sub eax, edi
sar eax, 2
add eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x58]
jae 0x1000ec9e
push 0x1000b270
call fcn.10058886
pop ecx
push dword [esp + 0x60]
mov eax, dword [esp + 0x60]
push eax
call fcn.10018497
push dword [esp + 0x28]
push edi
call fcn.10018497
push dword [esp + 0x7c]
push dword [esp + 0x7c]
call fcn.10018497
mov edx, dword [esp + 0x74]
xor eax, eax
inc eax
add esp, 0x18
mov ecx, eax
cmp dword [esp + 0x1c], eax
jbe 0x1000ece8
mov esi, dword [esp + 0x1c]
mov eax, dword [edx + ecx*4 - 4]
add dword [edx + ecx*4], eax
inc ecx
cmp ecx, esi
jb 0x1000ecd9
xor eax, eax
inc eax
mov ecx, dword [esp + 0x20]
sub ecx, edi
mov dword [esp + 0x14], eax
sar ecx, 2
cmp ecx, eax
jbe 0x1000ed0a
mov esi, eax
mov eax, dword [edi + esi*4 - 4]
add dword [edi + esi*4], eax
inc esi
cmp esi, ecx
jb 0x1000ecfb
xor eax, eax
inc eax
mov dword [esp + 0x14], eax
cmp dword [esp + 0x28], eax
jbe 0x1000ed30
mov edx, dword [esp + 0x68]
mov esi, eax
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + esi*4 - 4]
add dword [edx + esi*4], eax
inc esi
cmp esi, ebx
jb 0x1000ed1e
mov edx, dword [esp + 0x5c]
xor ebx, ebx
mov eax, 0x77359407
mov esi, ebx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x68]
add eax, 0xfffffffc
mov dword [esp + 0x14], esi
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x58]
dec eax
lea eax, [edx + eax*4]
mov dword [esp + 0x20], eax
mov eax, edi
mov edi, dword [esp + 0x48]
sub eax, edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x28]
cmp esi, dword [esp + 0x58]
jg 0x1000edda
test esi, esi
jle 0x1000ed84
mov esi, dword [esp + 0x74]
mov esi, dword [esi]
jmp 0x1000ed86
mov esi, ebx
cmp edx, edi
jb 0x1000edbe
cmp ecx, edi
jb 0x1000edbe
test edi, edi
jle 0x1000eda9
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x20]
mov edi, dword [eax + edi]
mov eax, dword [esp + 0x20]
add edi, dword [eax]
mov eax, dword [esp + 0x28]
jmp 0x1000edab
mov edi, ebx
add esi, edi
mov edi, dword [esp + 0x48]
cmp dword [esp + 0x40], esi
cmovl esi, dword [esp + 0x40]
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x14]
add dword [esp + 0x74], 4
inc esi
sub dword [esp + 0x20], 4
dec edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x48], edi
cmp esi, eax
jbe 0x1000ed72
mov eax, dword [esp + 0x40]
push eax
push 0x1000b274
call fcn.100585c5
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x94]
pop ecx
pop ecx
test eax, eax
je 0x1000ee11
push eax
call fcn.10058737
pop ecx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
test edi, edi
je 0x1000ee31
push edi
call fcn.10058737
pop ecx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
or dword [esp + 0x1ac], 0xffffffff
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x1000ee54
push eax
call fcn.10058737
pop ecx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
push 4
lea ecx, [esp + 0xf0]
call fcn.10013d2b
mov dword [esp + 0x1ac], 3
mov dword [esp + 0x28], ebx
jmp 0x1000ee89
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0xec]
mov dword [eax + ecx*4], 0x7f4a1d2d
inc dword [esp + 0x28]
cmp dword [esp + 0x28], 4
jl 0x1000ee73
lea ecx, [esp + 0x44]
call fcn.1000e8d9
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x44]
neg edx
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x44]
sbb edx, edx
mov eax, dword [esp + 0x30]
xor ecx, ecx
neg edx
cmp edx, 1
sete cl
xor edx, edx
cmp ecx, eax
setne dl
xor ecx, ecx
imul edx, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
cmp edx, eax
setle cl
xor edx, edx
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x30]
add ecx, 0x74ca
cmp ecx, eax
mov eax, dword [esp + 0x38]
setg dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [esp + 0x30]
setg bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [esp + 0x38]
setle cl
xor edx, edx
cmp ecx, 0xffffffff
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, 0x58aae07e
je 0x1000f0bf
xor ebx, ebx
mov byte [esp + 0x2f], bl
cmp byte [esp + 0x2f], bl
je 0x1000f13e
call fcn.1000e8e0
mov dword [esp + 0x3c], 0x19ef
cmp dword [esp + 0x3c], 0x125c
jge 0x1000f13e
lea eax, [esp + 0xd8]
push eax
push ecx
lea eax, [esp + 0xa8]
push eax
push ecx
lea eax, [esp + 0x180]
push eax
push ecx
lea eax, [esp + 0xc0]
mov ecx, 0x10663ef0
push eax
call fcn.1001380d
pop ecx
mov ecx, eax
call fcn.1001380d
pop ecx
mov ecx, eax
call fcn.1001380d
pop ecx
mov ecx, eax
call fcn.1001380d
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xac]
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x1c], eax
cmp ecx, eax
jg 0x1000efe3
jl 0x1000efbe
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x28], eax
cmp edi, eax
ja 0x1000efee
push ecx
push edi
mov ecx, 0x10663e38
call fcn.10013aef
push eax
call fcn.100184bb
mov eax, dword [esp + 0xa8]
mov edi, dword [esp + 0xac]
pop ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x28], eax
push dword [esp + 0x174]
push dword [esp + 0x174]
push dword [esp + 0xe4]
push dword [esp + 0xe4]
call fcn.1005e800
push edx
push eax
push dword [esp + 0xb4]
push edi
call fcn.10072a00
mov dword [esp + 0x20], eax
add eax, dword [esp + 0x28]
push ebx
mov dword [esp + 0x18], edx
adc edx, dword [esp + 0x20]
push 2
push edx
push eax
call fcn.10072a00
mov edi, dword [esp + 0x14]
mov ecx, eax
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
jne 0x1000f050
cmp edi, eax
je 0x1000f096
mov esi, dword [esp + 0x28]
mov ecx, esi
add ecx, dword [esp + 0x20]
push ebx
push 2
adc eax, edi
push eax
push ecx
call fcn.10072a00
mov ecx, eax
cmp edx, edi
jl 0x1000f080
jg 0x1000f074
cmp ecx, dword [esp + 0x20]
jbe 0x1000f080
mov eax, dword [esp + 0x1c]
mov edi, edx
mov dword [esp + 0x20], ecx
jmp 0x1000f088
mov eax, edx
mov esi, ecx
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x20], esi
jne 0x1000f054
cmp edi, eax
jne 0x1000f054
mov esi, dword [esp + 0x10]
push dword [esp + 0xdc]
push dword [esp + 0xdc]
push edx
push ecx
call fcn.1005e800
push edx
push eax
mov ecx, 0x10663e38
call fcn.10013aef
push eax
call fcn.100184bb
jmp 0x1000f13d
mov dword [esp + 0x3c], 0xfffffffe
lea ecx, [esp + 0x144]
push 2
call fcn.10013d2b
xor ebx, ebx
xor edx, edx
mov dword [esp + 0x10], ebx
inc edx
jmp 0x1000f0f3
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x184], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1000f0e0
mov dword [esp + 0x10], ebx
jmp 0x1000f111
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x144]
mov dword [eax + ecx*4], edx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x1000f0ff
mov eax, dword [esp + 0x144]
push eax
inc dword [eax + 4]
call fcn.10058737
mov dword [esp + 0x148], ebx
mov dword [esp + 0x14c], ebx
mov dword [esp + 0x150], ebx
pop ecx
or dword [esp + 0x1ac], 0xffffffff
cmp dword [esp + 0xec], 0
je 0x1000f172
push dword [esp + 0xec]
call fcn.10058737
pop ecx
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
mov al, byte [esi]
cmp al, 0x30
jl 0x1000f19e
cmp al, 0x39
jg 0x1000f19e
mov edx, dword [esp + 0x80]
mov edi, dword [esp + 0x18]
movsx eax, al
imul ecx, dword [edx], 0xa
add ecx, 0xffffffd0
add eax, ecx
inc esi
mov dword [edx], eax
mov dword [esp + 0x10], esi
jmp 0x1000eaee
mov dword [esp + 0x110], 0x2c32b96c
lea ecx, [esp + 0xcc]
mov dword [esp + 0x18], 0x15a60915
xor eax, eax
mov dword [esp + 0x118], 0x91ba8027
inc eax
mov dword [esp + 0x134], eax
mov dword [esp + 0x108], 0xd933bd3e
mov dword [esp + 0x12c], 0xdb88dcfd
mov dword [esp + 0x18], 0x2b622b60
mov dword [esp + 0x18], 0xfffffffe
push eax
call fcn.10013d2b
mov dword [esp + 0x1ac], 4
mov dword [esp + 0x114], 0xfffffffe
mov dword [esp + 0x130], 0x12393dfe
mov dword [esp + 0x18], 0xc0d2
mov dword [esp + 0x138], ebx
mov dword [esp + 0x11c], 0xfffffff9
mov dword [esp + 0x18], 0x244a
mov eax, dword [esp + 0x18]
mov dword [esp + 0x124], 0x348f3bea
mov dword [esp + 0x154], 0x9bf80b7f
mov dword [esp + 0x13c], 6
mov dword [esp + 0x140], 1
mov dword [esp + 0x18], 0x147e
cmp dword [esp + 0x18], 0xfef
jge 0x1000f5ec
lea eax, [esp + 0xbc]
push eax
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0xc0]
push eax
push 0x1000b27c
call fcn.1005821b
mov esi, dword [esp + 0x94]
lea eax, [esp + 0x160]
add esp, 0x10
mov dword [esp + 0x150], ebx
lea ecx, [esp + 0xf8]
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], ebx
push eax
lea eax, [esi + 0x1f]
shr eax, 5
push eax
call fcn.10014925
mov dword [esp + 0x104], ebx
push esi
lea ecx, [esp + 0xfc]
mov byte [esp + 0x1b0], 5
call fcn.10014a95
mov byte [esp + 0x1ac], 6
lea eax, [esp + 0xf8]
push eax
push dword [esp + 0xbc]
lea ecx, [esp + 0x54]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
call fcn.100149b9
lea ecx, [esp + 0xf8]
mov dword [esp + 0x104], ebx
call fcn.100148da
xor eax, eax
inc eax
mov dword [esp + 0x1c], eax
cmp dword [esp + 0xbc], eax
jl 0x1000f5d4
mov edi, dword [esp + 0x4c]
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x80]
push eax
push 0x1000b28c
call fcn.1005821b
mov eax, dword [esp + 0x88]
add esp, 0xc
mov ecx, dword [esp + 0x88]
dec eax
mov dword [esp + 0x7c], eax
dec ecx
add eax, eax
mov dword [esp + 0x88], ecx
mov edx, ecx
and ecx, 0x1f
shr edx, 5
mov esi, dword [edi + eax*8]
xor eax, eax
inc eax
shl eax, cl
or dword [esi + edx*4], eax
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0x88]
mov dword [esp + 0x10], ecx
test ecx, ecx
jle 0x1000f4ac
test edi, edi
jle 0x1000f433
mov esi, dword [esp + 0x4c]
mov eax, ecx
shl eax, 4
mov edx, edi
mov dword [esp + 0x14], eax
mov ecx, edi
shr edx, 5
and ecx, 0x1f
mov esi, dword [eax + esi - 0x10]
xor eax, eax
inc eax
shl eax, cl
test dword [esi + edx*4], eax
je 0x1000f42f
mov eax, dword [esp + 0x4c]
lea ecx, [edi - 1]
mov esi, dword [esp + 0x14]
mov edx, ecx
mov dword [esp + 0x18], ecx
and ecx, 0x1f
shr edx, 5
mov esi, dword [esi + eax]
xor eax, eax
inc eax
shl eax, cl
test dword [esi + edx*4], eax
je 0x1000f42f
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx + eax - 0x10]
xor eax, eax
mov ecx, dword [esp + 0x18]
inc eax
mov edx, ecx
and ecx, 0x1f
shr edx, 5
shl eax, cl
test dword [esi + edx*4], eax
jne 0x1000f5b4
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x84]
dec eax
cmp edi, eax
jge 0x1000f4ac
mov eax, dword [esp + 0x4c]
mov edx, edi
shl ecx, 4
mov dword [esp + 0x14], ecx
shr edx, 5
mov esi, dword [ecx + eax - 0x10]
xor eax, eax
mov ecx, edi
inc eax
and ecx, 0x1f
shl eax, cl
test dword [esi + edx*4], eax
je 0x1000f4ac
mov eax, dword [esp + 0x4c]
lea ecx, [edi + 1]
mov esi, dword [esp + 0x14]
mov edx, ecx
mov dword [esp + 0x18], ecx
and ecx, 0x1f
shr edx, 5
mov esi, dword [esi + eax]
xor eax, eax
inc eax
shl eax, cl
test dword [esi + edx*4], eax
je 0x1000f4ac
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx + eax - 0x10]
xor eax, eax
mov ecx, dword [esp + 0x18]
inc eax
mov edx, ecx
and ecx, 0x1f
shr edx, 5
shl eax, cl
test dword [esi + edx*4], eax
jne 0x1000f5b4
mov ecx, dword [esp + 0xb8]
dec ecx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
cmp ecx, eax
jge 0x1000f5ba
test edi, edi
jle 0x1000f53d
mov eax, dword [esp + 0x4c]
mov edx, edi
shl ecx, 4
mov dword [esp + 0x14], ecx
shr edx, 5
mov esi, dword [ecx + eax + 0x10]
xor eax, eax
mov ecx, edi
inc eax
and ecx, 0x1f
shl eax, cl
test dword [esi + edx*4], eax
je 0x1000f535
mov eax, dword [esp + 0x4c]
lea ecx, [edi - 1]
mov esi, dword [esp + 0x14]
mov edx, ecx
mov dword [esp + 0x18], ecx
and ecx, 0x1f
shr edx, 5
mov esi, dword [esi + eax]
xor eax, eax
inc eax
shl eax, cl
test dword [esi + edx*4], eax
je 0x1000f535
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx + eax + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x18]
inc eax
mov edx, ecx
and ecx, 0x1f
shr edx, 5
shl eax, cl
test dword [esi + edx*4], eax
jne 0x1000f5b4
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
cmp ecx, eax
jge 0x1000f5ba
mov eax, dword [esp + 0x84]
dec eax
cmp edi, eax
jge 0x1000f5ba
mov eax, dword [esp + 0x4c]
mov edx, edi
shl ecx, 4
mov dword [esp + 0x10], ecx
shr edx, 5
mov esi, dword [ecx + eax + 0x10]
xor eax, eax
mov ecx, edi
inc eax
and ecx, 0x1f
shl eax, cl
test dword [esi + edx*4], eax
je 0x1000f5ba
mov esi, dword [esp + 0x10]
lea eax, [edi + 1]
mov edi, dword [esp + 0x4c]
mov edx, eax
mov ecx, eax
mov dword [esp + 0x18], eax
xor eax, eax
shr edx, 5
and ecx, 0x1f
inc eax
mov esi, dword [esi + edi]
shl eax, cl
test dword [esi + edx*4], eax
je 0x1000f5be
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov edx, ecx
shr edx, 5
and ecx, 0x1f
mov esi, dword [eax + edi + 0x10]
xor eax, eax
inc eax
shl eax, cl
test dword [esi + edx*4], eax
je 0x1000f5be
mov eax, dword [esp + 0x1c]
jmp 0x1000f5d6
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0xbc]
jle 0x1000f358
mov eax, ebx
push eax
push 0x1000b274
call fcn.100585c5
pop ecx
pop ecx
lea ecx, [esp + 0x4c]
call fcn.10014a5d
mov dword [esp + 0x20], ebx
jmp 0x1000f608
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0xcc]
mov dword [eax + ecx*4], 0xde9e5a93
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 1
jl 0x1000f5f2
lea eax, [esp + 0x130]
push eax
lea eax, [esp + 0x13c]
push eax
lea eax, [esp + 0x110]
push eax
lea eax, [esp + 0x120]
push eax
lea eax, [esp + 0x12c]
push eax
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0x144]
push eax
lea eax, [esp + 0x150]
push eax
lea eax, [esp + 0xec]
push eax
lea eax, [esp + 0x160]
push eax
lea eax, [esp + 0x168]
push eax
lea eax, [esp + 0x13c]
push eax
lea edx, [esp + 0x184]
lea ecx, [esp + 0x148]
call fcn.1000e8f8
or dword [esp + 0x1dc], 0xffffffff
add esp, 0x30
cmp dword [esp + 0xcc], 0
je 0x1000f6b9
push dword [esp + 0xcc]
call fcn.10058737
pop ecx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
push ebx
lea eax, [esp + 0x84]
push 0x7c08
push eax
call fcn.1001303f
add esp, 0xc
lea ecx, [esp + 0xe0]
push 3
pop esi
mov dword [esp + 0x38], esi
push 4
call fcn.10013d2b
mov dword [esp + 0x1ac], 7
lea ecx, [esp + 0x158]
mov dword [esp + 0x18], 0x1e6e2bf
mov dword [esp + 0x14], 0x8cf5a8
mov dword [esp + 0x14], ebx
push 4
call fcn.10013d2b
lea edx, [esp + 0xe0]
lea ecx, [esp + 0x34]
call fcn.1000e9d0
mov dword [esp + 0x34], ebx
jmp 0x1000f73a
mov eax, dword [esp + 0x34]
mov dword [esp + eax*4 + 0x194], 1
inc dword [esp + 0x34]
cmp dword [esp + 0x34], esi
jl 0x1000f727
mov dword [esp + 0x34], ebx
jmp 0x1000f75c
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x158]
mov dword [eax + ecx*4], 0x9c7c6f1f
inc dword [esp + 0x34]
cmp dword [esp + 0x34], 4
jl 0x1000f746
mov byte [esp + 0x2f], bl
cmp byte [esp + 0x2f], 0
je 0x1000f773
call fcn.1000e9ef
mov ecx, dword [esp + 0x38]
xor edx, edx
mov eax, dword [esp + 0x38]
add ecx, 0xa1fa
cmp eax, ecx
mov eax, dword [esp + 0xe0]
setne dl
xor ecx, ecx
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x38]
cmp eax, edx
mov eax, dword [esp + 0x194]
setg cl
xor edx, edx
add ecx, eax
mov eax, dword [esp + 0x18]
cmp ecx, eax
sete dl
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x14]
sub eax, 0x60d2f38d
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x158]
push ecx
mov dword [ecx + 4], eax
call fcn.10058737
or dword [esp + 0x1b0], 0xffffffff
pop ecx
push dword [esp + 0xe0]
mov dword [esp + 0x15c], ebx
mov dword [esp + 0x160], ebx
mov dword [esp + 0x164], ebx
call fcn.10058737
pop ecx
mov dword [esp + 0xe0], ebx
lea ecx, [esp + 0x164]
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0x18], 0xfffffff7
push esi
call fcn.10013d2b
mov dword [esp + 0x1ac], 8
lea ecx, [esp + 0x178]
mov dword [esp + 0x14], 0xd5d7
xor eax, eax
mov dword [esp + 0x18], 0x2ad015b0
inc eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x40], 0x3ebe1552
mov dword [esp + 0x30], 0xfffffffb
mov dword [esp + 0x38], ebx
mov dword [esp + 0x18], 0x3c6e85a6
mov dword [esp + 0x18], 0xffffffff
push eax
call fcn.10013d2b
mov dword [esp + 0x24], ebx
jmp 0x1000f89a
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x164]
mov dword [eax + ecx*4], 0x315362d
inc dword [esp + 0x24]
cmp dword [esp + 0x24], esi
jl 0x1000f884
mov dword [esp + 0x24], ebx
jmp 0x1000f8b9
mov eax, dword [esp + 0x24]
mov dword [esp + eax*4 + 0xb0], 0xbefc7127
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 2
jl 0x1000f8a6
lea edx, [esp + 0x178]
lea ecx, [esp + 0x24]
call fcn.1000e9f8
xor edx, edx
mov dword [esp + 0x24], ebx
inc edx
cmp dword [esp + 0x24], 2
jge 0x1000f8ef
mov eax, dword [esp + 0x24]
mov dword [esp + eax*4 + 0x18c], edx
inc dword [esp + 0x24]
jmp 0x1000f8d7
mov eax, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
mov eax, dword [esp + 0x164]
push 0
setge cl
mov dword [esp + 0xb4], ecx
or dword [eax + 4], 0xffffffff
mov dword [eax], edx
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x44]
sub eax, 0xe0bb
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
sub eax, 0xb5b2
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0xb8]
mov eax, dword [esp + 0x4c]
sub ecx, eax
mov eax, dword [esp + 0x17c]
mov dword [eax], ecx
mov eax, dword [esp + 0x18]
pop ecx
setne cl
add eax, ecx
xor ecx, ecx
imul eax, eax, 0x9862
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0x38]
cmp eax, 0x6635
mov eax, dword [esp + 0xb4]
setge cl
add eax, ecx
jne 0x1000f999
mov eax, dword [esp + 0x164]
cmp dword [eax], ebx
je 0x1000f99b
mov ebx, edx
mov eax, dword [esp + 0x38]
xor ecx, ecx
cmp ebx, eax
mov eax, dword [esp + 0xb4]
setl cl
xor ebx, ebx
cmp eax, ecx
mov eax, dword [esp + 0x40]
setg bl
xor edx, edx
cmp ebx, eax
mov eax, dword [esp + 0x48]
push dword [esp + 0x178]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [esp + 0xb8], ecx
call fcn.10058737
pop ecx
push dword [esp + 0x164]
call fcn.10058737
pop ecx
jmp 0x1000eaca
mov al, 1
mov ecx, dword [esp + 0x1a4]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret