Function at 0x100281f0
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x304
mov ecx, dword [esp + 0x30c]
mov eax, dword [esp + 0x308]
push ebx
xor ebx, ebx
cmp word [ecx], 0x40
push edi
mov edi, dword [eax + 0xc]
mov dword [esp + 0x38], ebx
jbe 0x10028230
push 0x40
push str.at_most__d_tables_in_a_join
push eax
call fcn.10017590
add esp, 0xc
pop edi
xor eax, eax
pop ebx
add esp, 0x304
ret
push ebp
push esi
push 0x104
lea edx, [esp + 0x214]
push ebx
push edx
call fcn.10041850
mov eax, dword [esp + 0x324]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x32c]
lea ecx, [esp + 0x21c]
push 0x3d
mov dword [esp + 0x7c], ecx
push eax
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x94]
push ecx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], 0xa
mov dword [esp + 0x90], edx
call fcn.1000f2a0
mov edx, dword [esp + 0x334]
movsx esi, word [edx]
imul esi, esi, 0x4c
add esi, 0x68
xor ebp, ebp
add esp, 0x18
cmp esi, ebx
mov dword [esp + 0x64], ebp
jle 0x100282e1
cmp dword [0x100593ac], ebx
je 0x100282bc
cmp dword [0x100593b8], ebx
jg 0x100282e1
push esi
call fcn.10041469
mov ebp, eax
add esp, 4
cmp ebp, ebx
mov dword [esp + 0x64], ebp
jne 0x100282d6
call fcn.10008ea0
jmp 0x100282e1
push esi
push ebx
push ebp
call fcn.10041850
add esp, 0xc
cmp dword [0x100593ac], ebx
je 0x100282f5
cmp dword [0x100593b8], ebx
jg 0x100283ce
mov esi, dword [esp + 0x31c]
movsx eax, word [esi]
mov ecx, dword [esp + 0x318]
push edi
mov dword [ebp + 0x14], eax
mov dword [ebp], ecx
mov dword [ebp + 4], esi
call fcn.10011eb0
add esp, 4
cmp dword [esp + 0x320], ebx
mov dword [ebp + 0x10], eax
je 0x1002835b
cmp word [esi], bx
je 0x1002833d
mov edx, dword [esp + 0x320]
push edx
call fcn.1000a220
add esp, 4
test eax, eax
je 0x1002835b
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x320]
mov edx, dword [esp + 0x318]
push 1
push eax
push ecx
push edx
call fcn.100245a0
add esp, 0x10
movsx ecx, word [esi]
cmp ecx, ebx
jle 0x10028395
lea eax, [esi + 0x20]
mov dword [esp + 0x38], ecx
lea esp, [esp]
mov ecx, dword [eax]
mov edx, dword [esp + 0x210]
mov dword [esp + edx*4 + 0x214], ecx
mov ecx, 1
add dword [esp + 0x210], ecx
add eax, 0x30
sub dword [esp + 0x38], ecx
jne 0x10028370
mov eax, dword [esp + 0x70]
add eax, 0xffffffff
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x100283be
mov eax, dword [esp + 0x14]
push eax
lea ecx, [esp + 0x6c]
push ecx
push esi
call fcn.1001ca50
add esp, 0xc
sub dword [esp + 0x14], 1
jns 0x100283a4
cmp dword [0x100593ac], ebx
je 0x100283ee
cmp dword [0x100593b8], ebx
jle 0x100283ee
lea edx, [esp + 0x68]
push edx
call fcn.1000f180
push ebp
call fcn.1000abc0
add esp, 8
pop esi
pop ebp
pop edi
xor eax, eax
pop ebx
add esp, 0x304
ret
or eax, 0xffffffff
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x48], eax
movsx eax, word [esi]
add ebp, 0x1c
cmp eax, ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x10], ebp
jle 0x100286e1
jmp 0x10028420
mov ebp, dword [esp + 0x1c]
fld qword [0x10054528]
mov edx, dword [esp + 0x31c]
fstp qword [esp + 0x5c]
lea ecx, [ebp + ebp*2]
shl ecx, 4
cmp ebp, eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x38], ebx
lea esi, [ecx + edx + 8]
jge 0x1002861f
mov ecx, dword [esp + 0x64]
mov eax, ebp
imul eax, eax, 0x4c
lea edx, [eax + ecx + 0x64]
mov dword [esp + 0x14], edx
lea ecx, [ecx]
mov al, byte [esi + 0x15]
and al, 0xa
neg al
sbb eax, eax
neg eax
cmp dword [esp + 0x38], ebx
mov dword [esp + 0x44], eax
je 0x1002848d
cmp eax, ebx
jne 0x1002861f
mov edx, dword [esp + 0x210]
xor ecx, ecx
cmp edx, ebx
jle 0x100284b0
mov eax, dword [esi + 0x18]
lea ecx, [ecx]
cmp dword [esp + ecx*4 + 0x214], eax
je 0x100284d4
add ecx, 1
cmp ecx, edx
jl 0x100284a0
xor eax, eax
xor edx, edx
and eax, dword [esp + 0x2c]
and edx, dword [esp + 0x30]
or eax, edx
jne 0x100284e2
cmp ebp, dword [esp + 0x1c]
jne 0x10028602
add dword [esp + 0x1c], 1
jmp 0x10028602
mov eax, 1
xor edx, edx
call fcn.10041980
jmp 0x100284b4
mov eax, dword [esi + 0xc]
cmp byte [eax + 0x39], bl
je 0x1002856c
mov eax, dword [esp + 0x324]
cmp eax, ebx
je 0x100284fd
mov eax, dword [eax]
jmp 0x100284ff
xor eax, eax
mov ecx, dword [esp + 0x14]
xor edx, edx
cmp dword [esp + 0x50], ebx
push ecx
mov ecx, dword [esp + 0x30]
sete dl
push edx
push eax
mov eax, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x328]
push ecx
push esi
lea edx, [esp + 0x80]
push edx
push eax
call fcn.1001d430
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx]
add esp, 0x20
cmp ecx, ebx
mov dword [esp + 0x28], 0x800000
je 0x10028551
cmp dword [ecx + 0x20], ebx
je 0x10028551
mov dword [esp + 0x28], 0x900000
fld qword [0x10053d20]
mov dword [esp + 0x58], ebx
fcom st(1)
mov dword [esp + 0x54], ebx
fnstsw ax
test ah, 5
jp 0x100285ba
fstp st(1)
jmp 0x100285bc
cmp dword [esp + 0x50], ebx
jne 0x10028581
mov eax, dword [esp + 0x324]
cmp eax, ebx
je 0x10028581
mov eax, dword [eax]
jmp 0x10028583
xor eax, eax
lea edx, [esp + 0x54]
push edx
lea ecx, [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x60]
push edx
push eax
mov eax, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x32c]
push ecx
push esi
lea edx, [esp + 0x84]
push edx
push eax
call fcn.10027970
add esp, 0x24
xor ecx, ecx
jmp 0x100285bc
fstp st(0)
fld qword [esp + 0x5c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x100285fa
mov edx, dword [esp + 0x58]
fstp qword [esp + 0x5c]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x38], 1
mov dword [esp + 0x34], edx
mov dword [esp + 0x24], ebp
mov dword [eax + 0x44], ecx
jmp 0x100285fc
fstp st(0)
cmp dword [esp + 0x44], ebx
jne 0x1002861f
mov ecx, dword [esp + 0x31c]
movsx edx, word [ecx]
add dword [esp + 0x14], 0x4c
add ebp, 1
add esi, 0x30
cmp ebp, edx
jl 0x10028470
mov ecx, dword [esp + 0x20]
test ecx, 0x100000
je 0x10028634
mov eax, dword [esp + 0x324]
mov dword [eax], ebx
mov eax, dword [esp + 0x10]
and dword [esp + 0x48], ecx
mov edx, dword [esp + 0x34]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x3c]
cmp ecx, ebx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x38], edx
mov dword [eax + 0x40], ebx
mov dword [eax + 0x3c], ebx
je 0x1002866a
mov ecx, dword [esp + 0x318]
mov edx, dword [ecx + 0x1c]
mov dword [eax + 0x18], edx
add dword [ecx + 0x1c], 1
jmp 0x10028671
mov dword [eax + 0x18], 0xffffffff
mov eax, dword [esp + 0x210]
mov esi, dword [esp + 0x24]
xor ecx, ecx
cmp eax, ebx
jle 0x100286a7
mov ebp, dword [esp + 0x31c]
lea edx, [esi + esi*2]
shl edx, 4
mov edx, dword [edx + ebp + 0x20]
cmp dword [esp + ecx*4 + 0x214], edx
je 0x100287d1
add ecx, 1
cmp ecx, eax
jl 0x10028693
xor eax, eax
xor edx, edx
mov ecx, dword [esp + 0x50]
not eax
and dword [esp + 0x2c], eax
mov eax, dword [esp + 0x10]
mov dword [eax], esi
add eax, 0x4c
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x31c]
movsx eax, word [eax]
not edx
and dword [esp + 0x30], edx
add ecx, 1
cmp ecx, eax
mov dword [esp + 0x50], ecx
jl 0x10028420
test dword [esp + 0x48], 0x400000
je 0x100286f8
mov eax, dword [esp + 0x324]
cmp eax, ebx
je 0x100286f8
mov dword [eax], ebx
mov esi, dword [esp + 0x318]
mov eax, dword [esi + 0xc]
cmp eax, ebx
jne 0x10028718
mov ecx, dword [esi]
push ecx
call fcn.1000ccf0
add esp, 4
cmp eax, ebx
mov dword [esi + 0xc], eax
je 0x10028730
cmp dword [esi + 0x34], ebx
jne 0x10028730
push ebx
push ebx
push 0x5e
push eax
call fcn.10011e00
add esp, 0x10
add eax, 1
mov dword [esi + 0x34], eax
mov eax, dword [esp + 0x31c]
cmp word [eax], bx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x10], edx
jle 0x10028cd8
lea esp, [esp]
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x318]
cmp byte [edx + 0x80], 2
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x58], ecx
jne 0x1002890a
mov eax, dword [ebp]
mov ecx, dword [esp + 0x31c]
lea eax, [eax + eax*2]
shl eax, 4
mov edx, dword [eax + ecx + 0xc]
lea esi, [eax + ecx + 8]
push edx
push str.TABLE__s
call fcn.100172b0
mov esi, dword [esi + 8]
add esp, 8
cmp esi, ebx
mov dword [esp + 0x18], eax
je 0x100287b3
push esi
push eax
push str._z_AS__s
call fcn.100172b0
add esp, 0xc
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x10]
cmp eax, ebx
je 0x100287e2
mov ecx, dword [eax]
mov edx, dword [esp + 0x18]
push ecx
push edx
push str._z_WITH_INDEX__s
call fcn.100172b0
add esp, 0xc
jmp 0x10028820
mov eax, 1
xor edx, edx
call fcn.10041980
jmp 0x100286ab
test dword [ebp + 4], 0x300
je 0x100287ff
mov eax, dword [esp + 0x18]
push eax
push str._z_USING_PRIMARY_KEY
call fcn.100172b0
add esp, 8
jmp 0x10028820
mov eax, dword [ebp + 0x44]
cmp eax, ebx
je 0x10028824
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
push str._z_VIRTUAL_TABLE_INDEX__d:_s
call fcn.100172b0
add esp, 0x10
mov dword [esp + 0x18], eax
test dword [ebp + 4], 0x100000
je 0x10028843
mov ecx, dword [esp + 0x18]
push ecx
push str._z_ORDER_BY
call fcn.100172b0
add esp, 8
mov dword [esp + 0x18], eax
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
mov edx, dword [ebp]
mov dword [esp + 0x44], edx
jg 0x1002886e
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x1002886e
cmp dword [0x100593b8], ebx
jle 0x1002886e
xor esi, esi
jmp 0x10028898
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], 1
mov edx, dword [esp + 0x50]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x44]
mov byte [eax], 0x75
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
mov eax, esi
je 0x100288fe
cmp dword [0x100593ac], ebx
je 0x100288b1
cmp dword [0x100593b8], ebx
jg 0x100288fe
cmp esi, ebx
jl 0x100288ba
cmp esi, dword [edi + 0x10]
jl 0x100288c2
mov eax, dword [edi + 0x10]
sub eax, 1
js 0x1002890a
lea edx, [eax + eax*4]
mov esi, dword [ecx + edx*4 + 0xc]
mov eax, dword [ecx + edx*4 + 0x10]
lea ebp, [ecx + edx*4]
call fcn.1000cd60
cmp dword [esp + 0x18], ebx
mov dword [ebp + 0xc], ebx
jne 0x100288ea
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x10], ebx
mov ebp, dword [esp + 0x10]
jmp 0x1002890a
mov eax, dword [esp + 0x18]
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x10], 0xffffffff
mov ebp, dword [esp + 0x10]
jmp 0x1002890a
mov esi, dword [esp + 0x18]
or eax, 0xffffffff
call fcn.1000cd60
mov eax, dword [ebp]
mov edx, dword [esp + 0x31c]
lea ecx, [eax + eax*2]
shl ecx, 4
mov esi, dword [ecx + edx + 0x14]
lea eax, [ecx + edx + 8]
mov ecx, dword [esi + 0x4c]
cmp ecx, ebx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x318]
mov eax, dword [eax]
mov dword [esp + 0x44], eax
mov dword [esp + 0x20], 0xfff0bdc0
je 0x10028964
mov edx, dword [eax]
cmp edx, ebx
mov dword [esp + 0x20], ebx
jle 0x10028964
mov eax, dword [eax + 4]
add eax, 0x14
cmp dword [eax], ecx
je 0x10028964
add dword [esp + 0x20], 1
add eax, 0x18
cmp dword [esp + 0x20], edx
jl 0x10028952
cmp byte [esi + 0x35], bl
jne 0x10028cb6
cmp dword [esi + 0x18], ebx
jne 0x10028cb6
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x44], ebx
je 0x10028a17
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x18]
mov esi, dword [esi + 0x40]
push ebx
push eax
push 0x1d
push edi
mov dword [esp + 0x48], esi
call fcn.10011e00
add esp, 0x10
cmp edi, ebx
je 0x10028a08
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
je 0x10028a08
cmp dword [0x100593ac], ebx
je 0x100289b9
cmp dword [0x100593b8], ebx
jg 0x10028a08
cmp eax, ebx
jl 0x100289c2
cmp eax, dword [edi + 0x10]
jl 0x100289ce
mov eax, dword [edi + 0x10]
sub eax, 1
js 0x10028b0e
lea edx, [eax + eax*4]
mov esi, dword [ecx + edx*4 + 0xc]
mov eax, dword [ecx + edx*4 + 0x10]
lea ebp, [ecx + edx*4]
call fcn.1000cd60
cmp dword [esp + 0x38], ebx
mov dword [ebp + 0xc], ebx
jne 0x100289f5
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x10], ebx
jmp 0x10028b0e
mov eax, dword [esp + 0x38]
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x10], 0xfffffff6
jmp 0x10028b0e
mov eax, 0xfffffff6
call fcn.1000cd60
jmp 0x10028b0e
test dword [eax + 4], 0x80000
jne 0x10028af1
cmp byte [esi + 0x39], bl
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x18]
mov dword [esp + 0x38], edx
jne 0x10028aac
mov eax, dword [esp + 0x318]
mov ebp, dword [eax + 0xc]
cmp ebp, ebx
jne 0x10028a5f
mov ecx, dword [esp + 0x44]
push ecx
call fcn.1000ccf0
mov edx, dword [esp + 0x31c]
add esp, 4
mov dword [edx + 0xc], eax
mov ebp, eax
mov eax, dword [esi]
mov ecx, dword [esi + 0x14]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x31c]
push ebx
push ecx
push edx
push eax
call fcn.10012c00
mov ecx, dword [esp + 0x34]
push ebx
push ecx
push 0x2f
push ebp
call fcn.10011e00
mov edx, dword [esi + 0x14]
mov eax, dword [esp + 0x5c]
push edx
push eax
push 0xe
push ebp
call fcn.10011e00
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x6c]
push ecx
push edx
push 0x67
push ebp
call fcn.10011e00
add esp, 0x44
cmp dword [esi + 4], 0x40
jae 0x10028b0e
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov esi, eax
xor edx, edx
or esi, ecx
je 0x10028ad3
shrd eax, ecx, 1
shr ecx, 1
mov esi, eax
add edx, 1
or esi, ecx
jne 0x10028ac4
mov ecx, dword [edi + 0x10]
lea eax, [ecx - 1]
cmp eax, ebx
jl 0x10028b0e
cmp ecx, eax
jle 0x10028b0e
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
je 0x10028b0e
lea eax, [eax + eax*4]
mov dword [ecx + eax*4 + 8], edx
jmp 0x10028b0e
mov ecx, dword [esi]
mov edx, dword [esi + 0x14]
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x31c]
push ebx
push edx
push eax
push ecx
call fcn.10012c00
add esp, 0x14
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + 0x18]
mov dword [eax + 0x14], ecx
mov eax, dword [eax + 0x10]
cmp eax, ebx
mov dword [esp + 0x28], eax
je 0x10028c44
mov edx, eax
mov eax, dword [esp + 0x318]
push edx
push eax
call fcn.1001aee0
mov esi, dword [edi + 0x10]
add esp, 8
cmp dword [edi + 0x14], esi
mov dword [esp + 0x14], eax
jg 0x10028b62
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10028b62
cmp dword [0x100593b8], ebx
jg 0x10028b88
mov edx, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x20]
mov byte [eax], 0x2f
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
mov edx, dword [esp + 0x28]
mov ebp, dword [edx + 0x14]
jg 0x10028bb3
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10028bb3
cmp dword [0x100593b8], ebx
jle 0x10028bb3
xor esi, esi
jmp 0x10028bd9
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], 1
mov edx, dword [esp + 0x58]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0xe
mov dword [eax + 4], edx
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
mov eax, esi
je 0x10028c36
cmp dword [0x100593ac], ebx
je 0x10028bf2
cmp dword [0x100593b8], ebx
jg 0x10028c36
cmp esi, ebx
jl 0x10028bfb
cmp esi, dword [edi + 0x10]
jl 0x10028c03
mov eax, dword [edi + 0x10]
sub eax, 1
js 0x10028c44
lea eax, [eax + eax*4]
mov esi, dword [ecx + eax*4 + 0xc]
lea ebp, [ecx + eax*4]
mov eax, dword [ebp + 0x10]
call fcn.1000cd60
cmp dword [esp + 0x14], ebx
mov dword [ebp + 0xc], ebx
jne 0x10028c26
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x10], ebx
jmp 0x10028c44
mov ecx, dword [esp + 0x14]
mov dword [ebp + 0xc], ecx
mov dword [ebp + 0x10], 0xfffffffa
jmp 0x10028c44
mov esi, dword [esp + 0x14]
mov eax, 0xfffffff7
call fcn.1000cd60
mov edx, dword [esp + 0x10]
test dword [edx + 4], 0x82000
je 0x10028ca1
mov eax, dword [esp + 0x28]
mov ebp, dword [eax + 4]
mov esi, dword [edi + 0x10]
add ebp, 1
cmp dword [edi + 0x14], esi
jg 0x10028c7b
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10028c7b
cmp dword [0x100593b8], ebx
jg 0x10028ca1
mov edx, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x58]
mov byte [eax], 0x67
mov dword [eax + 4], ecx
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x318]
push edx
push eax
call fcn.100260c0
add esp, 8
mov ecx, dword [esp + 0x31c]
mov eax, dword [esp + 0x50]
movsx edx, word [ecx]
add dword [esp + 0x10], 0x4c
add eax, 1
cmp eax, edx
mov dword [esp + 0x50], eax
jl 0x10028750
mov eax, dword [edi + 0x10]
mov ebp, dword [esp + 0x64]
mov edx, dword [esp + 0x31c]
mov ecx, dword [esp + 0x4c]
mov dword [ebp + 8], eax
or eax, 0xffffffff
cmp word [edx], bx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x50], ebx
mov dword [esp + 0x10], ecx
jle 0x1002a267
lea esp, [esp]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
mov edx, dword [esp + 0x31c]
mov esi, dword [edi + 0x1c]
lea eax, [eax + eax*2]
shl eax, 4
lea eax, [eax + edx + 8]
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x24], eax
mov eax, dword [eax + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x1c], edx
mov edx, eax
shr eax, 0x13
shr edx, 0x15
and eax, 1
and edx, 1
mov dword [esp + 0x44], eax
mov eax, dword [edi + 0x20]
cmp esi, eax
mov dword [esp + 0x34], edx
lea edx, [esi + 1]
mov dword [edi + 0x1c], edx
jl 0x10028e58
cmp dword [0x100593ac], ebx
lea eax, [eax + eax + 0xa]
mov dword [edi + 0x20], eax
lea ebp, [eax*4]
mov eax, dword [edi + 0x24]
mov dword [esp + 0x14], eax
je 0x10028d99
cmp dword [0x100593b8], ebx
jle 0x10028d99
xor ebp, ebp
jmp 0x10028e40
cmp eax, ebx
jne 0x10028e01
cmp ebp, ebx
mov dword [esp + 0x40], ebx
jle 0x10028dfb
cmp dword [0x100593ac], ebx
je 0x10028db5
cmp dword [0x100593b8], ebx
jg 0x10028dfb
push ebp
call fcn.10041469
add esp, 4
cmp eax, ebx
mov dword [esp + 0x40], eax
jne 0x10028dec
cmp dword [0x100593ac], ebx
je 0x10028dd6
cmp dword [0x100593b8], ebx
jg 0x10028dfb
mov ebp, dword [esp + 0x40]
mov eax, 1
add dword [0x100593b8], eax
mov dword [0x100593ac], eax
jmp 0x10028e34
mov eax, dword [esp + 0x40]
push ebp
push ebx
push eax
call fcn.10041850
add esp, 0xc
mov ebp, dword [esp + 0x40]
jmp 0x10028e34
mov ecx, eax
push ebp
push ecx
call fcn.1004152c
add esp, 8
cmp eax, ebx
jne 0x10028e32
cmp dword [0x100593ac], ebx
je 0x10028e21
cmp dword [0x100593b8], ebx
jg 0x10028e32
mov ecx, 1
add dword [0x100593b8], ecx
mov dword [0x100593ac], ecx
mov ebp, eax
cmp ebp, ebx
mov ecx, dword [esp + 0x10]
jne 0x10028e55
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x10028e55
mov edx, dword [esp + 0x14]
push edx
call fcn.100417c0
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [edi + 0x24], ebp
mov eax, dword [edi + 0x24]
cmp eax, ebx
je 0x10028e66
mov dword [eax + esi*4], 0xffffffff
or eax, 0xffffffff
sub eax, esi
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x1c], eax
mov edx, dword [edi + 0x1c]
mov dword [esp + 0x48], eax
lea eax, [edx + 1]
mov dword [edi + 0x1c], eax
mov eax, dword [edi + 0x20]
cmp edx, eax
mov dword [esp + 0x5c], edx
jl 0x10028f6e
cmp dword [0x100593ac], ebx
lea eax, [eax + eax + 0xa]
mov dword [edi + 0x20], eax
lea esi, [eax*4]
mov eax, dword [edi + 0x24]
mov dword [esp + 0x40], eax
je 0x10028eb9
cmp dword [0x100593b8], ebx
jle 0x10028eb9
xor esi, esi
jmp 0x10028f50
cmp eax, ebx
jne 0x10028f15
xor ebp, ebp
cmp esi, ebx
jle 0x10028f11
cmp dword [0x100593ac], ebx
je 0x10028ed3
cmp dword [0x100593b8], ebx
jg 0x10028f11
push esi
call fcn.10041469
mov ebp, eax
add esp, 4
cmp ebp, ebx
jne 0x10028f06
cmp dword [0x100593ac], ebx
je 0x10028ef2
cmp dword [0x100593b8], ebx
jg 0x10028f11
mov eax, 1
add dword [0x100593b8], eax
mov dword [0x100593ac], eax
mov esi, ebp
jmp 0x10028f48
push esi
push ebx
push ebp
call fcn.10041850
add esp, 0xc
mov esi, ebp
jmp 0x10028f48
mov ecx, eax
push esi
push ecx
call fcn.1004152c
add esp, 8
cmp eax, ebx
jne 0x10028f46
cmp dword [0x100593ac], ebx
je 0x10028f35
cmp dword [0x100593b8], ebx
jg 0x10028f46
mov ecx, 1
add dword [0x100593b8], ecx
mov dword [0x100593ac], ecx
mov esi, eax
cmp esi, ebx
mov ecx, dword [esp + 0x10]
jne 0x10028f67
cmp dword [esp + 0x40], ebx
je 0x10028f67
mov edx, dword [esp + 0x40]
push edx
call fcn.100417c0
mov ecx, dword [esp + 0x14]
add esp, 4
mov edx, dword [esp + 0x5c]
mov dword [edi + 0x24], esi
mov eax, dword [edi + 0x24]
cmp eax, ebx
je 0x10028f7c
mov dword [eax + edx*4], 0xffffffff
or eax, 0xffffffff
sub eax, edx
cmp dword [ecx], ebx
mov dword [ecx + 0x24], eax
mov dword [esp + 0x40], eax
jle 0x10028ff8
mov eax, dword [esp + 0x24]
test byte [eax + 0x15], 8
je 0x10028ff8
mov eax, dword [esp + 0x318]
cmp dword [eax + 0x20], ebx
jne 0x10028fa9
mov dword [eax + 0x20], 1
mov edx, dword [eax + 0x20]
mov dword [ecx + 0xc], edx
add dword [eax + 0x20], 1
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
mov ebp, dword [ecx + 0xc]
jg 0x10028fd6
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10028fd6
cmp dword [0x100593b8], ebx
jg 0x10028ff8
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x30
mov dword [eax + 4], ebx
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x44]
cmp eax, ebx
mov dword [esp + 0x24], eax
je 0x10029201
mov ebp, dword [eax]
cmp ebp, 1
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov dword [esp + 0x28], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x14], 1
jl 0x10029084
mov eax, dword [esp + 0x14]
mov ecx, edx
mov edi, edi
xor esi, esi
cmp ebp, ebx
jle 0x10029075
cmp dword [ecx + esi*8], eax
je 0x10029044
add esi, 1
cmp esi, ebp
jl 0x10029036
jmp 0x10029075
mov edx, dword [esp + 0x4c]
lea ecx, [esi + esi*2]
mov eax, dword [edx + ecx*4 + 8]
mov ecx, dword [esp + 0x78]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*8]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x318]
push eax
push ecx
call fcn.10023a30
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
add esp, 8
cmp esi, ebp
je 0x10029084
add eax, 1
cmp eax, ebp
mov dword [esp + 0x14], eax
jle 0x10029030
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x100290a4
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100290a4
cmp dword [0x100593b8], ebx
jg 0x100290cd
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], 1
mov ecx, dword [esp + 0x14]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
add ecx, 0xffffffff
mov byte [eax], 0x2f
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
mov edx, dword [esp + 0x24]
mov ebp, dword [edx + 0x14]
jg 0x100290f4
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100290f4
cmp dword [0x100593b8], ebx
jg 0x10029116
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x2f
mov dword [eax + 4], ebp
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov eax, dword [esp + 0x24]
mov esi, dword [eax + 0x1c]
mov ebp, dword [edi + 0x10]
mov edx, dword [eax + 0x18]
neg esi
sbb esi, esi
and esi, 0xfffffff7
add esi, 0xfffffffe
cmp dword [edi + 0x14], ebp
mov dword [esp + 0x44], edx
jg 0x10029152
lea ecx, [ebp + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10029152
cmp dword [0x100593b8], ebx
jle 0x10029152
xor ebp, ebp
jmp 0x1002917d
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], 1
mov edx, dword [esp + 0x18]
lea eax, [ebp + ebp*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x48]
mov byte [eax], 0x6a
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov edx, dword [esp + 0x44]
push esi
push edx
push ebp
push edi
call fcn.1000ce50
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x20]
mov ecx, eax
add esp, 0x10
xor ebp, ebp
cmp dword [ecx], ebx
mov dword [eax + 0x1c], ebx
jle 0x100291e8
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x28]
add edx, 8
add eax, 4
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
cmp byte [ecx], bl
je 0x100291d3
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x78]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
call fcn.10007510
mov edx, dword [esp + 0x24]
add dword [esp + 0x14], 8
add dword [esp + 0x1c], 0xc
add ebp, 1
cmp ebp, dword [edx]
jl 0x100291b6
mov eax, dword [esp + 0x18]
mov dword [esi + 0x2c], 2
mov dword [esi + 0x30], eax
mov ecx, dword [edi + 0x10]
mov dword [esi + 0x34], ecx
jmp 0x1002a0f4
mov eax, dword [ecx + 4]
test eax, 0x100
je 0x100292e5
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
push ebx
push 3
push edx
push eax
push 0xffffffffffffffff
push ecx
lea edx, [esp + 0x80]
push edx
call fcn.100276a0
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x334]
push eax
mov eax, esi
call fcn.10027f70
mov ebp, dword [esi + 0x20]
mov esi, dword [edi + 0x10]
add esp, 0x20
cmp dword [edi + 0x14], esi
jg 0x10029269
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10029269
cmp dword [0x100593b8], ebx
jg 0x1002928f
mov edx, dword [edi + 0x18]
mov ecx, 1
add dword [edi + 0x10], ecx
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov byte [eax], 0x23
mov dword [eax + 4], ecx
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x100292af
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100292af
cmp dword [0x100593b8], ebx
jg 0x100292d5
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], 1
mov edx, dword [esp + 0x18]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x2c
mov dword [eax + 4], edx
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov eax, dword [esp + 0x10]
mov dword [eax + 0x2c], 0x15
jmp 0x1002a0f4
test eax, 0x200
je 0x10029677
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
push ebx
push 0x24
push ebp
push esi
push 0xffffffffffffffff
push ecx
lea edx, [esp + 0x80]
push edx
mov dword [esp + 0x44], 0x15
call fcn.100276a0
push ebx
push 0x18
push ebp
push esi
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x44]
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x9c]
push ecx
call fcn.100276a0
add esp, 0x38
cmp dword [esp + 0x34], ebx
mov dword [esp + 0x1c], eax
je 0x10029353
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x1002944c
mov esi, dword [eax]
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 0x318]
push eax
push ecx
call fcn.10023a30
mov al, byte [esi]
add esp, 8
cmp al, 0x46
je 0x10029383
cmp al, 0x45
je 0x10029383
xor ebp, ebp
jmp 0x10029388
mov ebp, 1
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x100293a8
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100293a8
cmp dword [0x100593b8], ebx
jg 0x100293ce
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], 1
mov ecx, dword [esp + 0x48]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x73
mov dword [eax + 4], ebp
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x100293ee
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100293ee
cmp dword [0x100593b8], ebx
jg 0x10029439
add dword [edi + 0x10], 1
mov ebp, dword [esp + 0x34]
mov eax, dword [edi + 0x18]
mov ecx, ebp
neg ecx
sbb cl, cl
lea edx, [esi + esi*4]
mov esi, dword [esp + 0x10]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x18]
and cl, 0xe4
add cl, 0x7f
mov byte [eax], cl
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov eax, dword [esp + 0x14]
mov byte [edi + 0x238], bl
call fcn.10007510
jmp 0x100294ab
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x34]
call fcn.10007510
jmp 0x100294ab
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x1002946c
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x1002946c
cmp dword [0x100593b8], ebx
jg 0x100294a7
add dword [edi + 0x10], 1
mov ebp, dword [esp + 0x34]
mov eax, dword [edi + 0x18]
mov ecx, ebp
neg ecx
sbb cl, cl
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x18]
and cl, 0xb8
add cl, 0x7c
mov byte [eax], cl
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
jmp 0x100294ab
mov ebp, dword [esp + 0x34]
cmp dword [esp + 0x1c], ebx
je 0x10029569
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov esi, dword [esp + 0x318]
mov dword [esp + 0x5c], eax
mov eax, dword [eax + 0xc]
push eax
push esi
call fcn.10023a30
mov ecx, dword [esi + 0x20]
mov eax, dword [esp + 0x18]
mov dword [eax + 8], ecx
add dword [esi + 0x20], 1
mov esi, dword [edi + 0x10]
mov edx, dword [eax + 8]
add esp, 8
cmp dword [edi + 0x14], esi
mov dword [esp + 0x44], edx
jg 0x10029508
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10029508
cmp dword [0x100593b8], ebx
jg 0x10029532
mov edx, dword [edi + 0x18]
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x44]
mov ecx, 1
add dword [edi + 0x10], ecx
mov byte [eax], 0x7b
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov eax, dword [esp + 0x5c]
mov al, byte [eax]
cmp al, 0x47
je 0x1002954d
cmp al, 0x45
je 0x1002954d
xor eax, eax
cmp ebp, ebx
setne al
lea eax, [eax + eax + 0x45]
jmp 0x10029558
xor eax, eax
cmp ebp, ebx
sete al
lea eax, [eax + eax + 0x46]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
call fcn.10007510
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
neg ebp
sbb ebp, ebp
and ebp, 0xffffffc4
add ebp, 0x6d
cmp dword [esp + 0x28], 0x15
mov dword [ecx + 0x2c], ebp
mov dword [ecx + 0x30], edx
mov dword [ecx + 0x34], eax
je 0x1002a0f4
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x100295b2
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100295b2
cmp dword [0x100593b8], ebx
jg 0x100295d8
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], 1
mov edx, dword [esp + 0x18]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x25
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 8]
jg 0x100295ff
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100295ff
cmp dword [0x100593b8], ebx
jg 0x10029621
mov edx, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov byte [eax], 1
mov dword [eax + 4], ebp
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10029645
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10029645
cmp dword [0x100593b8], ebx
jg 0x1002a0f4
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], 1
mov dl, byte [esp + 0x28]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x48]
mov byte [eax], dl
mov dword [eax + 4], 0x63
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
jmp 0x1002a0f4
test eax, 0x2000
je 0x10029ea2
mov esi, dword [esp + 0x10]
mov edx, dword [esi + 0x38]
mov ecx, dword [esp + 0x2c]
mov ebp, eax
shr eax, 0x11
and eax, 1
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x31c]
mov dword [esp + 0x24], edx
shr ebp, 0x10
push ecx
lea edx, [esp + 0x70]
and ebp, 1
push edx
mov dword [esp + 0x44], ebp
call fcn.10028060
add esp, 0xc
cmp dword [esp + 0x20], ebx
mov dword [esp + 0x54], ebx
jle 0x10029727
mov eax, dword [esp + 0x20]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x54], eax
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x100296f7
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100296f7
cmp dword [0x100593b8], ebx
jg 0x10029720
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], 1
mov edx, dword [esp + 0x20]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
add edx, 0xffffffff
mov byte [eax], 0x5d
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
sub dword [esp + 0x4c], 1
jne 0x100296d7
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x20]
cmp byte [edx + ecx], bl
jne 0x10029746
mov ecx, 0x18
mov dword [esp + 0x5c], 0x24
jmp 0x10029761
mov eax, ebp
mov ebp, dword [esp + 0x24]
mov ecx, 0x24
mov dword [esp + 0x5c], 0x18
mov dword [esp + 0x38], ebp
mov dword [esp + 0x24], eax
cmp ebp, ebx
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x14], eax
je 0x10029827
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 8]
mov esi, dword [esp + 0x54]
mov eax, dword [eax + esi*4]
push edx
mov edx, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x38]
push ecx
push edx
push eax
mov eax, dword [esp + 0x2c]
push eax
lea ecx, [esp + 0x80]
push ecx
call fcn.100276a0
mov ecx, dword [esp + 0x334]
mov ebp, eax
mov edx, dword [ebp]
mov eax, dword [edx + 0xc]
push eax
push ecx
call fcn.10023a30
mov esi, dword [edi + 0x10]
add esp, 0x24
cmp dword [edi + 0x14], esi
jg 0x100297da
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100297da
cmp dword [0x100593b8], ebx
jg 0x10029807
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x14]
or ecx, 0xffffffff
sub ecx, dword [esp + 0x20]
mov byte [eax], 0x41
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
movzx eax, byte [ebp + 0xa]
mov esi, dword [esp + 0x10]
and eax, 0x28
mov dword [esp + 0x58], eax
mov eax, ebp
call fcn.10007510
mov dword [esp + 0x28], 0x3f
jmp 0x1002984c
xor eax, eax
cmp edx, ebx
setle al
mov dword [esp + 0x58], 1
sub eax, 1
and eax, 0x2a
add eax, 0x15
cmp eax, 0x15
mov dword [esp + 0x28], eax
je 0x10029954
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x318]
lea ebp, [ecx + edx]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x10]
mov dword [edx + 8], ecx
add dword [eax + 0x20], 1
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x1002988c
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x1002988c
cmp dword [0x100593b8], ebx
jg 0x100298ae
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x5a
mov dword [eax + 4], ebp
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov edx, dword [esp + 0x1c]
push edx
push edi
call fcn.1000e500
mov esi, dword [edi + 0x10]
add esp, 8
cmp dword [esp + 0x34], ebx
je 0x10029914
mov ecx, dword [esp + 0x58]
neg ecx
sbb ecx, ecx
and ecx, 0xfffffff1
add ecx, 0x63
cmp dword [edi + 0x14], esi
mov dword [esp + 0x4c], ecx
jg 0x100298fc
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100298f8
cmp dword [0x100593b8], ebx
jg 0x100299a4
mov ecx, dword [esp + 0x4c]
mov edx, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x14]
mov byte [eax], cl
jmp 0x1002998e
cmp dword [edi + 0x14], esi
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 8]
jg 0x10029938
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10029938
cmp dword [0x100593b8], ebx
jg 0x100299a4
mov eax, dword [edi + 0x18]
mov ecx, 1
add dword [edi + 0x10], ecx
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x7b
mov dword [eax + 4], ebp
mov dword [eax + 8], ecx
jmp 0x10029998
cmp dword [esp + 0x34], ebx
je 0x100299a4
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x1002997a
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x1002997a
cmp dword [0x100593b8], ebx
jg 0x100299a4
mov edx, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov edx, dword [esp + 0x48]
mov byte [eax], 0x34
mov ecx, dword [esp + 0x3c]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
cmp dword [esp + 0x24], ebx
je 0x10029a5d
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 8]
mov edx, dword [esp + 0x54]
mov eax, dword [eax + edx*4]
mov edx, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x34]
push edx
mov edx, dword [esp + 0x24]
push ecx
push eax
push edx
lea eax, [esp + 0x80]
push eax
call fcn.100276a0
mov ebp, eax
mov ecx, dword [ebp]
mov edx, dword [ecx + 0xc]
mov eax, dword [esp + 0x334]
push edx
push eax
call fcn.10023a30
mov esi, dword [edi + 0x10]
add esp, 0x24
cmp dword [edi + 0x14], esi
jg 0x10029a18
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10029a18
cmp dword [0x100593b8], ebx
jg 0x10029a45
mov edx, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov edx, dword [esp + 0x14]
or ecx, 0xffffffff
sub ecx, dword [esp + 0x20]
mov byte [eax], 0x41
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
movzx eax, byte [ebp + 0xa]
mov esi, dword [esp + 0x10]
and eax, 0x28
mov dword [esp + 0x54], eax
mov eax, ebp
call fcn.10007510
jmp 0x10029a65
mov dword [esp + 0x54], 1
cmp dword [esp + 0x20], ebx
jg 0x10029c03
cmp dword [esp + 0x24], ebx
jne 0x10029c03
cmp dword [esp + 0x34], ebx
je 0x10029bb0
mov dword [esp + 0x28], 0x15
mov ebp, 1
cmp dword [esp + 0x28], 0x15
mov eax, dword [edi + 0x10]
mov dword [esp + 0x1c], eax
je 0x10029d4a
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + 8]
mov edx, eax
cmp dword [edi + 0x14], edx
jg 0x10029aca
mov ecx, eax
add ecx, 1
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10029aca
cmp dword [0x100593b8], ebx
jg 0x10029aef
mov ecx, dword [edi + 0x18]
mov eax, dword [esp + 0x1c]
add dword [edi + 0x10], ebp
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 1
mov dword [eax + 4], esi
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10029b0f
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10029b0f
cmp dword [0x100593b8], ebx
jg 0x10029b3b
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], ebp
mov cl, byte [esp + 0x28]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x3c]
mov byte [eax], cl
mov ecx, dword [esp + 0x14]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
cmp dword [esp + 0x58], ebx
je 0x10029b47
cmp dword [esp + 0x34], ebx
je 0x10029b5b
cmp dword [esp + 0x54], ebx
jne 0x10029d4a
cmp dword [esp + 0x34], ebx
je 0x10029d4a
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
je 0x10029d3b
cmp dword [0x100593ac], ebx
je 0x10029b7a
cmp dword [0x100593b8], ebx
jg 0x10029d3b
mov eax, dword [edi + 0x10]
sub eax, ebp
js 0x10029d4a
lea edx, [eax + eax*4]
mov esi, dword [ecx + edx*4 + 0xc]
mov eax, dword [ecx + edx*4 + 0x10]
lea ebp, [ecx + edx*4]
call fcn.1000cd60
mov dword [ebp + 0xc], 0x10054530
mov dword [ebp + 0x10], 0xfffffffe
mov ebp, 1
jmp 0x10029d4a
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10029bd4
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10029bd4
cmp dword [0x100593b8], ebx
jg 0x10029a8b
mov edx, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x48]
mov byte [eax], 0x7c
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
jmp 0x10029a8b
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
lea ebp, [eax + ecx]
jg 0x10029c2e
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10029c2e
cmp dword [0x100593b8], ebx
jg 0x10029c50
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x5a
mov dword [eax + 4], ebp
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov ecx, dword [esp + 0x1c]
push ecx
push edi
call fcn.1000e500
add esp, 8
cmp dword [esp + 0x34], ebx
je 0x10029ccf
mov eax, dword [esp + 0x318]
mov edx, dword [eax + 0x20]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 8], edx
add dword [eax + 0x20], 1
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
mov ebp, dword [ecx + 8]
jg 0x10029c9c
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10029c9c
cmp dword [0x100593b8], ebx
jg 0x10029cc2
mov edx, dword [edi + 0x18]
mov ecx, 1
add dword [edi + 0x10], ecx
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov byte [eax], 0x7b
mov dword [eax + 4], ebp
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov dword [esp + 0x28], 0x26
jmp 0x10029a8b
mov ecx, dword [esp + 0x54]
mov esi, dword [edi + 0x10]
neg ecx
sbb ecx, ecx
and ecx, 0x78
add ecx, 7
cmp dword [edi + 0x14], esi
mov dword [esp + 0x5c], ecx
jg 0x10029d09
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10029d05
cmp dword [0x100593b8], ebx
jg 0x10029a8b
mov ecx, dword [esp + 0x5c]
mov edx, dword [edi + 0x18]
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x14]
mov ebp, 1
add dword [edi + 0x10], ebp
mov byte [eax], cl
mov ecx, dword [esp + 0x3c]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
jmp 0x10029a90
mov esi, 0x10054530
mov eax, 0xfffffffe
call fcn.1000cd60
mov eax, dword [esp + 0x24]
or eax, dword [esp + 0x38]
je 0x10029de6
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10029d78
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10029d78
cmp dword [0x100593b8], ebx
jg 0x10029da1
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], ebp
mov edx, dword [esp + 0x3c]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x20]
mov byte [eax], 3
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10029dc1
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10029dc1
cmp dword [0x100593b8], ebx
jg 0x10029de6
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], ebp
mov ecx, dword [esp + 0x40]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x41
mov dword [eax + 4], ebp
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
cmp dword [esp + 0x44], ebx
jne 0x10029e7a
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10029e10
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10029e10
cmp dword [0x100593b8], ebx
jg 0x10029e35
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], ebp
mov ecx, dword [esp + 0x3c]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x35
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10029e55
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10029e55
cmp dword [0x100593b8], ebx
jg 0x10029e7a
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], ebp
mov ecx, dword [esp + 0x18]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x7f
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
neg eax
sbb eax, eax
and eax, 0xffffffc4
add eax, 0x6d
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0x1c]
mov dword [ecx + 0x30], edx
mov dword [ecx + 0x34], eax
jmp 0x1002a0f4
test eax, 0x1000
je 0x1002a08e
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 0x38]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
push edx
mov dword [esp + 0x60], ecx
push eax
mov eax, dword [esp + 0x320]
lea ecx, [esp + 0x70]
push ecx
call fcn.10028060
mov ebp, dword [edi + 0x10]
mov esi, dword [esi + 0x20]
add esp, 0xc
cmp dword [edi + 0x14], ebp
jg 0x10029ef9
lea ecx, [ebp + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10029ef9
cmp dword [0x100593b8], ebx
jg 0x10029f20
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], 1
mov ecx, dword [esp + 0x5c]
lea edx, [ebp + ebp*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x5a
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov edx, dword [esp + 0x1c]
push edx
push edi
call fcn.1000e500
mov eax, dword [esp + 0x18]
mov ebp, dword [edi + 0x10]
mov ecx, dword [eax + 8]
add esp, 8
cmp dword [edi + 0x14], ebp
mov dword [esp + 0x5c], ecx
jg 0x10029f59
lea ecx, [ebp + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10029f59
cmp dword [0x100593b8], ebx
jg 0x10029f80
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], 1
mov ecx, dword [esp + 0x5c]
lea edx, [ebp + ebp*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x7b
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
cmp dword [esp + 0x34], ebx
mov ebp, dword [esp + 0x3c]
push esi
push ebp
je 0x10029fcb
push 0x54
push edi
call fcn.10011e00
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 8]
push ebx
push eax
push 1
push edi
call fcn.10011e00
push esi
push ebp
push 0x26
push edi
mov dword [esp + 0x8c], eax
call fcn.10011e00
mov ecx, dword [esp + 0x40]
add esp, 0x30
mov dword [ecx + 0x2c], 0x31
mov esi, ecx
jmp 0x1002a061
push 0x7f
push edi
call fcn.10011e00
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 8]
push ebx
push eax
push 1
push edi
call fcn.10011e00
push esi
push ebp
push 0x3f
push edi
mov dword [esp + 0x8c], eax
call fcn.10011e00
mov ecx, dword [edi + 0x18]
add esp, 0x30
cmp ecx, ebx
je 0x1002a047
cmp dword [0x100593ac], ebx
je 0x1002a00f
cmp dword [0x100593b8], ebx
jg 0x1002a047
cmp eax, ebx
jl 0x1002a018
cmp eax, dword [edi + 0x10]
jl 0x1002a020
mov eax, dword [edi + 0x10]
sub eax, 1
js 0x1002a056
lea edx, [eax + eax*4]
mov esi, dword [ecx + edx*4 + 0xc]
mov eax, dword [ecx + edx*4 + 0x10]
lea ebp, [ecx + edx*4]
call fcn.1000cd60
mov dword [ebp + 0xc], 0x10054530
mov dword [ebp + 0x10], 0xfffffffe
mov ebp, dword [esp + 0x3c]
jmp 0x1002a056
mov esi, 0x10054530
mov eax, 0xfffffffe
call fcn.1000cd60
mov esi, dword [esp + 0x10]
mov dword [esi + 0x2c], 0x6d
cmp dword [esp + 0x44], ebx
jne 0x1002a082
push ebx
push ebp
push 0x35
push edi
call fcn.10011e00
mov eax, dword [esp + 0x28]
push ebx
push eax
push 0x7f
push edi
call fcn.10011e00
add esp, 0x20
mov ecx, dword [esp + 0x5c]
mov dword [esi + 0x30], ebp
mov dword [esi + 0x34], ecx
jmp 0x1002a0f4
mov edx, dword [esp + 0x18]
mov dword [ecx + 0x2c], 0x6d
mov dword [ecx + 0x30], edx
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x1002a0c0
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x1002a0c0
cmp dword [0x100593b8], ebx
jle 0x1002a0c0
xor esi, esi
jmp 0x1002a0ea
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], 1
mov edx, dword [esp + 0x18]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x48]
mov byte [eax], 0x7c
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov edx, dword [esp + 0x10]
add esi, 1
mov dword [edx + 0x34], esi
mov eax, dword [esp + 0x210]
xor ecx, ecx
cmp eax, ebx
jle 0x1002a124
mov edx, dword [esp + 0x18]
jmp 0x1002a110
cmp dword [esp + ecx*4 + 0x214], edx
je 0x1002a2c4
add ecx, 1
cmp ecx, eax
jl 0x1002a110
xor eax, eax
xor edx, edx
not eax
and dword [esp + 0x2c], eax
mov eax, dword [esp + 0x70]
not edx
and dword [esp + 0x30], edx
cmp eax, ebx
mov ebp, eax
jle 0x1002a193
mov esi, dword [esp + 0x78]
add esi, 0xc
test byte [esi], 6
jne 0x1002a189
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
and eax, dword [esp + 0x2c]
and ecx, dword [esp + 0x30]
or eax, ecx
jne 0x1002a189
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0xc], ebx
mov eax, dword [esi - 0xc]
je 0x1002a16e
test byte [eax + 2], 1
je 0x1002a189
mov edx, dword [esp + 0x40]
push 1
push edx
push eax
mov eax, dword [esp + 0x324]
push eax
call fcn.100245a0
add esp, 0x10
or byte [esi], 4
sub ebp, 1
add esi, 0x28
cmp ebp, ebx
jg 0x1002a145
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 0xc]
cmp ebp, ebx
je 0x1002a241
mov edx, dword [edi + 0x10]
mov eax, ecx
mov dword [eax + 0x28], edx
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x1002a1ca
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x1002a1ca
cmp dword [0x100593b8], ebx
jg 0x1002a1f0
mov eax, dword [edi + 0x18]
mov ecx, 1
add dword [edi + 0x10], ecx
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x30
mov dword [eax + 4], ecx
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
xor ebp, ebp
cmp dword [esp + 0x70], ebx
jle 0x1002a241
mov esi, dword [esp + 0x78]
add esi, 0xc
nop
test byte [esi], 6
jne 0x1002a235
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
and eax, dword [esp + 0x2c]
and ecx, dword [esp + 0x30]
or eax, ecx
jne 0x1002a235
mov ecx, dword [esp + 0x40]
mov edx, dword [esi - 0xc]
mov eax, dword [esp + 0x318]
push 1
push ecx
push edx
push eax
call fcn.100245a0
add esp, 0x10
or byte [esi], 4
add ebp, 1
add esi, 0x28
cmp ebp, dword [esp + 0x70]
jl 0x1002a200
mov ecx, dword [esp + 0x31c]
mov eax, dword [esp + 0x50]
movsx edx, word [ecx]
add dword [esp + 0x10], 0x4c
add eax, 1
cmp eax, edx
mov dword [esp + 0x50], eax
jl 0x10028d10
mov ebp, dword [esp + 0x64]
mov eax, dword [esp + 0x40]
mov dword [ebp + 0xc], eax
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x78]
add esi, 0xffffffff
cmp esi, ebx
jl 0x1002a29f
lea ecx, [ecx]
test byte [edi + 0xc], 1
je 0x1002a291
mov ecx, dword [edi]
push ecx
call fcn.1000d3b0
add esp, 4
sub esi, 1
add edi, 0x28
cmp esi, ebx
jge 0x1002a280
mov edi, dword [esp + 0x78]
lea edx, [esp + 0x80]
cmp edi, edx
je 0x1002a2b7
cmp edi, ebx
je 0x1002a2b7
push edi
call fcn.100417c0
add esp, 4
pop esi
mov eax, ebp
pop ebp
pop edi
pop ebx
add esp, 0x304
ret
mov eax, 1
xor edx, edx
call fcn.10041980
jmp 0x1002a128