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

Disassembly:
push ebp
push edi
mov edi, eax
push esi
mov esi, edx
push ebx
mov ebx, ecx
sub esp, 0x8c
mov eax, dword [eax]
mov ebp, dword [edi + 8]
mov dword [esp + 8], eax
test ebp, ebp
je 0x7e2d54
sub esp, 0xc
or byte [ebp + 0x98], 0x40
mov ecx, ebx
mov edx, esi
lea eax, [esp + 0x5c]
mov dword [edi + 0x2c], 2
push eax
mov eax, edi
call fcn.0078fd40
mov dword [esp + 0x28], eax
add esp, 0x10
test eax, eax
js 0x7e2d49
mov ecx, dword [esp + 8]
mov esi, dword [ecx + 0x10]
cmp eax, 1
je 0x7e2d94
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 8]
call fcn.00769b90
mov dword [esp + 0x10], eax
test eax, eax
je 0x7e2d49
mov eax, dword [esp + 0xa4]
test eax, eax
jne 0x7e2d70
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 8]
call fcn.00769b90
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], 0
shl eax, 4
add esi, eax
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x20], esi
test eax, eax
je 0x7e2c83
mov eax, dword [esi]
mov dword [esp + 0x14], eax
sub esp, 8
mov edx, 0x13
mov eax, edi
push dword [esp + 0x1c]
push dword [esp + 0x18]
mov esi, dword [esp + 0x20]
mov ecx, esi
call fcn.0078fbf0
mov dword [esp + 0x2c], eax
add esp, 0x10
test eax, eax
jne 0x7e2d27
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x74], esi
mov dword [esp + 0x70], 0
mov dword [esp + 0x78], eax
lea eax, [esp + 0x70]
mov dword [esp + 0x7c], 0
mov dword [ecx + 0x1a4], 0
push eax
push 0xe
push dword [esp + 0x1c]
push ecx
call fcn.0076c9d0
add esp, 0x10
mov esi, eax
test eax, eax
je 0x7e4a15
cmp eax, 0xc
je 0x7e2da5
mov eax, dword [esp + 0x70]
test eax, eax
je 0x7e2d20
sub esp, 4
push eax
push 0xbec70c
push edi
call fcn.0078f9f0
pop eax
push dword [esp + 0x7c]
call fcn.007677d0
add esp, 0x10
add dword [edi + 0x24], 1
mov dword [edi + 0xc], esi
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 8]
call fcn.00767880
mov edx, dword [esp + 0xc]
test edx, edx
je 0x7e2d49
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 8]
call fcn.00767880
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, edi
call fcn.007830c0
mov ebp, eax
test eax, eax
jne 0x7e2be1
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret
sub esp, 4
push dword [esp + 0xa4]
push 0xbefbf6
push dword [esp + 0x14]
call fcn.00795c10
mov dword [esp + 0x1c], eax
add esp, 0x10
jmp 0x7e2c5d
mov eax, edi
call fcn.007b3f20
test eax, eax
je 0x7e2c21
jmp 0x7e2d49
mov eax, dword [esp + 0x10]
call fcn.0076a400
mov dword [esp + 0x2c], eax
test eax, eax
je 0x7e2d27
movzx eax, byte [eax + 5]
test al, 1
jne 0x7e4a90
test al, 2
jne 0x7e4a74
test al, 4
je 0x7e4a69
mov eax, dword [esp + 0xc]
test eax, eax
je 0x7e4a69
mov eax, dword [esp + 0x2c]
cmp byte [eax + 4], 0x28
ja case.0x7e2df4.3
movzx eax, byte [eax + 4]
jmp dword [eax*4 + 0xbefda8]
cmp dword [ebx], 0
mov eax, 0xa
mov ebx, dword [esp + 0xc]
cmovne eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
test ebx, ebx
je 0x7e2e51
xor eax, eax
jmp 0x7e2e36
movzx ecx, byte [ecx + 0xbfad00]
cmp byte [edx + 0xbfad00], cl
jne 0x7e56d0
add eax, 1
movzx edx, byte [ebx + eax]
movzx ecx, byte [eax + str.full]
cmp edx, ecx
jne 0x7e2e20
test edx, edx
jne 0x7e2e33
mov dword [esp + 0x1c], 1
mov dword [edi + 0x2c], 3
mov edx, 6
mov eax, ebp
push esi
push esi
push 1
push dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
call fcn.00782fd0
pop edi
pop eax
push 0
push 3
mov ecx, 1
mov edx, 0x50
mov eax, ebp
call fcn.00782fd0
add esp, 0x10
jmp 0x7e2d27
mov eax, dword [esp + 0xc]
test eax, eax
je 0x7e2eba
lea edx, [esp + 0x60]
mov dword [esp + 0x60], 0
call fcn.00760630
push ebx
push ebx
push dword [esp + 0x68]
push dword [esp + 0x14]
call fcn.007704f0
add esp, 0x10
mov eax, dword [esp + 8]
xor edx, edx
xor ecx, ecx
cmp dword [eax + 0xf0], 0x7b5320
je 0x7e570e
mov eax, ebp
call fcn.00785000
jmp 0x7e2d27
mov eax, dword [esp + 0xc]
test eax, eax
je 0x7e2f18
lea edx, [esp + 0x60]
call fcn.00774aa0
test eax, eax
jne 0x7e2f18
cmp dword [esp + 0x64], 0
mov eax, dword [esp + 0x60]
js 0x7e2f18
and eax, 0x7fffffff
mov edx, 8
mov ebx, dword [esp + 8]
cmp eax, 8
cmovg eax, edx
mov dword [ebx + 0x98], eax
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x98]
mov ecx, edx
sar ecx, 0x1f
jmp 0x7e2ed2
cmp dword [esp + 0xc], 0
je 0x7e57a6
mov ebx, dword [esp + 0xc]
cmp byte [ebx], 0
je 0x7e2f65
mov eax, dword [esp + 8]
lea edx, [esp + 0x60]
mov eax, dword [eax]
push edx
push 1
push ebx
push eax
call dword [eax + 0x20]
add esp, 0x10
test eax, eax
jne 0x7e57c0
cmp dword [esp + 0x60], 0
je 0x7e57c0
mov eax, dword [esp + 8]
cmp byte [eax + 0x50], 1
jbe 0x7e5b32
sub esp, 0xc
push dword [0xc13ea4]
call fcn.007677d0
add esp, 0x10
mov eax, dword [esp + 0xc]
cmp byte [eax], 0
jne 0x7e5836
mov dword [0xc13ea4], 0
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 8]
call fcn.00767880
jmp 0x7e2d3c
cmp dword [esp + 0xc], 0
je 0x7e574c
mov eax, dword [esp + 0xc]
movsx edx, byte [eax]
xor eax, eax
lea ecx, [edx - 0x30]
cmp cl, 2
jbe 0x7e5931
mov ebx, dword [esp + 0xc]
jmp 0x7e2fe9
movzx ecx, byte [ecx + 0xbfad00]
cmp byte [edx + 0xbfad00], cl
jne 0x7e5762
add eax, 1
movzx edx, byte [ebx + eax]
movzx ecx, byte [eax + str.file]
cmp edx, ecx
jne 0x7e2fd3
test edx, edx
jne 0x7e2fe6
mov dword [esp + 0x1c], 1
mov ebx, dword [edi]
mov esi, dword [esp + 0x1c]
movzx eax, byte [ebx + 0x50]
cmp eax, esi
je 0x7e2f9b
mov eax, edi
call fcn.007b4df0
test eax, eax
jne 0x7e2f9b
mov eax, esi
mov byte [ebx + 0x50], al
jmp 0x7e2f9b
mov eax, dword [esp + 0xc]
test eax, eax
je 0x7e50a8
sub esp, 0xc
mov ecx, eax
mov edx, 2
mov eax, edi
push dword [esp + 0x20]
call fcn.007d9140
mov dword [esp + 0x40], eax
add esp, 0x10
test eax, eax
je 0x7e2f9b
mov edx, dword [eax + 0x48]
test edx, edx
je 0x7e5b66
mov eax, dword [esp + 8]
call fcn.0076ee70
mov ebx, dword [esp + 0x30]
mov esi, dword [ebx + 8]
test esi, esi
jne 0x7e3087
jmp 0x7e3093
mov esi, dword [esi + 0x14]
test esi, esi
je 0x7e3093
movzx edx, byte [esi + 0x38]
and edx, 3
cmp dl, 2
jne 0x7e3080
mov dword [edi + 0x2c], 7
mov edx, eax
mov eax, edi
call fcn.007b4200
mov ebx, dword [esp + 0x30]
mov eax, edi
mov edx, ebx
call fcn.007cda30
mov eax, ebx
mov ebx, dword [ebx + 4]
movsx ecx, word [eax + 0x2a]
test ecx, ecx
jle 0x7e2f9b
mov dword [esp + 0x3c], esi
mov esi, ebx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x40], ebp
jmp 0x7e31af
or ebx, edi
je 0x7e5584
mov edx, eax
and edx, 1
test al, 0x20
jne 0x7e5548
test al, 0x40
jne 0x7e551a
mov ebx, dword [esi + 4]
mov dword [esp + 0x1c], ebx
test dx, dx
jne 0x7e533d
mov edi, 1
test ebx, ebx
je 0x7e5524
xor ebx, ebx
mov edi, 1
mov ecx, dword [esp + 0x1c]
mov ebp, dword [ecx + 8]
xor ecx, ecx
mov edx, dword [esi]
cmp byte [esi + 0xc], 0
mov dword [esp + 0x20], 0xbeb868
setne cl
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1c], edx
test al, 4
je 0x7e3154
mov eax, dword [esp + 0x1c]
call fcn.00774f00
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
mov edx, str.issisii
sub ecx, dword [esp + 0x18]
or eax, dword [esp + 0x34]
mov eax, str.issisi
cmovne eax, edx
sub esp, 8
push edi
push ebx
push ebp
push dword [esp + 0x3c]
push dword [esp + 0x38]
push dword [esp + 0x38]
push ecx
push eax
push 1
push dword [esp + 0x6c]
call fcn.007835a0
add esp, 0x30
mov eax, dword [esp + 0x30]
movsx ecx, word [eax + 0x2a]
add dword [esp + 0x14], 1
mov eax, dword [esp + 0x14]
add esi, 0x14
cmp ecx, eax
jle 0x7e2f9b
mov ebx, dword [esp + 0x2c]
movzx eax, word [esi + 0x10]
mov edi, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], ebx
test al, 0x62
jne 0x7e30e0
mov ebp, dword [esi + 4]
xor edi, edi
mov dword [esp + 0x1c], ebp
test al, 1
jne 0x7e5342
xor ebx, ebx
test ebp, ebp
jne 0x7e3121
jmp 0x7e3128
cmp dword [esp + 0xc], 0
je 0x7e5a61
mov eax, dword [esp + 8]
cmp byte [eax + 0x4f], 0
je 0x7e5a4c
cmp dword [esp + 0x18], 1
je 0x7e2f9b
mov eax, dword [esp + 0xc]
mov ecx, 1
xor edx, edx
call fcn.00774bd0
add eax, 1
and eax, 7
jne 0x7e322e
mov eax, 1
mov ebx, dword [esp + 0x20]
mov byte [ebx + 8], al
mov eax, dword [esp + 8]
mov byte [ebx + 9], 1
cmp byte [eax + 0x4f], 0
je 0x7e2f9b
call fcn.0076ed40
jmp 0x7e2f9b
mov eax, dword [esp + 0xc]
test eax, eax
je 0x7e326a
lea edx, [esp + 0x60]
call fcn.00774aa0
test eax, eax
je 0x7e5a35
push eax
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0079f620
mov ecx, edx
mov edx, eax
mov eax, ebp
call fcn.00785000
add esp, 0x10
jmp 0x7e2d27
sub esp, 0xc
push dword [esp + 0x14]
call fcn.0076c890
add esp, 0x10
jmp 0x7e2d27
mov eax, dword [esp + 0x20]
or edi, 0xffffffff
mov esi, dword [eax + 4]
mov eax, dword [esp + 0xc]
test eax, eax
je 0x7e32fb
mov edx, str.fast
mov edi, 2
call fcn.0076a0e0
test eax, eax
jne 0x7e5a16
cmp dword [ebx + 4], 0
jne 0x7e32fb
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0x1c]
cmp dword [eax + 0x14], 0
jle 0x7e32fb
mov ecx, dword [esp + 8]
mov eax, ebx
mov edx, edi
add ebx, 1
shl eax, 4
add eax, dword [ecx + 0x10]
mov eax, dword [eax + 4]
call fcn.0076c930
mov ecx, dword [esp + 8]
cmp dword [ecx + 0x14], ebx
jg 0x7e32d9
mov edx, edi
mov eax, esi
call fcn.0076c930
mov ecx, eax
mov edx, eax
mov eax, ebp
sar ecx, 0x1f
call fcn.00785000
jmp 0x7e2d27
mov esi, 0xbf97e0
mov ebx, 0xbf9be0
push dword [esi]
add esi, 0x10
push 0xbec4fe
push 1
push ebp
call fcn.007835a0
add esp, 0x10
cmp ebx, esi
jne 0x7e3321
jmp 0x7e2d27
mov eax, dword [esp + 0x20]
cmp dword [esp + 0xc], 0
mov ebx, dword [eax + 4]
je 0x7e508a
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x60]
mov dword [esp + 0x60], 0
call fcn.00760630
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x60]
sub esp, 0xc
or ecx, 0xffffffff
mov dword [eax + 0x5c], edx
mov eax, ebx
push 0
call fcn.007763c0
add esp, 0x10
cmp eax, 7
jne 0x7e2f9b
mov eax, dword [esp + 8]
test dword [eax + 0x50], 0xffff00
jne 0x7e2f9b
cmp dword [eax + 0xbc], 0
mov byte [eax + 0x51], 1
jle 0x7e33b4
mov dword [eax + 0x108], 1
mov eax, dword [esp + 8]
call fcn.00769140
jmp 0x7e2f9b
mov eax, dword [esp + 0xc]
test eax, eax
je 0x7e56c6
lea edx, [esp + 0x60]
mov dword [esp + 0x60], 0
call fcn.00760630
mov eax, dword [esp + 0x60]
test al, 2
je 0x7e2f9b
mov ebx, dword [edi + 0x28]
cmp dword [esp + 0x14], 0
lea edx, [ebx + 1]
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x18]
mov dword [edi + 0x28], edx
mov dword [esp + 0x2c], ebx
je 0x7e5461
and eax, 1
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 8]
mov dword [esp + 0x20], eax
jmp 0x7e342f
add dword [esp + 0x18], 1
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x2c]
jg 0x7e547d
cmp dword [esp + 0x18], 1
je 0x7e341c
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, ebx
call fcn.007b4200
mov eax, ebx
shl eax, 4
mov ebx, eax
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x10]
mov eax, dword [eax + ebx + 0xc]
mov ebx, dword [eax + 0x10]
test ebx, ebx
jne 0x7e3466
jmp 0x7e341c
mov ebx, dword [ebx]
test ebx, ebx
je 0x7e341c
mov esi, dword [ebx + 8]
test byte [esi + 0x25], 1
je 0x7e3460
mov eax, dword [esi + 8]
test eax, eax
jne 0x7e348b
jmp 0x7e50ba
mov eax, dword [eax + 0x14]
test eax, eax
je 0x7e50ba
cmp byte [eax + 0x38], 0
js 0x7e3480
push dword [esi]
mov eax, dword [edi + 0x10]
mov edx, dword [esp + 0x2c]
push dword [eax + edx]
push str.ANALYZE___w_.__w_
push edi
call fcn.00795c10
mov dword [esp + 0x24], eax
add esp, 0x10
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x7e52a0
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax + 0x13]
test al, al
je 0x7e52d1
mov edx, dword [esp + 0x1c]
sub eax, 1
mov byte [edx + 0x13], al
movzx eax, al
mov esi, dword [edx + eax*4 + 0x94]
sub esp, 8
xor ecx, ecx
mov edx, 0x73
mov eax, ebp
push 0
push esi
call fcn.00782fd0
mov ecx, dword [esp + 0x24]
mov dword [esp], 0xfffffff9
mov edx, eax
mov eax, ebp
call fcn.00774970
pop eax
pop edx
push 0
push 1
mov ecx, esi
mov edx, 0x50
mov eax, ebp
call fcn.00782fd0
add esp, 0x10
jmp 0x7e3460
mov eax, dword [esp + 0x10]
cmp dword [ebx], 0
movzx eax, byte [eax]
mov dword [edi + 0x2c], 6
mov dword [esp + 0x54], 0x64
movzx eax, byte [eax + 0xbfad00]
mov byte [esp + 0x40], al
mov eax, 0xffffffff
cmovne eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x7e3575
lea edx, [esp + 0x54]
call fcn.00760630
cmp dword [esp + 0x54], 0
jg 0x7e3575
mov dword [esp + 0x54], 0x64
mov eax, dword [esp + 0x54]
push ebx
mov edx, 0x45
push ebx
push 0
lea ecx, [eax - 1]
mov eax, ebp
push 1
call fcn.00782fd0
add esp, 0x10
mov eax, dword [esp + 8]
cmp dword [eax + 0x14], 0
jle 0x7e52e7
mov eax, dword [esp + 0x18]
mov dword [esp + 0x38], 0
mov dword [esp + 0x2c], edi
not eax
shr eax, 0x1f
mov dword [esp + 0x4c], eax
jmp 0x7e35dd
cmp byte [esp + 0x4c], 0
je 0x7e35e7
mov ebx, dword [esp + 8]
add dword [esp + 0x38], 1
mov eax, dword [esp + 0x38]
cmp dword [ebx + 0x14], eax
jle 0x7e52e7
mov ebx, dword [esp + 0x38]
cmp dword [esp + 0x18], ebx
jne 0x7e35c0
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
mov edx, ebx
shl ebx, 4
call fcn.007b4200
mov eax, dword [esp + 8]
mov dword [esp + 0x1c], ebx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebx + 0xc]
xor ebx, ebx
mov edi, dword [eax + 0x10]
mov dword [esp + 0x14], eax
test edi, edi
je 0x7e56bc
xor esi, esi
lea esi, [esi]
nop
mov eax, dword [edi + 8]
lea edx, [esi + 1]
test byte [eax + 0x24], 0x80
jne 0x7e3633
lea ecx, [esi + 2]
mov esi, edx
mov edx, ecx
mov ecx, dword [eax + 8]
xor eax, eax
test ecx, ecx
je 0x7e3650
lea edx, [esi + 1]
nop
mov ecx, dword [ecx + 0x14]
lea esi, [edx + eax]
add eax, 1
test ecx, ecx
jne 0x7e3640
lea edx, [esi + 1]
mov edi, dword [edi]
cmp ebx, eax
cmovl ebx, eax
test edi, edi
jne 0x7e3620
mov eax, dword [esp + 8]
shl edx, 2
xor ecx, ecx
call fcn.00769310
mov esi, eax
test eax, eax
je 0x7e52e7
mov eax, dword [esp + 0x14]
xor edx, edx
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x7e36b6
mov eax, dword [ecx + 8]
test byte [eax + 0x24], 0x80
jne 0x7e3692
mov edi, dword [eax + 0x1c]
add edx, 1
mov dword [esi + edx*4], edi
mov eax, dword [eax + 8]
test eax, eax
je 0x7e36b0
lea esi, [esi]
mov edi, dword [eax + 0x2c]
mov eax, dword [eax + 0x14]
add edx, 1
mov dword [esi + edx*4], edi
test eax, eax
jne 0x7e36a0
mov ecx, dword [ecx]
test ecx, ecx
jne 0x7e3680
mov edi, dword [esp + 0x2c]
mov dword [esi], edx
add ebx, 8
mov ecx, 2
mov eax, dword [edi + 0x2c]
mov byte [edi + 0x13], 0
mov dword [edi + 0x1c], 0
cmp ebx, eax
cmovl ebx, eax
sub esp, 8
mov eax, ebp
mov dword [edi + 0x2c], ebx
push 1
push edx
mov edx, 0x92
call fcn.00782fd0
mov ecx, esi
mov dword [esp], 0xfffffff1
mov edx, eax
mov eax, ebp
call fcn.00774970
mov eax, dword [ebp + 0x6c]
add esp, 0x10
test eax, eax
jle 0x7e371a
mov ecx, dword [ebp + 0x68]
lea eax, [eax + eax*4]
movzx edx, byte [esp + 0x38]
lea eax, [ecx + eax*4]
mov word [eax - 0x12], dx
sub esp, 8
mov ecx, 2
mov edx, 0x32
mov eax, ebp
push 0
push 0
call fcn.00782fd0
add esp, 0xc
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x20]
mov esi, eax
mov eax, dword [ebx + 0x10]
push dword [eax + edi]
push str._in_database__s__n
push ebx
call fcn.00795c10
pop edi
xor ecx, ecx
mov edx, 0x73
mov ebx, eax
pop eax
push 0
mov eax, ebp
push 3
call fcn.00782fd0
mov ecx, ebx
mov dword [esp], 0xfffffff9
mov edx, eax
mov eax, ebp
call fcn.00774970
pop eax
pop edx
push 3
push 3
mov ecx, 2
mov edx, 0x6e
mov eax, ebp
call fcn.00782fd0
mov eax, ebp
call fcn.00784f40
mov eax, dword [ebp + 0x6c]
mov ecx, dword [ebp]
add esp, 0x10
test esi, esi
lea edx, [eax - 1]
cmovs esi, edx
cmp byte [ecx + 0x51], 0
mov edx, 0xc13eac
jne 0x7e37bb
mov edx, dword [ebp + 0x68]
lea ecx, [esi + esi*4]
lea edx, [edx + ecx*4]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x30], eax
test eax, eax
je 0x7e35c7
mov eax, dword [esp + 0x30]
mov edi, dword [eax + 8]
mov ebx, dword [edi + 0x1c]
test ebx, ebx
jle 0x7e3a6b
mov dword [esp + 0x20], 0
test byte [edi + 0x24], 0x80
jne 0x7e5110
mov ecx, dword [edi + 0x38]
test ecx, ecx
jne 0x7e3822
sub esp, 0xc
mov ecx, 0x60
mov edx, edi
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x68]
push eax
push 0
push 1
push 0
mov eax, dword [esp + 0x4c]
call fcn.00792f30
add esp, 0x20
sub esp, 8
xor ecx, ecx
mov edx, 0x45
mov eax, ebp
push 0
mov esi, 8
push 7
call fcn.00782fd0
mov ebx, dword [edi + 8]
add esp, 0x10
test ebx, ebx
je 0x7e3871
lea esi, [esi]
lea esi, [esi]
sub esp, 8
xor ecx, ecx
mov edx, 0x45
mov eax, ebp
push 0
push esi
add esi, 1
call fcn.00782fd0
mov ebx, dword [ebx + 0x14]
add esp, 0x10
test ebx, ebx
jne 0x7e3850
sub esp, 8
mov edx, 0x25
mov eax, ebp
push 0
push 0
mov ecx, dword [esp + 0x68]
call fcn.00782fd0
pop eax
pop edx
push 0
push 1
mov ecx, 7
mov edx, 0x52
mov eax, ebp
call fcn.00782fd0
mov dword [esp + 0x54], eax
add esp, 0x10
cmp byte [esp + 0x40], 0x71
je 0x7e38e6
movsx eax, word [edi + 0x2c]
sub esp, 8
mov edx, 0x59
push 3
sub eax, 1
push eax
mov ecx, dword [esp + 0x68]
mov eax, ebp
call fcn.00782fd0
mov eax, dword [ebp + 0x6c]
add esp, 0x10
test eax, eax
jle 0x7e38e6
mov ebx, dword [ebp + 0x68]
lea eax, [eax + eax*4]
mov esi, 0x80
lea eax, [ebx + eax*4]
mov word [eax - 0x12], si
xor ebx, ebx
cmp word [edi + 0x2a], 0
jle 0x7e39fb
movsx eax, word [edi + 0x28]
cmp eax, ebx
je 0x7e39ec
mov eax, dword [edi + 4]
lea esi, [ebx + ebx*4]
cmp byte [eax + esi*4 + 0xc], 0
je 0x7e39ec
sub esp, 8
mov edx, edi
mov eax, ebp
push 3
push ebx
mov ecx, dword [esp + 0x68]
call fcn.007bfbd0
mov ecx, dword [ebp]
add esp, 0x10
mov eax, dword [ebp + 0x6c]
mov edx, 0xc13eac
cmp byte [ecx + 0x51], 0
jne 0x7e3941
mov ecx, dword [ebp + 0x68]
lea edx, [eax + eax*4 - 5]
lea edx, [ecx + edx*4]
cmp byte [edx], 0x59
jne 0x7e395c
test eax, eax
jle 0x7e395c
mov edx, dword [ebp + 0x68]
lea eax, [eax + eax*4]
mov ecx, 0x80
lea eax, [edx + eax*4]
mov word [eax - 0x12], cx
sub esp, 8
mov ecx, 3
mov edx, 0x33
mov eax, ebp
push 0
push 0
call fcn.00782fd0
mov dword [esp + 0x24], eax
mov eax, dword [edi + 4]
push dword [eax + esi*4]
push dword [edi]
push str.NULL_value_in__s._s
push dword [esp + 0x24]
call fcn.00795c10
add esp, 0x18
xor ecx, ecx
mov edx, 0x73
push 0
mov esi, eax
mov eax, ebp
push 3
call fcn.00782fd0
mov ecx, esi
mov dword [esp], 0xfffffff9
mov edx, eax
mov eax, ebp
call fcn.00774970
mov eax, ebp
call fcn.00784f40
add esp, 0x10
mov ecx, dword [esp + 0x14]
mov eax, dword [ebp + 0x6c]
test ecx, ecx
lea edx, [eax - 1]
cmovns edx, ecx
mov ecx, dword [ebp]
cmp byte [ecx + 0x51], 0
mov esi, edx
mov edx, 0xc13eac
jne 0x7e39e9
mov edx, dword [ebp + 0x68]
lea ecx, [esi + esi*4]
lea edx, [edx + ecx*4]
mov dword [edx + 8], eax
movsx eax, word [edi + 0x2a]
add ebx, 1
cmp eax, ebx
jg 0x7e38f3
mov edx, dword [edi + 0x18]
test edx, edx
je 0x7e3a10
mov eax, dword [esp + 8]
test byte [eax + 0x21], 2
je 0x7e523e
cmp byte [esp + 0x40], 0x71
mov ecx, dword [esp + 0x58]
jne 0x7e4aac
sub esp, 8
mov edx, 5
mov eax, ebp
push 0
mov ebx, dword [esp + 0x50]
push ebx
call fcn.00782fd0
mov edx, dword [ebp + 0x6c]
mov eax, ebx
mov ebx, dword [ebp]
add esp, 0x10
sub eax, 1
lea ecx, [edx - 1]
cmovs eax, ecx
cmp byte [ebx + 0x51], 0
mov ecx, 0xc13eac
jne 0x7e3a5d
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0x68]
lea ecx, [eax + ecx*4]
cmp byte [esp + 0x40], 0x71
mov dword [ecx + 8], edx
jne 0x7e515c
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov dword [esp + 0x30], eax
test eax, eax
jne 0x7e37d1
jmp 0x7e35c7
mov eax, dword [esp + 0xc]
test eax, eax
je 0x7e50a8
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov edx, eax
mov eax, esi
call fcn.0076a150
mov ebx, eax
test eax, eax
je 0x7e2f9b
mov edx, dword [eax + 0x48]
test edx, edx
je 0x7e5b70
mov eax, esi
call fcn.0076ee70
mov dword [edi + 0x2c], 5
mov edx, eax
mov eax, edi
call fcn.007b4200
mov ebx, dword [ebx + 8]
test ebx, ebx
je 0x7e2f9b
mov esi, dword [esp + 0x1c]
mov edx, dword [ebx + 0x24]
xor eax, eax
mov dword [esp + 0x60], 0xbefc7b
mov dword [esp + 0x64], 0xbefc7d
test edx, edx
mov dword [esp + 0x68], 0xbefc7f
setne al
push eax
movzx eax, byte [ebx + 0x38]
and eax, 3
push dword [esp + eax*4 + 0x64]
xor eax, eax
cmp byte [ebx + 0x36], 0
setne al
push eax
push dword [ebx]
push esi
add esi, 1
push str.isisi
push 1
push ebp
call fcn.007835a0
mov ebx, dword [ebx + 0x14]
add esp, 0x20
test ebx, ebx
jne 0x7e3ada
jmp 0x7e2f9b
mov edx, dword [esp + 0x18]
mov eax, edi
call fcn.007b4200
mov eax, dword [edi + 0x2c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x10]
mov dword [edi + 0x2c], ebx
movzx eax, byte [eax]
cmp byte [eax + 0xbfad00], 0x70
je 0x7e5914
mov eax, dword [esp + 0xc]
mov dword [esp + 0x60], 0
test eax, eax
je 0x7e3b92
lea edx, [esp + 0x60]
call fcn.00760630
mov eax, dword [esp + 0x60]
mov dword [esp + 0x1c], eax
test eax, eax
jns 0x7e3b92
cmp eax, 0x80000000
je 0x7e5b3e
neg eax
mov dword [esp + 0x1c], eax
push edi
mov edx, 0xa9
mov eax, ebp
push edi
push dword [esp + 0x24]
push ebx
mov ecx, dword [esp + 0x28]
call fcn.00782fd0
add esp, 0x10
push esi
mov ecx, ebx
mov edx, 0x50
mov eax, ebp
push esi
push 0
push 1
call fcn.00782fd0
add esp, 0x10
jmp 0x7e2d27
mov eax, dword [esp + 0xc]
test eax, eax
je 0x7e3be3
lea edx, [esp + 0x60]
call fcn.00774aa0
mov esi, eax
test eax, eax
je 0x7e58d3
push ecx
push ecx
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0077be20
jmp 0x7e3275
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x18]
mov dword [edi + 0x2c], 6
mov edi, dword [esp + 0x1c]
mov ebx, eax
mov dword [esp + 0x14], eax
shr ebx, 5
and ebx, 1
mov esi, dword [edi*4 + 0xc14280]
test esi, esi
je 0x7e3c3c
lea esi, [esi]
sub esp, 0xc
mov edx, esi
mov ecx, 1
mov eax, ebp
push ebx
call fcn.00783670
mov esi, dword [esi + 0x24]
add esp, 0x10
test esi, esi
jne 0x7e3c20
add edi, 1
cmp edi, 0x17
jne 0x7e3c11
mov eax, dword [esp + 8]
mov esi, dword [eax + 0x184]
test esi, esi
je 0x7e2d27
sub esp, 0xc
mov edx, dword [esi + 8]
xor ecx, ecx
mov eax, ebp
push ebx
call fcn.00783670
mov esi, dword [esi]
add esp, 0x10
test esi, esi
jne 0x7e3c56
jmp 0x7e2d27
mov eax, dword [esp + 0xc]
test eax, eax
je 0x7e50a8
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov edx, eax
mov eax, esi
call fcn.0076a150
mov dword [esp + 0x14], eax
test eax, eax
je 0x7e2f9b
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x7e2f9b
mov edx, dword [eax + 0x48]
test edx, edx
je 0x7e5b5c
mov eax, esi
call fcn.0076ee70
mov dword [edi + 0x2c], 8
mov edx, eax
mov eax, edi
xor edi, edi
call fcn.007b4200
mov eax, dword [ebx + 0x14]
xor esi, esi
test eax, eax
jle 0x7e3d47
movzx eax, byte [ebx + 0x19]
mov ecx, str.NO_ACTION
sub eax, 7
cmp al, 3
ja 0x7e3cef
movzx eax, al
mov ecx, dword [eax*4 + 0xbf34f8]
movzx eax, byte [ebx + 0x1a]
mov edx, str.NO_ACTION
sub eax, 7
cmp al, 3
ja 0x7e3d09
movzx eax, al
mov edx, dword [eax*4 + 0xbf34f8]
sub esp, 4
mov eax, dword [ebx + esi*8 + 0x24]
push str.NONE
push ecx
lea eax, [eax + eax*4]
push edx
shl eax, 2
push dword [ebx + esi*8 + 0x28]
mov edx, dword [esp + 0x28]
add eax, dword [edx + 4]
push dword [eax]
push dword [ebx + 8]
push esi
add esi, 1
push edi
push str.iissssss
push 1
push ebp
call fcn.007835a0
add esp, 0x30
cmp dword [ebx + 0x14], esi
jg 0x7e3cd5
mov ebx, dword [ebx + 4]
add edi, 1
test ebx, ebx
jne 0x7e3ccc
jmp 0x7e2f9b
mov eax, dword [edi + 0x2c]
lea ebx, [eax + 1]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x34], ebx
lea ebx, [eax + 5]
add eax, 6
mov dword [esp + 0x20], eax
mov dword [edi + 0x2c], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x28]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebx + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x44], eax
test eax, eax
je 0x7e2d27
mov dword [esp + 0x2c], edi
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x7e5061
sub esp, 0xc
xor edx, edx
push dword [esp + 0x20]
mov eax, dword [esp + 0x3c]
call fcn.007d9140
mov dword [esp + 0x2c], eax
add esp, 0x10
test eax, eax
je 0x7e2d27
mov eax, dword [eax + 0x10]
test eax, eax
je 0x7e2d27
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 0x48]
test edx, edx
je 0x7e5b7a
mov eax, dword [esp + 8]
call fcn.0076ee70
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x2c]
mov edx, esi
mov eax, ebx
call fcn.007b4200
mov edi, dword [esp + 0x1c]
sub esp, 8
mov eax, ebx
mov edx, esi
mov ecx, dword [edi + 0x1c]
push dword [edi]
push 0
call fcn.00782cb0
movsx eax, word [edi + 0x2a]
add eax, dword [esp + 0x30]
add esp, 0x10
cmp eax, dword [ebx + 0x2c]
jle 0x7e3e32
mov dword [ebx + 0x2c], eax
sub esp, 8
xor edx, edx
mov edi, 1
push 0x60
mov ebx, dword [esp + 0x28]
push ebx
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
mov eax, esi
call fcn.00792d60
mov ecx, dword [ebx]
mov edx, dword [esp + 0x44]
mov eax, ebp
call fcn.007831a0
mov ebx, dword [ebx + 0x10]
add esp, 0x10
test ebx, ebx
je 0x7e4d90
mov dword [esp + 0x28], ebp
mov ebp, esi
jmp 0x7e3eab
sub esp, 8
mov ecx, edi
mov edx, 0x60
push dword [esp + 0x20]
push dword [eax + 0x2c]
mov eax, dword [esp + 0x38]
call fcn.00782fd0
mov edx, dword [esp + 0x6c]
mov eax, ebp
call fcn.00792d30
add esp, 0x10
mov ebx, dword [ebx + 4]
add edi, 1
test ebx, ebx
je 0x7e4d8c
mov edx, dword [ebx + 8]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 8]
call fcn.0076a150
mov esi, eax
test eax, eax
je 0x7e3e9d
mov dword [esp + 0x5c], 0
sub esp, 8
mov ecx, dword [eax + 0x1c]
push dword [eax]
mov eax, ebp
push 0
mov edx, dword [esp + 0x28]
call fcn.00782cb0
pop ecx
pop eax
push 0
mov ecx, ebx
mov edx, esi
lea eax, [esp + 0x68]
push eax
mov eax, ebp
call fcn.007922a0
add esp, 0x10
test eax, eax
jne 0x7e2d27
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x7e3e75
sub esp, 8
mov edx, edi
mov eax, ebp
push 0x60
push esi
mov ecx, dword [esp + 0x28]
call fcn.00792d60
add esp, 0x10
jmp 0x7e3e9d
mov eax, dword [esp + 0xc]
test eax, eax
je 0x7e50a8
mov edx, eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 8]
call fcn.00762730
mov ebx, eax
test eax, eax
je 0x7e5a9b
mov edx, dword [ebx + 0x18]
mov eax, 0xfff0bdc0
test edx, edx
je 0x7e3f5e
mov eax, dword [esp + 8]
call fcn.0076ee70
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 0xc]
or edx, dword [ecx + 8]
je 0x7e597b
movzx esi, word [ebx + 0x34]
mov edx, 6
mov dword [edi + 0x2c], edx
mov ecx, dword [ebx + 0xc]
mov edx, eax
mov eax, edi
mov dword [esp + 0x18], ecx
call fcn.007b4200
test esi, esi
je 0x7e2f9b
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x1c]
jmp 0x7e3fc5
sub esp, 8
mov ecx, 1
mov edx, 0x50
mov eax, ebp
push 0
add esi, 1
push dword [edi + 0x2c]
call fcn.00782fd0
add esp, 0x10
cmp dword [esp + 0x14], esi
je 0x7e2f9b
mov eax, dword [ebx + 4]
xor edx, edx
movsx eax, word [eax + esi*2]
test ax, ax
js 0x7e3fe2
mov ecx, dword [esp + 0x18]
lea edx, [eax + eax*4]
shl edx, 2
add edx, dword [ecx + 4]
mov edx, dword [edx]
sub esp, 8
push edx
push eax
push esi
push str.iisX
push 1
push ebp
call fcn.007835a0
add esp, 0x20
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 0xc]
or eax, dword [edx + 8]
je 0x7e3f9c
push ecx
push ecx
movzx eax, word [ebx + 0x32]
cmp eax, esi
setg al
movzx eax, al
push eax
mov eax, dword [ebx + 0x20]
push dword [eax + esi*4]
mov eax, dword [ebx + 0x1c]
movzx eax, byte [eax + esi]
push eax
push str.isiX
push 4
push ebp
call fcn.007835a0
add esp, 0x20
jmp 0x7e3f9c
cmp dword [esp + 0xc], 0
je 0x7e5454
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x60]
call fcn.00760630
test eax, eax
je 0x7e5454
cmp dword [esp + 0x60], 0
jle 0x7e5454
mov ebx, dword [esp + 0x18]
mov eax, edi
xor edx, edx
mov ecx, ebx
call fcn.007b4240
mov edx, 0x45
push eax
push eax
mov eax, ebp
push 0
push 1
mov ecx, dword [esp + 0x70]
call fcn.00782fd0
pop eax
pop edx
push 0
push 0
mov ecx, ebx
mov edx, 0x3c
mov eax, ebp
call fcn.00782fd0
pop ecx
pop esi
push 0
push 0
mov ebx, eax
mov ecx, 1
mov edx, 0x50
mov eax, ebp
call fcn.00782fd0
pop edi
pop eax
push 0
push 0xffffffffffffffff
mov ecx, 1
mov edx, 0x52
mov eax, ebp
call fcn.00782fd0
pop eax
pop edx
push 0
push ebx
mov edx, 0x30
mov ecx, 1
mov eax, ebp
call fcn.00782fd0
mov edx, dword [ebp + 0x6c]
add esp, 0x10
test ebx, ebx
jns 0x7e40ed
lea ebx, [edx - 1]
mov ecx, dword [ebp]
mov eax, 0xc13eac
cmp byte [ecx + 0x51], 0
jne 0x7e4103
imul ebx, ebx, 0x14
mov eax, dword [ebp + 0x68]
add eax, ebx
mov dword [eax + 8], edx
jmp 0x7e2d27
mov eax, dword [esp + 8]
mov dword [edi + 0x2c], 1
mov ebx, dword [eax + 0x168]
test ebx, ebx
je 0x7e2d27
mov eax, dword [ebx + 8]
push dword [eax + 4]
push 0xbec4fe
push 1
push ebp
call fcn.007835a0
mov ebx, dword [ebx]
add esp, 0x10
test ebx, ebx
jne 0x7e4124
jmp 0x7e2d27
lea eax, [esp + 0x60]
cmp dword [esp + 0xc], 0
mov dword [esp + 0x1c], eax
je 0x7e4241
mov edx, eax
mov eax, dword [esp + 0xc]
call fcn.00774aa0
cmp dword [esp + 0x64], 0
jns 0x7e417d
mov eax, dword [0x849808]
mov edx, dword [0x84980c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
cmp dword [ebx + 4], 0
jne 0x7e4195
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 8]
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x34], edx
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x14]
mov esi, eax
mov dword [esp + 0x20], eax
sub esi, 1
js 0x7e4241
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 8]
mov eax, esi
shl eax, 4
add eax, dword [edi + 0x10]
mov edi, dword [eax + 4]
test edi, edi
je 0x7e422d
cmp dword [esp + 0x18], esi
je 0x7e41d3
mov eax, dword [ebx + 4]
test eax, eax
jne 0x7e422d
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
cmp byte [edi + 9], 0
mov ebp, dword [edi + 4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
je 0x7e41f3
mov eax, edi
call fcn.0076c790
mov eax, dword [ebp]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov dword [eax + 0x84], ecx
mov ecx, dword [eax + 0x3c]
mov dword [eax + 0x80], edx
mov ecx, dword [ecx]
test ecx, ecx
je 0x7e421d
cmp dword [ecx], 2
jle 0x7e421d
call fcn.00775f90
cmp byte [edi + 9], 0
je 0x7e422d
sub dword [edi + 0xc], 1
je 0x7e58c7
sub esi, 1
cmp esi, 0xffffffff
jne 0x7e41b3
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x60], 0xffffffff
mov dword [esp + 0x64], 0xffffffff
push dword [esp + 0x1c]
push 0x12
push dword [esp + 0x1c]
push dword [esp + 0x14]
call fcn.0076c9d0
add esp, 0x10
test eax, eax
je 0x7e5813
cmp eax, 0xc
je 0x7e2d27
add dword [edi + 0x24], 1
mov dword [edi + 0xc], eax
jmp 0x7e2d27
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ebx, dword [eax]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x60], 0xfffffffe
mov dword [esp + 0x64], 0xffffffff
test eax, eax
je 0x7e42f3
lea edx, [esp + 0x60]
call fcn.00774aa0
mov eax, dword [esp + 0x64]
cmp dword [esp + 0x60], 0xffffffff
sbb eax, 0xffffffff
jge 0x7e42cf
mov dword [esp + 0x60], 0xffffffff
mov dword [esp + 0x64], 0xffffffff
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov ecx, dword [ebx + 0xd8]
mov dword [ebx + 0xa0], eax
mov dword [ebx + 0xa4], edx
test ecx, ecx
je 0x7e42f3
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov edx, dword [ebx + 0xa0]
mov ecx, dword [ebx + 0xa4]
mov eax, ebp
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], ecx
call fcn.00785000
jmp 0x7e2d27
mov esi, dword [esp + 0xc]
test esi, esi
je 0x7e54c7
xor eax, eax
jmp 0x7e4339
movzx ecx, byte [ecx + 0xbfad00]
cmp byte [edx + 0xbfad00], cl
jne 0x7e54e2
add eax, 1
movzx edx, byte [esi + eax]
movzx ecx, byte [eax + str.exclusive]
cmp edx, ecx
jne 0x7e4323
test edx, edx
jne 0x7e4336
mov eax, 1
cmp dword [ebx + 4], 0
jne 0x7e43a2
mov ebx, dword [esp + 8]
mov edx, dword [ebx + 0x14]
cmp edx, 2
jle 0x7e439b
mov ebx, dword [esp + 8]
shl edx, 4
mov ecx, dword [ebx + 0x10]
lea ebx, [ecx + 0x24]
lea edi, [ecx + edx + 4]
mov edx, dword [ebx]
mov edx, dword [edx + 4]
mov edx, dword [edx]
cmp byte [edx + 0xc], 0
jne 0x7e4394
mov ecx, dword [edx + 0xd8]
test ecx, ecx
je 0x7e4391
cmp byte [ecx + 0x2b], 2
je 0x7e4394
mov byte [edx + 4], al
add ebx, 0x10
cmp edi, ebx
jne 0x7e4374
mov ebx, dword [esp + 8]
mov byte [ebx + 0x53], al
mov ebx, dword [esp + 0x20]
mov edx, dword [ebx + 4]
mov edx, dword [edx + 4]
mov edx, dword [edx]
cmp byte [edx + 0xc], 0
jne 0x7e43c7
mov ecx, dword [edx + 0xd8]
test ecx, ecx
je 0x7e43c4
cmp byte [ecx + 0x2b], 2
je 0x7e43c7
mov byte [edx + 4], al
movzx eax, byte [edx + 4]
sub eax, 1
mov edx, str.normal
mov eax, str.exclusive
cmove edx, eax
mov eax, ebp
call fcn.007831e0
jmp 0x7e2d27
cmp dword [esp + 0xc], 0
je 0x7e4435
mov edi, dword [esp + 0xc]
xor eax, eax
or ecx, 0xffffffff
mov edx, str.delete
repne scasb al, byte es:[edi]
xor edi, edi
mov eax, ecx
not eax
lea esi, [eax - 1]
and esi, 0x3fffffff
jmp 0x7e441a
mov edx, dword [edi*4 + 0xbf5154]
test edx, edx
je 0x7e4435
mov eax, dword [esp + 0xc]
mov ecx, esi
call fcn.0076a4d0
test eax, eax
je 0x7e56a0
add edi, 1
cmp edi, 6
jne 0x7e440f
cmp dword [ebx + 4], 0
jne 0x7e444a
mov dword [ebx + 4], 1
mov dword [esp + 0x18], 0
or edi, 0xffffffff
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x14]
mov esi, eax
mov dword [esp + 0x14], eax
sub esi, 1
js 0x7e44d0
mov dword [esp + 0x14], edi
mov edi, dword [esp + 8]
mov eax, esi
mov edx, dword [edi + 0x10]
shl eax, 4
mov edx, dword [edx + eax + 4]
test edx, edx
je 0x7e44c8
cmp dword [esp + 0x18], esi
je 0x7e4484
mov ecx, dword [ebx + 4]
test ecx, ecx
jne 0x7e44c8
mov edx, 1
mov ecx, esi
shl edx, cl
or dword [ebp + 0x9c], edx
cmp esi, 1
je 0x7e44ae
mov ecx, dword [ebp]
mov ecx, dword [ecx + 0x10]
mov eax, dword [ecx + eax + 4]
cmp byte [eax + 9], 0
je 0x7e44ae
or dword [ebp + 0xa0], edx
sub esp, 8
mov ecx, esi
mov edx, 7
mov eax, ebp
push dword [esp + 0x1c]
push 1
call fcn.00782fd0
add esp, 0x10
sub esi, 1
cmp esi, 0xffffffff
jne 0x7e4467
push ecx
push ecx
push 0
push 1
jmp 0x7e2e76
cmp dword [esp + 0xc], 0
je 0x7e5853
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x14]
test edx, edx
jle 0x7e452c
mov eax, dword [esp + 8]
shl edx, 4
mov ecx, 1
xor esi, esi
mov eax, dword [eax + 0x10]
lea ebx, [edx + eax]
mov edx, dword [eax + 4]
test edx, edx
je 0x7e451d
mov edx, dword [eax + 0xc]
movzx edx, word [edx + 0x4e]
and edx, 5
cmp dx, 1
cmove ecx, esi
add eax, 0x10
cmp eax, ebx
jne 0x7e4505
test ecx, ecx
je 0x7e2f9b
mov ebp, dword [esp + 0xc]
mov esi, 0xbf51c0
mov eax, str.UTF8
mov ecx, ebp
jmp 0x7e4559
movzx ebx, byte [ebx + 0xbfad00]
cmp byte [edx + 0xbfad00], bl
jne 0x7e5273
add ecx, 1
add eax, 1
movzx edx, byte [ecx]
movzx ebx, byte [eax]
cmp edx, ebx
jne 0x7e4540
test edx, edx
jne 0x7e4553
movzx eax, byte [esi + 4]
test al, al
jne 0x7e4574
mov eax, 2
mov ebx, dword [esp + 8]
mov edx, dword [ebx + 0x10]
mov byte [ebx + 0x4e], al
mov edx, dword [edx + 0xc]
mov byte [edx + 0x4d], al
jmp 0x7e2f9b
mov esi, dword [esp + 8]
mov dword [edi + 0x2c], 3
cmp dword [esi + 0x14], 0
jle 0x7e2d27
mov ebx, dword [esp + 0x1c]
mov eax, ebx
shl eax, 4
add eax, dword [esi + 0x10]
mov edx, dword [eax + 4]
test edx, edx
je 0x7e45de
mov edx, dword [edx + 4]
mov ecx, dword [edx]
mov edx, 0xbf578c
cmp byte [ecx + 0xf], 0
jne 0x7e45c7
mov edx, dword [ecx + 0xa8]
sub esp, 8
push edx
push dword [eax]
push ebx
push 0xbefc88
push 1
push ebp
call fcn.007835a0
add esp, 0x20
add ebx, 1
cmp dword [esi + 0x14], ebx
jg 0x7e45a2
jmp 0x7e2d27
cmp dword [esp + 0xc], 0
je 0x7e5827
mov ebx, dword [esp + 0xc]
cmp byte [ebx], 0
je 0x7e4627
mov eax, dword [esp + 8]
lea edx, [esp + 0x60]
mov eax, dword [eax]
push edx
push 1
push ebx
push eax
call dword [eax + 0x20]
add esp, 0x10
test eax, eax
jne 0x7e57c0
cmp dword [esp + 0x60], 0
je 0x7e57c0
sub esp, 0xc
push dword [0xc13ea0]
call fcn.007677d0
add esp, 0x10
mov eax, dword [esp + 0xc]
cmp byte [eax], 0
jne 0x7e5b15
mov dword [0xc13ea0], 0
jmp 0x7e2f9b
mov dword [edi + 0x2c], 1
mov ecx, str.COMPILERgcc_8.3_win32_20190406
mov edx, 1
mov eax, ebp
mov ebx, 2
call fcn.007831a0
mov ecx, 1
mov edx, 0x50
push eax
push eax
mov eax, ebp
push 0
push 1
call fcn.00782fd0
add esp, 0x10
mov ecx, dword [ebx*4 + 0xbfae9c]
test ecx, ecx
je 0x7e46c4
mov edx, 1
mov eax, ebp
add ebx, 1
call fcn.007831a0
mov ecx, 1
mov edx, 0x50
push eax
push eax
mov eax, ebp
push 0
push 1
call fcn.00782fd0
add esp, 0x10
cmp ebx, 0xa
jne 0x7e468b
and byte [ebp + 0x98], 0xbf
jmp 0x7e2d27
cmp dword [esp + 0xc], 0
je 0x7e5989
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov eax, dword [esp + 8]
cmp byte [eax + 0x4f], 0
jne 0x7e46f2
and bh, 0xbf
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov edx, 1
call fcn.00774bd0
test al, al
je 0x7e558e
mov eax, dword [esp + 8]
or dword [eax + 0x20], ebx
or dword [eax + 0x24], esi
push ebx
xor ecx, ecx
mov edx, 0x9e
mov eax, ebp
push ebx
push 0
push 0
call fcn.00782fd0
add esp, 0x10
mov eax, dword [esp + 8]
cmp byte [eax + 0x4f], 0
je 0x7e2f9b
jmp 0x7e3247
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 4]
xor eax, eax
cmp dword [esp + 0xc], 0
je 0x7e5739
mov ebx, dword [esp + 0xc]
jmp 0x7e4776
movzx ecx, byte [ecx + 0xbfad00]
cmp byte [edx + 0xbfad00], cl
jne 0x7e55e5
add eax, 1
movzx edx, byte [ebx + eax]
movzx ecx, byte [eax + str.none]
cmp edx, ecx
jne 0x7e4760
test edx, edx
jne 0x7e4773
mov eax, dword [esp + 8]
xor edx, edx
mov byte [eax + 0x54], 0
mov eax, esi
call fcn.0076cdd0
jmp 0x7e2f9b
mov eax, dword [esp + 8]
mov dword [edi + 0x2c], 2
mov esi, dword [eax + 0x194]
test esi, esi
je 0x7e2d27
mov eax, dword [esp + 0x1c]
mov edx, dword [esi + 8]
sub esp, 0xc
lea ebx, [eax + 1]
push dword [edx]
push eax
push 0xbefc8c
push 1
push ebp
call fcn.007835a0
mov esi, dword [esi]
mov eax, ebx
add esp, 0x20
test esi, esi
jne 0x7e47bc
jmp 0x7e2d27
mov eax, dword [esp + 0xc]
test eax, eax
je 0x7e50a8
xor ecx, ecx
mov edx, 1
mov ebx, 0xbfa174
call fcn.00774bd0
push 0
mov edx, 4
mov ecx, 2
test al, al
mov eax, 0xbfa178
push 0
cmove ebx, eax
push 0
cmove esi, edx
mov edx, str.like
push 0
push 0
push 0x78c690
push ebx
push 1
mov edi, dword [esp + 0x28]
mov eax, edi
call fcn.0078ef70
add esp, 0x20
mov ecx, 3
mov eax, edi
push 0
mov edx, str.like
push 0
push 0
push 0
push 0
push 0x78c690
push ebx
mov ebx, edi
push 1
call fcn.0078ef70
add esp, 0x18
mov ecx, 2
mov eax, edi
push 0
mov edx, str.like
push 1
call fcn.0076b740
mov ecx, 3
mov edx, str.like
or dword [eax + 4], esi
pop edi
mov eax, ebx
pop ebp
push 0
push 1
call fcn.0076b740
add esp, 0x10
or dword [eax + 4], esi
jmp 0x7e2f9b
cmp dword [esp + 0xc], 0
je 0x7e55c7
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x60]
mov dword [esp + 0x60], 1
call fcn.00760630
test eax, eax
jne 0x7e59b5
xor ecx, ecx
mov eax, dword [esp + 0xc]
cmp dword [esp + 0x60], 0
mov edx, 1
setne cl
call fcn.00774bd0
mov ebx, dword [esp + 8]
test al, al
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x14], eax
je 0x7e59ca
mov edx, dword [ebx + 0x24]
or eax, 0x20
mov ebx, dword [esp + 8]
cmp byte [ebx + 0x4f], 0
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], edx
je 0x7e2f9b
mov eax, ebx
call fcn.0076ed40
jmp 0x7e2f9b
cmp dword [esp + 0xc], 0
je 0x7e571e
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x60]
mov dword [esp + 0x60], 0
call fcn.00760630
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x60]
mov eax, dword [ebx + 0xc]
mov dword [eax + 0x50], edx
mov eax, dword [ebx + 4]
call fcn.0076cc40
jmp 0x7e2f9b
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x18]
mov ebx, dword [eax + 8]
mov ecx, edi
mov eax, 1
shl eax, cl
or dword [ebp + 0x9c], eax
sub edi, 1
je 0x7e498d
mov edx, dword [ebp]
mov edi, dword [esp + 0x28]
mov edx, dword [edx + 0x10]
mov edx, dword [edx + edi + 4]
cmp byte [edx + 9], 0
je 0x7e498d
or dword [ebp + 0xa0], eax
cmp dword [esp + 0xc], 0
je 0x7e49a2
mov eax, dword [esp + 0x2c]
test byte [eax + 5], 8
je 0x7e59d5
mov ecx, 0xbf516c
mov edx, 3
mov eax, ebp
call fcn.007850d0
mov edi, dword [esp + 0x18]
mov dword [eax + 0x20], ebx
mov dword [eax + 4], edi
mov dword [eax + 0x18], edi
and byte [ebp + 0x98], 0xbf
jmp 0x7e2d27
cmp dword [esp + 0xc], 0
je 0x7e49fa
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x60]
mov dword [esp + 0x60], 0
call fcn.00760630
push eax
push eax
push dword [esp + 0x68]
push dword [esp + 0x14]
call fcn.007703d0
add esp, 0x10
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x1d0]
mov eax, ebp
mov ecx, edx
sar ecx, 0x1f
call fcn.00785000
jmp 0x7e2d27
mov edx, 1
mov eax, ebp
call fcn.007734f0
mov eax, dword [ebp]
mov edx, dword [esp + 0x70]
cmp byte [eax + 0x51], 0
jne 0x7e4a49
sub esp, 8
xor ecx, ecx
mov eax, ebp
push 0xffffffffffffffff
push edx
xor edx, edx
call fcn.00781db0
mov edx, dword [esp + 0x80]
add esp, 0x10
test edx, edx
je 0x7e4a58
mov eax, ebp
call fcn.007831e0
mov edx, dword [esp + 0x70]
sub esp, 0xc
push edx
call fcn.007677d0
add esp, 0x10
jmp 0x7e2d27
mov edx, dword [esp + 0x2c]
mov eax, ebp
call fcn.00782210
mov eax, dword [esp + 0x2c]
cmp byte [eax + 4], 0x28
ja case.0x7e4a86.3
movzx eax, byte [eax + 4]
jmp dword [eax*4 + 0xbefe4c]
mov eax, edi
call fcn.007d8b70
test eax, eax
jne 0x7e2d27
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax + 5]
jmp 0x7e2dc6
mov esi, dword [edi + 8]
test esi, esi
je 0x7e3a1f
mov dword [esp + 0x14], 0
xor eax, eax
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x34], edi
jmp 0x7e4ae6
mov ecx, dword [esp + 0x58]
mov eax, esi
mov esi, dword [esi + 0x14]
add dword [esp + 0x14], 1
test esi, esi
je 0x7e5058
mov edi, dword [esp + 0x2c]
mov ebx, dword [edi + 0x38]
mov dword [esp + 0x28], ebx
sub ebx, 1
mov dword [edi + 0x38], ebx
cmp dword [esp + 0x20], esi
je 0x7e4ad6
sub esp, 0xc
mov edx, esi
push dword [esp + 0x28]
push eax
lea eax, [esp + 0x74]
push eax
mov eax, edi
push 0
push 0
call fcn.007c6190
mov edx, 0x52
mov dword [esp + 0x3c], eax
add esp, 0x18
mov edi, dword [esp + 0x1c]
mov eax, ebp
push 0
push 1
lea ecx, [edi + 8]
call fcn.00782fd0
mov ecx, dword [esp + 0x24]
movzx edi, word [esi + 0x34]
add ecx, dword [esp + 0x6c]
pop eax
mov eax, ebp
pop edx
push dword [esp + 0x24]
mov edx, 0x1e
push ebx
call fcn.00782fd0
add esp, 0x10
mov ebx, eax
mov eax, dword [ebp]
cmp byte [eax + 0x51], 0
jne 0x7e4b72
mov edx, dword [ebp + 0x68]
lea eax, [ebx + ebx*4]
lea eax, [edx + eax*4]
mov byte [eax + 1], 0xfd
mov dword [eax + 0x10], edi
mov ecx, str.row
mov edx, 3
mov eax, ebp
call fcn.007831a0
sub esp, 8
mov ecx, 7
mov eax, ebp
push 3
mov edx, 0x6e
push 3
call fcn.00782fd0
mov ecx, str._missing_from_index
mov edx, 4
mov eax, ebp
call fcn.007831a0
pop eax
pop edx
push 3
push 3
mov ecx, 4
mov edx, 0x6e
mov eax, ebp
call fcn.00782fd0
mov ecx, dword [esi]
mov edx, 4
mov eax, ebp
call fcn.007831a0
mov edx, 0x6e
mov dword [esp + 0x4c], eax
pop ecx
mov eax, ebp
mov ecx, 4
pop edi
push 3
push 3
call fcn.00782fd0
mov eax, ebp
call fcn.00784f40
add esp, 0x10
test ebx, ebx
mov ecx, 0xc13eac
mov edi, eax
mov eax, dword [ebp + 0x6c]
lea edx, [eax - 1]
cmovs ebx, edx
mov edx, dword [ebp]
movzx edx, byte [edx + 0x51]
test dl, dl
jne 0x7e4c1c
mov ecx, dword [ebp + 0x68]
lea ebx, [ebx + ebx*4]
lea ecx, [ecx + ebx*4]
mov dword [ecx + 8], eax
cmp byte [esi + 0x36], 0
jne 0x7e4c5f
lea ecx, [eax - 1]
test edi, edi
cmovs edi, ecx
mov ecx, 0xc13eac
test dl, dl
jne 0x7e4c3f
mov edx, dword [ebp + 0x68]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*4]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x60]
test edx, edx
je 0x7e4ad0
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 8]
call fcn.00782e20
jmp 0x7e4ad0
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0x38]
sub ebx, 1
mov dword [esp + 0x28], ebx
mov dword [eax + 0x38], ebx
xor ebx, ebx
cmp word [esi + 0x32], 0
je 0x7e4cca
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x1c]
mov eax, dword [esi + 4]
movsx eax, word [eax + ebx*2]
test ax, ax
js 0x7e4ca0
mov edx, dword [esp + 0x34]
lea eax, [eax + eax*4]
shl eax, 2
add eax, dword [edx + 4]
cmp byte [eax + 0xc], 0
jne 0x7e4cbb
sub esp, 8
lea ecx, [edi + ebx]
mov edx, 0x32
mov eax, ebp
push 0
push dword [esp + 0x34]
call fcn.00782fd0
add esp, 0x10
movzx eax, word [esi + 0x32]
add ebx, 1
cmp eax, ebx
jg 0x7e4c81
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x14]
sub esp, 8
add ecx, dword [esp + 0x64]
mov edx, 5
push 0
mov eax, ebp
push 0
call fcn.00782fd0
pop ecx
mov edx, 0xb
xor ecx, ecx
mov ebx, eax
pop eax
push 0
mov eax, ebp
push dword [esp + 0x34]
call fcn.00782fd0
mov eax, dword [ebp + 0x6c]
mov ecx, dword [ebp]
add esp, 0x10
test ebx, ebx
lea edx, [eax - 1]
cmovs ebx, edx
cmp byte [ecx + 0x51], 0
mov edx, 0xc13eac
jne 0x7e4d22
mov edx, dword [ebp + 0x68]
lea ecx, [ebx + ebx*4]
lea edx, [edx + ecx*4]
mov dword [edx + 8], eax
movzx eax, word [esi + 0x32]
sub esp, 4
mov edx, 0x27
mov ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x60]
push eax
mov eax, ebp
push dword [esp + 0x24]
mov ebx, dword [esp + 0x34]
push ebx
call fcn.00783160
mov ecx, str.non_unique_entry_in_index
mov edx, 3
mov eax, ebp
call fcn.007831a0
pop eax
pop edx
push 0
push dword [esp + 0x48]
xor ecx, ecx
mov edx, 0xb
mov eax, ebp
call fcn.00782fd0
mov edx, ebx
mov eax, ebp
call fcn.00782e20
mov edx, dword [ebp]
mov eax, dword [ebp + 0x6c]
add esp, 0x10
movzx edx, byte [edx + 0x51]
jmp 0x7e4c25
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x28], edi
jge 0x7e4da0
mov eax, dword [esp + 0x2c]
mov dword [eax + 0x28], edi
sub esp, 8
xor ecx, ecx
mov edx, 0x25
mov eax, ebp
push 0
push 0
call fcn.00782fd0
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x2c]
add esp, 0x10
mov edi, dword [eax + 0x10]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x28], 1
lea ebx, [eax + 3]
add eax, 2
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], eax
test edi, edi
je 0x7e4f8a
mov edx, dword [edi + 8]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 8]
call fcn.0076a150
mov dword [esp + 0x5c], 0
mov edx, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x60], 0
test eax, eax
je 0x7e4e2a
sub esp, 8
mov ecx, edi
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x68]
push eax
mov eax, dword [esp + 0x3c]
call fcn.007922a0
add esp, 0x10
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0x38]
sub ebx, 1
mov dword [eax + 0x38], ebx
mov esi, dword [edi + 0x14]
mov dword [esp + 0x18], ebx
test esi, esi
jle 0x7e4ea0
xor ebx, ebx
jmp 0x7e4e8f
mov eax, dword [eax + ebx*4]
mov ecx, dword [esp + 0x20]
sub esp, 8
lea esi, [ecx + ebx]
xor ecx, ecx
add ebx, 1
push esi
push eax
mov edx, dword [esp + 0x2c]
mov eax, ebp
call fcn.007bfbd0
pop eax
pop edx
push 0
push dword [esp + 0x24]
mov ecx, esi
mov edx, 0x32
mov eax, ebp
call fcn.00782fd0
mov esi, dword [edi + 0x14]
add esp, 0x10
cmp esi, ebx
jle 0x7e4ea0
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x7e4e50
mov eax, dword [edi + ebx*8 + 0x24]
jmp 0x7e4e53
mov edx, dword [esp + 0x5c]
test edx, edx
je 0x7e5010
mov eax, dword [esp + 8]
call fcn.007691c0
sub esp, 8
mov edx, 0x5b
push dword [esp + 0x48]
mov ebx, eax
mov eax, ebp
push dword [edi + 0x14]
mov ecx, dword [esp + 0x30]
call fcn.00782fd0
mov ecx, ebx
mov dword [esp], esi
mov edx, eax
mov eax, ebp
call fcn.00774970
add esp, 0xc
mov edx, 0x1e
mov eax, ebp
push 0
push dword [esp + 0x48]
push dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
call fcn.00783160
add esp, 0x10
mov eax, dword [esp + 0x1c]
test byte [eax + 0x24], 0x80
jne 0x7e4ff0
sub esp, 8
xor ecx, ecx
mov edx, 0x7f
mov eax, ebp
push 0
push dword [esp + 0x48]
call fcn.00782fd0
add esp, 0x10
sub esp, 0xc
mov eax, dword [esp + 0x34]
sub eax, 1
push eax
push dword [edi + 8]
push 0xbefc9d
push dword [esp + 0x50]
push ebp
call fcn.007835a0
add esp, 0x18
mov edx, 0x50
mov eax, ebp
push 0
push 4
mov ecx, dword [esp + 0x44]
call fcn.00782fd0
mov edx, dword [esp + 0x28]
mov eax, ebp
call fcn.00782e20
mov edx, dword [esp + 0x70]
add esp, 0x10
test edx, edx
je 0x7e4f7a
mov eax, dword [esp + 8]
call fcn.00767880
mov edi, dword [edi + 4]
add dword [esp + 0x28], 1
test edi, edi
jne 0x7e4de5
sub esp, 8
xor ecx, ecx
mov edx, 5
push 0
mov ebx, dword [esp + 0x54]
lea eax, [ebx + 1]
push eax
mov eax, ebp
call fcn.00782fd0
mov eax, dword [ebp + 0x6c]
add esp, 0x10
mov ecx, dword [ebp]
test ebx, ebx
lea edx, [eax - 1]
cmovns edx, ebx
cmp byte [ecx + 0x51], 0
mov dword [esp + 0x48], edx
mov edx, 0xc13eac
jne 0x7e4fd2
mov ebx, dword [esp + 0x48]
mov edx, dword [ebp + 0x68]
lea ecx, [ebx + ebx*4]
lea edx, [edx + ecx*4]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x7e3d9b
jmp 0x7e2d27
sub esp, 8
xor ecx, ecx
mov edx, 0x48
mov eax, ebp
push 0
push dword [esp + 0x48]
call fcn.00782fd0
add esp, 0x10
jmp 0x7e4f27
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x7e4eff
sub esp, 8
mov edx, 0x1f
push dword [esp + 0x28]
mov eax, dword [ebp + 0x6c]
add eax, 2
push eax
mov ecx, dword [esp + 0x38]
mov eax, ebp
call fcn.00782fd0
pop eax
pop edx
push 0
push dword [esp + 0x24]
xor ecx, ecx
mov edx, 0xb
mov eax, ebp
call fcn.00782fd0
add esp, 0x10
jmp 0x7e4eff
mov edi, dword [esp + 0x34]
jmp 0x7e3a1f
mov ebx, dword [esp + 0x44]
mov eax, dword [ebx + 8]
mov ebx, dword [ebx]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x44], ebx
test eax, eax
je 0x7e4fd5
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x7e3ddb
jmp 0x7e4fd5
test ebx, ebx
je 0x7e5098
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x1c]
mov eax, ebp
mov ecx, edx
sar ecx, 0x1f
call fcn.00785000
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 8]
call fcn.00767880
jmp 0x7e2d49
movzx eax, word [esi + 0x2e]
add ax, 0x2e
mov word [esp + 0x14], ax
je 0x7e3491
sub esp, 8
push 0x60
push esi
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x2c]
call fcn.00792d60
pop eax
pop edx
movsx eax, word [esp + 0x1c]
push eax
mov edx, dword [esp + 0x2c]
mov eax, dword [ebp + 0x6c]
lea eax, [eax + edx + 2]
mov edx, 0x22
push eax
mov ecx, dword [esp + 0x40]
mov eax, ebp
call fcn.00782fd0
add esp, 0x10
jmp 0x7e3491
mov edx, dword [edi + 8]
mov dword [esp + 0x20], edx
test edx, edx
je 0x7e37f5
movzx ebx, byte [edx + 0x38]
mov eax, ebx
mov byte [esp + 0x14], bl
and eax, 3
cmp al, 2
je 0x7e37f5
mov eax, edx
jmp 0x7e514c
movzx edx, byte [eax + 0x38]
and edx, 3
cmp dl, 2
je 0x7e5153
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x7e5140
mov dword [esp + 0x20], eax
jmp 0x7e37f5
mov ecx, str.wrong__of_entries_in_index
mov edx, 2
mov eax, ebp
call fcn.007831a0
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x7e3a6b
xor esi, esi
lea esi, [esi]
cmp dword [esp + 0x20], ebx
je 0x7e522b
mov ecx, dword [esp + 0x5c]
sub esp, 8
mov edx, 0x5c
mov eax, ebp
push 0
push 3
add ecx, esi
call fcn.00782fd0
pop edi
pop eax
push 3
push 0
lea ecx, [esi + 8]
mov edx, 0x35
mov eax, ebp
call fcn.00782fd0
add esp, 0x10
mov edi, eax
mov eax, dword [ebp + 0x6c]
test eax, eax
jle 0x7e51d6
mov ecx, dword [ebp + 0x68]
lea eax, [eax + eax*4]
mov edx, 0x90
lea eax, [ecx + eax*4]
mov word [eax - 0x12], dx
mov ecx, dword [ebx]
mov edx, 4
mov eax, ebp
call fcn.007831a0
sub esp, 8
mov ecx, 4
mov eax, ebp
push 3
mov edx, 0x6e
push 2
call fcn.00782fd0
mov eax, ebp
call fcn.00784f40
mov eax, dword [ebp + 0x6c]
mov ecx, dword [ebp]
add esp, 0x10
test edi, edi
lea edx, [eax - 1]
cmovs edi, edx
cmp byte [ecx + 0x51], 0
mov edx, 0xc13eac
jne 0x7e5228
mov edx, dword [ebp + 0x68]
lea ecx, [edi + edi*4]
lea edx, [edx + ecx*4]
mov dword [edx + 8], eax
mov ebx, dword [ebx + 0x14]
add esi, 1
test ebx, ebx
jne 0x7e5180
jmp 0x7e3a6b
xor ecx, ecx
mov ebx, eax
call fcn.0077a0c0
cmp byte [ebx + 0x51], 0
mov dword [esp + 0x14], eax
je 0x7e5369
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x7e3a10
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 8]
call fcn.00776b80
jmp 0x7e3a10
add esi, 8
mov eax, dword [esi]
test eax, eax
jne 0x7e453a
push eax
push dword [esp + 0x10]
push str.unsupported_encoding:__s
push edi
call fcn.0078f9f0
add esp, 0x10
jmp 0x7e2f9b
sub esp, 8
xor ecx, ecx
mov edx, 0x8c
mov eax, ebp
push 0
push 0
call fcn.00782fd0
mov ecx, dword [esp + 0x24]
mov dword [esp], 0xfffffff9
mov edx, eax
mov eax, ebp
call fcn.00774970
add esp, 0x10
jmp 0x7e3460
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x2c]
lea esi, [ecx + 1]
mov dword [esp + 0x34], ecx
mov dword [eax + 0x2c], esi
jmp 0x7e34df
mov ecx, 0xbf5208
mov edx, 7
mov eax, ebp
call fcn.007850d0
test eax, eax
je 0x7e531e
mov edx, 1
sub edx, dword [esp + 0x54]
mov byte [eax + 0x29], 0xff
mov dword [eax + 8], edx
mov dword [eax + 0x38], 0xbefd42
mov byte [eax + 0x65], 0xff
mov dword [eax + 0x74], str.database_disk_image_is_malformed
mov eax, dword [ebp + 0x6c]
mov ecx, dword [ebp]
mov edx, 0xc13eac
sub eax, 2
cmp byte [ecx + 0x51], 0
jne 0x7e5335
mov edx, dword [ebp + 0x68]
mov dword [edx + 0xc], eax
jmp 0x7e2d27
mov edi, 1
cmp dword [esp + 0x3c], 0
mov ebx, 1
jne 0x7e54a0
cmp edi, 1
jg 0x7e5362
cmp dword [esp + 0x1c], 0
jne 0x7e3121
xor ebp, ebp
jmp 0x7e3128
mov ebx, dword [esp + 0x2c]
mov eax, dword [ebx + 0x38]
lea ecx, [eax - 1]
sub eax, 2
mov dword [ebx + 0x38], eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x28], ecx
add eax, 1
mov dword [ebx + 0x34], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
lea ebx, [eax - 1]
test ebx, ebx
jle 0x7e53d6
imul eax, eax, 0x14
mov edx, dword [esp + 0x14]
mov dword [esp + 0x34], edi
mov edi, ebx
mov dword [esp + 0x3c], ebp
mov ebx, dword [esp + 0x28]
lea esi, [edx + eax - 0x10]
mov ebp, esi
mov esi, dword [esp + 0x2c]
push 0
sub ebp, 0x14
push ebx
push dword [ebp + 0x14]
push esi
call fcn.007be180
add esp, 0x10
sub edi, 1
jne 0x7e53b7
mov edi, dword [esp + 0x34]
mov ebp, dword [esp + 0x3c]
push 0x10
push dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push dword [eax + 4]
mov ebx, dword [esp + 0x38]
push ebx
call fcn.007bddd0
mov edx, dword [esp + 0x38]
mov eax, ebp
call fcn.00782e20
add esp, 0xc
mov dword [ebx + 0x34], 0
push dword [edi]
push str.CHECK_constraint_failed_in__s
push dword [esp + 0x14]
call fcn.00795c10
pop ebx
xor ecx, ecx
mov edx, 0x73
mov esi, eax
pop eax
push 0
mov eax, ebp
push 3
call fcn.00782fd0
mov ecx, esi
mov dword [esp], 0xfffffff9
mov edx, eax
mov eax, ebp
call fcn.00774970
mov eax, ebp
call fcn.00784f40
mov edx, dword [esp + 0x2c]
mov eax, ebp
call fcn.00782e20
add esp, 0x10
jmp 0x7e5261
mov dword [esp + 0x60], 0x7fffffff
jmp 0x7e4061
mov ebx, dword [esp + 8]
mov ebx, dword [ebx + 0x14]
mov dword [esp + 0x14], ebx
sub ebx, 1
mov dword [esp + 0x2c], ebx
cmp dword [esp + 0x18], ebx
jle 0x7e340b
push ecx
mov edx, 0x9e
mov eax, ebp
push ecx
xor ecx, ecx
push 0
push 0
call fcn.00782fd0
add esp, 0x10
jmp 0x7e2d27
mov ebx, dword [esi + 4]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x3c]
mov ebp, dword [ebx + 4]
mov ebx, 1
movsx edx, word [ebp + ebx*2 - 2]
cmp edx, dword [esp + 0x14]
je 0x7e5352
add ebx, 1
cmp ebx, ecx
jle 0x7e54ac
jmp 0x7e5352
cmp dword [ebx + 4], 0
je 0x7e5ae7
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov edx, dword [eax]
jmp 0x7e43c7
xor edx, edx
mov esi, dword [esp + 0xc]
jmp 0x7e5502
movzx ecx, byte [ecx + 0xbfad00]
cmp byte [eax + 0xbfad00], cl
jne 0x7e54c7
add edx, 1
movzx eax, byte [esi + edx]
movzx ecx, byte [edx + str.normal]
cmp eax, ecx
jne 0x7e54f0
test eax, eax
jne 0x7e54ff
jmp 0x7e4351
mov edi, 3
test dx, dx
jne 0x7e5552
xor ebx, ebx
cmp byte [esi + 0xc], 0
setne bl
mov dword [esp + 0x28], ebx
mov ebx, dword [esi]
mov dword [esp + 0x1c], ebx
test al, 4
je 0x7e5a7d
xor ebx, ebx
xor ebp, ebp
jmp 0x7e3147
mov edi, 2
test dx, dx
je 0x7e5524
cmp dword [esp + 0x3c], 0
jne 0x7e5499
xor ebx, ebx
cmp byte [esi + 0xc], 0
setne bl
mov dword [esp + 0x28], ebx
mov ebx, dword [esi]
mov dword [esp + 0x1c], ebx
test al, 4
je 0x7e5af4
xor ebp, ebp
mov ebx, 1
jmp 0x7e3147
add dword [esp + 0x18], 1
jmp 0x7e319b
mov edi, dword [esp + 8]
mov edx, ebx
mov eax, esi
xor ebx, 0x80000
not edx
not eax
and dword [edi + 0x20], edx
and dword [edi + 0x24], eax
or ebx, esi
jne 0x7e4714
mov dword [edi + 0x1e8], 0
mov dword [edi + 0x1ec], 0
jmp 0x7e4714
mov eax, dword [esp + 8]
xor edx, edx
xor ecx, ecx
test byte [eax + 0x20], 0x20
jne 0x7e5b4b
mov eax, ebp
call fcn.00785000
jmp 0x7e50a8
xor eax, eax
mov ebx, dword [esp + 0xc]
jmp 0x7e5606
movzx ecx, byte [ecx + 0xbfad00]
cmp byte [edx + 0xbfad00], cl
jne 0x7e57d5
add eax, 1
movzx edx, byte [ebx + eax]
movzx ecx, byte [eax + str.full]
cmp edx, ecx
jne 0x7e55f0
test edx, edx
jne 0x7e5603
mov ebx, 1
mov eax, dword [esp + 8]
mov edx, ebx
mov byte [eax + 0x54], bl
mov eax, esi
sub ebx, 1
call fcn.0076cdd0
test eax, eax
jne 0x7e2f9b
mov esi, dword [ebp + 0x6c]
mov ecx, 0xbf5224
mov edx, 5
mov eax, ebp
call fcn.007850d0
mov edi, dword [esp + 0x18]
add esi, 4
mov dword [eax + 0x5c], ebx
mov dword [eax + 4], edi
mov ecx, edi
mov ebx, edi
mov dword [eax + 0x18], edi
mov dword [eax + 0x30], esi
mov dword [eax + 0x54], edi
mov eax, 1
shl eax, cl
or dword [ebp + 0x9c], eax
sub ebx, 1
je 0x7e2f9b
mov edx, dword [ebp]
mov ebx, dword [esp + 0x28]
mov edx, dword [edx + 0x10]
mov edx, dword [edx + ebx + 4]
cmp byte [edx + 9], 0
je 0x7e2f9b
or dword [ebp + 0xa0], eax
jmp 0x7e2f9b
cmp edi, 2
jne 0x7e444d
mov eax, dword [esp + 8]
test byte [eax + 0x23], 0x10
jne 0x7e4435
jmp 0x7e444d
mov edx, 1
jmp 0x7e365b
mov eax, 0xfffe
jmp 0x7e33eb
xor eax, eax
mov ebx, dword [esp + 0xc]
jmp 0x7e56ee
movzx ecx, byte [ecx + 0xbfad00]
cmp byte [edx + 0xbfad00], cl
jne 0x7e593d
add eax, 1
movzx edx, byte [ebx + eax]
movzx ecx, byte [eax + str.restart]
cmp edx, ecx
jne 0x7e56d8
test edx, edx
jne 0x7e56eb
mov dword [esp + 0x1c], 2
jmp 0x7e2e51
mov edx, dword [eax + 0xf4]
mov ecx, edx
sar ecx, 0x1f
jmp 0x7e2ed2
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x50]
mov eax, ebp
mov ecx, edx
sar ecx, 0x1f
call fcn.00785000
jmp 0x7e50a8
mov eax, esi
call fcn.0076ce30
mov ecx, eax
mov edx, eax
sar ecx, 0x1f
jmp 0x7e55d9
mov eax, dword [esp + 8]
xor ecx, ecx
movzx edx, byte [eax + 0x50]
mov eax, ebp
call fcn.00785000
jmp 0x7e50a8
xor eax, eax
mov ebx, dword [esp + 0xc]
jmp 0x7e5786
movzx ecx, byte [ecx + 0xbfad00]
cmp byte [edx + 0xbfad00], cl
jne 0x7e3004
add eax, 1
movzx edx, byte [ebx + eax]
movzx ecx, byte [eax + str.memory]
cmp edx, ecx
jne 0x7e5770
test edx, edx
jne 0x7e5783
mov dword [esp + 0x1c], 2
jmp 0x7e3004
mov edx, dword [0xc13ea4]
test edx, edx
je 0x7e50a8
mov eax, ebp
call fcn.007831e0
jmp 0x7e50a8
push ebp
push ebp
push str.not_a_writable_directory
push edi
call fcn.0078f9f0
add esp, 0x10
jmp 0x7e2f9b
xor eax, eax
mov ebx, dword [esp + 0xc]
jmp 0x7e57f6
movzx ecx, byte [ecx + 0xbfad00]
cmp byte [edx + 0xbfad00], cl
jne 0x7e587c
add eax, 1
movzx edx, byte [ebx + eax]
movzx ecx, byte [eax + str.incremental]
cmp edx, ecx
jne 0x7e57e0
test edx, edx
jne 0x7e57f3
mov ebx, 2
jmp 0x7e561e
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov eax, ebp
call fcn.00785000
jmp 0x7e2d27
mov edx, dword [0xc13ea0]
test edx, edx
jne 0x7e57b4
jmp 0x7e50a8
push eax
push eax
push dword [esp + 0x14]
push 0xbec70c
call fcn.0079f820
add esp, 0x10
mov dword [0xc13ea4], eax
jmp 0x7e2f9b
mov eax, edi
call fcn.007d8b70
test eax, eax
jne 0x7e50a8
mov eax, dword [edi]
movzx eax, byte [eax + 0x4e]
mov edx, dword [eax*8 + 0xbf51c0]
test edx, edx
jne 0x7e57b4
jmp 0x7e50a8
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x60]
mov dword [esp + 0x60], 0
call fcn.00760630
mov ebx, dword [esp + 0x60]
cmp ebx, 2
ja 0x7e4789
mov eax, dword [esp + 8]
mov edx, ebx
mov byte [eax + 0x54], bl
mov eax, esi
call fcn.0076cdd0
test eax, eax
jne 0x7e2f9b
sub ebx, 1
cmp ebx, 1
ja 0x7e2f9b
jmp 0x7e5639
mov eax, edi
call fcn.0076c820
jmp 0x7e422d
push edi
push edi
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0077be20
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
add esp, 0x10
cmp esi, ecx
sbb esi, ebx
jge 0x7e3be3
cmp ecx, eax
mov edi, ebx
sbb edi, edx
jl 0x7e5903
or eax, edx
jne 0x7e3be3
push esi
push esi
push ebx
push ecx
call fcn.0077be20
add esp, 0x10
jmp 0x7e3be3
push eax
mov edx, 0xa8
push eax
mov eax, ebp
push 0
push ebx
mov ecx, dword [esp + 0x28]
call fcn.00782fd0
add esp, 0x10
jmp 0x7e3bac
lea eax, [edx - 0x30]
mov dword [esp + 0x1c], eax
jmp 0x7e3004
xor eax, eax
mov ebx, dword [esp + 0xc]
jmp 0x7e595b
movzx ecx, byte [ecx + 0xbfad00]
cmp byte [edx + 0xbfad00], cl
jne 0x7e2e51
add eax, 1
movzx edx, byte [ebx + eax]
movzx ecx, byte [eax + str.truncate]
cmp edx, ecx
jne 0x7e5945
test edx, edx
jne 0x7e5958
mov dword [esp + 0x1c], 3
jmp 0x7e2e51
movzx esi, word [ebx + 0x32]
mov edx, 3
jmp 0x7e3f77
mov ebx, dword [esp + 0x2c]
mov eax, ebp
mov edx, ebx
call fcn.00782210
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
and edx, dword [ebx + 8]
and eax, dword [ebx + 0xc]
or edx, eax
setne dl
xor ecx, ecx
movzx edx, dl
jmp 0x7e55d9
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x60]
mov eax, dword [eax + 4]
call fcn.0076ccd0
jmp 0x7e48c8
and eax, 0xffffffdf
mov edx, dword [ebx + 0x24]
jmp 0x7e48f9
mov ecx, 0xbf5178
mov edx, 2
mov eax, ebp
call fcn.007850d0
lea edx, [esp + 0x60]
mov esi, eax
mov eax, dword [esp + 0x18]
mov dword [esi + 0x1c], ebx
mov dword [esi + 4], eax
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x60], 0
call fcn.00760630
mov eax, dword [esp + 0x60]
mov dword [esi + 0x20], eax
jmp 0x7e2f9b
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov edx, 1
call fcn.00774bd0
test al, al
setne al
movzx eax, al
mov edi, eax
jmp 0x7e32c5
push eax
push eax
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.0079f620
add esp, 0x10
jmp 0x7e326a
push esi
push esi
push str.Safety_level_may_not_be_changed_inside_a_transaction
push edi
call fcn.0078f9f0
add esp, 0x10
jmp 0x7e2f9b
mov eax, dword [esp + 0x20]
movzx edx, byte [eax + 8]
mov eax, ebp
sub edx, 1
mov ecx, edx
sar ecx, 0x1f
call fcn.00785000
jmp 0x7e50a8
mov ecx, dword [esp + 0x14]
xor ebx, ebx
sub ecx, dword [esp + 0x18]
xor ebp, ebp
mov dword [esp + 0x20], 0xbeb868
mov eax, str.issisii
jmp 0x7e3171
sub esp, 0xc
mov edx, 2
mov eax, edi
push dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
call fcn.007d9140
add esp, 0x10
test eax, eax
je 0x7e2f9b
test byte [eax + 0x24], 0x80
je 0x7e2f9b
mov ebx, dword [eax + 8]
jmp 0x7e5ade
movzx eax, byte [ebx + 0x38]
and eax, 3
cmp al, 2
je 0x7e3f49
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x7e5acc
jmp 0x7e2f9b
mov eax, dword [esp + 8]
movzx eax, byte [eax + 0x53]
jmp 0x7e43cb
mov ecx, dword [esp + 0x14]
xor ebp, ebp
sub ecx, dword [esp + 0x18]
mov ebx, 1
mov dword [esp + 0x20], 0xbeb868
mov eax, str.issisii
jmp 0x7e3171
push edi
push edi
push dword [esp + 0x14]
push 0xbec70c
call fcn.0079f820
add esp, 0x10
mov dword [0xc13ea0], eax
jmp 0x7e2f9b
mov eax, edi
call fcn.007b4df0
jmp 0x7e2f73
mov dword [esp + 0x1c], 0x7fffffff
jmp 0x7e3b92
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 4]
call fcn.0076ccd0
jmp 0x7e5740
mov eax, 0xfff0bdc0
jmp 0x7e3cba
mov eax, 0xfff0bdc0
jmp 0x7e306f
mov eax, 0xfff0bdc0
jmp 0x7e3abb
mov dword [esp + 0x18], 0xfff0bdc0
jmp 0x7e3df7