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

Disassembly:
sub esp, 0xa8
push ebx
push ebp
xor eax, eax
mov dword [esp + 0x74], 0
push esi
xor ecx, ecx
mov dword [esp + 0x8c], eax
cmp dword [esp + 0xd0], eax
push edi
mov edi, dword [esp + 0xbc]
setne byte [esp + 0x12]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x88], eax
mov eax, dword [edi]
mov esi, dword [edi + 8]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x8c], ecx
movsx ebx, word [eax + 0x22]
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x58], 0
mov byte [esp + 0x13], 0
mov dword [esp + 0x5c], esi
mov dword [esp + 0x74], ebx
test cl, cl
js 0x6a55d3
mov dword [esp + 0x28], 0
mov dword [esp + 0x70], 1
jmp 0x6a55fc
mov edx, dword [eax + 8]
mov dword [esp + 0x28], edx
test edx, edx
je 0x6a55f4
mov edi, edi
mov eax, dword [edx + 0x38]
and al, 3
cmp al, 2
je 0x6a55f0
mov edx, dword [edx + 0x14]
test edx, edx
jne 0x6a55e0
mov dword [esp + 0x28], edx
movzx eax, word [edx + 0x32]
mov dword [esp + 0x70], eax
test ecx, 0x800
je 0x6a592d
xor ecx, ecx
xor eax, eax
xor edx, edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], edx
lea ebx, [ebx]
xor ebp, ebp
test ebx, ebx
jle 0x6a58db
mov eax, dword [esp + 0xc0]
xor edi, edi
mov dword [esp + 0x54], edi
mov ebx, dword [eax + 4]
add ebx, edi
mov edi, dword [ebx + 4]
and edi, 0xf
je 0x6a58b8
movsx eax, word [eax + 0x20]
cmp ebp, eax
je 0x6a58b1
movzx eax, word [ebx + 0xe]
and eax, 0x60
je 0x6a566b
test ecx, ecx
jne 0x6a566b
inc edx
mov dword [esp + 0x18], edx
jmp 0x6a58b1
cmp dword [esp + 0xe8], 0
mov esi, dword [esp + 0x5c]
je 0x6a5692
mov esi, dword [esp + 0xe8]
cmp dword [esi + ebp*4], 0
mov esi, dword [esp + 0x5c]
jge 0x6a5692
test eax, eax
je 0x6a58b1
cmp byte [esp + 0xdc], 0xb
mov ecx, dword [esp + 0x20]
je 0x6a56c2
movzx edi, byte [esp + 0xdc]
mov edx, dword [esp + 0x18]
cmp edi, 5
jne 0x6a56cc
test ecx, ecx
jne 0x6a56bb
cmp word [ebx + 0xc], cx
jne 0x6a56d8
mov edi, 2
jmp 0x6a56d8
cmp edi, 0xb
jne 0x6a56ac
mov edi, 2
test ecx, ecx
je 0x6a56d8
test eax, eax
je 0x6a58b1
push ebp
push dword [esp + 0xc4]
call fcn.006bb480
mov edx, dword [esp + 0xd8]
add esp, 8
cwde
inc edx
add edx, eax
lea eax, [edi - 1]
mov dword [esp + 0x24], edx
cmp eax, 4
ja case.0x6a5703.4
jmp dword [eax*4 + 0x6a79bc]
push edx
push 0x33
push esi
call fcn.006bf9c0
inc dword [esp + 0x38]
mov edi, eax
movzx eax, word [ebx + 0xc]
add esp, 0xc
test ax, ax
jne 0x6a5729
xor eax, eax
jmp 0x6a5754
mov ecx, dword [esp + 0xc0]
cmp byte [ecx + 0x2b], 0
je 0x6a573a
xor eax, eax
jmp 0x6a5754
mov ecx, dword [ecx + 0x34]
test ecx, ecx
jne 0x6a5745
xor eax, eax
jmp 0x6a5754
cmp dword [ecx], eax
jge 0x6a574d
xor eax, eax
jmp 0x6a5754
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 - 0xc]
mov edx, dword [esp + 0x24]
push edx
push eax
push dword [esp + 0xc4]
call fcn.006995a0
mov edx, dword [esi + 0x74]
add esp, 0xc
test edi, edi
jns 0x6a5773
lea edi, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x6a5788
mov eax, 0x7c89b4
mov dword [eax + 8], edx
jmp 0x6a58a9
mov eax, dword [esi + 0x70]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x6a58a9
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx + 0x74]
test eax, eax
jne 0x6a57aa
mov eax, ecx
mov byte [eax + 0x15], 1
push dword [ebx]
mov eax, dword [esp + 0xc4]
push dword [eax]
push str._s._s
push dword [esp + 0x3c]
call fcn.006acdc0
mov ecx, dword [esi + 0x74]
add esp, 0x10
mov ebx, eax
mov edx, dword [esp + 0x24]
cmp dword [esi + 0x78], ecx
jg 0x6a57ec
push edx
push edi
push 0x513
push 0x45
push esi
call fcn.00674520
add esp, 0x14
jmp 0x6a5817
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x45
mov dword [eax + ecx*4 + 4], 0x513
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x6a582d
push ebx
push 0xfffffffffffffff9
push eax
call fcn.006612f0
add esp, 0xc
jmp 0x6a583f
mov eax, dword [esi + 0x74]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x70]
mov byte [eax + ecx*4 - 0x13], 0xf9
mov dword [eax + ecx*4 - 4], ebx
mov eax, dword [esi + 0x74]
test eax, eax
jle 0x6a58a9
lea ecx, [eax + eax*4]
mov edx, 1
mov eax, dword [esi + 0x70]
mov word [eax + ecx*4 - 0x12], dx
jmp 0x6a58a9
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x6a5877
push 0
push dword [esp + 0xe4]
push edx
push 0x32
push esi
call fcn.00674520
add esp, 0x14
jmp 0x6a58a9
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0xe0]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0xc0]
mov edi, dword [esp + 0x54]
inc ebp
mov ebx, dword [esp + 0x74]
add edi, 0x10
mov dword [esp + 0x54], edi
cmp ebp, ebx
jl 0x6a5637
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0xbc]
test edx, edx
jne 0x6a58e3
test eax, eax
je 0x6a592d
test ecx, ecx
jne 0x6a592d
mov ecx, 1
mov dword [esp + 0x20], ecx
test eax, eax
jle 0x6a5620
mov ebp, dword [esp + 0xc0]
test byte [ebp + 0x1c], 0x60
je 0x6a5620
mov eax, dword [esp + 0xd0]
push ebp
inc eax
push eax
push edi
call fcn.00694370
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
jmp 0x6a5620
mov ebx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x30]
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x24], edx
test edx, edx
je 0x6a5c48
mov eax, dword [ecx + 0x20]
and eax, 0x200
or eax, 0
jne 0x6a5c48
or eax, 0xffffffff
sub eax, dword [esp + 0xd0]
mov dword [edi + 0x34], eax
mov al, byte [esp + 0xdc]
movzx ebp, al
cmp al, 0xb
jne 0x6a5978
mov ebp, 2
xor ecx, ecx
mov dword [esp + 0x2c], ecx
cmp dword [edx], ecx
jle 0x6a5c3d
mov ebx, dword [esp + 0xe8]
lea eax, [edx + 0xc]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x74], 0xfffd
lea esp, [esp]
mov edi, dword [eax - 4]
test ebx, ebx
je 0x6a5a35
xor eax, eax
mov dword [esp + 0x98], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov word [esp + 0xa8], ax
mov dword [esp + 0x98], 0x653e20
mov dword [esp + 0xac], ebx
test edi, edi
je 0x6a5a1d
lea eax, [esp + 0x94]
push edi
push eax
call fcn.006df920
mov ax, word [esp + 0xb0]
add esp, 8
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
cmp byte [esp + 0xd8], 0
jne 0x6a5a2c
and ax, word [esp + 0x74]
test ax, ax
je 0x6a5c17
cmp byte [esp + 0x13], 0
jne 0x6a5a5a
mov eax, dword [esp + 0xd0]
inc eax
push eax
push dword [esp + 0xc4]
push esi
call fcn.006bb2a0
add esp, 0xc
mov byte [esp + 0x13], 1
mov eax, dword [esp + 0xbc]
dec dword [eax + 0x38]
mov ebx, dword [eax + 0x38]
test edi, edi
je 0x6a5a87
push 0
push 0
push edi
push dword [esp + 0x3c]
call fcn.0065d400
mov edi, eax
add esp, 0x10
mov eax, dword [esp + 0xbc]
jmp 0x6a5a89
xor edi, edi
mov ecx, dword [esp + 0x30]
cmp byte [ecx + 0x57], 0
jne 0x6a5aa4
push 0x10
push ebx
push edi
push eax
call fcn.0069ca10
mov ecx, dword [esp + 0x40]
add esp, 0x10
test edi, edi
je 0x6a5ab2
push edi
push ecx
call fcn.0069c2c0
add esp, 8
cmp ebp, 4
jne 0x6a5b15
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x6a5ada
push 0
push dword [esp + 0xe4]
push 0
push 0xb
push esi
call fcn.00674520
add esp, 0x14
jmp 0x6a5be5
mov edx, dword [esp + 0xe0]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xb
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 0x6a5be5
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [esp + 0x54], eax
cmp ebp, 5
jne 0x6a5b29
mov ebp, 2
mov ecx, dword [esp + 0xbc]
mov edi, dword [ecx + 8]
test edi, edi
jne 0x6a5b5a
cmp dword [ecx + 0x74], edi
jne 0x6a5b48
mov eax, dword [ecx]
test byte [eax + 0x50], 8
jne 0x6a5b48
mov byte [ecx + 0x17], 1
push ecx
call fcn.006c04a0
mov ecx, dword [esp + 0xc0]
add esp, 4
mov edi, eax
cmp ebp, 2
jne 0x6a5b6c
mov eax, dword [ecx + 0x74]
test eax, eax
jne 0x6a5b68
mov eax, ecx
mov byte [eax + 0x15], 1
mov edx, dword [edi + 0x74]
cmp dword [edi + 0x78], edx
jg 0x6a5b8b
push 0
push ebp
push 0x113
push 0x46
push edi
call fcn.00674520
add esp, 0x14
mov edx, eax
jmp 0x6a5bbe
mov esi, dword [esp + 0x5c]
lea eax, [edx + 1]
mov dword [edi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], 0x46
mov dword [eax + ecx*4 + 4], 0x113
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push dword [esp + 0x58]
push edx
push edi
call fcn.006bffa0
mov eax, dword [edi + 0x74]
add esp, 0x10
test eax, eax
jle 0x6a5be5
lea ecx, [eax + eax*4]
mov edx, 3
mov eax, dword [edi + 0x70]
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x6a5bff
push ebx
push esi
push ecx
call fcn.006865c0
add esp, 0xc
jmp 0x6a5c08
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x74]
mov dword [ecx + ebx*4], eax
mov ebx, dword [esp + 0xe8]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
inc ecx
add eax, 0x14
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x3c], eax
cmp ecx, dword [edx]
jl 0x6a59a0
mov edi, dword [esp + 0xbc]
mov ebx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x30]
mov dword [edi + 0x34], 0
mov edx, dword [esp + 0xec]
mov eax, dword [ebx + 8]
mov dword [esp + 0x54], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x2c], eax
test edx, edx
je 0x6a5dfe
cmp dword [edx], 0
jne 0x6a5ca4
cmp byte [edx + 0x14], 0
jne 0x6a5c97
xor eax, eax
mov byte [esp + 0xdc], 4
mov dword [esp + 0xec], eax
jmp 0x6a5dfe
mov byte [esp + 0xdc], 6
jmp 0x6a5dfe
test eax, eax
je 0x6a5dfe
xor edi, edi
mov edi, edi
mov eax, dword [eax + 0x14]
inc edi
test eax, eax
jne 0x6a5cb0
lea ebx, [edi + edi*4]
mov dword [esp + 0x54], 1
add ebx, ebx
mov dword [esp + 0x2c], edi
xor edx, edx
test ecx, ecx
je 0x6a5cde
push edx
push ebx
push ecx
call fcn.00696530
add esp, 0xc
mov edx, eax
jmp 0x6a5d48
mov eax, ebx
or eax, edx
je 0x6a5d46
test edx, edx
ja 0x6a5d46
jb 0x6a5cf2
cmp ebx, 0x7fffff00
jae 0x6a5d46
cmp dword [0x7bd110], edx
je 0x6a5d34
mov eax, dword [0x7c8688]
test eax, eax
je 0x6a5d0d
push eax
call dword [0x7bd160]
add esp, 4
lea eax, [esp + 0x40]
push eax
push ebx
call fcn.0067a4a0
mov eax, dword [0x7c8688]
add esp, 8
test eax, eax
je 0x6a5d2e
push eax
call dword [0x7bd168]
add esp, 4
mov edx, dword [esp + 0x40]
jmp 0x6a5d48
push ebx
call dword [0x7bd130]
add esp, 4
mov dword [esp + 0x18], eax
mov edx, eax
jmp 0x6a5d4c
xor edx, edx
mov dword [esp + 0x18], edx
test edx, edx
je 0x6a79ae
push ebx
push 0
push edx
call sub.MSVCRT.dll_memset
mov edx, dword [esp + 0x24]
add esp, 0xc
test edx, edx
je 0x6a79ae
mov eax, dword [esp + 0xec]
lea ebp, [edx + edi*8]
mov esi, dword [esp + 0xc0]
xor ebx, ebx
mov edi, eax
mov dword [eax + 0x18], edx
cmp dword [edi], 0
je 0x6a5dcf
mov edx, dword [edi + 0x1c]
test edx, edx
je 0x6a5dc4
mov eax, dword [esi + 8]
xor ecx, ecx
test eax, eax
je 0x6a5dac
lea esp, [esp]
cmp eax, edx
je 0x6a5dac
mov eax, dword [eax + 0x14]
inc ecx
test eax, eax
jne 0x6a5da0
cmp byte [ecx + ebp], 0
mov edx, dword [esp + 0x18]
jne 0x6a5dc8
mov byte [ecx + ebp], 1
mov dword [edx + ebx*8], eax
mov dword [edx + ebx*8 + 4], ecx
inc ebx
jmp 0x6a5dc8
mov edx, dword [esp + 0x18]
mov edi, dword [edi + 0x10]
test edi, edi
jne 0x6a5d84
mov eax, esi
xor ecx, ecx
mov esi, dword [esp + 0x5c]
mov eax, dword [eax + 8]
test eax, eax
je 0x6a5df7
lea edx, [edx + ebx*8]
cmp byte [ecx + ebp], 0
jne 0x6a5def
mov dword [edx], eax
mov dword [edx + 4], ecx
add edx, 8
mov eax, dword [eax + 0x14]
inc ecx
test eax, eax
jne 0x6a5de1
mov ebx, dword [esp + 0xc0]
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0xbc]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [esp + 0xb4], eax
mov eax, ecx
and eax, 0x6000
or eax, 0
jne 0x6a5e32
mov dword [esp + 0x80], eax
mov dword [esp + 0x4c], eax
jmp 0x6a5ef6
and ecx, 0x2000
or ecx, 0
push 0
push 0
je 0x6a5e76
push pe_nt_image_headers32
push ebx
push edi
call fcn.006bbd20
mov ebp, eax
add esp, 0x14
mov dword [esp + 0x80], ebp
test ebp, ebp
jne 0x6a5e95
push eax
push eax
push ebx
push edi
call fcn.006a0540
add esp, 0x10
test eax, eax
jne 0x6a5e95
mov dword [esp + 0x4c], eax
jmp 0x6a5ef6
push ebx
push edi
mov dword [esp + 0x90], 0
call fcn.006a0540
mov edx, eax
add esp, 0x10
mov dword [esp + 0x4c], edx
test edx, edx
je 0x6a5ef6
inc dword [edi + 0x2c]
mov ecx, dword [esi + 0x74]
mov edx, dword [edi + 0x2c]
mov dword [esp + 0x4c], edx
cmp dword [esi + 0x78], ecx
jg 0x6a5eb9
push 0
push edx
push 0
push 0x47
push esi
call fcn.00674520
add esp, 0x14
jmp 0x6a5ee8
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x47
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
dec dword [edi + 0x38]
mov eax, dword [edi + 0x38]
mov dword [esp + 0x34], eax
mov dword [esp + 0x6c], eax
cmp byte [esp + 0xd8], 0
je 0x6a653e
mov ecx, dword [esp + 0x28]
test ecx, ecx
jne 0x6a653e
dec dword [edi + 0x38]
mov al, byte [esp + 0xdc]
mov ebp, dword [edi + 0x38]
movzx ebx, byte [ebx + 0x2a]
mov dword [esp + 0x40], ebp
cmp al, 0xb
je 0x6a5f2e
movzx ebx, al
jmp 0x6a5f38
cmp ebx, 0xb
jne 0x6a5f38
mov ebx, 2
mov ecx, dword [esp + 0xec]
test ecx, ecx
je 0x6a5fda
mov eax, ecx
lea esp, [esp]
cmp dword [eax], 0
je 0x6a5f62
cmp dword [eax + 0x1c], 0
je 0x6a5f62
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x6a5f50
mov dword [esp + 0x58], eax
test eax, eax
je 0x6a5f79
xor ebx, ebx
cmp byte [eax + 0x14], bl
setne bl
lea ebx, [ebx*2 + 4]
cmp eax, ecx
je 0x6a5fd3
mov edx, dword [esi + 0x74]
mov dword [esp + 0x64], edx
cmp dword [esi + 0x78], edx
jg 0x6a5fa0
push 0
push 0
push 0
push 0xb
push esi
call fcn.00674520
add esp, 0x14
mov dword [esp + 0x64], eax
jmp 0x6a5fd3
lea eax, [edx + 1]
mov dword [esi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xb
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
mov al, byte [esp + 0xdc]
cmp ebx, 5
jne 0x6a6058
cmp al, bl
je 0x6a6058
mov eax, dword [esp + 0xc0]
cmp dword [eax + 8], 0
je 0x6a6058
cmp dword [esp + 0x64], 0
jne 0x6a6058
mov edx, dword [esi + 0x74]
cmp dword [esi + 0x78], edx
jg 0x6a6014
push 0
push 0
push 0
push 0xb
push esi
call fcn.00674520
add esp, 0x14
mov edx, eax
jmp 0x6a604e
mov edi, dword [esp + 0xbc]
lea eax, [edx + 1]
mov dword [esi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xb
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
lea eax, [edx + 1]
mov dword [esp + 0x8c], eax
cmp byte [esp + 0x12], 0
je 0x6a60cf
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x6a6083
push dword [esp + 0xd4]
push ebp
push dword [esp + 0xd8]
push 0x35
push esi
call fcn.00674520
add esp, 0x14
jmp 0x6a60b8
mov edx, dword [esp + 0xd0]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0xd4]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x74]
test eax, eax
jle 0x6a60cf
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esi + 0x70]
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x6a60fa
push dword [esp + 0xd0]
push ebp
push dword [esp + 0xd0]
push 0x21
push esi
call fcn.00674520
mov edx, dword [esp + 0xdc]
add esp, 0x14
jmp 0x6a6136
mov edi, dword [esp + 0xd0]
lea eax, [ecx + 1]
mov edx, dword [esp + 0xc8]
lea ecx, [ecx + ecx*4]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 0xbc]
mov dword [eax + ecx*4], 0x21
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0x10], 0
lea eax, [ebx - 1]
cmp eax, 5
ja case.default.0x6a6142
jmp dword [eax*4 + 0x6a79d0]
mov ebx, dword [esp + 0x4c]
test ebx, ebx
je 0x6a6209
mov eax, dword [edi + 0x74]
test eax, eax
jne 0x6a615e
mov eax, edi
push 0xffffffffffffffff
push 1
push 5
push 0
push 1
push dword [esp + 0xe4]
mov byte [eax + 0x14], 1
push dword [esp + 0xe4]
push edx
push dword [esp + 0xa0]
push dword [esp + 0xe4]
push edi
call fcn.006a7c00
mov ecx, dword [esi + 0x74]
add esp, 0x2c
cmp dword [esi + 0x78], ecx
jg 0x6a61c2
push 0
push 1
push ebx
push 0x55
push esi
call fcn.00674520
add esp, 0x14
mov dword [esp + 0x88], 1
mov dword [esp + 0x7c], 1
jmp 0x6a6413
lea eax, [ecx + 1]
mov dword [esp + 0x88], 1
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [esp + 0x7c], 1
mov dword [eax + ecx*4], 0x55
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x6a6413
mov ecx, dword [esp + 0xc0]
cmp dword [ecx + 8], 0
je 0x6a6239
mov eax, dword [edi + 0x74]
test eax, eax
jne 0x6a621f
mov eax, edi
push 0xffffffffffffffff
push 0
push dword [esp + 0xd4]
mov byte [eax + 0x14], 1
push edx
push ecx
push edi
call fcn.006a7ff0
add esp, 0x18
mov dword [esp + 0x7c], 1
jmp 0x6a6413
mov eax, dword [esp + 0xec]
push edx
push 0
push dword [esp + 0xc8]
push eax
push edi
call fcn.006bed30
add esp, 0x14
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x6a6284
push 0
push dword [esp + 0xe4]
push 0
push 0xb
push esi
call fcn.00674520
add esp, 0x14
jmp 0x6a6413
mov edx, dword [esp + 0xe0]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xb
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 0x6a6413
mov ebx, 2
mov edx, dword [esp + 0xc0]
movzx eax, word [edx + 0x20]
test ax, ax
js 0x6a62fa
movsx ecx, ax
mov eax, dword [edx + 4]
add ecx, ecx
push dword [eax + ecx*8]
push dword [edx]
push str._s._s
push dword [edi]
call fcn.006acdc0
add esp, 0x10
mov dword [esp + 0x24], 0x613
jmp 0x6a6313
push dword [edx]
push str._s.rowid
push dword [edi]
call fcn.006acdc0
add esp, 0xc
mov dword [esp + 0x24], 0xa13
mov edi, dword [edi + 8]
mov ebp, eax
test edi, edi
jne 0x6a633f
mov ecx, dword [esp + 0xbc]
cmp dword [ecx + 0x74], edi
jne 0x6a6334
mov eax, dword [ecx]
test byte [eax + 0x50], 8
jne 0x6a6334
mov byte [ecx + 0x17], 1
push ecx
call fcn.006c04a0
add esp, 4
mov edi, eax
cmp ebx, 2
jne 0x6a6358
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx + 0x74]
test eax, eax
jne 0x6a6354
mov eax, ecx
mov byte [eax + 0x15], 1
mov edx, dword [edi + 0x74]
cmp dword [edi + 0x78], edx
jg 0x6a6376
push 0
push ebx
push dword [esp + 0x2c]
push 0x46
push edi
call fcn.00674520
add esp, 0x14
mov edx, eax
jmp 0x6a63a9
mov esi, dword [esp + 0x24]
lea eax, [edx + 1]
mov dword [edi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x5c]
mov dword [eax + ecx*4], 0x46
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x6a63bf
push ebp
push 0xfffffffffffffff9
push eax
call fcn.006612f0
add esp, 0xc
jmp 0x6a63f1
test edx, edx
jns 0x6a63c7
mov edx, dword [edi + 0x74]
dec edx
mov eax, dword [edi + 0x70]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
jne 0x6a63e4
test ebp, ebp
je 0x6a63f1
mov dword [eax + 0x10], ebp
mov byte [eax + 1], 0xf9
jmp 0x6a63f1
push 0xfffffffffffffff9
push ebp
push eax
push edi
call fcn.006d9320
add esp, 0x10
mov eax, dword [edi + 0x74]
mov ebp, dword [esp + 0x40]
test eax, eax
jle 0x6a640c
lea ecx, [eax + eax*4]
mov edx, 2
mov eax, dword [edi + 0x70]
mov word [eax + ecx*4 - 0x12], dx
mov edi, dword [esp + 0xbc]
mov ecx, dword [esi + 0xc]
not ebp
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x6a642d
push ebp
push esi
push ecx
call fcn.006865c0
add esp, 0xc
jmp 0x6a6436
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x74]
mov dword [ecx + ebp*4], eax
mov ecx, dword [esp + 0xec]
test ecx, ecx
je 0x6a64ab
cmp dword [esp + 0x58], ecx
je 0x6a64ab
mov ecx, dword [esi + 0x74]
mov dword [esp + 0x84], ecx
cmp dword [esi + 0x78], ecx
jg 0x6a6473
push 0
push 0
push 0
push 0xb
push esi
call fcn.00674520
add esp, 0x14
mov dword [esp + 0x84], eax
jmp 0x6a653e
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xb
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
jmp 0x6a653e
mov ebp, dword [esp + 0x8c]
test ebp, ebp
je 0x6a6545
mov ebx, dword [esi + 0x74]
mov dword [esp + 0x90], ebx
cmp dword [esi + 0x78], ebx
jg 0x6a64e3
push 0
push 0
push 0
push 0xb
push esi
call fcn.00674520
add esp, 0x14
mov dword [esp + 0x90], eax
jmp 0x6a6516
lea eax, [ebx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xb
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
mov edx, dword [esi + 0x74]
lea ecx, [ebp - 1]
test ecx, ecx
jns 0x6a6523
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x6a6532
mov eax, 0x7c89b4
jmp 0x6a653b
mov eax, dword [esi + 0x70]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov ecx, dword [esp + 0xec]
cmp dword [esp + 0x54], 0
je 0x6a6557
mov eax, dword [esp + 0x18]
mov ebp, dword [eax + 4]
mov ebx, dword [eax]
jmp 0x6a655d
mov ebx, dword [esp + 0x2c]
xor ebp, ebp
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ebp
test ebx, ebx
je 0x6a75b5
lea ecx, [ecx]
mov eax, dword [esp + 0xc4]
cmp dword [eax + ebp*4], 0
je 0x6a7559
test ecx, ecx
je 0x6a65d2
mov eax, ecx
cmp dword [eax], 0
je 0x6a6598
cmp dword [eax + 0x1c], ebx
je 0x6a6598
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x6a6587
cmp dword [esp + 0x64], 0
mov dword [esp + 0x58], eax
je 0x6a65d2
cmp eax, ecx
jne 0x6a65d2
mov eax, dword [esp + 0x64]
mov ecx, eax
mov edx, dword [esi + 0x74]
test eax, eax
jns 0x6a65b7
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x6a65c6
mov eax, 0x7c89b4
jmp 0x6a65cf
mov eax, dword [esi + 0x70]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
dec dword [edi + 0x38]
cmp byte [esp + 0x13], 0
mov eax, dword [edi + 0x38]
mov dword [esp + 0x20], eax
jne 0x6a6601
mov eax, dword [esp + 0xd0]
inc eax
push eax
push dword [esp + 0xc4]
push esi
call fcn.006bb2a0
add esp, 0xc
mov byte [esp + 0x13], 1
add ebp, dword [esp + 0xcc]
cmp dword [ebx + 0x24], 0
mov dword [esp + 0x68], ebp
je 0x6a66d7
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xc4]
mov ecx, dword [esi + 0x74]
mov edx, dword [eax + edx*4]
cmp dword [esi + 0x78], ecx
jg 0x6a663e
push 0
push edx
push 0
push 0x4a
push esi
call fcn.00674520
add esp, 0x14
jmp 0x6a6671
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov esi, dword [esp + 0x5c]
mov dword [eax + ecx*4], 0x4a
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
or eax, 0xffffffff
sub eax, dword [esp + 0xd0]
mov dword [edi + 0x34], eax
mov eax, dword [ebx + 0x24]
mov ebx, dword [edi]
test eax, eax
je 0x6a6699
push 0
push 0
push eax
push ebx
call fcn.0065d400
add esp, 0x10
mov edi, eax
jmp 0x6a669b
xor edi, edi
cmp byte [ebx + 0x57], 0
jne 0x6a66b7
push 0x10
push dword [esp + 0x24]
push edi
push dword [esp + 0xc8]
call fcn.0069c5e0
add esp, 0x10
test edi, edi
je 0x6a66c5
push edi
push ebx
call fcn.0069c2c0
add esp, 8
mov edi, dword [esp + 0xbc]
mov ebx, dword [esp + 0x14]
mov dword [edi + 0x34], 0
mov ecx, dword [esp + 0xc4]
xor edx, edx
mov eax, dword [esp + 0x1c]
mov eax, dword [ecx + eax*4]
xor ecx, ecx
inc eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x48], eax
cmp dx, word [ebx + 0x34]
jae 0x6a68c4
xor ebx, ebx
mov ebp, eax
mov dword [esp + 0x38], ebx
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
movsx ecx, word [eax + ecx*2]
cmp ecx, 0xfffffffe
jne 0x6a677e
or eax, 0xffffffff
sub eax, dword [esp + 0xd0]
mov dword [edi + 0x34], eax
mov eax, dword [edx + 0x28]
mov eax, dword [eax + ebx + 8]
mov ebx, dword [edi]
test eax, eax
je 0x6a6740
push 0
push 0
push eax
push ebx
call fcn.0065d400
add esp, 0x10
mov edi, eax
jmp 0x6a6742
xor edi, edi
cmp byte [ebx + 0x57], 0
jne 0x6a6759
push ebp
push edi
push dword [esp + 0xc4]
call fcn.00699550
add esp, 0xc
test edi, edi
je 0x6a6767
push edi
push ebx
call fcn.0069c2c0
add esp, 8
mov edi, dword [esp + 0xbc]
mov ebx, dword [esp + 0x38]
mov dword [edi + 0x34], 0
jmp 0x6a6897
cmp ecx, 0xffffffff
je 0x6a6846
mov eax, dword [esp + 0xc0]
movsx eax, word [eax + 0x20]
cmp ecx, eax
je 0x6a6846
mov eax, dword [esp + 0xc0]
test byte [eax + 0x1c], 0x20
je 0x6a67fc
test cx, cx
js 0x6a67fc
movsx ecx, cx
xor edi, edi
xor edx, edx
test ecx, ecx
jle 0x6a67d3
mov eax, dword [eax + 4]
mov edi, ecx
add eax, 0xe
nop
test byte [eax], 0x20
jne 0x6a67c6
inc edx
add eax, 0x10
dec ecx
jne 0x6a67c0
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + 4]
mov ecx, edi
add ecx, ecx
test byte [eax + ecx*8 + 0xe], 0x20
je 0x6a67f7
mov eax, dword [esp + 0xc0]
mov ax, word [eax + 0x24]
sub ax, dx
add ax, di
movzx eax, ax
jmp 0x6a67ff
movzx eax, dx
jmp 0x6a67ff
movzx eax, cx
mov edx, dword [esp + 0xd0]
mov ecx, dword [esi + 0x74]
inc edx
cwde
add edx, eax
cmp dword [esi + 0x78], ecx
jg 0x6a682a
push 0
push ebp
push edx
push 0x50
push esi
call fcn.00674520
mov edi, dword [esp + 0xd0]
add esp, 0x14
jmp 0x6a6897
mov edi, dword [esp + 0xbc]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x50
jmp 0x6a687f
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x6a6865
push 0
push ebp
push dword [esp + 0xd8]
push 0x51
push esi
call fcn.00674520
add esp, 0x14
jmp 0x6a6897
mov edx, dword [esp + 0xd0]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x51
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [esp + 0x14]
add ebx, 0x14
mov ecx, dword [esp + 0x40]
inc ebp
inc ecx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x40], ecx
movzx eax, word [eax + 0x34]
cmp ecx, eax
jl 0x6a6704
mov ebp, dword [esp + 0x68]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x1c]
movzx edi, word [ebx + 0x34]
mov edx, dword [ecx + edx*4]
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x6a68ee
push edx
push edi
push eax
push 0x60
push esi
call fcn.00674520
add esp, 0x14
jmp 0x6a691d
mov ebp, dword [esp + 0x48]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x68]
mov dword [eax + ecx*4], 0x60
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
cmp byte [esp + 0x12], 0
mov edx, dword [esp + 0x28]
je 0x6a6965
cmp edx, ebx
jne 0x6a6965
cmp byte [esp + 0xd8], 0
jne 0x6a6965
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x20]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x6a6957
push edx
push esi
push ecx
call fcn.006865c0
add esp, 0xc
jmp 0x6a7555
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x74]
mov dword [ecx + edx*4], eax
jmp 0x6a7555
movzx ebx, byte [ebx + 0x36]
mov dword [esp + 0x60], ebx
test ebx, ebx
jne 0x6a6992
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x20]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x6a6957
push edx
push esi
push ecx
call fcn.006865c0
add esp, 0xc
jmp 0x6a7555
mov al, byte [esp + 0xdc]
cmp al, 0xb
je 0x6a69a2
movzx ebx, al
jmp 0x6a69ac
cmp ebx, 0xb
jne 0x6a69b0
mov ebx, 2
mov dword [esp + 0x60], ebx
mov eax, dword [esp + 0x58]
test eax, eax
je 0x6a69cb
xor ebx, ebx
cmp byte [eax + 0x14], bl
setne bl
lea ebx, [ebx*2 + 4]
mov dword [esp + 0x60], ebx
cmp dword [esp + 0x1c], 0
jne 0x6a6a22
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x14], 0
jne 0x6a6a22
cmp edx, ecx
jne 0x6a6a22
cmp ebx, 5
jne 0x6a6a22
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x20]
and eax, 0x2000
mov dword [esp + 0x40], eax
lea eax, [ebx - 5]
jne 0x6a69fe
test eax, eax
je 0x6a6a59
mov edi, dword [esp + 0xc0]
push 0
push 0
push pe_nt_image_headers32
push edi
push dword [esp + 0xcc]
call fcn.006bbd20
add esp, 0x14
test eax, eax
je 0x6a6a60
mov eax, dword [esp + 0x14]
mov edx, dword [esi + 0x74]
mov dword [esp + 0x3c], edx
movzx edi, word [eax + 0x32]
cmp dword [esi + 0x78], edx
jg 0x6a6abe
push dword [esp + 0x48]
push dword [esp + 0x24]
push ebp
push 0x1d
push esi
call fcn.00674520
mov edx, eax
add esp, 0x14
mov dword [esp + 0x3c], edx
jmp 0x6a6af1
mov edi, dword [esp + 0xc0]
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x20]
and eax, 0x4000
mov dword [esp + 0x40], eax
mov eax, 0
jne 0x6a6a7b
test eax, eax
je 0x6a6a99
cmp dword [edi + 0x30], eax
jne 0x6a6a22
mov eax, dword [edi + 0x3c]
push 0
push dword [edi]
add eax, 0x38
push eax
call fcn.0065ef20
add esp, 0xc
cmp dword [eax + 8], 0
jne 0x6a6a22
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x20]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x6a6957
push edx
push esi
push ecx
call fcn.006865c0
add esp, 0xc
jmp 0x6a7555
mov ebx, dword [esp + 0x20]
lea eax, [edx + 1]
mov dword [esi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 0xc], ebx
mov ebx, dword [esp + 0x60]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x6a6b08
mov eax, dword [esi + 0x70]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edi
mov edi, dword [esp + 0x14]
cmp edi, dword [esp + 0x28]
jne 0x6a6b1c
mov edx, dword [esp + 0x48]
mov dword [esp + 0x50], edx
jmp 0x6a6b7d
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0xbc]
cmp eax, 1
jne 0x6a6b4c
mov al, byte [edi + 0x13]
test al, al
jne 0x6a6b3b
inc dword [edi + 0x2c]
mov edx, dword [edi + 0x2c]
jmp 0x6a6b75
dec al
mov byte [edi + 0x13], al
movzx eax, al
mov edx, dword [edi + eax*4 + 0x98]
jmp 0x6a6b75
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x20]
mov dword [esp + 0x50], edx
cmp eax, ecx
jg 0x6a6b68
add eax, edx
sub ecx, dword [esp + 0x70]
mov dword [edi + 0x20], eax
mov dword [edi + 0x1c], ecx
jmp 0x6a6b79
mov eax, dword [edi + 0x2c]
lea edx, [eax + 1]
add eax, dword [esp + 0x70]
mov dword [edi + 0x2c], eax
mov dword [esp + 0x50], edx
mov edi, dword [esp + 0x14]
cmp byte [esp + 0x12], 0
jne 0x6a6b8d
cmp ebx, 5
jne 0x6a6f52
mov eax, dword [esp + 0xc0]
test byte [eax + 0x1c], 0x80
jne 0x6a6c67
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x6a6bbe
push 0
push edx
push ebp
push 0x8d
push esi
call fcn.00674520
mov edx, dword [esp + 0x64]
add esp, 0x14
jmp 0x6a6be9
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x8d
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
cmp byte [esp + 0x12], 0
je 0x6a6f52
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x6a6c15
push dword [esp + 0xd4]
push dword [esp + 0x24]
push edx
push 0x35
push esi
call fcn.00674520
add esp, 0x14
jmp 0x6a6c47
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0xd4]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x74]
test eax, eax
jle 0x6a6f52
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esi + 0x70]
mov word [eax + ecx*4 - 0x12], dx
jmp 0x6a6f52
mov eax, dword [esp + 0x28]
cmp edi, eax
je 0x6a6d16
xor ecx, ecx
xor ebp, ebp
cmp cx, word [eax + 0x32]
jae 0x6a6d16
mov ebx, edx
movzx edx, word [edi + 0x34]
xor ecx, ecx
test edx, edx
jle 0x6a6cad
mov eax, dword [eax + 4]
movzx edi, word [eax + ebp*2]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
jmp 0x6a6ca0
cmp di, word [eax]
je 0x6a6cce
inc ecx
add eax, 2
cmp ecx, edx
jl 0x6a6ca0
or eax, 0xffffffff
mov ecx, dword [esi + 0x74]
movsx edx, ax
cmp dword [esi + 0x78], ecx
jg 0x6a6cd3
push ebx
push edx
push dword [esp + 0x70]
push 0x5d
push esi
call fcn.00674520
add esp, 0x14
jmp 0x6a6cfe
movzx eax, cx
jmp 0x6a6cb0
mov edi, dword [esp + 0x68]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x5d
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x28]
inc ebp
mov edi, dword [esp + 0x14]
inc ebx
movzx eax, word [ecx + 0x32]
cmp ebp, eax
mov eax, ecx
jl 0x6a6c83
cmp byte [esp + 0x12], 0
je 0x6a6f52
movzx ecx, word [eax + 0x32]
mov eax, dword [esi + 0x74]
add eax, ecx
mov dword [esp + 0x78], 0x34
mov dword [esp + 0x38], eax
mov eax, dword [edi + 0x38]
and al, 3
cmp al, 2
mov eax, dword [esp + 0x48]
je 0x6a6d47
mov eax, dword [esp + 0x50]
xor ebx, ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x24], ebx
test ecx, ecx
jle 0x6a6f52
mov ecx, dword [esp + 0x28]
lea ecx, [ecx]
mov eax, dword [ecx + 0x20]
mov edi, dword [eax + ebx*4]
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax]
mov bl, byte [ecx + 0x54]
mov bh, byte [ecx + 0xb1]
mov byte [esp + 0xb0], bl
test edi, edi
je 0x6a6e5b
movzx eax, bh
push eax
push edi
push ecx
call fcn.0065edb0
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x6a6da8
movzx eax, bl
lea eax, [eax + eax*4]
lea ebp, [ebp + eax*4]
add ebp, 0xffffffec
mov eax, dword [esp + 0xbc]
test bh, bh
jne 0x6a6dd1
test ebp, ebp
je 0x6a6dbd
cmp dword [ebp + 0xc], 0
jne 0x6a6dd1
push edi
push ebp
push dword [esp + 0xb8]
push eax
call fcn.006a8190
add esp, 0x10
mov ebp, eax
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov ecx, dword [eax + 4]
movsx edx, word [ecx + ebx*2]
movzx ecx, word [eax + 0x32]
dec ecx
cmp ebx, ecx
jne 0x6a6df9
mov eax, dword [esp + 0x20]
mov dword [esp + 0x38], eax
mov dword [esp + 0x78], 0x35
mov eax, dword [esp + 0xc0]
test byte [eax + 0x1c], 0x20
je 0x6a6e6c
test dx, dx
js 0x6a6e6c
movsx ecx, dx
xor ebx, ebx
xor edi, edi
test ecx, ecx
jle 0x6a6e33
mov eax, dword [eax + 4]
mov ebx, ecx
add eax, 0xe
mov edi, edi
test byte [eax], 0x20
jne 0x6a6e26
inc edi
add eax, 0x10
dec ecx
jne 0x6a6e20
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + 4]
mov ecx, ebx
add ecx, ecx
test byte [eax + ecx*8 + 0xe], 0x20
je 0x6a6e63
mov eax, dword [esp + 0xc0]
mov ax, word [eax + 0x24]
sub ax, di
add ax, bx
mov ebx, dword [esp + 0x24]
movzx eax, ax
jmp 0x6a6e6f
mov ebp, dword [ecx + 8]
jmp 0x6a6daf
mov ebx, dword [esp + 0x24]
movzx eax, di
jmp 0x6a6e6f
movzx eax, dx
mov edi, dword [esp + 0xd4]
mov edx, dword [esi + 0x74]
inc edi
cwde
add edi, eax
cmp dword [esi + 0x78], edx
jg 0x6a6ea2
mov eax, dword [esp + 0x40]
add eax, ebx
push eax
push dword [esp + 0x3c]
push edi
push dword [esp + 0x84]
push esi
call fcn.00674520
add esp, 0x14
mov edx, eax
jmp 0x6a6ede
lea eax, [edx + 1]
mov dword [esi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x78]
mov byte [ecx], al
xor eax, eax
mov word [ecx + 2], ax
mov eax, dword [esp + 0x38]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x40]
add eax, ebx
mov dword [ecx + 0xc], eax
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x6a6ef4
push ebp
push 0xfffffffffffffffe
push eax
call fcn.006612f0
add esp, 0xc
jmp 0x6a6f26
test edx, edx
jns 0x6a6efc
mov edx, dword [esi + 0x74]
dec edx
mov eax, dword [esi + 0x70]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x6a6f1b
push 0xfffffffffffffffe
push ebp
push eax
push esi
call fcn.006d9320
add esp, 0x10
jmp 0x6a6f26
test ebp, ebp
je 0x6a6f26
mov dword [eax + 0x10], ebp
mov byte [eax + 1], 0xfe
mov eax, dword [esi + 0x74]
test eax, eax
jle 0x6a6f3d
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esi + 0x70]
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [esp + 0x28]
inc ebx
mov dword [esp + 0x24], ebx
movzx eax, word [ecx + 0x32]
cmp ebx, eax
jl 0x6a6d60
mov ecx, dword [esp + 0x60]
lea eax, [ecx - 1]
cmp eax, 5
ja case.0x6a6f62.5
jmp dword [eax*4 + 0x6a79e8]
push dword [esp + 0x14]
mov ebx, dword [esp + 0xc0]
push ecx
push ebx
call fcn.006bbee0
add esp, 0xc
jmp 0x6a7449
push dword [esp + 0x68]
mov eax, dword [esp + 0xf0]
push dword [esp + 0x18]
mov ebx, dword [esp + 0xc4]
push dword [esp + 0xc8]
push eax
push ebx
call fcn.006bed30
add esp, 0x14
jmp 0x6a6fb3
mov ebx, dword [esp + 0xbc]
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x6a6fd6
push 0
push dword [esp + 0xe4]
push 0
push 0xb
push esi
call fcn.00674520
add esp, 0x14
jmp 0x6a7449
mov edx, dword [esp + 0xe0]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xb
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 0x6a7449
mov ebp, dword [esi + 0x74]
mov edi, dword [esp + 0x3c]
sub ebp, edi
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0x40], ebp
test edx, edx
je 0x6a7041
mov eax, dword [ebx + 0x74]
test eax, eax
jne 0x6a7036
mov eax, ebx
inc dword [esp + 0x88]
mov byte [eax + 0x14], 1
cmp dword [esp + 0x80], 0
je 0x6a70ab
cmp byte [esp + 0x12], 0
je 0x6a70ab
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x6a7075
push 0
push 0
push dword [esp + 0xd0]
push 0xa6
push esi
call fcn.00674520
add esp, 0x14
jmp 0x6a70ab
mov edx, dword [esp + 0xc8]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xa6
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
push dword [esp + 0x68]
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x18], eax
sete al
movzx eax, al
push eax
push 5
push 0
push dword [esp + 0x80]
push dword [esp + 0x64]
push dword [esp + 0xe4]
push dword [esp + 0xe4]
push dword [esp + 0xa0]
push dword [esp + 0xe4]
push ebx
call fcn.006a7c00
add esp, 0x2c
cmp dword [esp + 0x80], 0
je 0x6a715c
cmp byte [esp + 0x12], 0
je 0x6a715c
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x6a7126
push 0
push 0
push dword [esp + 0xd0]
push 0xa7
push esi
call fcn.00674520
add esp, 0x14
jmp 0x6a715c
mov edx, dword [esp + 0xc8]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xa7
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
mov edx, dword [esp + 0x4c]
test edx, edx
je 0x6a7441
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x6a7182
push 0
push 1
push edx
push 0x55
push esi
call fcn.00674520
add esp, 0x14
jmp 0x6a71b5
mov edi, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x55
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
mov edx, dword [esi + 0x74]
mov dword [esp + 0x78], edx
cmp dword [esi + 0x78], edx
jg 0x6a71d8
push 0
push 0
push 0
push 0xb
push esi
call fcn.00674520
add esp, 0x14
mov dword [esp + 0x78], eax
jmp 0x6a720b
lea eax, [edx + 1]
mov dword [esi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xb
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
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x34]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x6a7229
push edx
push esi
push ecx
call fcn.006865c0
add esp, 0xc
jmp 0x6a7232
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x74]
mov dword [ecx + edx*4], eax
dec dword [ebx + 0x38]
mov eax, dword [ebx + 0x38]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x24], 0
je 0x6a729a
mov edx, dword [esp + 0x48]
mov ecx, dword [esi + 0x74]
dec edx
cmp dword [esi + 0x78], ecx
jg 0x6a7267
push 0
push dword [esp + 0x38]
push edx
push 0x32
push esi
call fcn.00674520
add esp, 0x14
jmp 0x6a729a
mov ebp, dword [esp + 0x40]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
test ebp, ebp
jle 0x6a7406
mov ecx, edi
test edi, edi
jns 0x6a72ac
mov ecx, dword [esi + 0x74]
dec ecx
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x6a72bb
mov eax, 0x7c89b4
jmp 0x6a72c4
mov eax, dword [esi + 0x70]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov ebp, dword [eax + 8]
mov edi, dword [eax + 0x10]
mov dword [esp + 0x7c], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x38], edx
cmp cl, 0x8d
je 0x6a73e5
movzx eax, cl
mov dword [esp + 0x24], eax
test byte [eax + 0x71cf30], 1
je 0x6a72fe
mov ebp, dword [esp + 0x34]
mov edx, dword [esi + 0x74]
shr ecx, 8
movsx ebx, cl
mov dword [esp + 0x60], ebx
cmp dword [esi + 0x78], edx
jg 0x6a732a
push dword [esp + 0x38]
push ebp
push dword [esp + 0x84]
push eax
push esi
call fcn.00674520
add esp, 0x14
mov edx, eax
jmp 0x6a7369
mov ebx, dword [esp + 0x24]
lea eax, [edx + 1]
mov dword [esi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x70]
mov byte [eax + ecx*4], bl
xor ebx, ebx
mov word [eax + ecx*4 + 2], bx
mov ebx, dword [esp + 0x7c]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x38]
mov dword [eax + ecx*4 + 0xc], ebx
mov ebx, dword [esp + 0x60]
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x6a7383
cmp ebx, 0xfffffff4
je 0x6a73cb
push edi
push ebx
push eax
call fcn.006612f0
add esp, 0xc
jmp 0x6a73cb
test edx, edx
jns 0x6a738b
mov edx, dword [esi + 0x74]
dec edx
mov eax, dword [esi + 0x70]
lea ecx, [edx + edx*4]
lea eax, [eax + ecx*4]
test ebx, ebx
jns 0x6a73bf
cmp byte [eax + 1], 0
jne 0x6a73bf
cmp ebx, 0xfffffffd
jne 0x6a73ab
mov dword [eax + 0x10], edi
mov byte [eax + 1], bl
jmp 0x6a73cb
test edi, edi
je 0x6a73cb
mov dword [eax + 0x10], edi
mov byte [eax + 1], bl
cmp ebx, 0xfffffff4
jne 0x6a73cb
inc dword [edi + 0xc]
jmp 0x6a73cb
push ebx
push edi
push eax
push esi
call fcn.006d9320
add esp, 0x10
mov eax, dword [esi + 0x74]
test eax, eax
jle 0x6a73e5
mov ecx, dword [esi + 0x70]
lea edx, [eax + eax*4]
mov ax, word [esp + 0x96]
mov word [ecx + edx*4 - 0x12], ax
mov ebp, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
dec ebp
inc edi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], edi
test ebp, ebp
jg 0x6a72a2
mov ebx, dword [esp + 0xbc]
push dword [esp + 0x14]
push 2
push ebx
call fcn.006bbee0
mov ecx, dword [esp + 0x84]
add esp, 0xc
mov edx, dword [esi + 0x74]
test ecx, ecx
jns 0x6a7426
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x6a7435
mov eax, 0x7c89b4
jmp 0x6a743e
mov eax, dword [esi + 0x70]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov dword [esp + 0x7c], 1
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x20]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x6a7467
push edx
push esi
push ecx
call fcn.006865c0
add esp, 0xc
jmp 0x6a7470
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x74]
mov dword [ecx + edx*4], eax
mov ecx, dword [esp + 0x50]
cmp ecx, dword [esp + 0x48]
je 0x6a74a8
mov eax, dword [esp + 0x70]
cmp eax, 1
jne 0x6a749d
test ecx, ecx
je 0x6a74a8
mov al, byte [ebx + 0x13]
cmp al, 8
jae 0x6a74a8
movzx eax, al
mov dword [ebx + eax*4 + 0x98], ecx
inc byte [ebx + 0x13]
jmp 0x6a74a8
cmp eax, dword [ebx + 0x1c]
jle 0x6a74a8
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], ecx
mov eax, dword [esp + 0x58]
test eax, eax
je 0x6a7555
mov ebx, dword [esp + 0x84]
test ebx, ebx
je 0x6a7555
mov eax, dword [eax + 0x10]
test eax, eax
je 0x6a74d9
cmp dword [eax], 0
je 0x6a74d9
cmp dword [eax + 0x1c], 0
jne 0x6a7555
mov edx, dword [esp + 0x64]
mov ecx, dword [esi + 0x74]
inc edx
cmp dword [esi + 0x78], ecx
jg 0x6a74f8
push 0
push edx
push 0
push 0xb
push esi
call fcn.00674520
add esp, 0x14
jmp 0x6a7527
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xb
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
mov edx, dword [esi + 0x74]
test ebx, ebx
jns 0x6a7531
lea ebx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x6a7540
mov eax, 0x7c89b4
jmp 0x6a7549
mov eax, dword [esi + 0x70]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
xor ecx, ecx
mov dword [eax + 8], edx
mov dword [esp + 0x84], ecx
mov ebp, dword [esp + 0x1c]
cmp dword [esp + 0x54], 0
je 0x6a7588
mov eax, dword [esp + 0x74]
inc eax
mov ebp, eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x1c], ebp
cmp ebp, dword [esp + 0x2c]
jge 0x6a75b5
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + ebp*8]
lea eax, [eax + ebp*8]
mov ebp, dword [eax + 4]
mov dword [esp + 0x14], ebx
jmp 0x6a759a
mov eax, dword [esp + 0x2c]
inc ebp
mov eax, dword [eax + 0x14]
mov ebx, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ebp
test ebx, ebx
je 0x6a75b5
mov edi, dword [esp + 0xbc]
mov ecx, dword [esp + 0xec]
jmp 0x6a6570
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x6a7635
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x6a75da
push 0
push edx
push 0
push 0xb
push esi
call fcn.00674520
add esp, 0x14
jmp 0x6a7609
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xb
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
mov ecx, dword [esp + 0x90]
mov edx, dword [esi + 0x74]
test ecx, ecx
jns 0x6a761a
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x6a7629
mov eax, 0x7c89b4
jmp 0x6a7632
mov eax, dword [esi + 0x70]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
cmp dword [esp + 0x88], 0
je 0x6a7928
mov ecx, dword [esi + 0x74]
mov edx, dword [esp + 0x4c]
cmp dword [esi + 0x78], ecx
jg 0x6a7663
push 0
push dword [esp + 0x38]
push edx
push 0x14
push esi
call fcn.00674520
add esp, 0x14
jmp 0x6a7692
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x14
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
cmp dword [esp + 0x28], 0
mov edi, dword [esp + 0x6c]
jne 0x6a78b8
cmp byte [esp + 0x12], 0
je 0x6a7718
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x6a76cc
push dword [esp + 0xd4]
push edi
push dword [esp + 0xd8]
push 0x35
push esi
call fcn.00674520
add esp, 0x14
jmp 0x6a7701
mov edx, dword [esp + 0xd0]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0xd4]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x74]
test eax, eax
jle 0x6a7718
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esi + 0x70]
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x6a773c
push dword [esp + 0xd0]
push edi
push dword [esp + 0xd0]
push 0x21
push esi
call fcn.00674520
add esp, 0x14
jmp 0x6a7771
mov edx, dword [esp + 0xc8]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0xd0]
mov dword [eax + ecx*4], 0x21
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0xc0]
movzx eax, word [edx + 0x20]
test ax, ax
js 0x6a77ab
movsx ecx, ax
mov eax, dword [edx + 4]
add ecx, ecx
push dword [eax + ecx*8]
mov eax, dword [esp + 0xc0]
push dword [edx]
push str._s._s
push dword [eax]
call fcn.006acdc0
add esp, 0x10
mov ebp, 0x613
jmp 0x6a77c8
push dword [edx]
mov eax, dword [esp + 0xc0]
push str._s.rowid
push dword [eax]
call fcn.006acdc0
add esp, 0xc
mov ebp, 0xa13
mov ecx, dword [esp + 0xbc]
mov ebx, eax
mov edi, dword [ecx + 8]
test edi, edi
jne 0x6a77fb
cmp dword [ecx + 0x74], edi
jne 0x6a77e9
mov eax, dword [ecx]
test byte [eax + 0x50], 8
jne 0x6a77e9
mov byte [ecx + 0x17], 1
push ecx
call fcn.006c04a0
mov ecx, dword [esp + 0xc0]
add esp, 4
mov edi, eax
mov eax, dword [ecx + 0x74]
test eax, eax
jne 0x6a7804
mov eax, ecx
mov byte [eax + 0x15], 1
mov edx, dword [edi + 0x74]
cmp dword [edi + 0x78], edx
jg 0x6a7824
push 0
push 2
push ebp
push 0x46
push edi
call fcn.00674520
add esp, 0x14
mov edx, eax
jmp 0x6a7857
mov esi, dword [esp + 0x5c]
lea eax, [edx + 1]
mov dword [edi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], 0x46
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x6a786d
push ebx
push 0xfffffffffffffff9
push eax
call fcn.006612f0
add esp, 0xc
jmp 0x6a789f
test edx, edx
jns 0x6a7875
mov edx, dword [edi + 0x74]
dec edx
mov eax, dword [edi + 0x70]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
jne 0x6a7892
test ebx, ebx
je 0x6a789f
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0xf9
jmp 0x6a789f
push 0xfffffffffffffff9
push ebx
push eax
push edi
call fcn.006d9320
add esp, 0x10
mov eax, dword [edi + 0x74]
test eax, eax
jle 0x6a7901
lea ecx, [eax + eax*4]
mov edx, 2
mov eax, dword [edi + 0x70]
mov word [eax + ecx*4 - 0x12], dx
jmp 0x6a7901
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x6a78d2
push 0
push edi
push 0
push 0xb
push esi
call fcn.00674520
add esp, 0x14
jmp 0x6a7901
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x34]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x6a791f
push edx
push esi
push ecx
call fcn.006865c0
add esp, 0xc
jmp 0x6a7928
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x74]
mov dword [ecx + edx*4], eax
mov ebp, dword [esp + 0xc0]
test byte [ebp + 0x1c], 0x80
jne 0x6a79a1
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0xd0]
movsx edi, word [ebp + 0x24]
inc ebx
mov edx, dword [ecx + eax*4]
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x6a7967
push edx
push edi
push ebx
push 0x60
push esi
call fcn.00674520
add esp, 0x14
jmp 0x6a798e
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x60
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
cmp byte [esp + 0x13], 0
jne 0x6a79a1
push 0
push ebp
push esi
call fcn.006bb2a0
add esp, 0xc
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x7c]
mov dword [eax], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa8
ret