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

Disassembly:
sub esp, 0x120
push ebp
xor eax, eax
mov dword [esp + 0x8c], 0
push esi
mov esi, dword [esp + 0x12c]
xorps xmm0, xmm0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0xffffffff
mov ebp, dword [esi]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0xb8], 1
mov dword [esp + 0xc4], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
movlpd qword [esp + 0x68], xmm0
mov dword [esp + 0x80], ebp
cmp dword [esi + 0x24], eax
jne 0x10079cc5
push ebx
push dword [esp + 0x134]
push esi
call fcn.10075500
mov ebx, eax
add esp, 8
mov dword [esp + 0x14], ebx
test ebx, ebx
je 0x10079cc4
mov ecx, dword [ebx + 0x3c]
mov dword [esp + 0x58], 0xffff8000
test ecx, ecx
je 0x100779bc
mov eax, dword [esi]
xor edx, edx
mov dword [esp + 0x58], edx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x100779bc
nop
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x100779b0
mov dword [esp + 0x58], edx
cmp dword [ebx + 0x38], 0
push edi
jne 0x100779d5
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x100779de
cmp dword [eax + 0x30], 0
je 0x100779de
cmp byte [esi + 0x9b], 0
je 0x100779fa
mov edi, dword [esp + 0x13c]
mov dword [esp + 0xbc], 0
mov dword [esp + 0x50], 0
jmp 0x10077a2b
mov edi, dword [esp + 0x13c]
lea eax, [esp + 0xf0]
push eax
push edi
push 0x81
push ebx
push esi
call fcn.10094520
mov dword [esp + 0x64], eax
add esp, 0x14
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x138]
mov cl, byte [ebx + 0x2b]
mov byte [esp + 0x13], cl
cmp dword [eax], 1
jle 0x10077a46
mov eax, dword [edi]
mov dword [esp + 0x28], eax
jmp 0x10077a4e
mov dword [esp + 0x28], 0
cmp cl, 1
je 0x10077a5a
cmp word [ebx + 0x22], 0
jg 0x10077a6c
push ebx
push esi
call fcn.10099eb0
add esp, 8
test eax, eax
jne 0x10079cc3
push dword [esp + 0xbc]
push ebx
push esi
call fcn.10064450
add esp, 0xc
test eax, eax
jne 0x10079cc3
mov edi, dword [esi + 0x28]
mov edx, edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x9c], edx
lea eax, [edi + 1]
mov dword [esi + 0x28], eax
test byte [ebx + 0x1c], 0x80
mov dword [esp + 0x84], eax
jne 0x10077ab2
mov dword [esp + 0x2c], 0
jmp 0x10077ac6
push ebx
call fcn.1006e190
mov dword [esp + 0x30], eax
add esp, 4
mov eax, dword [esp + 0x84]
mov ecx, dword [ebx + 8]
xor ebp, ebp
mov dword [esp + 0xa0], ebp
test ecx, ecx
je 0x10077b09
mov edx, eax
nop dword [eax + eax]
cmp dword [esp + 0x2c], ecx
mov eax, edx
cmovne eax, edi
inc edx
mov dword [esi + 0x28], edx
inc ebp
mov ecx, dword [ecx + 0x14]
mov edi, eax
test ecx, ecx
jne 0x10077ae0
mov edx, dword [esp + 0x9c]
mov dword [esp + 0xa0], ebp
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x150]
test eax, eax
je 0x10077b28
mov edi, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x84], eax
mov dword [esi + 0x28], edx
mov eax, dword [esp + 0x138]
push 0
mov dword [eax + 0x34], edi
movsx eax, word [ebx + 0x22]
add eax, ebp
lea eax, [eax*4 + 6]
add eax, ebp
push eax
push dword [esp + 0x90]
call fcn.10053d40
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x40], ecx
test ecx, ecx
je 0x10079cbc
movsx eax, word [ebx + 0x22]
lea eax, [ecx + eax*4]
lea edi, [eax + 4]
mov dword [esp + 0x7c], eax
lea eax, [ebp + 1]
push eax
lea edi, [edi + ebp*4]
push 1
push edi
mov dword [esp + 0x8c], edi
call sub.VCRUNTIME140.dll_memset
xor eax, eax
mov byte [edi + ebp + 1], 0
add esp, 0xc
xor ecx, ecx
cmp ax, word [ebx + 0x22]
jge 0x10077bb7
mov esi, dword [esp + 0x40]
nop dword [eax + eax]
mov dword [esi + ecx*4], 0xffffffff
inc ecx
movsx eax, word [ebx + 0x22]
cmp ecx, eax
jl 0x10077ba0
mov esi, dword [esp + 0x134]
mov eax, dword [esp + 0x138]
xorps xmm0, xmm0
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0xfc], eax
mov eax, dword [esi + 8]
movlpd qword [esp + 0x100], xmm0
mov dword [esp + 0x108], 0
mov dword [esp + 0x110], 0
mov dword [esp + 0xf4], esi
mov dword [esp + 0x10c], 0x200
mov dword [esp + 0x14], eax
test eax, eax
je 0x10077c18
mov dword [esp + 0x58], eax
jmp 0x10077c43
cmp dword [esi + 0x78], 0
jne 0x10077c2a
mov eax, dword [esi]
test byte [eax + 0x50], 8
jne 0x10077c2a
mov byte [esi + 0x17], 1
push esi
call fcn.1007aff0
add esp, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x58], eax
test eax, eax
je 0x10079ca6
mov ecx, dword [esp + 0x13c]
xor ebp, ebp
xor al, al
mov byte [esp + 0x33], 0
mov byte [esp + 0x23], al
mov dword [esp + 0x60], ebp
cmp dword [ecx], ebp
jle 0x10077ec7
lea esi, [ecx + 8]
mov dword [esp + 0x38], esi
nop word [eax + eax]
mov ecx, dword [esi + 4]
xor dl, dl
mov byte [esp + 0x32], dl
test ecx, ecx
jne 0x10077c83
mov byte [esp + 0x32], dl
jmp 0x10077ca6
mov al, byte [ecx]
test al, al
je 0x10077ca6
nop dword [eax]
movzx eax, al
lea ecx, [ecx + 1]
add dl, byte [eax + 0x100b0f70]
mov al, byte [ecx]
test al, al
jne 0x10077c90
mov byte [esp + 0x32], dl
cmp dword [esp + 0x28], 0
jne 0x10077cc7
push dword [esi]
lea eax, [esp + 0xf8]
push eax
call fcn.1006fb40
add esp, 8
test eax, eax
jne 0x10079ca6
movsx eax, word [ebx + 0x22]
xor edi, edi
mov dword [esp + 0x90], eax
test eax, eax
jle 0x10077d79
mov eax, dword [ebx + 4]
mov ebx, eax
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x3c], eax
mov al, byte [esp + 0x32]
cmp byte [ebx + 0xa], al
jne 0x10077d69
mov edx, dword [esi + 4]
mov ebp, dword [ebx]
mov esi, ebp
sub esi, edx
nop
movzx ecx, byte [esi + edx]
movzx eax, byte [edx]
cmp ecx, eax
jne 0x10077d45
test ecx, ecx
jne 0x10077d57
mov edx, dword [esp + 0x18]
movsx eax, word [edx + 0x20]
cmp edi, eax
jne 0x10077df8
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x60]
mov byte [esp + 0x23], 1
mov dword [esp + 0xb8], ebp
mov eax, dword [ebx]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x40]
mov dword [eax + edi*4], ebp
jmp 0x10077d81
movzx eax, byte [eax + 0x100b0f70]
movzx ecx, byte [ecx + 0x100b0f70]
sub ecx, eax
jne 0x10077d5a
inc edx
jmp 0x10077d00
mov al, byte [esp + 0x32]
mov ecx, dword [esp + 0x90]
mov esi, dword [esp + 0x38]
inc edi
add ebx, 0x10
cmp edi, ecx
jl 0x10077cf0
mov ebp, dword [esp + 0x60]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x38]
movsx eax, word [edx + 0x22]
cmp edi, eax
jl 0x10077e47
cmp dword [esp + 0x2c], 0
jne 0x10077f4d
mov esi, dword [ebx + 4]
push str._ROWID_
push esi
call fcn.100762a0
add esp, 8
test eax, eax
je 0x10077dd5
push str.ROWID
push esi
call fcn.100762a0
add esp, 8
test eax, eax
je 0x10077dd5
push 0x100b4d40
push esi
call fcn.100762a0
add esp, 8
test eax, eax
jne 0x10077f4d
mov eax, dword [ebx]
or edi, 0xffffffff
mov ebx, dword [esp + 0x18]
mov edx, str.ROWID
mov byte [esp + 0x23], 1
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ebp
jmp 0x10077e64
mov ecx, dword [esp + 0x3c]
mov eax, edi
shl eax, 4
cmp dword [esp + 0x2c], 0
je 0x10077e28
test byte [eax + ecx + 0xe], 1
je 0x10077e28
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x60]
mov ebx, dword [esp + 0x38]
mov byte [esp + 0x33], 1
mov dword [eax + edi*4], ebp
jmp 0x10077d81
test byte [ecx + eax + 0xe], 0x60
jne 0x10077f1f
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x60]
mov ebx, dword [esp + 0x38]
mov dword [eax + edi*4], ebp
jmp 0x10077d81
test edi, edi
jns 0x10077e56
mov ebx, dword [esp + 0x18]
mov edx, str.ROWID
jmp 0x10077e64
mov ebx, dword [esp + 0x18]
mov ecx, edi
add ecx, ecx
mov eax, dword [ebx + 4]
mov edx, dword [eax + ecx*8]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x5c]
add ecx, ecx
mov eax, dword [eax + 0x10]
push dword [eax + ecx*8]
push edx
push dword [ebx]
push 0x17
push dword [esp + 0x144]
call fcn.1004a610
add esp, 0x14
cmp eax, 1
je 0x10079ca6
cmp eax, 2
jne 0x10077ea4
mov eax, dword [esp + 0x40]
mov dword [eax + edi*4], 0xffffffff
mov ecx, dword [esp + 0x13c]
inc ebp
mov esi, dword [esp + 0x38]
add esi, 0x14
mov dword [esp + 0x60], ebp
mov dword [esp + 0x38], esi
cmp ebp, dword [ecx]
jl 0x10077c70
mov al, byte [esp + 0x23]
mov edx, dword [esp + 0x18]
mov bl, byte [esp + 0x33]
add bl, al
mov byte [esp + 0x78], bl
test byte [edx + 0x1c], 0x60
je 0x10078046
mov ebp, dword [esp + 0x40]
xor eax, eax
xor ebx, ebx
xor esi, esi
cmp ax, word [edx + 0x22]
jge 0x10078042
xor edi, edi
cmp dword [ebp + esi*4], 0
jge 0x1007802a
mov eax, dword [edx + 4]
test byte [eax + edi + 0xe], 0x60
je 0x1007802a
movzx eax, word [eax + edi + 0xc]
test ax, ax
jne 0x10077f93
xor eax, eax
jmp 0x10077fb7
push ebp
push str.cannot_UPDATE_generated_column___s_
push dword [esp + 0x13c]
call fcn.10055e80
mov ebp, dword [esp + 0x94]
add esp, 0xc
push dword [esp + 0x40]
push ebp
call fcn.10053c30
add esp, 8
jmp 0x10079cc3
mov ecx, dword [esp + 0x13c]
lea eax, [ebp*4]
mov ebx, dword [esp + 0x134]
add eax, ebp
push dword [ecx + eax*4 + 0xc]
push str.no_such_column:__s
push ebx
call fcn.10055e80
mov ebp, dword [esp + 0x94]
add esp, 0xc
mov byte [ebx + 0x11], 1
push dword [esp + 0x40]
push ebp
call fcn.10053c30
add esp, 8
jmp 0x10079cc3
cmp byte [edx + 0x2b], 0
je 0x10077f9d
xor eax, eax
jmp 0x10077fb7
mov ecx, dword [edx + 0x34]
test ecx, ecx
jne 0x10077fa8
xor eax, eax
jmp 0x10077fb7
cmp dword [ecx], eax
jge 0x10077fb0
xor eax, eax
jmp 0x10077fb7
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 - 0xc]
mov dword [esp + 0xe8], 0
xorps xmm0, xmm0
movq qword [esp + 0xe0], xmm0
mov dword [esp + 0xe8], ebp
movups xmmword [esp + 0xd0], xmm0
mov dword [esp + 0xd4], 0x10020f70
test eax, eax
je 0x10078001
push eax
lea eax, [esp + 0xd4]
push eax
call fcn.1009cbd0
mov edx, dword [esp + 0x20]
add esp, 8
cmp byte [esp + 0x23], 0
mov ax, word [esp + 0xe4]
jne 0x10078018
mov ecx, 0xfffd
and ax, cx
test ax, ax
je 0x1007802a
mov dword [ebp + esi*4], 0x1869f
mov ebx, 1
movsx eax, word [edx + 0x22]
inc esi
add edi, 0x10
cmp esi, eax
jl 0x10077ef5
test ebx, ebx
jne 0x10077ee3
mov bl, byte [esp + 0x78]
cmp byte [edx + 0x2b], 1
jne 0x10078054
or eax, 0xffffffff
or ecx, 0xffffffff
jmp 0x1007806e
xorps xmm0, xmm0
movlpd qword [esp + 0xa8], xmm0
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
mov ebp, dword [esp + 0x138]
mov dword [ebp + 0x40], eax
movzx eax, bl
push eax
push dword [esp + 0x44]
mov dword [ebp + 0x44], ecx
push edx
push dword [esp + 0x140]
mov dword [esp + 0xa0], eax
call fcn.1005de90
mov edx, dword [esp + 0x28]
add esp, 0x10
cmp dword [esp + 0x144], 5
mov ebp, eax
mov eax, dword [esp + 0x6c]
mov ecx, 1
cmove eax, ecx
mov dword [esp + 0x60], ebp
mov dword [esp + 0x6c], eax
xor edi, edi
mov esi, dword [edx + 8]
mov dword [esp + 0xb0], edi
test esi, esi
je 0x100782a4
mov ebx, dword [esp + 0x80]
inc ebx
mov dword [esp + 0x3c], ebx
nop dword [eax]
cmp byte [esp + 0x78], 0
jne 0x1007825c
cmp ebp, 1
jg 0x1007825c
cmp esi, dword [esp + 0x2c]
je 0x1007825c
mov eax, dword [esi + 0x24]
test eax, eax
je 0x10078172
mov ecx, dword [esp + 0x40]
xorps xmm0, xmm0
push eax
lea eax, [esp + 0xd4]
mov dword [esp + 0xec], 0
movups xmmword [esp + 0xd4], xmm0
push eax
movq qword [esp + 0xe8], xmm0
mov dword [esp + 0xdc], 0x10020f70
mov dword [esp + 0xf0], ecx
call fcn.1009cbd0
mov cx, word [esp + 0xec]
add esp, 8
cmp byte [esp + 0x23], 0
jne 0x10078162
mov eax, 0xfffd
and cx, ax
xor eax, eax
test cx, cx
setne al
test eax, eax
jne 0x1007825c
xor eax, eax
xor ebp, ebp
xor edi, edi
cmp ax, word [esi + 0x32]
jae 0x10078277
xor ebx, ebx
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x40]
movzx eax, word [eax + edi*2]
test ax, ax
js 0x1007819f
cwde
mov eax, dword [ecx + eax*4]
not eax
shr eax, 0x1f
jmp 0x10078200
mov eax, dword [esi + 0x28]
xorps xmm0, xmm0
movups xmmword [esp + 0x114], xmm0
mov dword [esp + 0x118], 0x10020f70
movq qword [esp + 0x124], xmm0
mov eax, dword [eax + ebx + 8]
mov dword [esp + 0x12c], ecx
test eax, eax
je 0x100781e1
push eax
lea eax, [esp + 0x118]
push eax
call fcn.1009cbd0
add esp, 8
cmp byte [esp + 0x23], 0
mov cx, word [esp + 0x128]
jne 0x100781f8
mov eax, 0xfffd
and cx, ax
xor eax, eax
test cx, cx
setne al
test eax, eax
jne 0x1007821a
movzx eax, word [esi + 0x32]
inc edi
add ebx, 0x14
cmp edi, eax
jl 0x10078184
mov ebx, dword [esp + 0x3c]
jmp 0x10078277
mov ecx, dword [esp + 0x134]
mov ebp, dword [ecx + 0x2c]
inc ebp
mov dword [ecx + 0x2c], ebp
movzx eax, word [esi + 0x34]
add eax, ebp
cmp dword [esp + 0x144], 0xb
mov dword [ecx + 0x2c], eax
jne 0x1007824f
cmp byte [esi + 0x36], 5
mov ecx, 1
mov eax, dword [esp + 0x6c]
cmove eax, ecx
mov dword [esp + 0x6c], eax
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x10078273
mov ecx, dword [esp + 0x134]
mov ebp, dword [ecx + 0x2c]
inc ebp
mov dword [ecx + 0x2c], ebp
movzx eax, word [esi + 0x34]
add eax, ebp
mov dword [ecx + 0x2c], eax
test ebp, ebp
jne 0x10078281
mov edi, dword [esp + 0xb0]
mov byte [ebx], 0
mov eax, dword [esp + 0x7c]
inc ebx
mov dword [esp + 0x3c], ebx
mov dword [eax + edi*4], ebp
inc edi
mov esi, dword [esi + 0x14]
mov ebp, dword [esp + 0x60]
mov dword [esp + 0xb0], edi
test esi, esi
jne 0x100780e0
mov esi, dword [esp + 0x134]
mov ecx, dword [esp + 0x7c]
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov dword [ecx + edi*4], eax
cmp dword [esp + 0x6c], 0
je 0x100782d9
mov eax, dword [esp + 0xa0]
inc eax
push eax
push 1
push dword [esp + 0x88]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
cmp byte [esi + 0x12], 0
jne 0x100782ea
mov eax, dword [esp + 0x14]
or dword [eax + 0x98], 0x10
cmp dword [esp + 0x50], 0
jne 0x100782f9
test ebp, ebp
jne 0x100782f9
xor bl, bl
jmp 0x100782fb
mov bl, 1
mov eax, dword [esi + 0x78]
test eax, eax
mov ecx, dword [esp + 0x5c]
cmovne esi, eax
mov eax, 1
shl eax, cl
mov edx, dword [esi + 0x58]
test edx, eax
jne 0x1007832d
bts edx, ecx
mov dword [esi + 0x58], edx
cmp ecx, 1
jne 0x1007832d
push esi
call fcn.10066870
mov ecx, dword [esp + 0x60]
add esp, 4
or byte [esi + 0x14], bl
mov eax, dword [esi + 0x54]
mov ebx, dword [esp + 0x18]
bts eax, ecx
mov edx, dword [esp + 0x134]
mov dword [esi + 0x54], eax
cmp byte [ebx + 0x2b], 1
je 0x100783be
mov eax, dword [esp + 0x7c]
mov esi, dword [edx + 0x2c]
inc esi
cmp byte [esp + 0x33], 0
mov dword [esp + 0x54], esi
mov eax, dword [eax + edi*4]
mov dword [esp + 0x48], eax
mov dword [edx + 0x2c], esi
mov dword [esp + 0x24], esi
jne 0x10078379
mov eax, dword [esp + 0x50]
test eax, eax
jne 0x10078379
mov ecx, esi
test ebp, ebp
je 0x10078390
movsx ecx, word [ebx + 0x22]
lea eax, [esi + 1]
add ecx, esi
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x50]
mov dword [edx + 0x2c], ecx
cmp byte [esp + 0x78], 0
jne 0x1007839f
test eax, eax
jne 0x1007839f
test ebp, ebp
je 0x100783ab
lea eax, [ecx + 1]
mov dword [esp + 0x54], eax
mov ecx, eax
mov dword [edx + 0x2c], eax
lea eax, [ecx + 1]
mov dword [esp + 0x8c], eax
movsx eax, word [ebx + 0x22]
add eax, ecx
mov dword [edx + 0x2c], eax
mov cl, byte [esp + 0x13]
cmp cl, 2
jne 0x100783e9
mov ecx, dword [edx + 0xfc]
mov eax, dword [ebx]
mov dword [esp + 0xa8], ecx
mov cl, byte [esp + 0x13]
mov dword [esp + 0xec], edx
mov dword [edx + 0xfc], eax
jmp 0x100783ff
mov eax, dword [esp + 0x74]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0xa8], eax
cmp dword [esp + 0x28], 0
jne 0x1007856d
cmp cl, 2
jne 0x10078445
push dword [esp + 0x1c]
mov ebp, dword [esp + 0x144]
push dword [esp + 0x150]
push dword [esp + 0x150]
push ebp
push ebx
push edx
call fcn.10065e10
add esp, 0x18
mov dword [esp + 0x70], 0
mov dword [esp + 0x3c], 0
jmp 0x10078466
mov ebp, dword [esp + 0x14c]
mov ebx, dword [esp + 0x148]
mov dword [esp + 0x3c], ebp
mov ebp, dword [esp + 0x140]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x18]
test ebp, ebp
je 0x1007858a
mov eax, dword [esp + 0x10c]
mov edx, 0
mov ecx, dword [esp + 0xf4]
mov esi, eax
and eax, 0xf7ff6fef
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x10c], eax
and esi, 0x8009010
test eax, 0x80000
mov dword [esp + 0xd4], fcn.10043360
mov eax, 0x10044730
mov dword [esp + 0xdc], edx
cmovne eax, edx
mov dword [esp + 0xd8], eax
lea eax, [esp + 0xf4]
mov dword [esp + 0xe8], eax
mov eax, dword [ebp + 0x18]
add dword [ecx + 0xdc], eax
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
cmp dword [ecx + 0xdc], eax
jle 0x10078501
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ecx
call fcn.10055e80
jmp 0x10079c8b
lea eax, [esp + 0xd0]
push ebp
push eax
call fcn.1009cbd0
mov ecx, dword [esp + 0xd8]
add esp, 8
mov eax, dword [ebp + 0x18]
sub dword [ecx + 0xdc], eax
mov ecx, dword [esp + 0x10c]
mov eax, ecx
and eax, 0x8010
or ecx, esi
or dword [ebp + 4], eax
cmp dword [esp + 0x108], 0
mov dword [esp + 0x10c], ecx
jg 0x10079c8e
mov eax, dword [esp + 0xd0]
cmp dword [eax + 0x24], 0
jg 0x10079c8e
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x14], edi
mov dword [esp + 0x58], eax
jmp 0x1007858e
mov eax, dword [esp + 0x14c]
mov ebp, dword [esp + 0x140]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x14]
cmp byte [ebx + 0x2b], 1
jne 0x100785ca
push dword [esp + 0x144]
push ebp
push dword [esp + 0x48]
push dword [esp + 0xc0]
push dword [esp + 0x14c]
push ebx
push dword [esp + 0x150]
push dword [esp + 0x150]
call fcn.100959d0
add esp, 0x20
jmp 0x10079c8e
mov edx, dword [esp + 0x134]
mov eax, dword [esp + 0x88]
mov esi, dword [edx + 0x38]
dec esi
mov dword [edx + 0x38], esi
mov ecx, dword [eax + 0x24]
xor eax, eax
and ecx, 1
mov dword [esp + 0x38], esi
or eax, ecx
mov dword [esp + 0x68], esi
je 0x10078673
cmp dword [edx + 0x7c], 0
jne 0x10078673
cmp byte [edx + 0x12], 0
jne 0x10078673
cmp byte [edx + 0x99], 0
jne 0x10078673
cmp dword [esp + 0x150], 0
jne 0x10078673
inc dword [edx + 0x2c]
mov ecx, dword [edi + 0x6c]
mov ebp, dword [edx + 0x2c]
mov dword [esp + 0xcc], ebp
cmp dword [edi + 0x70], ecx
jg 0x10078644
push 0
push ebp
push 0
push 0x47
push edi
call fcn.10031c40
mov edx, dword [esp + 0x148]
add esp, 0x14
jmp 0x10078673
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
cmp dword [esp + 0x28], 0
jne 0x100787f0
test byte [ebx + 0x1c], 0x80
jne 0x100787f0
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100786ae
push dword [esp + 0x24]
push dword [esp + 0x4c]
push 0
push 0x4b
push edi
call fcn.10031c40
mov edx, dword [esp + 0x6c]
add esp, 0x14
add edx, 0x68
jmp 0x100786e3
mov ebx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea edx, [edi + 0x68]
mov eax, dword [edx]
lea ecx, [ecx + ecx*4]
mov edi, dword [esp + 0x48]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov ebp, dword [esp + 0x134]
mov ecx, dword [esp + 0x14]
mov edi, dword [ebp + 0x28]
mov dword [esp + 0x34], edi
lea eax, [edi + 1]
mov dword [ebp + 0x28], eax
mov ebx, dword [ecx + 0x6c]
mov dword [esp + 0x5c], ebx
cmp dword [ecx + 0x70], ebx
jg 0x10078721
push dword [esp + 0x48]
push 0
push edi
push 0x76
push ecx
call fcn.10031c40
mov ebx, eax
add esp, 0x14
mov dword [esp + 0x5c], ebx
jmp 0x1007874f
lea eax, [ebx + 1]
mov dword [ecx + 0x6c], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [edx]
mov edx, dword [esp + 0x48]
mov dword [eax + ecx*4], 0x76
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
cmp dword [esp + 0x150], 0
je 0x100789d1
mov edx, ebp
push 0x10
push esi
push dword [esp + 0x148]
mov dword [esp + 0xd0], 0
push edx
mov dword [esp + 0x54], 1
call fcn.10059a90
mov ebp, dword [esp + 0xbc]
add esp, 0x10
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0xc0], 0
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
test byte [edx + 0x1c], 0x80
jne 0x10078bfc
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jg 0x10078b0b
push 0
push dword [esp + 0x28]
push dword [esp + 0x24]
push 0x87
push edx
call fcn.10031c40
mov esi, dword [esp + 0x6c]
add esp, 0x14
mov edx, dword [esp + 0x14]
add esi, 0x68
jmp 0x10078b44
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x100787fe
movzx ebp, word [eax + 0x32]
jmp 0x10078800
xor ebp, ebp
mov eax, dword [edx + 0x2c]
mov dword [esp + 0xa4], ebp
movsx ebp, bp
lea ecx, [eax + 1]
add eax, ebp
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x28]
add eax, ecx
inc eax
cmp dword [esp + 0x150], 0
mov dword [esp + 0x4c], eax
mov dword [edx + 0x2c], eax
jne 0x10078ab9
cmp byte [esp + 0x13], 2
jne 0x1007883f
movsx eax, word [ebx + 0x22]
jmp 0x10078841
xor eax, eax
mov edx, dword [edx + 0x28]
lea esi, [eax + ebp]
add esi, ecx
mov dword [esp + 0x34], edx
cmp dword [esp + 0x2c], 0
mov ecx, dword [esp + 0x134]
lea eax, [edx + 1]
mov dword [ecx + 0x28], eax
je 0x100788b6
mov ebx, dword [esp + 0x64]
mov ecx, dword [edi + 0x6c]
lea edx, [ebx - 1]
add edx, ebp
cmp dword [edi + 0x70], ecx
jg 0x10078883
push edx
push ebx
push 0
push 0x4b
push edi
call fcn.10031c40
add esp, 0x14
jmp 0x100788b2
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x14]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x34]
mov ebx, dword [edi + 0x6c]
mov dword [esp + 0x5c], ebx
cmp dword [edi + 0x70], ebx
jg 0x100788e0
push 0
push esi
push edx
push 0x76
push edi
call fcn.10031c40
mov edi, dword [esp + 0x6c]
mov ebx, eax
add esp, 0x14
mov dword [esp + 0x5c], ebx
add edi, 0x68
jmp 0x10078912
lea eax, [ebx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [edi + 0x68]
add edi, 0x68
mov ebx, dword [esp + 0x5c]
mov dword [eax + ecx*4], 0x76
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x10078971
push eax
push dword [esp + 0x138]
call fcn.100649a0
mov edx, eax
add esp, 8
test edx, edx
je 0x1007896d
mov ecx, dword [esp + 0x14]
mov word [edx + 8], si
mov eax, dword [ecx]
cmp byte [eax + 0x57], 0
je 0x1007895c
cmp dword [eax + 0x210], 0
jne 0x1007896d
add dword [edx], 0xffffffff
jne 0x1007896d
push edx
push dword [edx + 0xc]
call fcn.10053e60
add esp, 8
jmp 0x1007896d
mov eax, dword [ecx + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [edi]
mov byte [eax + ecx*4 - 0x13], 0xf8
mov dword [eax + ecx*4 - 4], edx
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x28], 0
je 0x100789c6
push dword [esp + 0x3c]
mov ecx, dword [esp + 0x140]
push dword [esp + 0x74]
mov ebx, dword [esp + 0x3c]
push dword [esp + 0x148]
push dword [esp + 0x144]
push ecx
push eax
push ebx
push dword [esp + 0x150]
call fcn.10094c50
mov edx, dword [esp + 0x154]
add esp, 0x20
cmp byte [esp + 0x13], 2
jne 0x10078ad5
mov dword [esp + 0x1c], ebx
jmp 0x10078ad5
mov edi, dword [esp + 0x34]
mov ebp, dword [esp + 0x134]
cmp byte [ebp + 0x12], 0
mov eax, 4
jne 0x100789fe
cmp dword [esp + 0x50], 0
jne 0x100789fe
cmp dword [esp + 0x60], 0
jne 0x100789fe
cmp byte [esp + 0x78], 0
jne 0x100789fe
cmp dword [esp + 0x6c], 0
mov ecx, 0xc
cmove eax, ecx
push dword [esp + 0x84]
push eax
push 0
push 0
push 0
push dword [esp + 0x154]
push dword [esp + 0x150]
push ebp
call fcn.1008a440
add esp, 0x20
mov dword [esp + 0xc4], eax
test eax, eax
je 0x10079c8e
movzx esi, byte [eax + 0x2e]
mov ecx, dword [eax + 0x14]
mov ebp, dword [eax + 0x18]
mov eax, dword [eax + 0x30]
and eax, 1
mov dword [esp + 0x70], ecx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x44], esi
mov dword [esp + 0xc0], eax
cmp esi, 1
je 0x100787a6
mov ecx, dword [esp + 0x134]
mov eax, dword [ecx + 0x78]
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x14], 1
mov ecx, dword [esp + 0x1c]
cmp esi, 2
jne 0x100787aa
test ebp, ebp
js 0x100787aa
cmp ebp, ecx
je 0x100787aa
mov ecx, dword [esp + 0x80]
mov eax, ebp
sub eax, dword [esp + 0x9c]
cmp byte [eax + ecx], 0
mov ecx, dword [esp + 0x1c]
je 0x100787aa
mov dword [esp + 0x44], 0
jmp 0x100787aa
mov eax, dword [esp + 0x1c]
xor edi, edi
xor ebx, ebx
mov dword [esp + 0x34], edi
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x1c], eax
test ecx, ecx
je 0x1007875f
mov eax, dword [edx + 0x78]
mov ecx, edx
mov ebx, dword [esp + 0xa8]
test eax, eax
mov dword [esp + 0x94], ebp
mov ebp, dword [esp + 0xac]
cmovne ecx, eax
mov eax, dword [esp + 0x64]
xor edi, edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x4c], eax
mov byte [ecx + 0x14], 1
jmp 0x10078d2b
mov ebp, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [edx + 0x6c], eax
lea esi, [edx + 0x68]
mov eax, dword [esi]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x24]
mov dword [eax + ecx*4 + 8], ebp
mov ebp, dword [esp + 0x3c]
mov dword [eax + ecx*4], 0x87
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
cmp dword [esp + 0x44], 0
jne 0x10078bbd
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x7c]
inc dword [eax + 0x2c]
mov eax, dword [eax + 0x2c]
mov dword [ebx + ecx*4], eax
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jg 0x10078b8a
push dword [esp + 0x24]
push dword [esp + 0x4c]
push edi
push 0x80
push edx
call fcn.10031c40
add esp, 0x14
jmp 0x10078d23
lea eax, [ecx + 1]
mov dword [edx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi]
mov edx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x24]
mov dword [eax + ecx*4], 0x80
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x10078d23
test ebx, ebx
je 0x10078d23
mov edx, dword [edx]
cmp byte [edx + 0x57], 0
jne 0x10078d23
mov eax, dword [esi]
lea ecx, [ebx + ebx*4]
push dword [eax + ecx*4 + 0x10]
lea esi, [eax + ecx*4]
movsx eax, byte [esi + 1]
push eax
push edx
call fcn.1002f0a0
add esp, 0xc
mov word [esi], 0xb8
mov dword [esi + 0x10], 0
jmp 0x10078d23
mov eax, dword [esp + 0xa4]
xor esi, esi
movsx edi, ax
test edi, edi
jle 0x10078c41
mov ebp, dword [esp + 0x14]
mov ebx, edx
mov eax, dword [esp + 0x64]
add eax, esi
push eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 4]
movsx eax, word [eax + esi*2]
push eax
push ecx
push ebx
push ebp
call fcn.10057030
mov ecx, dword [esp + 0x30]
inc esi
add esp, 0x14
cmp esi, edi
jl 0x10078c12
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x3c]
cmp dword [esp + 0x44], 0
je 0x10078c93
test ebx, ebx
je 0x10078c7f
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
cmp byte [edx + 0x57], 0
jne 0x10078c7f
mov eax, dword [eax + 0x68]
lea ecx, [ebx + ebx*4]
push dword [eax + ecx*4 + 0x10]
lea esi, [eax + ecx*4]
movsx eax, byte [esi + 1]
push eax
push edx
call fcn.1002f0a0
add esp, 0xc
mov word [esi], 0xb8
mov dword [esi + 0x10], 0
mov eax, dword [esp + 0x64]
mov dword [esp + 0x94], edi
mov dword [esp + 0x4c], eax
jmp 0x10078d23
push dword [esp + 0x2c]
push dword [esp + 0x8c]
call fcn.100624b0
mov ebx, dword [esp + 0x1c]
add esp, 8
mov esi, eax
mov edx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], edx
jg 0x10078ccc
push dword [esp + 0x4c]
push edi
push dword [esp + 0x6c]
push 0x61
push ebx
call fcn.10031c40
add esp, 0x14
mov edx, eax
jmp 0x10078cff
mov ebp, dword [esp + 0x64]
lea eax, [edx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x4c]
mov dword [eax + ecx*4 + 0xc], ebp
mov ebp, dword [esp + 0x3c]
mov dword [eax + ecx*4], 0x61
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0x10], 0
push edi
push esi
push edx
push ebx
call fcn.1007ae80
push edi
push dword [esp + 0x78]
push dword [esp + 0x64]
push dword [esp + 0x50]
push 0x8a
push ebx
call fcn.1007ab00
add esp, 0x28
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x44]
cmp dword [esp + 0x150], 0
jne 0x100791d7
mov esi, dword [esp + 0x28]
test esi, esi
jne 0x10078d55
cmp edi, 2
je 0x10078d55
push dword [esp + 0xc4]
call fcn.1008d8e0
add esp, 4
cmp byte [esp + 0x13], 2
je 0x10078e60
xor esi, esi
test edi, edi
je 0x10078dfd
mov edx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x80]
test ebx, ebx
js 0x10078d84
mov eax, ebx
sub eax, edx
mov byte [eax + ecx], 0
test ebp, ebp
js 0x10078d90
mov eax, ebp
sub eax, edx
mov byte [eax + ecx], 0
cmp edi, 2
jne 0x10078dfd
mov ecx, dword [esp + 0xa0]
xor eax, eax
test ebp, ebp
setns al
sub ecx, eax
test ecx, ecx
jle 0x10078dfd
mov edx, dword [esp + 0x14]
mov esi, dword [edx + 0x6c]
cmp dword [edx + 0x70], esi
jg 0x10078dca
push 0
push 0
push 0
push 0xf
push edx
call fcn.10031c40
add esp, 0x14
mov esi, eax
jmp 0x10078dfd
lea eax, [esi + 1]
mov dword [edx + 0x6c], eax
lea ecx, [esi + esi*4]
mov eax, dword [edx + 0x68]
mov dword [eax + ecx*4], 0xf
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push 0
push dword [esp + 0x88]
push dword [esp + 0xa8]
push 0
push 0x71
push dword [esp + 0x30]
push dword [esp + 0x150]
call fcn.10066650
add esp, 0x20
test esi, esi
je 0x10078e5c
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x6c]
lea eax, [edx - 1]
cmp esi, eax
jne 0x10078e3d
mov dword [ecx + 0x6c], eax
jmp 0x10078e5c
mov eax, dword [ecx]
cmp byte [eax + 0x57], 0
je 0x10078e4c
mov eax, 0x100bdf30
jmp 0x10078e59
mov eax, dword [esp + 0x14]
lea ecx, [esi + esi*4]
mov eax, dword [eax + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov esi, dword [esp + 0x28]
test edi, edi
je 0x10078f06
mov eax, dword [esp + 0x1c]
cmp ebx, eax
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x38]
je 0x10078e94
cmp ebp, eax
je 0x10078e94
push dword [esp + 0x94]
push esi
push ebx
push eax
push 0x1c
push dword [esp + 0x28]
call fcn.1007ab00
add esp, 0x18
cmp edi, 1
je 0x10078eaa
mov eax, dword [esp + 0x134]
dec dword [eax + 0x38]
mov ebp, dword [eax + 0x38]
mov dword [esp + 0x68], ebp
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x2c], 0
mov edx, dword [esp + 0x24]
cmovne edx, esi
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x10078ed6
push 0
push ebx
push edx
push 0x32
push edi
call fcn.10031c40
add esp, 0x14
jmp 0x100791db
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x100791db
cmp dword [esp + 0x2c], 0
jne 0x10079032
test esi, esi
jne 0x10079032
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x10078f44
push esi
push edx
push ebx
push 0x24
push edi
call fcn.10031c40
mov esi, dword [esp + 0x6c]
add esp, 0x14
add esi, 0x68
jmp 0x10078f71
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea esi, [edi + 0x68]
mov eax, dword [esi]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x134]
dec dword [eax + 0x38]
mov ecx, dword [edi + 0x6c]
mov ebp, dword [eax + 0x38]
mov dword [esp + 0x68], ebp
mov dword [esp + 0x98], ecx
cmp dword [edi + 0x70], ecx
jg 0x10078fb3
push 0
push dword [esp + 0x28]
push ebx
push 0x87
push edi
call fcn.10031c40
mov edx, dword [esp + 0x38]
add esp, 0x14
mov dword [esp + 0x98], eax
jmp 0x10078fe1
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi]
mov dword [eax + ecx*4], 0x87
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 4], ebx
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x10078fff
push edx
push ebp
push dword [esp + 0x24]
push 0x1f
push edi
call fcn.10031c40
add esp, 0x14
jmp 0x100791df
mov edx, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi]
mov dword [eax + ecx*4], 0x1f
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x24]
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x100791df
mov eax, dword [esp + 0x134]
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
dec dword [eax + 0x38]
mov ecx, dword [edi + 0x6c]
mov ebp, dword [eax + 0x38]
mov dword [esp + 0x68], ebp
cmp dword [edi + 0x70], ecx
jg 0x1007906f
push 0
push edx
push ebx
push 0x24
push edi
call fcn.10031c40
mov esi, dword [esp + 0x6c]
add esp, 0x14
add esi, 0x68
jmp 0x1007909c
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea esi, [edi + 0x68]
mov eax, dword [esi]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x28]
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x98], ecx
test eax, eax
je 0x10079177
cmp byte [esp + 0x13], 2
je 0x100791e3
cmp dword [esp + 0x2c], 0
je 0x10079150
mov eax, dword [esp + 0xa4]
xor esi, esi
movsx edi, ax
test edi, edi
jle 0x10079132
mov ebp, dword [esp + 0x14]
nop dword [eax]
mov edx, dword [esp + 0x64]
mov ecx, dword [ebp + 0x6c]
add edx, esi
cmp dword [ebp + 0x70], ecx
jg 0x100790fe
push edx
push esi
push ebx
push 0x5e
push ebp
call fcn.10031c40
add esp, 0x14
jmp 0x10079129
mov ebx, dword [esp + 0x34]
lea eax, [ecx + 1]
mov dword [ebp + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp + 0x68]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
inc esi
cmp esi, edi
jl 0x100790e0
mov ebp, dword [esp + 0x68]
push edi
push dword [esp + 0x68]
mov edi, dword [esp + 0x1c]
push ebp
push dword [esp + 0x28]
push 0x1c
push edi
call fcn.1007ab00
add esp, 0x18
jmp 0x100791df
cmp dword [edi + 0x70], ecx
jg 0x10078fb3
push 0
push dword [esp + 0x28]
push ebx
push 0x87
push edi
call fcn.10031c40
mov edx, dword [esp + 0x38]
add esp, 0x14
jmp 0x10078fe1
cmp dword [edi + 0x70], ecx
jg 0x10079194
mov esi, dword [esp + 0x4c]
push 0
push esi
push ebx
push 0x86
push edi
call fcn.10031c40
add esp, 0x14
jmp 0x100791c2
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi]
mov esi, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0x86
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push esi
push ebp
push dword [esp + 0x28]
push 0x1c
push edi
call fcn.1007ab00
add esp, 0x18
jmp 0x100791df
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
cmp byte [esp + 0x23], 0
je 0x100792f5
test eax, eax
jne 0x1007924c
mov ebx, dword [esp + 0x134]
cmp dword [ebx + 8], eax
je 0x1007923f
mov esi, dword [esp + 0x54]
mov ebp, dword [esp + 0xb4]
push esi
push ebp
push ebx
call fcn.10058070
mov ecx, eax
add esp, 0xc
cmp ecx, esi
je 0x1007923f
test ebp, ebp
je 0x1007922c
test dword [ebp + 4], 0x400000
mov eax, 0x50
jne 0x10079231
mov eax, 0x51
push esi
push ecx
push eax
push dword [ebx + 8]
call fcn.1007a9c0
add esp, 0x10
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x54]
lea esi, [eax + 0x6c]
jmp 0x100792a9
mov ecx, dword [edi + 0x6c]
lea esi, [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x10079276
mov edx, dword [esp + 0x54]
push edx
mov edx, dword [esp + 0xbc]
push edx
push ebx
push 0x5e
push edi
call fcn.10031c40
mov ebx, dword [esp + 0x68]
add esp, 0x14
jmp 0x100792a7
mov edx, dword [esp + 0xb8]
lea eax, [ecx + 1]
mov dword [esi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x54]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, edi
mov ecx, dword [esi]
mov edx, 0x70
cmp dword [eax + edx], ecx
jg 0x100792c7
push 0
push 0
push ebx
push 0xd
push edi
call fcn.10031c40
add esp, 0x14
jmp 0x100792f5
lea eax, [ecx + 1]
mov dword [esi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0xd
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
cmp byte [esp + 0x33], 0
jne 0x10079359
cmp dword [esp + 0x60], 0
jne 0x10079360
mov eax, dword [esp + 0x50]
test eax, eax
je 0x100794b5
xor edi, edi
push dword [esp + 0x144]
push dword [esp + 0x1c]
push 3
push 0
push dword [esp + 0x14c]
push dword [esp + 0x64]
push dword [esp + 0x14c]
call fcn.100766d0
mov ecx, dword [esp + 0x34]
or edi, eax
xor eax, eax
mov dword [esp + 0xbc], edi
add esp, 0x1c
xor esi, esi
cmp ax, word [ecx + 0x22]
jge 0x10079443
xor ebp, ebp
jmp 0x10079387
cmp dword [esp + 0x60], 0
je 0x1007930f
push dword [esp + 0x18]
push dword [esp + 0x138]
call fcn.1005dd90
add esp, 8
mov edi, eax
jmp 0x10079311
mov edi, dword [esp + 0xa0]
mov eax, dword [ecx + 4]
push esi
push ecx
movzx ebx, word [eax + ebp + 0xe]
call fcn.10076530
movsx edx, ax
add esp, 8
add edx, dword [esp + 0xc8]
cmp edi, 0xffffffff
je 0x10079410
cmp esi, 0x20
jge 0x100793ba
mov eax, 1
mov ecx, esi
shl eax, cl
test edi, eax
jne 0x10079410
test bl, 1
jne 0x10079410
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebx + 0x6c]
lea edi, [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x100793e0
push 0
push edx
push 0
push 0x4b
push ebx
call fcn.10031c40
add esp, 0x14
jmp 0x1007942d
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x1007942d
push edx
push esi
push dword [esp + 0x24]
push dword [esp + 0x24]
push dword [esp + 0x24]
call fcn.10057030
mov edi, dword [esp + 0x6c]
add esp, 0x14
add edi, 0x6c
mov ecx, dword [esp + 0x18]
inc esi
add ebp, 0x10
movsx eax, word [ecx + 0x22]
cmp esi, eax
jl 0x10079380
jmp 0x1007944a
mov edi, dword [esp + 0x58]
add edi, 0x6c
cmp byte [esp + 0x23], 0
jne 0x100794bb
cmp dword [esp + 0x2c], 0
jne 0x100794bb
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
cmp dword [eax + 0x70], ecx
jg 0x1007947d
mov edx, dword [esp + 0x54]
mov edi, eax
push 0
push edx
push dword [esp + 0x2c]
push 0x50
push edi
call fcn.10031c40
add esp, 0x14
jmp 0x100794bf
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x54]
mov dword [eax + ecx*4], 0x50
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x100794bf
mov edi, dword [esp + 0x14]
jmp 0x100794c3
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x144]
push ebp
push dword [esp + 0x1c]
push 1
push 1
push dword [esp + 0x14c]
push eax
push dword [esp + 0x14c]
call fcn.100766d0
mov esi, dword [esp + 0xa8]
mov edx, eax
mov eax, dword [esp + 0x34]
xor ebx, ebx
add esp, 0x1c
mov dword [esp + 0x48], edx
mov dword [esp + 0xc8], ebx
movzx ecx, word [eax + 0x22]
cmp bx, cx
jge 0x100796d5
xor ebp, ebp
movsx eax, word [eax + 0x20]
cmp ebx, eax
jne 0x10079539
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x1007965b
push 0
push esi
push 0
push 0x4b
push edi
call fcn.10031c40
jmp 0x100796a7
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 4]
movzx eax, word [eax + ebp + 0xe]
test al, 0x60
je 0x10079557
test al, 0x20
je 0x100796ae
dec esi
jmp 0x100796ae
mov eax, dword [esp + 0x40]
mov eax, dword [eax + ebx*4]
test eax, eax
js 0x10079630
cmp dword [esp + 0x28], 0
je 0x100795ce
cmp byte [esp + 0x13], 2
je 0x1007957b
mov ecx, dword [esp + 0xa4]
movzx ecx, cx
movsx edx, cx
mov ecx, dword [edi + 0x6c]
add edx, eax
cmp dword [edi + 0x70], ecx
jg 0x1007959e
push esi
push edx
push dword [esp + 0x3c]
push 0x5e
push edi
call fcn.10031c40
jmp 0x100796a7
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x100796aa
mov ecx, dword [esp + 0x13c]
lea eax, [eax + eax*4]
mov edi, dword [ecx + eax*4 + 8]
mov eax, dword [esp + 0x134]
cmp dword [eax + 8], 0
je 0x100796ae
push esi
push edi
push eax
call fcn.10058070
mov ecx, eax
add esp, 0xc
cmp ecx, esi
je 0x100796aa
test edi, edi
je 0x10079614
test dword [edi + 4], 0x400000
mov eax, 0x50
jne 0x10079619
mov eax, 0x51
push esi
push ecx
push eax
mov eax, dword [esp + 0x140]
push dword [eax + 8]
call fcn.1007a9c0
add esp, 0x10
jmp 0x100796aa
test dword [esp + 0xbc], 1
je 0x1007968c
cmp ebx, 0x1f
jg 0x1007968c
mov eax, 1
mov ecx, ebx
shl eax, cl
test edx, eax
jne 0x1007968c
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jle 0x10079527
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x100796ae
push esi
push ebx
push dword [esp + 0x24]
push dword [esp + 0x24]
push edi
call fcn.10057030
mov dword [esp + 0xd4], 0
add esp, 0x14
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x18]
inc ebx
mov edi, dword [esp + 0x14]
add ebp, 0x10
inc esi
movzx eax, word [eax + 0x22]
mov ecx, eax
cwde
cmp ebx, eax
mov eax, dword [esp + 0x18]
jl 0x10079513
mov ebp, dword [esp + 0x144]
test byte [eax + 0x1c], 0x60
mov ebx, dword [esp + 0x8c]
je 0x100796f7
push eax
push ebx
push dword [esp + 0x13c]
call fcn.10051870
mov eax, dword [esp + 0x24]
add esp, 0xc
test byte [esp + 0xbc], 1
je 0x10079853
mov esi, dword [esp + 0x14]
push ebx
push eax
push esi
call fcn.10076340
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x24]
push ebx
push ebp
push dword [esp + 0x38]
push edi
push 1
push dword [esp + 0x15c]
push 0x81
push dword [esp + 0x78]
push dword [esp + 0x160]
call fcn.10050840
add esp, 0x30
cmp byte [esp + 0x13], 2
je 0x10079ace
cmp dword [esp + 0x2c], 0
je 0x10079770
push dword [esp + 0x94]
push dword [esp + 0x50]
push ebx
push dword [esp + 0x28]
push 0x1c
push esi
call fcn.1007ab00
add esp, 0x18
jmp 0x100797bd
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x1007978e
push dword [esp + 0x24]
push ebx
push dword [esp + 0x24]
push 0x1f
push esi
call fcn.10031c40
add esp, 0x14
jmp 0x100797bd
mov edx, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x24]
mov dword [eax + ecx*4], 0x1f
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x18]
xor edx, edx
mov eax, dword [esp + 0x8c]
xor esi, esi
mov edi, eax
cmp dx, word [ecx + 0x22]
mov edx, dword [esp + 0x1c]
jge 0x1007983a
xor ebx, ebx
nop word [eax + eax]
mov eax, dword [ecx + 4]
movzx eax, word [ebx + eax + 0xe]
test al, 0x60
je 0x100797f8
test al, 0x20
lea eax, [edi - 1]
cmove eax, edi
mov edi, eax
jmp 0x1007981e
mov eax, dword [esp + 0x40]
cmp dword [eax + esi*4], 0
jge 0x1007981e
movsx eax, word [ecx + 0x20]
cmp esi, eax
je 0x1007981e
push edi
push esi
push edx
push ecx
push dword [esp + 0x24]
call fcn.10057030
mov ecx, dword [esp + 0x2c]
add esp, 0x14
movsx eax, word [ecx + 0x22]
inc esi
mov edx, dword [esp + 0x1c]
add ebx, 0x10
inc edi
cmp esi, eax
jl 0x100797e0
mov ebx, dword [esp + 0x68]
mov eax, dword [esp + 0x8c]
test byte [ecx + 0x1c], 0x60
je 0x10079866
push ecx
push eax
push dword [esp + 0x13c]
call fcn.10051870
add esp, 0xc
jmp 0x10079862
cmp byte [esp + 0x13], 2
mov ebx, dword [esp + 0x68]
je 0x10079ac6
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x24]
lea eax, [esp + 0x6c]
push 0
push dword [esp + 0x44]
push eax
push ebx
push ebp
push dword [esp + 0x8c]
mov ebp, dword [esp + 0x34]
push edi
push dword [esp + 0x70]
push dword [esp + 0xa4]
push ebp
push dword [esp + 0xa4]
push ecx
push dword [esp + 0x164]
call fcn.1005e370
add esp, 0x34
cmp dword [esp + 0x6c], 0
jne 0x100798b4
cmp byte [esp + 0x78], 0
je 0x1007991a
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x14]
je 0x100798d9
push dword [esp + 0x94]
push dword [esp + 0x50]
push ebx
push ebp
push 0x1c
push esi
call fcn.1007ab00
add esp, 0x18
jmp 0x1007991e
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100798f1
push edi
push ebx
push ebp
push 0x1f
push esi
call fcn.10031c40
add esp, 0x14
jmp 0x1007991e
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x1f
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x1007991e
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x60]
mov ebp, dword [esp + 0x90]
test edi, edi
je 0x1007994b
push ebp
push dword [esp + 0x44]
push 0
push dword [esp + 0x30]
push dword [esp + 0x28]
push dword [esp + 0x148]
call fcn.1005d160
add esp, 0x18
push 0xffffffffffffffff
push dword [esp + 0x80]
push dword [esp + 0x8c]
push dword [esp + 0x28]
push dword [esp + 0x28]
push dword [esp + 0x148]
call fcn.10060ba0
add esp, 0x18
cmp dword [esp + 0xc0], 0
je 0x1007999a
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100799cb
push 0
push 0
push dword [esp + 0x24]
push 0x8f
push esi
call fcn.10031c40
add esp, 0x14
mov edx, dword [esp + 0x1c]
cmp edi, 1
jg 0x100799ae
cmp byte [esp + 0x78], 0
je 0x10079a33
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x10079a00
push 0
push 0
push edx
push 0x82
push esi
call fcn.10031c40
add esp, 0x14
jmp 0x10079a33
mov edx, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x8f
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x1007999e
mov ebx, dword [esp + 0x68]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x82
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
test edi, edi
je 0x10079a55
push ebp
push dword [esp + 0x44]
push dword [esp + 0x5c]
push 0
push dword [esp + 0x28]
push dword [esp + 0x148]
call fcn.1005d160
add esp, 0x18
mov ebp, dword [esp + 0x44]
xor eax, eax
push 0
cmp ebp, 2
push 0
sete al
lea eax, [eax*2 + 4]
push eax
push dword [esp + 0x88]
push dword [esp + 0x64]
push dword [esp + 0x98]
push dword [esp + 0x34]
push dword [esp + 0x34]
push dword [esp + 0x154]
call fcn.10051670
add esp, 0x24
test edi, edi
mov edi, dword [esp + 0x18]
je 0x10079ad2
push dword [esp + 0x90]
push dword [esp + 0x44]
push dword [esp + 0x2c]
push dword [esp + 0x148]
push edi
push dword [esp + 0x148]
call fcn.1005d0d0
add esp, 0x18
jmp 0x10079ad2
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x44]
mov edx, dword [esp + 0xcc]
test edx, edx
je 0x10079b2a
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x10079af7
push 0
push 1
push edx
push 0x56
push esi
call fcn.10031c40
add esp, 0x14
jmp 0x10079b2a
mov ebx, dword [esp + 0x68]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x56
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push ebx
push dword [esp + 0x148]
push dword [esp + 0x2c]
push edi
mov edi, dword [esp + 0x144]
push 2
push dword [esp + 0x150]
push 0x81
push dword [esp + 0x6c]
push edi
call fcn.10050840
add esp, 0x24
cmp ebp, 1
je 0x10079c28
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
cmp ebp, 2
jne 0x10079bad
add eax, dword [ecx + 0x38]
jns 0x10079b93
push ebx
push esi
push ecx
call fcn.100430f0
add esp, 0xc
push dword [esp + 0xc4]
call fcn.1008d8e0
add esp, 4
jmp 0x10079c28
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
push dword [esp + 0xc4]
mov dword [ecx + ebx*4], eax
call fcn.1008d8e0
add esp, 4
jmp 0x10079c28
add eax, dword [ecx + 0x38]
jns 0x10079bc6
push ebx
push esi
push ecx
call fcn.100430f0
mov edx, dword [esp + 0x64]
add esp, 0xc
add edx, 0x6c
jmp 0x10079bd1
mov ecx, dword [ecx + 0x40]
lea edx, [esi + 0x6c]
mov eax, dword [edx]
mov dword [ecx + ebx*4], eax
mov ecx, dword [edx]
cmp dword [esi + 0x70], ecx
jg 0x10079bf3
mov edx, dword [esp + 0x98]
push 0
push edx
push dword [esp + 0x3c]
push 0x27
push esi
call fcn.10031c40
add esp, 0x14
jmp 0x10079c28
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edx, dword [esp + 0x34]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x98]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x38]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x10079c46
push edx
push esi
push ecx
call fcn.100430f0
add esp, 0xc
jmp 0x10079c4f
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + edx*4], eax
cmp byte [edi + 0x12], 0
jne 0x10079c74
cmp dword [edi + 0x7c], 0
jne 0x10079c74
cmp dword [esp + 0x150], 0
jne 0x10079c74
cmp dword [edi + 0x74], 0
je 0x10079c74
push edi
call fcn.1001c790
add esp, 4
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x10079c8e
push str.rows_updated
push eax
push esi
call fcn.1004fe80
add esp, 0xc
mov eax, dword [esp + 0xec]
test eax, eax
je 0x10079ca6
mov ecx, dword [esp + 0xa8]
mov dword [eax + 0xfc], ecx
push dword [esp + 0x40]
mov ebp, dword [esp + 0x8c]
push ebp
call fcn.10053c30
add esp, 8
jmp 0x10079cc3
mov ebp, dword [esp + 0x88]
pop edi
pop ebx
push dword [esp + 0x130]
push ebp
call fcn.10074f30
mov eax, dword [esp + 0x13c]
add esp, 8
test eax, eax
je 0x10079cea
push eax
push ebp
call fcn.1002abf0
add esp, 8
mov eax, dword [esp + 0x138]
test eax, eax
je 0x10079cff
push eax
push ebp
call fcn.100597d0
add esp, 8
pop esi
pop ebp
add esp, 0x120
ret