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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1008d881
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x378
push ebx
push esi
push edi
push 4
pop esi
mov dword [esp + 0xdc], ecx
lea ecx, [esp + 0xa0]
push esi
mov dword [esp + 0xec], edx
call fcn.1001898a
mov dword [esp + 0x38], 0xf87b70d8
xor ebx, ebx
mov dword [esp + 0x28], 0x29adbd3d
mov dword [esp + 0xc], ebx
jmp 0x1001a8e5
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x6c], 0xffffffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x1001a8d5
push 0xfffffffffffffffa
mov dword [esp + 0x10], ebx
pop edx
jmp 0x1001a907
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xa0]
mov dword [eax + ecx*4], edx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x1001a8f5
push 1
mov dword [esp + 0x70], 0xa
pop esi
jmp 0x1001a974
mov dword [esp + 0x1c], 0x3d9532bb
mov dword [esp + 0x1c], 0x17
jmp 0x1001a969
mov dword [esp + 0x18], 0x580d416d
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x6c]
mov eax, dword [esp + 0x6c]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x74]
cmp eax, dword [esp + 0x6c]
jle 0x1001a956
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
xor ecx, ecx
cmp eax, esi
setge cl
mov dword [esp + 0x18], ecx
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0x18
jg 0x1001a92c
dec dword [esp + 0x6c]
cmp dword [esp + 0x6c], 0xffffffe5
jge 0x1001a91a
mov eax, dword [esp + 0xa0]
push 2
pop edi
mov dword [eax], edi
mov dword [esp + 0xc], 0x1de9829c
mov dword [esp + 0x28], 0x2e46a6f
mov dword [esp + 0xc], edi
cmp dword [esp + 0xc], ebx
jl 0x1001aa3f
mov dword [esp + 0x10], esi
mov dword [esp + 0x10], edi
cmp dword [esp + 0x10], ebx
jl 0x1001a9ce
mov eax, dword [esp + 0xa0]
mov eax, dword [eax]
mov ecx, dword [esp + eax*4 + 0x6c]
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x6c], ecx
dec dword [esp + 0x10]
jns 0x1001a9b3
mov eax, dword [esp + 0xa0]
xor edx, edx
mov eax, dword [eax]
mov eax, dword [esp + eax*4 + 0x6c]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0x6c]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0xa0]
mov eax, dword [eax]
mov dword [esp + eax*4 + 0x6c], ecx
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp ecx, eax
setge dl
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x28]
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], eax
dec dword [esp + 0xc]
jns 0x1001a9a5
mov eax, dword [esp + 0xa0]
dec dword [eax]
jns 0x1001a987
lea ecx, [esp + 0xa0]
call fcn.100191e5
mov dword [esp + 0x1c], ebx
jmp 0x1001aa73
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x368], 0x2eb90da1
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edi
jl 0x1001aa60
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], bl
je 0x1001aa9e
push 0x164a
push 0x1ea6
push 0x150e
push 0x6d2
push ebx
call dword [0x10683268]
mov edi, dword [0x10683278]
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], bl
je 0x1001aac5
push ebx
push 0x1bf3
push ebx
call edi
push eax
call dword [0x10683264]
push eax
call dword [0x1068306c]
mov dword [esp + 0xc], 0x6580
mov ecx, 0xffff
mov dword [esp + 0x10], 0xd53a38d0
mov dword [esp + 0x18], 0xfffffffb
mov dword [esp + 0x28], esi
mov dword [esp + 0x34], 0x33bc6c2d
mov dword [esp + 0x28], 0x8cdb5cf
mov dword [esp + 0x28], 0x102d
mov dword [esp + 0x38], 0xffffffff
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp ecx, eax
sbb eax, eax
add ecx, 0xfffffff8
inc eax
imul eax, dword [esp + 0xc]
cmp ecx, eax
mov eax, dword [esp + 0xc]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setge dl
xor ecx, ecx
sub edx, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0xd762
setl al
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], ebx
je 0x1001ab58
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
xor edx, edx
mov eax, dword [esp + 0xc]
cmp eax, 0xfecafe8
mov eax, dword [esp + 0xc]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0xc]
setg cl
xor edx, edx
test ecx, ecx
setns dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0xc]
mov edx, 0xffff
setne cl
mov dword [esp + 0x38], ecx
xor ecx, ecx
cmp dword [esp + 0x38], eax
setl cl
cmp ecx, edx
sbb eax, eax
inc eax
cmp edx, eax
sbb eax, eax
inc eax
imul eax, dword [esp + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
cmp dword [esp + 0xc], ebx
je 0x1001abca
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], 0x3038
xor edx, edx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
add eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x34]
cmp ecx, eax
push 4
pop eax
setge dl
lea ecx, [esp + 0xac]
mov dword [esp + 0x38], edx
push eax
call fcn.1001898a
mov dword [esp + 0x38c], ebx
lea ecx, [esp + 0x23c]
mov dword [esp + 0x20], 0x5e7a
mov dword [esp + 0x10], 0xa87013dc
mov dword [esp + 0x40], 0xfffffffd
mov dword [esp + 0x34], 0xcca6
mov dword [esp + 0x2c], 0xe20b
push 2
call fcn.1001898a
push 2
mov dword [esp + 0x10], ebx
pop edx
jmp 0x1001ac7e
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x188], 0x25b3b9da
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x1001ac6b
mov dword [esp + 0xc], ebx
jmp 0x1001aca0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x23c]
mov dword [eax + ecx*4], 0xfffffff8
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x1001ac8a
inc dword [esp + 0x34]
mov dword [esp + 0x10], edx
cmp dword [esp + 0x10], 0xfffffff6
je 0x1001adc4
mov edx, dword [esp + 0x23c]
mov edi, 0xfffc
mov dword [esp + 0x1c], 0xe1d6
xor ecx, ecx
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0xc], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], 0x5881f6c9
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
cmp eax, 0xddd5
setg cl
add ecx, 0x70aa
je 0x1001ad03
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], 0xe6ee
mov dword [esp + 0x188], esi
mov eax, dword [esp + 0x1c]
dec eax
sub eax, dword [esp + 0x10]
neg eax
sbb eax, eax
inc eax
cmp edi, eax
sbb eax, eax
neg eax
cmp eax, 0x5465
jg 0x1001ad31
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], 0x56cf6d70
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc], eax
cmp dword [esp + 0xc], ebx
je 0x1001ad53
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
cmp eax, esi
setle cl
cmp ecx, 0x89be67e7
mov dword [edx + 4], ecx
sbb eax, eax
inc eax
imul eax, dword [esp + 0x28]
sub eax, dword [esp + 0x24]
sub eax, dword [esp + 0x24]
je 0x1001ad85
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
add eax, dword [esp + 0x20]
jne 0x1001ad93
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], ebx
jmp 0x1001ada8
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x188], ebx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x1001ad99
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffff6
jne 0x1001acc5
mov edi, dword [0x10683278]
lea ecx, [esp + 0x23c]
call fcn.100191e5
mov dword [esp + 0x30], 0xf87b70d8
xor edx, edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], 0x68044455
mov dword [esp + 0x34], ebx
mov dword [esp + 0x28], 0xc3414b5
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x34], eax
imul ecx, dword [esp + 0x18], 0x7fe6
mov eax, dword [esp + 0x34]
cmp ecx, eax
setle dl
imul edx, dword [esp + 0x28]
test edx, edx
jne 0x1001ae22
cmp dword [esp + 0x20], ebx
je 0x1001ae2a
mov ecx, esi
cmp dword [esp + 0x34], ebx
jne 0x1001ae2c
mov ecx, ebx
mov eax, dword [esp + 0x28]
sub ecx, eax
mov dword [esp + 0x18], ecx
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001ae57
push 0x1258
push ebx
push 0xfb7
push 0x105
call dword [0x10683270]
mov dword [esp + 0x20], 0x29adbd3d
mov dword [esp + 0xc], ebx
jmp 0x1001ae75
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x54], 0xffffffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x1001ae65
push 4
mov dword [esp + 0x10], ebx
pop edx
jmp 0x1001ae9b
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xac]
mov dword [eax + ecx*4], 0xfffffffa
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x1001ae85
mov dword [esp + 0x54], 0xa
jmp 0x1001b3e8
mov dword [esp + 0x1c], 0x3d9532bb
lea ecx, [esp + 0x1c4]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x1c], 2
mov dword [esp + 0x20], 0xfffffff9
push esi
call fcn.1001898a
mov dword [esp + 0x38], esi
mov dword [esp + 0xc], ebx
jmp 0x1001aef4
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xec], 0x53494abc
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x1001aee1
mov dword [esp + 0xc], ebx
jmp 0x1001af16
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x1c4]
mov dword [eax + ecx*4], 0xfffffff8
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x1001af00
mov eax, dword [esp + 0x10]
xor edx, edx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
test eax, eax
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x10]
setns dl
xor ecx, ecx
cmp edx, eax
setne cl
imul ecx, dword [esp + 0x10]
cmp ecx, 2
sbb esi, esi
xor edx, edx
inc esi
add esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp ecx, eax
setne dl
xor eax, eax
cmp edx, esi
setg al
imul edx, eax, 0xfff7
mov eax, dword [esp + 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [esp + 0x10]
sete cl
xor edx, edx
cmp eax, ecx
mov eax, dword [esp + 0x10]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [esp + 0x20], ecx
xor ecx, ecx
mov eax, dword [esp + 0x20]
cmp eax, 0xffffffff
mov eax, dword [esp + 0x1c4]
setge cl
mov dword [eax], ecx
xor eax, eax
cmp ecx, 0x7b88
setl al
mov dword [esp + 0x38], eax
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x1c], 6
jle 0x1001afe6
mov eax, 0xffff
mov dword [esp + 0x20], eax
inc dword [esp + 0x20]
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 6
jg 0x1001afd3
lea ecx, [esp + 0x1c4]
call fcn.100191e5
mov dword [esp + 0x1c], 0x17
cmp dword [esp + 0x1c], 0x18
jle 0x1001b3e1
mov dword [esp + 0x2c], 0x571177e8
mov dword [esp + 0x38], 0x8951bb35
mov dword [esp + 0x2c], 0x13
jmp 0x1001b099
mov dword [esp + 0x38], 6
cmp dword [esp + 0x38], ebx
je 0x1001b044
mov dword [esp + 0x38], 0x4790
mov eax, dword [esp + 0x2c]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x38], eax
jmp 0x1001b095
push 3
lea ecx, [esp + 0xf4]
call fcn.1001898a
mov dword [esp + 0x10], ebx
jmp 0x1001b06e
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xf0]
mov dword [eax + ecx*4], 0x840eb449
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1001b058
mov eax, dword [esp + 0xf0]
lea ecx, [esp + 0xf0]
mov dword [esp + 0x38], 1
cmp dword [eax + 8], ebx
jne 0x1001b0a6
call fcn.100191e5
inc dword [esp + 0x2c]
cmp dword [esp + 0x2c], 0x1d
jge 0x1001b01f
jmp 0x1001b0ab
call fcn.100191e5
mov dword [esp + 0x34], 0x580d416d
lea ecx, [esp + 0x218]
mov dword [esp + 0xc], 0xe0a8eac8
push 3
call fcn.1001898a
xor edx, edx
inc edx
mov byte [esp + 0x38c], dl
mov dword [esp + 0x24], 7
mov dword [esp + 0x18], 0xfffffff6
mov dword [esp + 0x3c], 0xfad6770d
mov dword [esp + 0x10], ebx
jmp 0x1001b103
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x218]
mov dword [eax + ecx*4], edx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1001b0f1
mov dword [esp + 0x10], ebx
jmp 0x1001b123
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xd8], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1001b110
mov dword [esp + 0xc], ebx
cmp dword [esp + 0xc], 0x17
jg 0x1001b373
push 2
pop ecx
mov dword [esp + 0x10], 0x76942a1e
mov dword [esp + 0x20], 0xfffffffb
mov dword [esp + 0x44], ecx
mov dword [esp + 0x28], 0x70a2c9ea
mov dword [esp + 0x3c], 0xfddca65d
mov dword [esp + 0x10], ecx
cmp dword [esp + 0x10], ebx
jl 0x1001b364
mov eax, 0xda79815c
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x40], 0x1401cea
mov dword [esp + 0x40], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x20], edx
mov dword [esp + 0x40], 8
mov dword [esp + 0x40], ebx
mov dword [esp + 0x2a4], eax
mov dword [esp + 0x2a8], eax
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x2b0], eax
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0x2c], ebx
jl 0x1001b35a
mov esi, dword [esp + 0x218]
movdqa xmm0, xmmword [0x100081e0]
lea ecx, [esp + 0x138]
mov dword [esp + 0x4c], 0x3a7e
push 0xfffffffffffffff8
pop eax
push dword [esp + 0xd8]
mov dword [esp + 0x24], 0x505bc980
mov dword [esp + 0x44], eax
mov dword [esp + 0x44], 0xa258d3b3
mov dword [esp + 0x44], 0x16ce65c5
mov dword [esp + 0x44], 0x85b8eeb3
mov dword [esp + 0x44], eax
lea eax, [esp + 0x328]
push eax
lea eax, [esp + 0x31c]
mov dword [esp + 0x48], 0x9949389d
push eax
mov dword [esp + 0x50], 0x3a4aa3e8
push ebx
movdqu xmmword [esp + 0x324], xmm0
mov dword [esp + 0x148], ebx
mov dword [esp + 0x14c], ebx
mov dword [esp + 0x150], ebx
call fcn.10019f3a
mov dword [esp + 0x24], ebx
jmp 0x1001b271
mov eax, dword [esp + 0x24]
mov dword [esp + eax*4 + 0x9c], 0x3a435fa7
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 1
jl 0x1001b25e
mov eax, dword [esp + 0x10]
xor edx, edx
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x4c]
cmp eax, 0x3e469209
mov eax, dword [esp + 0x10]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x24]
jg 0x1001b2bd
cmp dword [esp + 0x2c], ebx
jne 0x1001b2bd
mov eax, ebx
jmp 0x1001b2c0
xor eax, eax
inc eax
mov dword [esp + 0x20], eax
xor ecx, ecx
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x1efe0c23
setl cl
xor eax, eax
cmp ecx, 0x21692869
setle al
xor ecx, ecx
cmp eax, 0x9909d073
mov eax, dword [esp + 0x2c]
setne cl
add eax, ecx
xor ecx, ecx
cmp dword [esi + 8], eax
setl cl
mov dword [esp + 0x20], ecx
cmp dword [esp + 0x24], ebx
jl 0x1001b323
inc dword [esp + 0x28]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x138]
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x44], eax
call fcn.100191e5
dec dword [esp + 0x2c]
jns 0x1001b1cb
xor edx, edx
mov eax, 0xda79815c
push 2
inc edx
pop ecx
dec dword [esp + 0x10]
jns 0x1001b172
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x17
jle 0x1001b13b
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
sub ecx, eax
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x218]
mov byte [esp + 0x38c], bl
call fcn.100191e5
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0x54]
jle 0x1001b3be
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
xor esi, esi
xor ecx, ecx
inc esi
cmp eax, esi
setge cl
mov dword [esp + 0x34], ecx
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0x18
jg 0x1001b005
jmp 0x1001b3e4
xor esi, esi
inc esi
dec dword [esp + 0x54]
cmp dword [esp + 0x54], 0xffffffe5
jge 0x1001aeae
mov dword [esp + 0xc], esi
mov dword [esp + 0x40], 0xb6bd0d4
mov dword [esp + 0x24], ebx
cmp dword [esp + 0x24], esi
jge 0x1001b420
mov ecx, 0xffff
mov eax, dword [esp + 0x24]
mov dword [esp + eax*4 + 0x48], ecx
inc dword [esp + 0x24]
cmp dword [esp + 0x24], esi
jl 0x1001b40e
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001b432
push ebx
call dword [0x10683250]
mov dword [esp + 0xc], ebx
cmp dword [esp + 0xc], ebx
jl 0x1001b5a9
push 0xfffffffffffffff7
pop esi
mov dword [esp + 0x24], 2
xor edx, edx
mov dword [esp + 0x1c], 0xdac0faab
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + eax*4 + 0x48]
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x48], ecx
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0x48]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0x48]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0x48]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
cmp eax, ecx
mov eax, dword [esp + 0xc]
setl dl
sub edx, eax
je 0x1001b579
cmp dword [esp + 0xc], ebx
je 0x1001b579
mov dword [esp + 0x3c], 0xa025
mov dword [esp + 0x1c], ebx
jmp 0x1001b553
mov dword [esp + 0x24], ebx
cmp dword [esp + 0x24], ebx
jl 0x1001b549
push 4
pop eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x18], ebx
jl 0x1001b543
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001b520
push ebx
push 0xb5d
push 0x25ef
push 0x79c
push 0x7d5
push 0x1e8a
push 0x1d50
push 0x29b
push 0x822
push ebx
push ebx
call dword [0x10683014]
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001b53a
push ebx
push 0x1597
call edi
push eax
call dword [0x1068326c]
dec dword [esp + 0x18]
jns 0x1001b4e4
push 4
pop eax
dec dword [esp + 0x24]
jns 0x1001b4d6
cmp dword [esp + 0x3c], ebx
jne 0x1001b55e
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0x1c
jl 0x1001b4c9
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001b59c
push 0xec2
call edi
push eax
call dword [0x10683274]
jmp 0x1001b59c
mov dword [esp + 0x178], esi
mov dword [esp + 0x17c], esi
mov dword [esp + 0x180], esi
mov dword [esp + 0x184], esi
inc dword [esp + 0x17c]
dec dword [esp + 0xc]
jns 0x1001b443
xor esi, esi
inc esi
mov eax, dword [esp + 0xac]
mov dword [eax], 2
mov dword [esp + 0x2c], 0x1de9829c
mov dword [esp + 0x20], 0x2e46a6f
mov dword [esp + 0x2c], 2
cmp dword [esp + 0x2c], ebx
jl 0x1001b954
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 0x10], ebx
mov dword [esp + 0x24], ebx
jmp 0x1001b5fd
mov eax, dword [esp + 0x24]
mov dword [esp + eax*4 + 0xe0], 0x963ba20b
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 2
jl 0x1001b5ea
mov dword [esp + 0xc], 0x18
jmp 0x1001b618
cmp dword [esp + 0xc], ebx
jne 0x1001b61f
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x1b
jge 0x1001b60e
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], ebx
je 0x1001b682
mov dword [esp + 0xc], ebx
jmp 0x1001b677
mov eax, dword [esp + 0xc]
cmp dword [esp + eax*4 + 0xe0], ebx
jne 0x1001b794
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001b673
push 0x23f9
push 0x1bb6
push 0xbe5
push 0x1948
call edi
push eax
call dword [0x10683264]
push eax
call dword [0x10683068]
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jle 0x1001b633
jmp 0x1001b794
mov dword [esp + 0x28], 8
lea ecx, [esp + 0x1dc]
push esi
call fcn.1001898a
mov dword [esp + 0x24], ebx
jmp 0x1001b6b3
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x1dc]
mov dword [eax + ecx*4], 0x98c245e3
inc dword [esp + 0x24]
cmp dword [esp + 0x24], esi
jl 0x1001b69d
mov dword [esp + 0x10], esi
cmp dword [esp + 0x10], ebx
jl 0x1001b76f
mov dword [esp + 0x20], 0x6dfc9b99
mov dword [esp + 0x20], 0xbfc75daa
mov dword [esp + 0x18], 0x14a9c79e
mov eax, dword [esp + 0xc]
cmp dword [esp + 0x18], esi
je 0x1001b6ed
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x20], eax
mov ecx, 0x7eb6
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
push 1
mov esi, dword [esp + eax*4 + 0xe4]
mov dword [esp + 0xe4], esi
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c]
sub ecx, eax
mov eax, dword [esp + 0x24]
cmp eax, ecx
mov eax, dword [esp + 0x1c]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x1c]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x2c]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp esi, ecx
pop esi
setge al
xor ecx, ecx
cmp eax, 0xfffffffa
mov eax, dword [esp + 0x1dc]
setne cl
mov dword [eax], ecx
dec dword [esp + 0x10]
jns 0x1001b6c7
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001b788
push 0x26f3
push ebx
push ebx
push ebx
call dword [0x10683178]
lea ecx, [esp + 0x1dc]
call fcn.100191e5
mov dword [esp + 0x10], esi
mov dword [esp + 0x1c], 6
mov dword [esp + 0x24], ebx
jmp 0x1001b7b9
mov eax, dword [esp + 0x24]
mov dword [esp + eax*4 + 0x354], 2
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 3
jl 0x1001b7a6
mov dword [esp + 0x1c], ebx
jmp 0x1001b7d7
mov eax, dword [esp + 0x1c]
cmp dword [esp + eax*4 + 0x354], ebx
jne 0x1001b7de
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 2
jle 0x1001b7c6
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001b7f6
push 0x101c
push ebx
push ebx
call dword [0x10683144]
mov dword [esp + 0x10], 2
cmp dword [esp + 0x10], ebx
jl 0x1001b81f
mov eax, dword [esp + 0xac]
mov eax, dword [eax]
mov ecx, dword [esp + eax*4 + 0x54]
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x54], ecx
dec dword [esp + 0x10]
jns 0x1001b804
mov dword [esp + 0x24], 0xfffffff6
xor edx, edx
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x28], 0xa835a23e
mov dword [esp + 0x1c], 0x5c6eff3d
mov dword [esp + 0x20], 3
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
cmp eax, ecx
setg dl
mov dword [esp + 0x20], edx
xor edx, edx
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
inc ecx
cmp ecx, eax
mov eax, dword [esp + 0x28]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0x540ee1d4
setge al
xor ecx, ecx
sub eax, dword [esp + 0x24]
imul eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x24]
jl 0x1001b8bb
mov eax, dword [esp + 0x18]
cmp eax, 0xb347d170
setne cl
mov dword [esp + 0x18], ecx
jmp 0x1001b8e3
push 4
pop eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], 0x284818a8
imul eax, dword [esp + 0x3c], 3
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
cmp eax, 0xf1a0197
setge cl
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0xac]
xor edx, edx
mov eax, dword [eax]
mov eax, dword [esp + eax*4 + 0x54]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + eax*4 + 0x54]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0xac]
mov eax, dword [eax]
mov dword [esp + eax*4 + 0x54], ecx
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp ecx, eax
setge dl
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x20]
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], eax
dec dword [esp + 0x2c]
jns 0x1001b5d8
mov eax, dword [esp + 0xac]
dec dword [eax]
jns 0x1001b5b6
or dword [esp + 0x38c], 0xffffffff
lea ecx, [esp + 0xac]
call fcn.100191e5
mov dword [esp + 0x1c], 8
lea ecx, [esp + 0x28c]
push 3
mov dword [esp + 0x34], 0xffffffff
pop eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], 0xfdc8dfba
mov dword [esp + 0x3c], 0x4a520274
mov dword [esp + 0x40], 0xb17d72b9
push eax
call fcn.1001898a
push 2
pop eax
mov dword [esp + 0x38c], eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x40], 0xc93e
mov dword [esp + 0x40], esi
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], eax
mov dword [esp + 0x19c], eax
mov dword [esp + 0x24], ebx
jmp 0x1001ba05
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28c]
mov dword [eax + ecx*4], 0xe3e45bbb
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 3
jl 0x1001b9ef
mov dword [esp + 0x1c], ebx
jmp 0x1001ba84
push esi
lea ecx, [esp + 0x284]
call fcn.1001898a
mov dword [esp + 0x24], ebx
jmp 0x1001ba37
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x280]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x24]
cmp dword [esp + 0x24], esi
jl 0x1001ba25
mov eax, dword [esp + 0x1c]
xor ecx, ecx
cmp eax, 4
setl cl
neg ecx
jne 0x1001ba55
mov edx, ebx
cmp dword [esp + 0x1c], ebx
je 0x1001ba57
mov edx, esi
mov eax, dword [esp + 0x30]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x44]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp edx, ecx
lea ecx, [esp + 0x280]
sete al
mov dword [esp + 0x3c], eax
call fcn.100191e5
dec dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xffffffe4
jg 0x1001ba12
dec dword [esp + 0x190]
lea ecx, [esp + 0x28c]
or dword [esp + 0x38c], 0xffffffff
call fcn.100191e5
push 4
pop eax
push eax
lea ecx, [esp + 0x228]
call fcn.1001898a
mov dword [esp + 0x38c], 3
lea ecx, [esp + 0xfc]
push 4
mov dword [esp + 0x1c], 9
pop eax
mov dword [esp + 0x1c], 0x4edd6794
mov dword [esp + 0x2c], 0x996bd0c7
mov dword [esp + 0x20], 0xf98e72cc
push eax
call fcn.1001898a
push 4
pop edx
mov byte [esp + 0x38c], dl
mov eax, 0xbdb3881a
mov dword [esp + 0x28], esi
mov dword [esp + 0x4c], 0xfffffffa
mov dword [esp + 0x264], eax
mov dword [esp + 0x268], eax
mov dword [esp + 0x26c], eax
mov dword [esp + 0x270], eax
mov dword [esp + 0xc], ebx
jmp 0x1001bb3e
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x78], 0xfffffffe
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x1001bb2e
mov dword [esp + 0xc], ebx
jmp 0x1001bb61
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x224]
mov dword [eax + ecx*4], 0xe83c773
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x1001bb4b
mov dword [esp + 0xc], ebx
jmp 0x1001bb83
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xfc]
mov dword [eax + ecx*4], 0x2f801b02
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x1001bb6d
mov esi, dword [esp + 0x224]
mov dword [esi + 0xc], 2
mov dword [esp + 0xc], 0xb11accba
lea ecx, [esp + 0x114]
push 1
call fcn.1001898a
mov dword [esp + 0x34], 0xd8475761
xor edx, edx
mov dword [esp + 0x20], 0xdc1aabb7
inc edx
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x3c], 0x5494
mov dword [esp + 0x44], 0x58d4
mov dword [esp + 0x10], ebx
jmp 0x1001bbf0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x114]
mov dword [eax + ecx*4], edx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1001bbde
push 4
mov dword [esp + 0x14], ebx
pop ecx
jmp 0x1001bc12
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x2c0], 0x1a91f101
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jl 0x1001bbff
mov dword [esp + 0xc], ebx
jmp 0x1001bd55
mov dword [esp + 0x24], ebx
jmp 0x1001bc3a
mov eax, dword [esp + 0x24]
mov dword [esp + eax*4 + 0x160], 0x3e3585ca
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 2
jl 0x1001bc27
mov eax, dword [esp + 0xc]
cmp dword [esp + eax*4 + 0x78], ebx
jne 0x1001bc78
mov eax, dword [esp + 0xc]
cmp dword [esp + eax*4 + 0x78], ebx
jne 0x1001bc5d
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0x78]
mov eax, dword [esp + 0x34]
xor ecx, ecx
cmp eax, edx
setle cl
xor eax, eax
cmp ecx, 0xb236
setge al
dec eax
jne 0x1001bc78
mov edx, ebx
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0x78]
cmp edx, eax
mov eax, dword [esp + 0x114]
setl cl
mov dword [esp + 0x164], ecx
cmp dword [eax], ebx
jne 0x1001bd30
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0x78]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0x78]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x114]
cmp dword [eax], 0xbffa
setne cl
cmp ecx, 8
jb 0x1001bcd7
mov eax, dword [esp + 0x80]
mov eax, dword [esp + 0x34]
xor ecx, ecx
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0x78]
cmp eax, 2
sete cl
sub ecx, dword [esi + 0xc]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x2c4], ecx
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0x78]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0x78]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0x78]
xor eax, eax
cmp dword [esi + 8], 0x5a815809
setle al
sub eax, 0xfff8
mov dword [esp + 0x2c], eax
jne 0x1001bd30
xor edx, edx
mov ecx, ebx
inc edx
jmp 0x1001bd35
xor edx, edx
inc edx
mov ecx, edx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x160], eax
add eax, ecx
je 0x1001bd4b
mov eax, edx
cmp dword [esp + 0xc], ebx
jne 0x1001bd4d
mov eax, ebx
mov dword [esp + 0x20], eax
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jle 0x1001bc21
cmp dword [esp + 0x30], ebx
je 0x1001bd96
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov eax, dword [esp + 0x2c4]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
test eax, eax
setns cl
mov dword [esp + 0x2c], ecx
imul eax, dword [esp + 0x2c], 0x49da
test eax, eax
mov eax, edx
jne 0x1001bd98
mov eax, ebx
xor ecx, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
mov eax, dword [esp + 0x18]
setge cl
cmp ecx, 0x8cfe7a21
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [esp + 0x44]
setl dl
sub edx, 0x1551026
neg edx
sbb edx, edx
inc edx
sub edx, dword [esi + 0xc]
neg edx
sbb edx, edx
inc edx
mov dword [esp + 0x30], edx
xor edx, edx
cmp dword [esp + 0x30], eax
mov eax, dword [esp + 0x34]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x34]
setle cl
xor edx, edx
cmp ecx, dword [esi + 4]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
add ecx, dword [esp + 0x2c4]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x114]
call fcn.100191e5
dec dword [esi + 0xc]
jns 0x1001bb97
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov dword [esi + 0xc], eax
dec dword [esp + 0x28]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x78]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp dword [esi + 4], eax
mov eax, dword [esp + 0x18]
setg cl
xor edx, edx
cmp ecx, eax
mov dword [esi + 0xc], ecx
mov esi, dword [esp + 0xfc]
mov eax, dword [esp + 0x20]
setne dl
xor ecx, ecx
push 0xfffffffffffffffa
add edx, dword [esi + 4]
sub edx, eax
add edx, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp edx, eax
pop eax
setge cl
cmp eax, ecx
sbb eax, eax
inc eax
add eax, dword [esp + 0x4c]
cmp eax, dword [esp + 0x268]
jne 0x1001be91
mov eax, dword [esp + 0xfc]
cmp dword [eax], ebx
jne 0x1001be91
mov edx, ebx
jmp 0x1001be94
xor edx, edx
inc edx
xor ecx, ecx
mov dword [esp + 0x2c], 0xea3e
mov eax, dword [esp + 0x1c]
cmp edx, eax
mov eax, dword [esp + 0x2c]
setg cl
sub eax, ecx
lea ecx, [esp + 0xfc]
mov dword [esi + 4], eax
call fcn.100191e5
or dword [esp + 0x38c], 0xffffffff
lea ecx, [esp + 0x224]
call fcn.100191e5
mov dword [esp + 0x1c], 8
lea ecx, [esp + 0x274]
push 3
mov dword [esp + 0x34], 0xffffffff
pop eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], 0xfdc8dfba
mov dword [esp + 0x3c], 0x4a520274
mov dword [esp + 0x40], 0xb17d72b9
push eax
call fcn.1001898a
mov dword [esp + 0x38c], 5
xor esi, esi
mov dword [esp + 0x40], ebx
inc esi
mov dword [esp + 0x40], 0xc93e
mov dword [esp + 0x40], esi
push 2
pop eax
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], eax
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], eax
mov dword [esp + 0x18], ebx
jmp 0x1001bf65
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x274]
mov dword [eax + ecx*4], 0xe3e45bbb
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x1001bf4f
mov dword [esp + 0x1c], ebx
jmp 0x1001bfe4
push esi
lea ecx, [esp + 0x2d4]
call fcn.1001898a
mov dword [esp + 0x18], ebx
jmp 0x1001bf97
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x2d0]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x1001bf85
mov eax, dword [esp + 0x1c]
xor ecx, ecx
cmp eax, 4
setl cl
neg ecx
jne 0x1001bfb5
mov edx, ebx
cmp dword [esp + 0x1c], ebx
je 0x1001bfb7
mov edx, esi
mov eax, dword [esp + 0x30]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x44]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp edx, ecx
lea ecx, [esp + 0x2d0]
sete al
mov dword [esp + 0x3c], eax
call fcn.100191e5
dec dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xffffffe4
jg 0x1001bf72
dec dword [esp + 0x168]
lea ecx, [esp + 0x274]
or dword [esp + 0x38c], 0xffffffff
call fcn.100191e5
mov dword [esp + 0x20], 0x92443250
lea ecx, [esp + 0x1f4]
mov dword [esp + 0x10], 0xc4ab274b
mov dword [esp + 0x20], ebx
mov dword [esp + 0x30], 0xc9e5
push 2
call fcn.1001898a
mov dword [esp + 0x18], ebx
jmp 0x1001c04c
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1f4]
mov dword [eax + ecx*4], 0x4f27d270
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x1001c036
mov dword [esp + 0x20], 0xffffffff
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
imul eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], ebx
jmp 0x1001c097
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1f4]
cmp dword [eax + ecx*4], ebx
jne 0x1001c09d
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jle 0x1001c083
lea ecx, [esp + 0x1f4]
call fcn.100191e5
push 4
pop eax
push eax
lea ecx, [esp + 0x94]
call fcn.1001898a
push 2
lea ecx, [esp + 0x210]
mov dword [esp + 0x390], 6
call fcn.1001898a
mov dword [esp + 0x40], 0x260417be
mov dword [esp + 0x18], ebx
jmp 0x1001c0f2
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20c]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x1001c0e0
mov eax, dword [esp + 0x20c]
lea ecx, [esp + 0x20c]
mov dword [eax + 4], ebx
call fcn.100191e5
push 4
pop eax
push eax
lea ecx, [esp + 0x1b0]
call fcn.1001898a
mov byte [esp + 0x38c], 7
lea ecx, [esp + 0x12c]
push 4
mov dword [esp + 0x28], 9
pop eax
mov dword [esp + 0x1c], 0x4edd6794
mov dword [esp + 0x2c], 0x996bd0c7
mov dword [esp + 0x20], 0xf98e72cc
push eax
call fcn.1001898a
mov byte [esp + 0x38c], 8
mov dword [esp + 0x28], esi
push 0xfffffffffffffffa
pop eax
mov dword [esp + 0x4c], eax
mov eax, 0xbdb3881a
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], eax
mov dword [esp + 0x25c], eax
mov dword [esp + 0x260], eax
mov dword [esp + 0xc], ebx
jmp 0x1001c1a4
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x84], 0xfffffffe
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x1001c191
push 4
mov dword [esp + 0x10], ebx
pop edx
jmp 0x1001c1ca
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x1ac]
mov dword [eax + ecx*4], 0xe83c773
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x1001c1b4
mov dword [esp + 0xc], ebx
jmp 0x1001c1ec
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x12c]
mov dword [eax + ecx*4], 0x2f801b02
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x1001c1d6
mov esi, dword [esp + 0x1ac]
mov dword [esi + 0xc], 2
mov dword [esp + 0xc], 0xb11accba
lea ecx, [esp + 0x108]
push 1
call fcn.1001898a
mov dword [esp + 0x34], 0xd8475761
xor edx, edx
mov dword [esp + 0x20], 0xdc1aabb7
inc edx
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x3c], 0x5494
mov dword [esp + 0x44], 0x58d4
mov dword [esp + 0x10], ebx
jmp 0x1001c259
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x108]
mov dword [eax + ecx*4], edx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1001c247
push 4
mov dword [esp + 0x14], ebx
pop ecx
jmp 0x1001c27b
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x2e8], 0x1a91f101
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jl 0x1001c268
mov dword [esp + 0xc], ebx
jmp 0x1001c3dc
mov dword [esp + 0x18], ebx
jmp 0x1001c2a3
cmp dword [esp + 0x18], 2
jl 0x1001c290
cmp dword [esp + 0xc], 2
jle 0x1001c28a
cmp dword [esp + 0x30], ebx
je 0x1001c41d
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov eax, dword [esp + 0x2ec]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
test eax, eax
setns cl
mov dword [esp + 0x2c], ecx
imul eax, dword [esp + 0x2c], 0x49da
test eax, eax
mov eax, edx
jne 0x1001c41f
mov eax, ebx
xor ecx, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
mov eax, dword [esp + 0x24]
setge cl
cmp ecx, 0x8cfe7a21
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [esp + 0x44]
setl dl
sub edx, 0x1551026
neg edx
sbb edx, edx
inc edx
sub edx, dword [esi + 0xc]
neg edx
sbb edx, edx
inc edx
mov dword [esp + 0x30], edx
xor edx, edx
cmp dword [esp + 0x30], eax
mov eax, dword [esp + 0x34]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x34]
setle cl
xor edx, edx
cmp ecx, dword [esi + 4]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
add ecx, dword [esp + 0x2ec]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x108]
call fcn.100191e5
dec dword [esi + 0xc]
jns 0x1001c200