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

Disassembly:
sub esp, 0x9c
xor eax, eax
push ebx
mov ebx, dword [esp + 0xa4]
mov ecx, dword [ebx]
push ebp
push esi
push edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x4c], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
cmp dword [ebx + 0x40], eax
jne 0x1008d78d
cmp byte [ecx + 0x1e], al
jne 0x1008d78d
mov ecx, dword [esp + 0xb4]
cmp dword [ecx + 0xc], eax
je 0x1008d78d
push ebx
mov eax, ecx
call fcn.10085e10
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
je 0x1008d78d
mov ebp, dword [esp + 0x40]
mov edi, eax
mov esi, dword [edi + 0x40]
mov ecx, ebp
call fcn.10092de0
mov edx, dword [ebp + 8]
mov dword [esp + 0x18], eax
shl eax, 4
mov eax, dword [eax + edx]
push eax
mov eax, dword [edi]
push 0
push eax
push 0x12
mov eax, ebx
call fcn.100805a0
add esp, 0x10
test eax, eax
jne 0x1008d78d
lea ecx, [esp + 0x24]
push ecx
push eax
push 0x69
push ebx
mov eax, edi
call fcn.1009b9e0
xor edx, edx
cmp dword [edi + 0x18], edx
mov esi, eax
setne dl
push edi
push ebx
mov dword [esp + 0x84], esi
mov dword [esp + 0x7c], edx
call fcn.10082c00
add esp, 0x18
test eax, eax
jne 0x1008d78d
mov eax, dword [esp + 0x24]
push eax
mov ecx, edi
mov eax, ebx
call fcn.10085e70
add esp, 4
test eax, eax
jne 0x1008d78d
mov edi, ebx
call fcn.10095480
mov ebp, eax
test ebp, ebp
je 0x1008d78d
cmp byte [ebx + 0x13], 0
jne 0x1008c2ab
mov byte [ebp + 0x61], 1
cmp dword [esp + 0xbc], 0
jne 0x1008c2bd
test esi, esi
jne 0x1008c2bd
xor eax, eax
jmp 0x1008c2c2
mov eax, 1
mov edi, dword [esp + 0x18]
push eax
mov eax, ebx
call fcn.10084ff0
add esp, 4
cmp dword [esp + 0xc0], 0
jne 0x1008c301
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0xbc]
push edi
push ecx
push edx
push ebx
call fcn.1008e8d0
add esp, 0x10
test eax, eax
jne 0x1008d683
mov esi, dword [esp + 0xb0]
mov ebx, dword [esp + 0x14]
mov eax, edi
push eax
mov edx, esi
call fcn.1008b970
xor ebx, ebx
add esp, 4
mov dword [esp + 0x3c], eax
cmp dword [esp + 0xbc], ebx
je 0x1008c71a
inc dword [esi + 0x48]
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov ecx, dword [esi + 0x48]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x20], eax
jg 0x1008c351
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1008c379
mov eax, dword [esp + 0x20]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x30]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x14]
lea eax, [eax + edx*4]
mov byte [eax], 7
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
inc dword [esi + 0x48]
mov eax, dword [esi + 0x48]
mov ecx, eax
mov eax, dword [ebp + 0xc]
add eax, 2
push ebx
mov dword [esp + 0x3c], eax
push ecx
dec eax
push eax
push 7
mov eax, ebp
mov byte [esp + 0x84], 0xa
mov dword [esp + 0x88], ecx
mov byte [esp + 0x85], bl
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
call fcn.1006c5e0
mov ecx, dword [ebp + 0xc]
add esp, 0x10
cmp dword [ebp + 0x10], ecx
mov dword [esp + 0x20], ecx
jg 0x1008c3e4
mov edi, ebp
call fcn.1006c560
test eax, eax
je 0x1008c3e0
mov dword [esp + 0x28], 1
jmp 0x1008c40c
mov ecx, dword [esp + 0x20]
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*4]
mov byte [eax], 1
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0xbc]
lea ecx, [esp + 0x74]
push ecx
push edx
push esi
call fcn.10099220
add esp, 0xc
test eax, eax
jne 0x1008d78d
mov eax, esi
cmp dword [eax + 0x40], ebx
jne 0x1008d78d
mov ecx, dword [esp + 0x40]
cmp byte [ecx + 0x1e], bl
jne 0x1008d78d
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1008c455
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1008c486
mov eax, dword [ebp + 0x14]
mov ecx, 1
add dword [ebp + 0xc], ecx
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
xor ebx, ebx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x30]
mov byte [eax], 7
mov byte [eax + 3], bl
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
jmp 0x1008c488
xor ebx, ebx
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1008c49b
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1008c4c3
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x78]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 4
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1008c4d6
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1008c4ff
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov ecx, 2
mov byte [eax], 6
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x28]
cmp eax, ecx
jle 0x1008c514
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0xbc]
mov edx, dword [ecx]
mov esi, dword [esp + 0xb0]
mov dword [esp + 0x50], eax
mov eax, dword [edx]
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x6c], ebx
jne 0x1008c55a
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x38]
push ecx
push edx
mov eax, esi
call fcn.1008b880
add esp, 8
xor ebx, ebx
test eax, eax
je 0x1008c7c8
mov edx, dword [esi + 0x44]
lea eax, [edx + 1]
mov dword [esi + 0x44], eax
mov eax, esi
mov dword [esp + 0x4c], 1
mov dword [esp + 0x34], edx
call fcn.1007d6b0
mov dword [esp + 0x54], eax
mov eax, esi
call fcn.1007d6b0
mov ecx, dword [esp + 0x2c]
push ebx
push ecx
push edx
mov dword [esp + 0x24], eax
push 0x29
mov eax, ebp
call fcn.1006c5e0
mov esi, dword [ebp + 0xc]
add esp, 0x10
cmp dword [ebp + 0x10], esi
jg 0x1008c5b5
mov edi, ebp
call fcn.1006c560
test eax, eax
je 0x1008c5b5
mov dword [esp + 0x28], 1
jmp 0x1008c5e1
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x78]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 4
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov dword [esp + 0x28], esi
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1008c5fe
mov edi, ebp
call fcn.1006c560
test eax, eax
je 0x1008c5fe
mov dword [esp + 0x38], 1
jmp 0x1008c62a
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x30]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x1a
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov dword [esp + 0x38], esi
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x7c]
push edi
push edx
push eax
push 0x1e
mov eax, ebp
call fcn.1006c5e0
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x44]
push ebx
push ecx
push esi
push 0x36
mov eax, ebp
call fcn.1006c5e0
mov edx, dword [esp + 0x38]
push edx
push edi
push esi
push 0x37
mov eax, ebp
call fcn.1006c5e0
mov esi, dword [ebp + 0xc]
add esp, 0x30
cmp dword [ebp + 0x10], esi
jg 0x1008c67c
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1008c6a4
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x28]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 1
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jle 0x1008c6b9
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov esi, dword [esp + 0x54]
mov edx, dword [esp + 0xb0]
call fcn.1007d6d0
mov esi, dword [esp + 0x18]
call fcn.1007d6d0
mov edx, dword [esp + 0x2c]
xor ebx, ebx
mov eax, dword [esp + 0x14]
test byte [eax + 0x1e], 0x10
je 0x1008c7d1
mov esi, dword [eax + 8]
cmp esi, ebx
jle 0x1008c7d1
mov eax, dword [eax + 0xc]
mov edi, dword [esp + 0x1c]
add eax, 0x17
jmp 0x1008c700
xor ecx, ecx
cmp byte [eax], bl
setne cl
add eax, 0x18
add edi, ecx
sub esi, 1
jne 0x1008c700
mov eax, dword [esp + 0x14]
jmp 0x1008c7d5
xor eax, eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x84], esi
mov dword [esp + 0x34], 0xffffffff
cmp eax, ebx
je 0x1008c779
mov eax, dword [eax]
jmp 0x1008c77b
xor eax, eax
xor edi, edi
cmp eax, ebx
mov dword [esp + 0x2c], eax
jle 0x1008c7c8
mov dword [esp + 0x18], ebx
lea esp, [esp]
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x18]
mov ebx, dword [edx + ecx]
lea esi, [esp + 0x84]
call fcn.10078530
test eax, eax
jne 0x1008d78d
mov edx, dword [esp + 0x2c]
add dword [esp + 0x18], 0x14
inc edi
cmp edi, edx
jl 0x1008c790
jmp 0x1008c6d6
mov edx, dword [esp + 0x2c]
jmp 0x1008c6d8
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc0]
cmp ecx, ebx
jne 0x1008c81d
cmp edx, ebx
je 0x1008c97f
mov eax, dword [eax + 8]
sub eax, edi
cmp edx, eax
je 0x1008c970
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0xb0]
push edx
push eax
mov eax, dword [esp + 0xbc]
push ebx
push eax
push str.table__S_has__d_columns_but__d_values_were_supplied
call fcn.10055a10
add esp, 0x14
jmp 0x1008d78d
mov esi, dword [ecx + 4]
cmp edx, esi
je 0x1008c843
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0xb0]
push esi
push ecx
push str._d_values_for__d_columns
call fcn.10055a10
add esp, 0xc
jmp 0x1008d78d
xor eax, eax
cmp esi, ebx
jle 0x1008c85c
or edx, 0xffffffff
lea esp, [esp]
mov esi, dword [ecx]
mov dword [esi + eax*8 + 4], edx
inc eax
cmp eax, dword [ecx + 4]
jl 0x1008c850
cmp dword [ecx + 4], ebx
mov dword [esp + 0x18], ebx
jle 0x1008c97f
lea esp, [esp]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 8]
xor esi, esi
cmp eax, ebx
mov dword [esp + 0x28], eax
jle 0x1008c8d5
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax]
mov edx, dword [esp + 0x18]
lea eax, [ecx + edx*8]
mov ecx, dword [esp + 0x14]
mov edi, dword [ecx + 0xc]
mov dword [esp + 0x38], eax
mov eax, dword [eax]
mov dword [esp + 0x20], eax
mov edx, dword [edi]
mov ecx, dword [esp + 0x20]
call fcn.10055b10
test eax, eax
je 0x1008c8bd
inc esi
add edi, 0x18
cmp esi, dword [esp + 0x28]
jl 0x1008c8a2
jmp 0x1008c8d5
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x14]
mov dword [edx + 4], esi
cmp esi, dword [eax + 4]
jne 0x1008c8d5
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x14]
cmp esi, dword [edx + 8]
mov edi, dword [esp + 0x18]
jl 0x1008c922
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax]
mov esi, dword [ecx + edi*8]
mov edx, str._ROWID_
mov ecx, esi
call fcn.10055b10
test eax, eax
je 0x1008c91e
mov edx, str.ROWID
mov ecx, esi
call fcn.10055b10
test eax, eax
je 0x1008c91e
mov edx, 0x100e2f64
mov ecx, esi
call fcn.10055b10
test eax, eax
jne 0x1008c939
mov dword [esp + 0x44], edi
mov edx, dword [esp + 0xc0]
inc edi
cmp edi, dword [edx + 4]
mov dword [esp + 0x18], edi
jl 0x1008c870
jmp 0x1008c97f
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax]
mov edx, dword [esp + 0x18]
mov eax, dword [ecx + edx*8]
mov ecx, dword [esp + 0xb4]
mov edi, dword [esp + 0xb0]
push eax
push ebx
push ecx
push str.table__S_has_no_column_named__s
call fcn.10055a10
add esp, 0x10
mov byte [edi + 0x12], 1
jmp 0x1008d78d
cmp edx, ebx
mov eax, dword [esp + 0x14]
jle 0x1008c97f
mov edx, dword [eax + 4]
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x40]
test dword [eax + 0xc], 0x1000
mov edi, dword [esp + 0xb0]
je 0x1008c9df
inc dword [edi + 0x48]
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
mov ecx, dword [edi + 0x48]
mov dword [esp + 0x60], ecx
jg 0x1008c9b7
mov edi, ebp
call fcn.1006c560
mov edi, dword [esp + 0xb0]
test eax, eax
jne 0x1008c9df
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x60]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 7
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
cmp dword [esp + 0x64], ebx
jne 0x1008ca36
mov eax, dword [edi + 0x44]
push 0x27
push eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x1c]
push edi
call fcn.1008e660
mov esi, dword [esp + 0x4c]
add esp, 0xc
lea ecx, [eax*4 + 4]
mov dword [esp + 0x20], eax
call fcn.10053c90
mov dword [esp + 0x5c], eax
cmp eax, ebx
je 0x1008d78d
mov esi, dword [esp + 0x20]
xor ecx, ecx
test esi, esi
jle 0x1008ca34
inc dword [edi + 0x48]
mov edx, dword [edi + 0x48]
mov dword [eax + ecx*4], edx
inc ecx
cmp ecx, esi
jl 0x1008ca26
xor ebx, ebx
cmp dword [esp + 0x4c], ebx
je 0x1008ca94
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1008ca60
mov edi, ebp
call fcn.1006c560
test eax, eax
je 0x1008ca60
mov edx, dword [ebp + 0xc]
mov esi, 1
mov dword [esp + 0x68], edx
jmp 0x1008cb29
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x34]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x41
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov edx, dword [ebp + 0xc]
mov byte [ebp + 0x62], bl
mov dword [esp + 0x68], edx
jmp 0x1008cb29
cmp dword [esp + 0xbc], ebx
je 0x1008cb34
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1008cabb
mov edi, ebp
call fcn.1006c560
test eax, eax
je 0x1008cabb
mov esi, 1
jmp 0x1008cae3
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x78]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 4
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov dword [esp + 0x68], esi
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1008cb01
mov edi, ebp
call fcn.1006c560
test eax, eax
je 0x1008cb01
mov esi, 1
jmp 0x1008cb29
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x30]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x1a
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x58], esi
inc dword [edi + 0x48]
mov eax, dword [edi + 0x48]
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 8]
mov esi, dword [esp + 0x14]
lea ecx, [eax + 1]
lea eax, [eax + edx + 1]
mov dword [edi + 0x48], eax
test byte [esi + 0x1e], 0x10
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1c], ecx
je 0x1008cb66
inc ecx
inc eax
mov dword [esp + 0x1c], ecx
mov dword [edi + 0x48], eax
inc ecx
mov eax, ebp
mov dword [esp + 0x20], ecx
call fcn.1006c770
test byte [esp + 0x24], 1
mov dword [esp + 0x30], eax
je 0x1008ce9c
mov eax, dword [esi + 8]
mov ecx, dword [edi + 0x38]
mov edx, dword [edi + 0x3c]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], edx
jg 0x1008cba0
lea esi, [eax + edx]
sub ecx, eax
mov dword [edi + 0x3c], esi
mov dword [edi + 0x38], ecx
jmp 0x1008cbaf
mov ecx, dword [edi + 0x48]
lea edx, [ecx + 1]
add eax, ecx
mov dword [esp + 0x18], edx
mov dword [edi + 0x48], eax
mov eax, dword [esp + 0x44]
cmp eax, ebx
jge 0x1008cbf0
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1008cbce
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1008cd07
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x18]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 7
mov dword [eax + 4], 0xffffffff
mov dword [eax + 8], edx
jmp 0x1008ccf8
cmp dword [esp + 0x4c], ebx
je 0x1008cc0b
push edx
push eax
mov eax, dword [esp + 0x3c]
push eax
push 0x1c
mov eax, ebp
call fcn.1006c5e0
add esp, 0x10
jmp 0x1008cc2f
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0xb8]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0xb0]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
mov eax, dword [eax + ecx*4]
call fcn.1007c660
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1008cc4c
mov edi, ebp
call fcn.1006c560
test eax, eax
je 0x1008cc4c
mov dword [esp + 0x24], 1
jmp 0x1008cc78
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x18]
mov byte [eax], 0x4a
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov dword [esp + 0x24], esi
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1008cc8b
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1008ccb7
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 7
mov byte [eax + 3], bl
mov dword [eax + 4], 0xffffffff
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x24]
cmp eax, ecx
jle 0x1008cccc
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp + 0x14]
mov dword [ecx + edx*4 + 8], eax
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1008ccdf
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1008cd07
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x15
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov byte [eax + 3], bl
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov edx, dword [esp + 0x14]
cmp dword [edx + 8], ebx
jle 0x1008ce1a
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xc0]
or eax, 0xffffffff
sub eax, ecx
lea esi, [ecx + 1]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x38], eax
nop
cmp edi, ebx
jne 0x1008cd3c
mov eax, dword [esp + 0x38]
add eax, esi
jmp 0x1008cd63
mov edx, dword [edi + 4]
xor eax, eax
cmp edx, ebx
jle 0x1008cd63
mov ecx, dword [edi]
add ecx, 4
mov edi, dword [esp + 0x38]
add edi, esi
cmp dword [ecx], edi
je 0x1008cd5c
inc eax
add ecx, 8
cmp eax, edx
jl 0x1008cd4a
mov edi, dword [esp + 0xc0]
mov ecx, dword [esp + 0x4c]
cmp ecx, ebx
jne 0x1008cd74
cmp dword [esp + 0xb8], ebx
je 0x1008cd7d
cmp edi, ebx
je 0x1008cdc1
cmp eax, dword [edi + 4]
jl 0x1008cdc1
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xc]
mov eax, dword [esp + 0x54]
mov eax, dword [edx + eax + 4]
mov ecx, dword [esp + 0xb0]
push esi
push eax
push ecx
call fcn.1007b550
add esp, 0xc
cmp eax, esi
je 0x1008ce01
mov edx, dword [esp + 0xb0]
mov ecx, dword [edx + 0xc]
cmp ecx, ebx
je 0x1008ce01
push ebx
push esi
push eax
push 0xf
mov eax, ecx
call fcn.1006c5e0
add esp, 0x10
jmp 0x1008ce01
cmp ecx, ebx
je 0x1008cdda
push esi
push eax
mov eax, dword [esp + 0x3c]
push eax
push 0x1c
mov eax, ebp
call fcn.1006c5e0
add esp, 0x10
jmp 0x1008ce01
mov edx, dword [esp + 0xb8]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*4]
mov eax, dword [esp + 0xb0]
mov ebx, esi
call fcn.1007c690
mov edi, dword [esp + 0xc0]
xor ebx, ebx
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
add dword [esp + 0x54], 0x18
inc esi
add ecx, esi
cmp ecx, dword [edx + 8]
jl 0x1008cd30
cmp dword [esp + 0x64], ebx
jne 0x1008ce43
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x18]
push ebx
push eax
inc ecx
push ecx
push 0x1d
mov eax, ebp
call fcn.1006c5e0
push ebp
mov eax, esi
call fcn.1008b7c0
add esp, 0x14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
sub ecx, dword [edi + 8]
mov eax, dword [esp + 0xc4]
mov esi, dword [esp + 0xb0]
push edx
mov edx, dword [esp + 0x70]
push eax
dec ecx
push ecx
push edi
push 1
push ebx
push 0x69
push edx
push esi
call fcn.1009c180
mov edi, dword [edi + 8]
mov eax, dword [esp + 0x3c]
add esp, 0x24
inc edi
push eax
mov eax, edi
call fcn.1007b1a0
add esp, 4
cmp edi, dword [esi + 0x38]
jle 0x1008ce9c
mov ecx, dword [esp + 0x18]
mov eax, esi
mov dword [eax + 0x38], edi
mov dword [eax + 0x3c], ecx
cmp dword [esp + 0x64], ebx
jne 0x1008d428
mov edx, dword [esp + 0x14]
test byte [edx + 0x1e], 0x10
je 0x1008ceeb
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1008cec3
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1008ceeb
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x28]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0xa
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov eax, dword [esp + 0x44]
cmp eax, ebx
jl 0x1008d08d
cmp dword [esp + 0x4c], ebx
je 0x1008cf47
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
push ecx
push eax
push edx
push 0x1c
mov eax, ebp
call fcn.1006c5e0
add esp, 0x10
mov eax, dword [esp + 0x14]
test byte [eax + 0x1e], 0x10
jne 0x1008d033
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1008cfdd
mov edi, ebp
call fcn.1006c560
test eax, eax
je 0x1008cfdd
mov esi, 1
jmp 0x1008d005
cmp dword [esp + 0xbc], ebx
je 0x1008cf61
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x50]
push ebx
push ecx
add edx, eax
push edx
push 0xf
jmp 0x1008cf0a
mov ecx, dword [esp + 0xb8]
mov eax, dword [esp + 0x44]
mov edx, dword [ecx + 0xc]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0xb0]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4]
call fcn.1007c660
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp]
dec eax
cmp byte [ecx + 0x1e], bl
je 0x1008cf98
mov eax, 0x100d7fa0
jmp 0x1008cfa9
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x14]
lea eax, [eax + edx*4]
cmp eax, ebx
je 0x1008cf14
cmp byte [eax], 0xa
jne 0x1008cf14
mov ecx, dword [esp + 0x14]
test byte [ecx + 0x1e], 0x10
jne 0x1008cf14
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov byte [eax], 0x36
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
jmp 0x1008d0ef
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x1c]
mov byte [eax], 0x4a
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x48]
push edx
push eax
push ecx
push 0x36
mov eax, ebp
call fcn.1006c5e0
mov eax, dword [ebp + 0xc]
add esp, 0x10
cmp eax, esi
jle 0x1008d04c
mov ecx, dword [ebp + 0x14]
lea edx, [esi + esi*4]
mov dword [ecx + edx*4 + 8], eax
jmp 0x1008d04c
mov edx, dword [ebp + 0xc]
mov eax, dword [esp + 0x1c]
push ebx
add edx, 2
push edx
push eax
push 0x49
mov eax, ebp
call fcn.1006c5e0
add esp, 0x10
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1008d063
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1008d0f7
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x1c]
mov byte [eax], 0x15
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
jmp 0x1008d0f7
mov edx, dword [esp + 0x14]
test byte [edx + 0x1e], 0x10
je 0x1008d0d4
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1008d0aa
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1008d0f7
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x1c]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0xa
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
jmp 0x1008d0f7
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x48]
push eax
push ecx
push edx
push 0x36
mov eax, ebp
call fcn.1006c5e0
add esp, 0x10
mov dword [esp + 0x70], 1
mov eax, dword [esp + 0x3c]
cmp eax, ebx
jle 0x1008d11a
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xb0]
push ebx
push ecx
push eax
mov eax, dword [edx + 0xc]
push 0x70
call fcn.1006c5e0
add esp, 0x10
mov eax, dword [esp + 0x14]
cmp dword [eax + 8], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], ebx
jle 0x1008d214
mov esi, dword [esp + 0x20]
mov dword [esp + 0x3c], ebx
jmp 0x1008d140
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
cmp edi, dword [eax + 4]
jne 0x1008d192
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x24], eax
jg 0x1008d168
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1008d1f8
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov eax, dword [esp + 0x24]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov byte [eax], 0xa
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], esi
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
jmp 0x1008d1f8
mov ecx, dword [esp + 0xc0]
cmp ecx, ebx
jne 0x1008d287
mov eax, dword [eax + 0xc]
mov edx, dword [esp + 0x3c]
cmp byte [eax + edx + 0x17], bl
je 0x1008d27f
inc dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x3c]
mov eax, dword [eax + ecx + 4]
mov edx, dword [esp + 0xb0]
push esi
push eax
push edx
call fcn.1007b550
add esp, 0xc
cmp eax, esi
je 0x1008d1f8
mov ecx, dword [esp + 0xb0]
mov ecx, dword [ecx + 0xc]
cmp ecx, ebx
je 0x1008d1f8
push ebx
push esi
push eax
mov eax, ecx
push 0xf
call fcn.1006c5e0
add esp, 0x10
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
add dword [esp + 0x3c], 0x18
inc eax
inc esi
cmp eax, dword [edx + 8]
mov dword [esp + 0x18], eax
jl 0x1008d140
mov esi, dword [esp + 0x14]
test byte [esi + 0x1e], 0x10
je 0x1008d3a4
mov eax, dword [esi + 0x30]
mov dword [esp + 0x50], eax
cmp eax, ebx
je 0x1008d240
mov ecx, dword [esp + 0x40]
cmp dword [eax], ecx
je 0x1008d23c
mov eax, dword [eax + 0x10]
cmp eax, ebx
jne 0x1008d231
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xb0]
push esi
call fcn.1009f630
mov ecx, dword [esi + 8]
mov esi, dword [ebp + 0xc]
add ecx, 2
add esp, 4
cmp dword [ebp + 0x10], esi
mov dword [esp + 0x24], ecx
jg 0x1008d30f
mov edi, ebp
call fcn.1006c560
test eax, eax
je 0x1008d30b
mov esi, 1
jmp 0x1008d33c
mov eax, edi
sub eax, dword [esp + 0x1c]
jmp 0x1008d2a8
mov edx, dword [ecx + 4]
xor eax, eax
cmp edx, ebx
jle 0x1008d2b0
mov ecx, dword [ecx]
add ecx, 4
cmp dword [ecx], edi
je 0x1008d2a1
inc eax
add ecx, 8
cmp eax, edx
jl 0x1008d295
mov ecx, dword [esp + 0xc0]
cmp eax, ebx
jl 0x1008d1b6
cmp dword [esp + 0x2c], ebx
je 0x1008d1b6
cmp ecx, ebx
je 0x1008d2c7
cmp eax, dword [ecx + 4]
jge 0x1008d1b6
cmp dword [esp + 0x4c], ebx
je 0x1008d2dd
push esi
push eax
mov eax, dword [esp + 0x3c]
push eax
push 0x1c
mov eax, ebp
jmp 0x1008d1f0
cmp dword [esp + 0xbc], ebx
je 0x1008d2f6
mov ecx, dword [esp + 0x50]
push ebx
add eax, ecx
push esi
push eax
mov eax, ebp
jmp 0x1008d1ee
lea edx, [eax + eax*4]
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + edx*4]
jmp 0x1008d1c5
mov ecx, dword [esp + 0x24]
mov edi, dword [ebp + 0x14]
mov edx, 1
add dword [ebp + 0xc], edx
lea eax, [esi + esi*4]
lea eax, [edi + eax*4]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x28]
mov byte [eax], 0x85
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov ecx, dword [ebp + 0x14]
mov edi, dword [ebp]
mov eax, esi
cmp ecx, ebx
je 0x1008d385
cmp byte [edi + 0x1e], bl
jne 0x1008d385
cmp esi, ebx
jge 0x1008d355
mov eax, dword [ebp + 0xc]
dec eax
lea edx, [eax + eax*4]
movsx eax, byte [ecx + edx*4 + 1]
lea esi, [ecx + edx*4]
mov ecx, dword [esi + 0x10]
call fcn.1006ca30
mov eax, dword [esp + 0x50]
mov dword [esi + 0x10], ebx
cmp eax, ebx
jne 0x1008d37b
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x1008d385
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xf6
inc dword [eax + 0xc]
mov ecx, dword [esp + 0xb0]
mov eax, dword [ecx + 0x1a8]
cmp eax, ebx
jne 0x1008d398
mov eax, ecx
mov byte [eax + 0x159], 1
jmp 0x1008d428
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0xc4]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x48]
lea eax, [esp + 0x24]
push eax
xor eax, eax
cmp dword [esp + 0x48], ebx
push ecx
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x20]
setge al
push ebx
push eax
mov eax, dword [esp + 0xc4]
push ecx
push esi
push edi
push edx
push eax
call fcn.1008d830
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xd8]
push esi
push ebx
push ecx
push edx
call fcn.1008a5f0
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x94]
xor eax, eax
cmp dword [esp + 0x5c], ebx
sete al
push eax
mov eax, dword [esp + 0x50]
push ecx
mov ecx, dword [esp + 0xf0]
push ebx
push edx
push esi
push edi
push eax
push ecx
call fcn.1008e400
add esp, 0x58
mov edx, dword [esp + 0x40]
test dword [edx + 0xc], 0x1000
je 0x1008d475
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1008d448
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1008d475
mov edx, dword [ebp + 0x14]
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x60]
mov ecx, 1
add dword [ebp + 0xc], ecx
mov byte [eax], 0x14
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov ecx, dword [esp + 0x6c]
cmp ecx, ebx
je 0x1008d4b0
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0xc4]
push eax
mov eax, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x1c]
sub eax, dword [edx + 8]
sub eax, 2
push eax
mov eax, dword [esp + 0xbc]
push edx
push 2
push ebx
push 0x69
push ecx
push eax
call fcn.1009c180
add esp, 0x24
mov eax, dword [ebp + 0x20]
cmp eax, ebx
je 0x1008d4c9
mov ecx, dword [esp + 0x30]
lea edx, [ecx*4 + 4]
mov ecx, dword [ebp + 0xc]
sub eax, edx
mov dword [eax], ecx
cmp dword [esp + 0x4c], ebx
je 0x1008d568
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1008d4e6
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1008d512
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x34]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x68]
mov byte [eax], 0x43
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x58]
cmp eax, ecx
jle 0x1008d527
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1008d53e
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1008d5c1
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x34]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x2b
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
jmp 0x1008d5c1
cmp dword [esp + 0xbc], ebx
je 0x1008d5c1
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1008d584
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1008d5ac
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x68]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 1
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x58]
cmp eax, ecx
jle 0x1008d5c1
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [esp + 0x14]
test byte [eax + 0x1e], 0x10
jne 0x1008d67c
cmp dword [esp + 0x64], 0
jne 0x1008d67c
mov ebx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], ebx
jg 0x1008d5ed
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1008d619
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea ecx, [ebx + ebx*4]
lea eax, [edx + ecx*4]
mov edx, dword [esp + 0x48]
xor ecx, ecx
mov byte [eax], 0x2b
mov byte [eax + 3], cl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [ebp + 0x62], cl
jmp 0x1008d61b
xor ecx, ecx
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x20], eax
cmp eax, ecx
je 0x1008d67c
mov ebx, dword [esp + 0x48]
inc ebx
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1008d642
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1008d66a
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
xor ecx, ecx
mov byte [eax], 0x2b
mov byte [eax + 3], cl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [ebp + 0x62], cl
jmp 0x1008d66c
xor ecx, ecx
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x20]
inc ebx
mov dword [esp + 0x20], eax
cmp eax, ecx
jne 0x1008d62f
mov ebx, dword [esp + 0xb0]
cmp byte [ebx + 0x13], 0
jne 0x1008d69b
cmp dword [ebx + 0x1ac], 0
jne 0x1008d69b
push ebx
call fcn.1008bd80
add esp, 4
mov ecx, dword [esp + 0x40]
test dword [ecx + 0xc], 0x1000
je 0x1008d78d
cmp byte [ebx + 0x13], 0
jne 0x1008d78d
cmp dword [ebx + 0x1ac], 0
jne 0x1008d78d
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1008d6d6
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1008d706
mov eax, dword [ebp + 0x14]
mov ecx, 1
add dword [ebp + 0xc], ecx
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x60]
mov dword [eax + 8], ecx
xor ecx, ecx
mov byte [eax], 0x10
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [ebp + 0x62], cl
push 1
mov edi, ebp
call fcn.1006d960
mov eax, dword [ebp]
add esp, 4
cmp byte [eax + 0x1e], 0
jne 0x1008d78d
mov ebp, dword [ebp + 0x28]
mov eax, dword [ebp + 0x10]
xor ebx, ebx
cmp eax, ebx
je 0x1008d72c
mov eax, dword [eax + 0x48]
jmp 0x1008d731
mov eax, 0x3b9aca00
xor esi, esi
cmp eax, ebx
jl 0x1008d745
cmp byte [esi + str.rows_inserted], 0
je 0x1008d745
inc esi
cmp esi, eax
jle 0x1008d737
xor ecx, ecx
mov edi, 0x202
push ebp
cmp ecx, fcn.10053a50
jne 0x1008d767
call fcn.1006b5a0
mov eax, str.rows_inserted
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x24], eax
jmp 0x1008d778
call fcn.1006b5a0
mov dword [ebp + 0x14], str.rows_inserted
mov edi, 0xa02
mov dword [ebp + 0x20], ebx
add esp, 4
mov dword [ebp + 0x18], esi
mov word [ebp + 0x1c], di
mov byte [ebp + 0x1f], 1
mov byte [ebp + 0x1e], 3
mov edx, dword [esp + 0xb4]
mov esi, dword [esp + 0x40]
push edx
call fcn.100848b0
mov eax, dword [esp + 0xbc]
add esp, 4
push eax
mov edi, esi
call fcn.10079b30
mov edi, dword [esp + 0xc0]
add esp, 4
test edi, edi
je 0x1008d7cf
push edi
push esi
call fcn.10093580
push edi
push esi
call fcn.10053a50
add esp, 0x10
mov ebp, dword [esp + 0xc0]
test ebp, ebp
je 0x1008d80b
xor ebx, ebx
cmp dword [ebp + 4], ebx
jle 0x1008d7f7
mov ecx, dword [ebp]
mov edx, dword [ecx + ebx*8]
push edx
push esi
call fcn.10053a50
inc ebx
add esp, 8
cmp ebx, dword [ebp + 4]
jl 0x1008d7e1
mov eax, dword [ebp]
push eax
push esi
call fcn.10053a50
push ebp
push esi
call fcn.10053a50
add esp, 0x10
mov ecx, dword [esp + 0x5c]
push ecx
push esi
call fcn.10053a50
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret