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

Disassembly:
sub esp, 0x84
mov eax, dword [0x1030fff4]
xor eax, esp
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x8c]
push ebx
mov ebx, dword [esp + 0x8c]
push ebp
push esi
mov esi, dword [esp + 0x9c]
mov ebp, dword [ebx]
push edi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xa4]
push ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x40], esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x5c], ebp
call fcn.1014a41d
mov edi, eax
mov dword [esp + 0x4c], edi
pop ecx
test edi, edi
je 0x10151d6e
or dword [edi + 0x98], 0x20
lea eax, [esp + 0x5c]
push eax
push esi
push dword [esp + 0x28]
mov dword [ebx + 0x2c], 2
push ebx
call fcn.1021b520
add esp, 0x10
mov dword [esp + 0x24], eax
test eax, eax
js 0x10151d6e
mov edx, eax
shl edx, 4
lfence
mov ecx, dword [ebp + 0x10]
add ecx, edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x2c], ecx
cmp eax, 1
jne 0x1014f99f
push ebx
call fcn.1014d82a
pop ecx
test eax, eax
jne 0x10151d6e
push dword [esp + 0x5c]
push ebp
call fcn.1014d450
mov dword [esp + 0x6c], eax
pop ecx
pop ecx
test eax, eax
je 0x10151d6e
cmp dword [esp + 0xa8], 0
push dword [esp + 0x1c]
je 0x1014f9db
push 0x10285af8
push ebp
call fcn.1014ced5
mov esi, eax
add esp, 0xc
mov dword [esp + 0x10], esi
jmp 0x1014f9e9
push ebp
call fcn.1014d450
pop ecx
pop ecx
mov esi, eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
xor ebx, ebx
cmp dword [eax + 4], ebx
jbe 0x1014fa00
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov dword [esp + 0x44], eax
jmp 0x1014fa06
mov eax, ebx
mov dword [esp + 0x44], ebx
push eax
push esi
push dword [esp + 0x6c]
push 0x13
push dword [esp + 0x28]
call fcn.1021b520
add esp, 0x14
test eax, eax
jne 0x10151d51
mov eax, dword [esp + 0x64]
mov dword [esp + 0x84], eax
lea eax, [esp + 0x80]
push eax
push 0xe
push dword [esp + 0x4c]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], ebx
push ebp
mov dword [ebp + 0x1ac], ebx
call fcn.1011bb60
add esp, 0x10
mov dword [esp + 0x20], eax
test eax, eax
jne 0x1014fb28
xor esi, esi
inc esi
push esi
push edi
call fcn.10162034
push 0xffffffffffffffff
push dword [esp + 0x8c]
push ebx
push ebx
push edi
call fcn.1021b520
mov eax, dword [esp + 0x9c]
add esp, 0x1c
mov dword [esp + 0x14], eax
test eax, eax
je 0x10151d51
push eax
push esi
push edi
call fcn.101603ef
push ebx
xor eax, eax
inc eax
push eax
push eax
push 0x50
push edi
call fcn.1021b520
mov eax, dword [esp + 0xa0]
add esp, 0x20
mov dword [esp + 0x14], eax
test eax, eax
je 0x10151d51
cmp dword [0x1030db30], ebx
je 0x1014fb1f
mov ecx, dword [0x1031edb0]
test ecx, ecx
je 0x1014fae6
push ecx
call dword [0x1030db80]
mov eax, dword [esp + 0x18]
pop ecx
push eax
call dword [0x1030db5c]
sub dword [0x1031ed30], eax
push dword [esp + 0x18]
dec dword [0x1031ed54]
call dword [0x1030db54]
mov eax, dword [0x1031edb0]
pop ecx
pop ecx
test eax, eax
je 0x10151d51
push eax
call dword [0x1030db88]
pop ecx
jmp 0x10151d51
push eax
call dword [0x1030db54]
jmp 0x1014fb19
cmp eax, 0xc
je 0x1014fbbf
cmp dword [esp + 0x80], ebx
je 0x1014fbac
push dword [esp + 0x80]
push 0x10267d34
push dword [esp + 0x20]
call fcn.10143429
mov esi, dword [esp + 0x8c]
add esp, 0xc
test esi, esi
je 0x1014fbac
cmp dword [0x1030db30], ebx
je 0x1014fba4
mov eax, dword [0x1031edb0]
test eax, eax
je 0x1014fb76
push eax
call dword [0x1030db80]
pop ecx
push esi
call dword [0x1030db5c]
sub dword [0x1031ed30], eax
dec dword [0x1031ed54]
push esi
call dword [0x1030db54]
mov eax, dword [0x1031edb0]
pop ecx
pop ecx
test eax, eax
je 0x1014fbac
push eax
call dword [0x1030db88]
jmp 0x1014fbab
push esi
call dword [0x1030db54]
pop ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ecx
jmp 0x10151d51
push dword [esp + 0x64]
call fcn.10134f67
pop ecx
mov ecx, eax
mov dword [esp + 0x34], ecx
test ecx, ecx
je 0x10151d51
test byte [ecx + 5], 1
je 0x1014fbf3
push dword [esp + 0x18]
call fcn.101522e3
pop ecx
test eax, eax
jne 0x10151d51
mov ecx, dword [esp + 0x34]
mov al, byte [ecx + 5]
test al, 2
jne 0x1014fc0f
test al, 4
je 0x1014fc02
test esi, esi
jne 0x1014fc0f
push ecx
push edi
call fcn.1013a14b
pop ecx
pop ecx
mov ecx, dword [esp + 0x34]
movzx eax, byte [ecx + 4]
dec eax
cmp eax, 0x29
ja case.0x1014fc1d.5
jmp dword [eax*4 + 0x10151d8a]
push dword [esp + 0x24]
push edi
call fcn.10162854
pop ecx
pop ecx
test esi, esi
jne 0x1014fc63
mov eax, dword [esp + 0x18]
push ebx
push 0x10280e8c
push 9
add dword [eax + 0x2c], 2
push edi
call fcn.101597f7
mov ecx, dword [esp + 0x34]
add esp, 0x10
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x10151d51
push esi
call fcn.1021b520
push eax
call fcn.1013a525
push dword [esp + 0x2c]
mov esi, eax
push ebx
push dword [esp + 0x28]
call fcn.1013c9c8
push esi
push 3
push dword [esp + 0x40]
push 0x5e
push edi
call fcn.1021b520
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx + 0xc]
mov dword [eax + 0x50], esi
mov eax, dword [ecx + 0xc]
push dword [eax + 0x50]
push dword [ecx + 4]
call fcn.1013f14c
add esp, 0x30
jmp 0x10151d51
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 4]
mov dword [esp + 0x20], eax
test esi, esi
jne 0x1014fcce
test eax, eax
je 0x1014fcc7
mov eax, dword [eax + 4]
mov ebx, dword [eax + 0x24]
mov eax, ebx
jmp 0x10151d45
push esi
call fcn.1021b520
push ebx
push ebx
push eax
push dword [esp + 0x30]
mov dword [ebp + 0x5c], eax
call fcn.1013f188
add esp, 0x14
cmp eax, 7
jne 0x10151d51
push ebp
call fcn.1014d5e0
jmp 0x1014fb19
mov eax, dword [esp + 0x2c]
or ecx, 0xffffffff
mov dword [esp + 0x28], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x20], eax
test esi, esi
je 0x1014fd36
push str.fast
push esi
call fcn.101565fc
pop ecx
pop ecx
test eax, eax
jne 0x1014fd26
push 2
pop ecx
jmp 0x1014fd32
push ebx
push esi
call fcn.10149991
pop ecx
pop ecx
movzx ecx, al
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x3c]
cmp dword [eax + 4], ebx
jne 0x1014fd71
test ecx, ecx
js 0x1014fd71
lfence
cmp dword [ebp + 0x14], ebx
jle 0x1014fd71
mov edi, dword [esp + 0x28]
mov esi, ebx
mov eax, dword [ebp + 0x10]
push edi
push dword [eax + esi + 4]
call fcn.1013f0ae
inc ebx
lea esi, [esi + 0x10]
pop ecx
pop ecx
cmp ebx, dword [ebp + 0x14]
jl 0x1014fd51
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x28]
push ecx
push dword [esp + 0x24]
call fcn.1013f0ae
cdq
push edx
push eax
push edi
call fcn.10138763
add esp, 0x14
jmp 0x10151d51
push dword [esp + 0x24]
xorps xmm0, xmm0
push dword [esp + 0x1c]
movlpd qword [esp + 0x7c], xmm0
call fcn.1013ff8f
mov eax, dword [esp + 0x20]
pop ecx
pop ecx
inc dword [eax + 0x2c]
mov ecx, dword [eax + 0x2c]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x1c], ecx
movzx eax, byte [eax]
cmp byte [eax + 0x10280038], 0x70
jne 0x1014fddb
push ecx
push dword [esp + 0x28]
push 0xa9
push edi
call fcn.101596d3
mov esi, dword [esp + 0x2c]
add esp, 0x10
jmp 0x1014fe3f
test esi, esi
je 0x1014fe1a
lea eax, [esp + 0x74]
push eax
push esi
call fcn.10141df0
pop ecx
pop ecx
test eax, eax
jne 0x1014fe1a
mov eax, dword [esp + 0x74]
cmp dword [esp + 0x78], ebx
jg 0x1014fe0d
jl 0x1014fe1a
cmp eax, ebx
jb 0x1014fe1a
cmp dword [esp + 0x78], ebx
jl 0x1014fe27
jg 0x1014fe0d
cmp eax, 0xfffffffe
jbe 0x1014fe27
push 0xfffffffffffffffe
pop eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ebx
jmp 0x1014fe27
xorps xmm0, xmm0
movlpd qword [esp + 0x74], xmm0
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x1c]
push eax
push esi
push dword [esp + 0x2c]
push 0xaa
push edi
call fcn.1021b520
add esp, 0x14
push 1
push esi
push 0x50
push edi
call fcn.101596d3
add esp, 0x10
jmp 0x10151d51
or eax, 0xffffffff
mov ecx, str.exclusive
test esi, esi
je 0x1014fe8b
push ecx
push esi
call fcn.101565fc
pop ecx
pop ecx
test eax, eax
jne 0x1014fe73
xor edx, edx
inc edx
or eax, 0xffffffff
jmp 0x1014fe8d
push str.normal
push esi
call fcn.101565fc
pop ecx
pop ecx
test eax, eax
jne 0x1014fe88
mov edx, ebx
jmp 0x1014fe6e
or eax, 0xffffffff
mov edx, eax
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], edx
cmp dword [ecx + 4], ebx
jne 0x1014fed3
cmp edx, eax
jne 0x1014fea4
movzx eax, byte [ebp + 0x53]
jmp 0x1014fee7
push 2
pop ebx
cmp dword [ebp + 0x14], ebx
jle 0x1014fed0
push 0x20
pop esi
mov eax, dword [ebp + 0x10]
push edx
mov eax, dword [eax + esi + 4]
mov eax, dword [eax + 4]
push dword [eax]
call fcn.1014e12b
mov edx, dword [esp + 0x30]
lea esi, [esi + 0x10]
inc ebx
pop ecx
pop ecx
cmp ebx, dword [ebp + 0x14]
jl 0x1014feaf
mov byte [ebp + 0x53], dl
mov eax, dword [esp + 0x2c]
push edx
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
push dword [eax]
call fcn.1014e12b
pop ecx
pop ecx
cmp eax, 1
mov ecx, str.exclusive
mov eax, str.normal
cmove eax, ecx
push eax
push edi
call fcn.10138790
pop ecx
jmp 0x1014fb19
test esi, esi
je 0x1014ff60
push esi
call fcn.1015666b
pop ecx
mov ecx, eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], ecx
mov eax, ebx
cmp eax, 6
je 0x1014ff60
mov eax, dword [eax*4 + 0x10280e70]
test eax, eax
je 0x1014ff60
push ecx
push eax
push esi
call fcn.1011dfe0
add esp, 0xc
test eax, eax
je 0x1014ff49
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
inc eax
mov dword [esp + 0x14], eax
jmp 0x1014ff1b
mov esi, dword [esp + 0x14]
mov eax, esi
cmp esi, 2
jne 0x1014ff7b
mov eax, dword [ebp + 0x20]
and eax, 0x10000000
or eax, ebx
je 0x1014ff82
or esi, 0xffffffff
mov eax, dword [esp + 0x3c]
cmp dword [eax + 4], ebx
jne 0x1014ff82
mov ecx, ebx
mov dword [eax + 4], 1
mov dword [esp + 0x24], ecx
jmp 0x1014ff86
mov esi, eax
cmp eax, 0xffffffff
je 0x1014ff63
mov ecx, dword [esp + 0x24]
mov edx, dword [ebp + 0x14]
sub edx, 1
mov dword [esp + 0x14], edx
js 0x1014ffe8
mov eax, edx
shl eax, 4
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x10]
mov ebp, dword [esp + 0x30]
cmp dword [eax + ebp + 4], ebx
mov ebp, dword [esp + 0x58]
je 0x1014ffd6
cmp edx, ecx
je 0x1014ffb9
mov eax, dword [esp + 0x3c]
cmp dword [eax + 4], ebx
jne 0x1014ffd6
push edx
push edi
call fcn.10162854
push esi
push 1
push dword [esp + 0x24]
push 7
push edi
call fcn.1021b520
mov edx, dword [esp + 0x30]
add esp, 0x1c
sub dword [esp + 0x30], 0x10
dec edx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x14], edx
test edx, edx
jns 0x1014ff9b
push ebx
xor eax, eax
inc eax
push eax
push eax
push 0x50
push edi
call fcn.1021b520
jmp 0x1014fd84
mov eax, dword [esp + 0x2c]
or ebx, 0xffffffff
mov ecx, ebx
push 0xfffffffffffffffe
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x24], eax
mov dword [esp + 0x7c], ecx
pop eax
mov dword [esp + 0x74], eax
test esi, esi
je 0x10150050
lea eax, [esp + 0x74]
push eax
push esi
call fcn.10141df0
pop ecx
pop ecx
mov ecx, dword [esp + 0x78]
cmp ecx, ebx
jg 0x1015004c
jl 0x1015003e
mov eax, dword [esp + 0x74]
cmp eax, ebx
jae 0x10150050
mov eax, ebx
mov ecx, ebx
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
jmp 0x10150050
mov eax, dword [esp + 0x74]
push ecx
push eax
push dword [esp + 0x28]
call fcn.1014e0e8
push edx
push eax
push edi
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], edx
call fcn.10138763
add esp, 0x18
jmp 0x10151d51
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 4]
mov dword [esp + 0x20], eax
test esi, esi
jne 0x1015009c
push eax
call fcn.1013da24
cdq
push edx
push eax
push edi
call fcn.10138763
jmp 0x1014fe4a
push esi
call fcn.1012d1f8
push eax
push dword [esp + 0x28]
mov dword [esp + 0x28], eax
mov byte [ebp + 0x54], al
call fcn.1013f0fc
add esp, 0xc
test eax, eax
jne 0x10151d51
mov eax, dword [esp + 0x1c]
cmp eax, 1
je 0x101500d0
cmp eax, 2
jne 0x10151d51
mov esi, dword [edi + 0x6c]
push ebx
push 0x10280eb4
push 5
push edi
call fcn.101597f7
mov edx, dword [esp + 0x34]
lea ecx, [esi + 4]
push edx
push edi
mov dword [eax + 0x30], ecx
mov ecx, dword [esp + 0x34]
dec ecx
mov dword [eax + 4], edx
mov dword [eax + 0x18], edx
mov dword [eax + 0x54], edx
mov dword [eax + 0x5c], ecx
call fcn.10162854
jmp 0x10150071
test esi, esi
je 0x10150123
lea eax, [esp + 0x14]
push eax
push esi
call fcn.10149a37
pop ecx
pop ecx
test eax, eax
je 0x10150123
cmp dword [esp + 0x14], ebx
jg 0x1015012b
mov dword [esp + 0x14], closesocket
mov esi, dword [esp + 0x24]
push esi
push ebx
push dword [esp + 0x20]
call fcn.1013c9c8
push 1
push dword [esp + 0x24]
push 0x45
push edi
call fcn.101596d3
push esi
push 0x3c
push edi
call fcn.101596ba
push 1
push 0x50
push edi
mov esi, eax
call fcn.101596ba
push ebx
push 0xffffffffffffffff
xor ebx, ebx
inc ebx
push ebx
push 0x52
push edi
call fcn.1021b520
add esp, 0x48
push esi
push ebx
push 0x30
push edi
call fcn.101596d3
push esi
push edi
call fcn.1015fcbe
mov ecx, dword [edi + 0x6c]
add esp, 0x18
mov dword [eax + 8], ecx
jmp 0x10151d51
test esi, esi
jne 0x101501a1
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x50]
jmp 0x10151d45
push esi
call fcn.1021b520
mov edx, dword [esp + 0x30]
mov ecx, dword [edx + 0xc]
mov dword [ecx + 0x50], eax
mov eax, dword [edx + 0xc]
push dword [eax + 0x50]
push dword [edx + 4]
call fcn.1013f14c
jmp 0x10151d4e
test esi, esi
jne 0x101501ec
mov eax, dword [ebp + 0x20]
and eax, 0x20
or eax, ebx
je 0x1014fcc7
mov eax, dword [esp + 0x2c]
push ebx
push dword [eax + 4]
call fcn.1013f23a
pop ecx
pop ecx
mov ebx, eax
jmp 0x1014fcc7
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 1
push eax
push esi
call fcn.10149a37
pop ecx
pop ecx
test eax, eax
je 0x10150217
mov eax, dword [esp + 0x2c]
push dword [esp + 0x14]
push dword [eax + 4]
call fcn.1013f23a
pop ecx
pop ecx
cmp dword [esp + 0x14], ebx
setne al
movzx eax, al
push eax
push esi
call fcn.10149991
mov edx, dword [ebp + 0x24]
pop ecx
pop ecx
mov ecx, dword [ebp + 0x20]
test al, al
je 0x10150239
or ecx, 0x20
jmp 0x1015023c
and ecx, 0xffffffdf
push ebp
mov dword [ebp + 0x20], ecx
mov dword [ebp + 0x24], edx
call fcn.10139fa1
jmp 0x1014fb19
test esi, esi
je 0x10150348
lea eax, [esp + 0x74]
push eax
push esi
call fcn.10141df0
mov eax, dword [esp + 0x80]
mov dword [esp + 0x1c], eax
pop ecx
pop ecx
cmp eax, ebx
jg 0x10150298
jl 0x1015027f
mov esi, dword [esp + 0x74]
mov dword [esp + 0x28], esi
cmp esi, ebx
jae 0x101502a0
mov eax, dword [0x1030dbdc]
mov esi, dword [0x1030dbd8]
mov dword [esp + 0x14], eax
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], eax
jmp 0x1015029c
mov esi, dword [esp + 0x74]
mov dword [esp + 0x28], esi
mov ecx, dword [esp + 0x3c]
cmp dword [ecx + 4], ebx
jne 0x101502af
mov dword [ebp + 0x30], esi
mov dword [ebp + 0x34], eax
mov edx, dword [ebp + 0x14]
sub edx, 1
mov dword [esp + 0x1c], edx
js 0x10150348
mov edi, dword [esp + 0x24]
mov esi, edx
shl esi, 4
mov dword [esp + 0x4c], esi
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + esi + 4]
mov dword [esp + 0x20], eax
test eax, eax
je 0x10150334
cmp edx, edi
je 0x101502e4
cmp dword [ecx + 4], ebx
jne 0x10150334
mov esi, dword [eax + 4]
push eax
call fcn.1013d9c5
mov eax, dword [esi]
mov ecx, dword [esp + 0x2c]
push eax
mov dword [eax + 0x80], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x84], ecx
call fcn.1021b520
push dword [esp + 0x28]
call fcn.1013e34e
mov eax, dword [esp + 0x84]
add esp, 0xc
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x28], eax
dec edx
sub esi, 0x10
mov dword [esp + 0x1c], edx
mov dword [esp + 0x4c], esi
test edx, edx
jns 0x101502cc
mov edi, dword [esp + 0x48]
or eax, 0xffffffff
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
lea eax, [esp + 0x74]
push eax
push 0x12
push dword [esp + 0x4c]
push ebp
call fcn.1011bb60
mov ecx, eax
add esp, 0x10
test ecx, ecx
jne 0x1015037a
push dword [esp + 0x78]
push dword [esp + 0x78]
jmp 0x10151d48
mov edi, dword [esp + 0x10]
cmp ecx, 0xc
je 0x10151d55
mov eax, dword [esp + 0x18]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ecx
jmp 0x10151d55
test esi, esi
jne 0x101503a3
movzx eax, byte [ebp + 0x50]
jmp 0x10151d45
push esi
push dword [esp + 0x1c]
call fcn.10123ada
jmp 0x1014fefe
test esi, esi
jne 0x101503c1
push dword [0x1031ecc4]
jmp 0x1014fef8
cmp byte [esi], bl
je 0x101503f4
mov eax, dword [ebp]
lea ecx, [esp + 0x20]
push ecx
push 1
push esi
push eax
call dword [eax + 0x20]
add esp, 0x10
test eax, eax
jne 0x101503e1
cmp dword [esp + 0x20], ebx
jne 0x101503f4
push str.not_a_writable_directory
push dword [esp + 0x1c]
call fcn.10143429
jmp 0x1014fefe
cmp byte [ebp + 0x50], 1
ja 0x10150404
push dword [esp + 0x18]
call fcn.1012e416
pop ecx
push dword [0x1031ecc4]
call fcn.10117750
pop ecx
cmp byte [esi], bl
je 0x1015042b
push esi
push 0x10267d34
call fcn.101175a0
pop ecx
pop ecx
mov dword [0x1031ecc4], eax
jmp 0x10151d51
mov dword [0x1031ecc4], ebx
jmp 0x10151d51
test esi, esi
jne 0x10150445
push dword [0x1031ecc8]
jmp 0x1014fef8
cmp byte [esi], bl
je 0x10150469
mov eax, dword [ebp]
lea ecx, [esp + 0x20]
push ecx
push 1
push esi
push eax
call dword [eax + 0x20]
add esp, 0x10
test eax, eax
jne 0x101503e1
cmp dword [esp + 0x20], ebx
je 0x101503e1
push dword [0x1031ecc8]
call fcn.10117750
pop ecx
cmp byte [esi], bl
je 0x10150490
push esi
push 0x10267d34
call fcn.101175a0
pop ecx
pop ecx
mov dword [0x1031ecc8], eax
jmp 0x10151d51
mov dword [0x1031ecc8], ebx
jmp 0x10151d51
test esi, esi
jne 0x101504b2
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax + 8]
cdq
sub eax, 1
sbb edx, ebx
jmp 0x10151d46
cmp byte [ebp + 0x4f], bl
jne 0x101504c1
push str.Safety_level_may_not_be_changed_inside_a_transaction
jmp 0x101503e6
xor eax, eax
inc eax
cmp dword [esp + 0x24], eax
je 0x10151d51
push eax
push ebx
push esi
call fcn.1012d773
mov edx, dword [esp + 0x38]
inc eax
push 1
pop ecx
and eax, 7
push ebp
cmove eax, ecx
mov byte [edx + 9], cl
mov byte [edx + 8], al
call fcn.10139fa1
jmp 0x1014fe4a
test esi, esi
jne 0x10150532
push ecx
push edi
call fcn.1013a14b
mov eax, dword [esp + 0x3c]
pop ecx
pop ecx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
and ecx, dword [ebp + 0x20]
and eax, dword [ebp + 0x24]
or ecx, eax
je 0x1015051b
xor eax, eax
inc eax
jmp 0x1015052c
xorps xmm0, xmm0
movlpd qword [esp + 0x74], xmm0
mov ebx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
push ebx
jmp 0x10151d47
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x14], edx
mov dword [esp + 0x30], eax
cmp byte [ebp + 0x4f], bl
jne 0x10150553
and edx, 0xffffbfff
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], edx
push ebx
push esi
call fcn.10149991
mov edx, dword [ebp + 0x24]
mov dword [esp + 0x24], edx
pop ecx
pop ecx
mov ecx, dword [ebp + 0x20]
mov dword [esp + 0x20], ecx
test al, al
je 0x10150580
or ecx, dword [esp + 0x14]
mov eax, edx
or eax, dword [esp + 0x30]
mov dword [ebp + 0x20], ecx
mov dword [ebp + 0x24], eax
jmp 0x101505b6
mov edx, dword [esp + 0x30]
mov eax, edx
mov ecx, dword [esp + 0x14]
not eax
and eax, dword [esp + 0x1c]
not ecx
and ecx, dword [esp + 0x20]
cmp dword [esp + 0x14], 0x80000
mov dword [ebp + 0x20], ecx
mov dword [ebp + 0x24], eax
jne 0x101505b6
cmp edx, ebx
jne 0x101505b6
mov dword [ebp + 0x1f0], ebx
mov dword [ebp + 0x1f4], ebx
push 0x9f
push edi
call fcn.101596a4
push ebp
call fcn.10139fa1
jmp 0x10151d4e
test esi, esi
je 0x10151d51
push dword [esp + 0x44]
push dword [esp + 0x1c]
call fcn.1013ff41
push dword [esp + 0x4c]
push esi
mov esi, dword [esp + 0x28]
push 2
push esi
call fcn.1014cb71
mov edx, eax
add esp, 0x18
mov dword [esp + 0x40], edx
test edx, edx
je 0x10151d51
push edx
mov dword [esp + 0x18], ebx
call fcn.10152228
push edx
push esi
mov dword [esp + 0x28], eax
mov dword [esi + 0x2c], 7
call fcn.10162906
mov eax, dword [esp + 0x4c]
add esp, 0xc
mov dword [esp + 0x28], ebx
movzx ecx, word [eax + 0x2a]
mov esi, dword [eax + 4]
xor eax, eax
cmp ax, cx
jge 0x10151d51
mov ebp, dword [esp + 0x34]
mov eax, ecx
mov dword [esp + 0x30], eax
movzx edx, word [esi + 0x10]
mov ecx, ebx
test dl, 0x62
je 0x1015067f
mov eax, dword [ebp + 8]
or eax, dword [ebp + 0xc]
jne 0x10150669
mov eax, dword [esp + 0x30]
inc dword [esp + 0x14]
movzx eax, ax
jmp 0x10150739
test dl, 0x20
je 0x10150673
push 2
pop ecx
jmp 0x1015067f
movzx ecx, dl
and ecx, 0x40
or ecx, 0x20
shr ecx, 5
xor eax, eax
inc eax
test al, dl
jne 0x1015068a
mov edx, ebx
jmp 0x101506c9
mov edx, eax
cmp dword [esp + 0x1c], ebx
je 0x101506c9
mov edi, dword [esp + 0x30]
movsx edi, di
mov dword [esp + 0x20], edi
cmp edi, eax
mov edi, dword [esp + 0x48]
jl 0x101506c9
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov edi, dword [eax + 4]
movsx eax, word [edi]
cmp eax, dword [esp + 0x28]
je 0x101506c1
inc edx
add edi, 2
cmp edx, ebp
jle 0x101506b0
mov edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x34]
mov eax, dword [esi + 4]
test eax, eax
je 0x101506de
cmp ecx, 2
jae 0x101506de
mov eax, dword [eax + 8]
mov dword [esp + 0x4c], eax
jmp 0x101506e2
mov dword [esp + 0x4c], ebx
mov eax, dword [ebp + 8]
or eax, dword [ebp + 0xc]
mov dword [esp + 0x30], str.issisii
jne 0x101506fa
mov dword [esp + 0x30], str.issisi
push ecx
xor eax, eax
cmp byte [esi + 0xc], al
push edx
push dword [esp + 0x54]
setne al
push eax
push 0x1025e560
push esi
call fcn.101400f6
pop ecx
pop ecx
push eax
push dword [esi]
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x2c]
push eax
push dword [esp + 0x4c]
push 1
push edi
call fcn.10161521
mov eax, dword [esp + 0x68]
add esp, 0x28
movzx eax, word [eax + 0x2a]
mov ecx, dword [esp + 0x28]
add esi, 0x14
movzx edx, ax
inc ecx
cwde
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], edx
cmp ecx, eax
jl 0x10150646
mov ebp, dword [esp + 0x58]
jmp 0x10151d51
test esi, esi
je 0x10151d51
push dword [esp + 0x44]
push esi
push ebp
call fcn.101470b3
add esp, 0xc
mov dword [esp + 0x48], eax
test eax, eax
jne 0x101507b7
push dword [esp + 0x44]
push esi
mov esi, dword [esp + 0x20]
push 2
push esi
call fcn.1014cb71
add esp, 0x10
test eax, eax
je 0x10151d51
test byte [eax + 0x24], 0x80
je 0x10151d51
push eax
call fcn.10152228
mov dword [esp + 0x4c], eax
pop ecx
test eax, eax
je 0x10151d51
jmp 0x101507bb
mov esi, dword [esp + 0x18]
push dword [eax + 0x18]
push ebp
call fcn.10153cd9
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x3c]
pop ecx
pop ecx
mov ecx, dword [eax + 8]
or ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x48]
je 0x101507e2
movzx edx, word [eax + 0x34]
push 6
jmp 0x101507e8
movzx edx, word [eax + 0x32]
push 3
pop ecx
mov dword [esi + 0x2c], ecx
push dword [esp + 0x20]
mov eax, dword [eax + 0xc]
movzx edx, dx
push esi
mov dword [esp + 0x24], edx
mov dword [esp + 0x64], eax
call fcn.1013ff8f
mov edx, ebx
mov dword [esp + 0x1c], ebx
pop ecx
pop ecx
cmp dword [esp + 0x1c], edx
jbe 0x10151d51
mov ebp, dword [esp + 0x34]
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 4]
movzx eax, word [eax + edx*2]
movsx ecx, ax
mov dword [esp + 0x20], ecx
test ax, ax
jns 0x10150835
mov eax, ebx
jmp 0x10150849
lfence
mov eax, dword [esp + 0x5c]
imul ecx, ecx, 0x14
mov eax, dword [eax + 4]
mov eax, dword [ecx + eax]
mov ecx, dword [esp + 0x20]
push eax
push ecx
push edx
push str.iisX
push 1
push edi
call fcn.10161521
mov eax, dword [ebp + 8]
add esp, 0x18
or eax, dword [ebp + 0xc]
je 0x10150895
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x14]
movzx eax, word [ecx + 0x32]
cmp edx, eax
sbb eax, eax
neg eax
push eax
mov eax, dword [ecx + 0x20]
push dword [eax + edx*4]
mov eax, dword [ecx + 0x1c]
movzx eax, byte [eax + edx]
push eax
push str.isiX
push 4
push edi
call fcn.10161521
add esp, 0x18
push dword [esi + 0x2c]
push 1
push 0x50
push edi
call fcn.101596d3
mov edx, dword [esp + 0x24]
add esp, 0x10
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [esp + 0x1c]
jl 0x1015081a
jmp 0x10150755
test esi, esi
je 0x10151d51
push dword [esp + 0x44]
push esi
push ebp
call fcn.10147115
mov esi, eax
add esp, 0xc
test esi, esi
je 0x10151d51
push dword [esi + 0x48]
push ebp
call fcn.10153cd9
mov ecx, dword [esp + 0x20]
push eax
push ecx
mov dword [ecx + 0x2c], 5
call fcn.1013ff8f
mov esi, dword [esi + 8]
add esp, 0x10
test esi, esi
je 0x10151d51
push 3
mov dword [esp + 0x78], 0x1027810c
mov ebp, ebx
mov dword [esp + 0x7c], 0x10285b78
mov dword [esp + 0x80], 0x10281ab0
pop ecx
xor eax, eax
cmp dword [esi + 0x24], ebx
setne al
push eax
mov eax, dword [esi + 0x38]
and eax, ecx
push dword [esp + eax*4 + 0x78]
xor eax, eax
cmp byte [esi + 0x36], al
setne al
push eax
push dword [esi]
push ebp
push str.isisi
push 1
push edi
call fcn.10161521
mov esi, dword [esi + 0x14]
add esp, 0x20
inc ebp
push 3
pop ecx
test esi, esi
jne 0x10150926
jmp 0x10150755
mov eax, dword [esp + 0x18]
mov dword [eax + 0x2c], 3
cmp dword [ebp + 0x14], ebx
jle 0x10151d51
mov esi, ebx
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + esi + 4]
test eax, eax
je 0x101509a0
push eax
call fcn.1013da4e
push eax
push dword [ecx + esi]
push ebx
push 0x102604dc
push 1
push edi
call fcn.10161521
add esp, 0x1c
inc ebx
add esi, 0x10
cmp ebx, dword [ebp + 0x14]
jl 0x1015097a
jmp 0x10151d51
mov eax, dword [esp + 0x18]
mov dword [eax + 0x2c], 2
mov esi, dword [ebp + 0x19c]
jmp 0x101509da
mov eax, dword [esi + 8]
push dword [eax]
push ebx
push 0x10285b84
push 1
push edi
call fcn.10161521
mov esi, dword [esi]
add esp, 0x14
inc ebx
test esi, esi
jne 0x101509c1
jmp 0x10151d51
mov eax, dword [esp + 0x18]
xor ebx, ebx
mov esi, dword [ebp + 0x18]
inc ebx
shr esi, 5
and esi, ebx
mov dword [eax + 0x2c], 6
mov eax, 0x1031ecd0
mov dword [esp + 0x1c], eax
mov ebp, dword [eax]
test ebp, ebp
je 0x10150a1f
push esi
push ebx
push ebp
push edi
call fcn.10134eeb
mov ebp, dword [ebp + 0x24]
add esp, 0x10
test ebp, ebp
jne 0x10150a08
mov eax, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x1c], eax
cmp eax, 0x1031ed2c
jl 0x10150a02
mov ebp, dword [esp + 0x58]
push 0
pop ebx
mov eax, dword [ebp + 0x18c]
test eax, eax
je 0x10151d51
mov ebp, eax
push esi
push ebx
push dword [ebp + 8]
push edi
call fcn.10134eeb
mov ebp, dword [ebp]
add esp, 0x10
test ebp, ebp
jne 0x10150a44
jmp 0x10150755
mov eax, dword [esp + 0x18]
mov dword [eax + 0x2c], 1
mov esi, dword [ebp + 0x170]
jmp 0x10150a89
mov eax, dword [esi + 8]
push dword [eax + 4]
push 0x1026d048
push 1
push edi
call fcn.10161521
mov esi, dword [esi]
add esp, 0x10
test esi, esi
jne 0x10150a71
jmp 0x10151d51
mov esi, 0x10280a38
push dword [esi]
push 0x1026d048
push 1
push edi
call fcn.10161521
add esi, 0x10
add esp, 0x10
cmp esi, 0x10280e58
jl 0x10150a97
jmp 0x10151d51
test esi, esi
je 0x10151d51
push dword [esp + 0x44]
push esi
push ebp
call fcn.10147115
add esp, 0xc
mov dword [esp + 0x20], eax
test eax, eax
je 0x10151d51
mov esi, dword [eax + 0x10]
test esi, esi
je 0x10151d51
push dword [eax + 0x48]
push ebp
call fcn.10153cd9
mov ecx, dword [esp + 0x20]
push eax
push ecx
mov dword [esp + 0x24], ebx
mov dword [ecx + 0x2c], 8
call fcn.1013ff8f
mov ebp, dword [esp + 0x30]
add esp, 0x10
mov eax, ebx
mov edx, ebx
mov dword [esp + 0x1c], edx
cmp dword [esi + 0x14], ebx
jle 0x10150b78
lea ebx, [esi + 0x24]
movzx eax, byte [esi + 0x19]
push str.NONE
push eax
call fcn.1011ee35
add esp, 4
push eax
movzx eax, byte [esi + 0x1a]
push eax
call fcn.1011ee35
imul ecx, dword [ebx], 0x14
add esp, 4
push eax
push dword [ebx + 4]
mov eax, dword [ebp + 4]
push dword [ecx + eax]
push dword [esi + 8]
push edx
push dword [esp + 0x30]
push str.iissssss
push 1
push edi
call fcn.10161521
mov edx, dword [esp + 0x48]
lea ebx, [ebx + 8]
add esp, 0x2c
inc edx
mov dword [esp + 0x1c], edx
cmp edx, dword [esi + 0x14]
jl 0x10150b1c
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov esi, dword [esi + 4]
inc eax
mov dword [esp + 0x14], eax
test esi, esi
jne 0x10150b0e
jmp 0x10150755
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x2c]
lea edx, [eax + 1]
add eax, 5
mov dword [esp + 0x48], eax
inc eax
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x38]
mov eax, dword [eax + edx + 0xc]
mov edx, dword [eax + 0x10]
test edx, edx
je 0x10151d51
test esi, esi
je 0x10150bd3
push dword [esp + 0x44]
push esi
push ebx
push ecx
call fcn.1014cb71
add esp, 0x10
mov dword [esp + 0x54], ebx
mov edx, ebx
jmp 0x10150bdc
mov eax, dword [edx + 8]
mov edx, dword [edx]
mov dword [esp + 0x54], edx
mov dword [esp + 0x38], eax
test eax, eax
je 0x10150f65
cmp dword [eax + 0x10], ebx
je 0x10150f65
push dword [eax + 0x48]
push ebp
call fcn.10153cd9
mov ecx, dword [ebp + 0x10]
mov edx, eax
mov dword [esp + 0x3c], eax
add edx, edx
push dword [esp + 0x3c]
push dword [esp + 0x24]
mov eax, dword [ecx + edx*8]
mov dword [esp + 0x54], eax
call fcn.1013ff8f
mov eax, dword [esp + 0x48]
push dword [eax]
push ebx
push dword [eax + 0x1c]
push dword [esp + 0x50]
push dword [esp + 0x38]
call fcn.10156889
mov ecx, dword [esp + 0x5c]
add esp, 0x24
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x10]
inc edx
movsx eax, word [ecx + 0x2a]
add edx, eax
mov eax, dword [esp + 0x18]
cmp edx, dword [eax + 0x2c]
jle 0x10150c52
mov dword [eax + 0x2c], edx
push 0x60
push ecx
push dword [esp + 0x3c]
push ebx
push eax
call fcn.1021b520
mov eax, dword [esp + 0x4c]
push dword [eax]
push dword [esp + 0x48]
push edi
call fcn.101603ef
mov eax, dword [esp + 0x58]
xor ecx, ecx
add esp, 0x20
inc ecx
mov eax, dword [eax + 0x10]
jmp 0x10150d2a
push dword [esp + 0x44]
push dword [eax + 8]
push ebp
call fcn.10147115
add esp, 0xc
mov dword [esp + 0x1c], eax
test eax, eax
je 0x10150d1e
push dword [eax]
mov dword [esp + 0x40], ebx
push ebx
push dword [eax + 0x1c]
push dword [esp + 0x40]
push dword [esp + 0x28]
call fcn.10156889
push ebx
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x30]
push dword [esp + 0x3c]
push dword [esp + 0x3c]
call fcn.1014801d
add esp, 0x28
test eax, eax
jne 0x10151d51
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x10150cfb
push 0x60
push dword [esp + 0x20]
push dword [esp + 0x3c]
push dword [esp + 0x34]
push dword [esp + 0x28]
call fcn.1021b520
add esp, 0x14
jmp 0x10150d1e
push dword [esp + 0x34]
push dword [eax + 0x2c]
push dword [esp + 0x30]
push 0x60
push edi
call fcn.1021b520
push dword [esp + 0x50]
push dword [esp + 0x30]
call fcn.1016209c
add esp, 0x1c
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
inc ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], ecx
test eax, eax
jne 0x10150c82
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x28], ecx
jge 0x10150d46
mov dword [eax + 0x28], ecx
push ebx
push 0x25
push edi
call fcn.101596ba
mov dword [esp + 0x58], eax
add esp, 0xc
mov eax, dword [esp + 0x38]
mov dword [esp + 0x2c], 1
mov eax, dword [eax + 0x10]
mov dword [esp + 0x34], eax
test eax, eax
je 0x10150f3f
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x18]
lea edx, [ecx + 1]
add ecx, 2
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], ecx
push dword [esp + 0x44]
push dword [eax + 8]
push ebp
call fcn.10147115
add esp, 0xc
mov dword [esp + 0x20], eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x24], ebx
test eax, eax
je 0x10150dbf
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x40]
push ecx
push dword [esp + 0x3c]
push eax
push esi
call fcn.1014801d
add esp, 0x14
dec dword [esi + 0x38]
mov edx, ebx
mov eax, dword [esi + 0x38]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x1c], edx
mov ecx, dword [eax + 0x14]
test ecx, ecx
jle 0x10150e4c
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x38]
inc ecx
mov ebp, dword [esp + 0x24]
add eax, 0x24
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], eax
jmp 0x10150df8
mov ecx, dword [esp + 0x28]
test ebp, ebp
je 0x10150e05
lea eax, [edx*4]
add eax, ebp
push ecx
push dword [eax]
push ebx
push esi
push edi
call fcn.1021b520
push dword [esp + 0x54]
push dword [esp + 0x40]
push 0x32
push edi
call fcn.101596d3
mov eax, dword [esp + 0x58]
add esp, 0x24
mov edx, dword [esp + 0x1c]
add dword [esp + 0x14], 8
inc edx
inc dword [esp + 0x28]
mov ecx, dword [eax + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], edx
cmp edx, ecx
jl 0x10150df4
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x10150e91
push ecx
push eax
push ebp
call fcn.1014a881
pop ecx
pop ecx
mov ecx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x3c]
push ecx
push dword [eax + 0x14]
lea eax, [ecx + 1]
push eax
push 0x5b
push edi
call fcn.1021b520
push ebx
push dword [esp + 0x68]
push dword [esp + 0x64]
push dword [esp + 0x54]
push 0x1e
push edi
call fcn.1021b520
add esp, 0x34
jmp 0x10150ebd
cmp dword [esp + 0x20], ebx
je 0x10150ebd
mov eax, dword [esp + 0x48]
inc eax
push eax
mov eax, dword [edi + 0x6c]
add eax, 2
push eax
push dword [esp + 0x34]
push 0x1f
push edi
call fcn.1021b520
push dword [esp + 0x54]
push edi
call fcn.1015fce3
add esp, 0x1c
push dword [esp + 0x5c]
mov eax, dword [esp + 0x3c]
push ebx
push 0x48
pop ecx
test byte [eax + 0x24], 0x80
mov eax, 0x80
cmovne eax, ecx
push eax
push edi
call fcn.101596d3
mov eax, dword [esp + 0x3c]
dec eax
push eax
mov eax, dword [esp + 0x48]
push dword [eax + 8]
push 0x10285b94
push dword [esp + 0x7c]
push edi
call fcn.10161521
push 4
push dword [esp + 0x58]
push 0x50
push edi
call fcn.101596d3
push dword [esp + 0x74]
push edi
call fcn.10161d60
mov eax, dword [esp + 0x60]
add esp, 0x3c
test eax, eax
je 0x10150f24
push eax
push ebp
call fcn.10141a5b
pop ecx
pop ecx
mov eax, dword [esp + 0x34]
inc dword [esp + 0x2c]
mov eax, dword [eax + 4]
mov dword [esp + 0x34], eax
test eax, eax
jne 0x10150d87
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x4c]
inc eax
push eax
push ebx
push 5
push edi
call fcn.101596d3
push dword [esp + 0x5c]
push edi
call fcn.1015fcbe
mov ecx, dword [edi + 0x6c]
add esp, 0x18
mov edx, dword [esp + 0x54]
mov dword [eax + 8], ecx
test edx, edx
je 0x10151d51
mov ecx, dword [esp + 0x18]
jmp 0x10150bb8
test esi, esi
je 0x10151d51
push ebx
push esi
call fcn.10149991
movzx eax, al
push eax
push ebp
call fcn.101527a1
jmp 0x1014fe4a
mov eax, dword [esp + 0x64]
or ecx, 0xffffffff
push 0x64
mov dword [esp + 0x3c], ebx
movzx eax, byte [eax]
mov al, byte [eax + 0x10280038]
mov byte [esp + 0x57], al
mov eax, dword [esp + 0x40]
cmp dword [eax], ebx
mov eax, dword [esp + 0x28]
cmove eax, ecx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
pop ecx
mov dword [esp + 0x28], ecx
mov dword [eax + 0x2c], 6
test esi, esi
je 0x1015102c
lea eax, [esp + 0x28]
push eax
push esi
call fcn.10149a37
pop ecx
pop ecx
test eax, eax
je 0x10150ff9
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x18]
test ecx, ecx
jg 0x1015102e
push 0x64
pop ecx
mov dword [esp + 0x28], ecx
jmp 0x1015102e
mov eax, dword [esp + 0x24]
test eax, eax
js 0x10151010
mov ecx, eax
lfence
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8]
jmp 0x10151012
mov eax, ebx
push eax
push esi
mov esi, dword [esp + 0x20]
push ebx
push esi
call fcn.1014cb71
mov ecx, dword [esp + 0x38]
add esp, 0x10
mov dword [esp + 0x38], eax
jmp 0x1015102e
mov esi, eax
push 1
dec ecx
push ecx
push 0x45
push edi
call fcn.101596d3
add esp, 0x10
mov edx, ebx
mov dword [esp + 0x3c], edx
cmp dword [ebp + 0x14], ebx
jle 0x101517f1
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x40], ebx
test eax, eax
js 0x10151064
cmp edx, eax
jne 0x101517da
push edx
push esi
call fcn.1013ff8f
mov edx, dword [esp + 0x1c]
mov eax, dword [ebp + 0x10]
pop ecx
pop ecx
mov ecx, ebx
mov eax, dword [edx + eax + 0xc]
mov dword [esp + 0x54], eax
mov edx, dword [eax + 0x10]
test edx, edx
je 0x101517d2
mov esi, dword [esp + 0x40]
cmp dword [esp + 0x38], 0
mov eax, dword [edx + 8]
je 0x1015109d
cmp dword [esp + 0x38], eax
jne 0x101510ca
test byte [eax + 0x24], 0x80
lea eax, [ecx + 1]
mov dword [esp + 0x30], ebx
cmovne eax, ecx
mov ecx, eax
mov eax, dword [edx + 8]
mov eax, dword [eax + 8]
jmp 0x101510bd
mov eax, dword [eax + 0x14]
inc ecx
inc dword [esp + 0x30]
test eax, eax
jne 0x101510b5
cmp dword [esp + 0x30], esi
cmovg esi, dword [esp + 0x30]
mov edx, dword [edx]
test edx, edx
jne 0x1015108d
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x18]
test ecx, ecx
je 0x101517d2
cmp dword [esp + 0x38], edx
lea eax, [ecx + 1]
push ebx
cmove eax, ecx
lea eax, [eax*4 + 4]
push eax
push ebp
call fcn.10141b1e
add esp, 0xc
mov dword [esp + 0x2c], eax
test eax, eax
je 0x101517f1
cmp dword [esp + 0x38], 0
mov edx, ebx
je 0x10151117
xor edx, edx
mov dword [eax + 4], ebx
inc edx
mov eax, dword [esp + 0x54]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x30], eax
test eax, eax
je 0x10151172
mov edi, dword [esp + 0x2c]
cmp dword [esp + 0x38], 0
mov ecx, dword [eax + 8]
je 0x1015113a
cmp dword [esp + 0x38], ecx
jne 0x10151164
test byte [ecx + 0x24], 0x80
jne 0x1015114b
mov eax, dword [ecx + 0x1c]
inc edx
mov dword [edi + edx*4], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x10151164
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x10151152
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov dword [esp + 0x30], eax
test eax, eax
jne 0x1015112a
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x40]
push 0xfffffffffffffff1
push dword [esp + 0x30]
mov dword [eax], edx
add ecx, 8
mov eax, dword [esi + 0x2c]
cmp eax, ecx
push 1
push edx
push 2
cmovle eax, ecx
mov byte [esi + 0x13], bl
mov dword [esi + 0x2c], eax
mov dword [esi + 0x1c], ebx
pop esi
push esi
push 0x93
push edi
call fcn.1021b520
mov eax, dword [esp + 0x58]
movzx eax, al
push eax
push edi
call fcn.10159a50
push esi
push 0x32
push edi
call fcn.101596ba
mov ecx, dword [ebp + 0x10]
add esp, 0x30
mov esi, eax
mov eax, dword [esp + 0x14]
push 0xfffffffffffffff9
push dword [eax + ecx]
push str._in_database__s__n
push ebp
call fcn.1014ced5
add esp, 0xc
push eax
push ebx
push 3
pop edx
push edx
push ebx
push 0x73
push edi
call fcn.1021b520
push 3
pop eax
push eax
push eax
push 2
push 0x6e
push edi
call fcn.1021b520
push edi
call fcn.1012e376
push esi
push edi
call fcn.1015fcbe
mov ecx, dword [edi + 0x6c]
add esp, 0x3c
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x54]
mov edx, dword [eax + 0x10]
mov dword [esp + 0x20], edx
test edx, edx
je 0x101517d2
mov edx, dword [edx + 8]
or dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x2c], edx
mov dword [esp + 0x60], ebx
cmp dword [edx + 0x1c], 1
jb 0x101517c7
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1015124f
cmp eax, edx
jne 0x101517c7
test byte [edx + 0x24], 0x80
jne 0x1015125b
mov dword [esp + 0x30], ebx
jmp 0x10151266
push edx
call fcn.10152228
pop ecx
mov dword [esp + 0x30], eax
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x38]
push eax
push ebx
push 1
push ebx
push 0x60
push edx
push esi
call fcn.1014d6e4
push ebx
push 7
push ebx
push 0x45
push edi
call fcn.1021b520
mov eax, dword [esp + 0x60]
add esp, 0x34
mov eax, dword [eax + 8]
mov dword [esp + 0x54], eax
test eax, eax
je 0x101512c1
push 8
pop esi
mov ebp, eax
push esi
push ebx
push 0x45
push edi
call fcn.101596d3
mov ebp, dword [ebp + 0x14]
add esp, 0x10
inc esi
test ebp, ebp
jne 0x101512a4
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x18]
push ebx
push dword [esp + 0x38]
push 0x25
push edi
call fcn.101596d3
push ebx
push 1
push 7
push 0x52
push edi
call fcn.1021b520
add esp, 0x24
mov dword [esp + 0x74], eax
cmp byte [esp + 0x53], 0x71
je 0x1015130f
mov eax, dword [esp + 0x2c]
push 3
movsx ecx, word [eax + 0x2c]
dec ecx
push ecx
push dword [esp + 0x3c]
push 0x59
push edi
call fcn.1021b520
push 0x80
push edi
call fcn.10159a50
add esp, 0x1c
mov ecx, dword [esp + 0x2c]
xor eax, eax
mov edx, ebx
mov dword [esp + 0x54], edx
cmp ax, word [ecx + 0x2a]
jge 0x101513e5
mov esi, ebx
mov dword [esp + 0x40], ebx
movsx eax, word [ecx + 0x28]
cmp edx, eax
je 0x101513c9
mov eax, dword [ecx + 4]
cmp byte [esi + eax + 0xc], 0
je 0x101513c9
push 3
pop esi
push esi
push edx
push dword [esp + 0x3c]
push ecx
push edi
call fcn.1021b520
push 0xffffffffffffffff
push edi
call fcn.1015fcbe
add esp, 0x1c
cmp byte [eax], 0x59
jne 0x10151372
push 0x80
push edi
call fcn.10159a50
pop ecx
pop ecx
push esi
push 0x33
push edi
call fcn.101596ba
mov edx, dword [esp + 0x4c]
mov esi, eax
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
push dword [edx + ecx]
push dword [eax]
push str.NULL_value_in__s._s
push ebp
call fcn.1014ced5
push 0xfffffffffffffff9
push eax
push ebx
push 3
push ebx
push 0x73
push edi
call fcn.1021b520
push edi
call fcn.1012e376
push esi
push edi
call fcn.1015fcbe
mov ecx, dword [edi + 0x6c]
add esp, 0x44
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x40]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x2c]
movsx eax, word [ecx + 0x2a]
inc edx
add esi, 0x14
mov dword [esp + 0x54], edx
mov dword [esp + 0x40], esi
cmp edx, eax
jl 0x1015132b
mov esi, dword [esp + 0x18]
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x101514d9
mov eax, dword [ebp + 0x20]
and eax, 0x200
or eax, ebx
jne 0x101514d9
push ebx
push edx
push ebp
call fcn.101464ed
add esp, 0xc
mov edx, eax
cmp byte [ebp + 0x51], 0
mov dword [esp + 0x4c], edx
jne 0x101514c8
mov ecx, dword [esi + 0x38]
dec ecx
mov dword [esp + 0x54], ecx
lea eax, [ecx - 1]
mov dword [esp + 0x1c], eax
mov dword [esi + 0x38], eax
mov eax, dword [esp + 0x34]
inc eax
mov dword [esi + 0x34], eax
mov eax, dword [edx]
dec eax
mov dword [esp + 0x40], eax
test eax, eax
jle 0x10151472
mov edi, dword [esp + 0x40]
lea ebp, [edx + 4]
imul eax, eax, 0x14
add ebp, eax
push ebx
push ecx
push dword [ebp]
push esi
call fcn.10145a70
mov ecx, dword [esp + 0x64]
lea ebp, [ebp - 0x14]
add esp, 0x10
dec edi
test edi, edi
jg 0x1015144c
mov edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x58]
mov edx, dword [esp + 0x4c]
push 0x10
push dword [esp + 0x20]
push dword [edx + 4]
push esi
call fcn.10145e10
push dword [esp + 0x64]
push edi
call fcn.10161d60
mov eax, dword [esp + 0x44]
mov dword [esi + 0x34], ebx
push dword [eax]
push str.CHECK_constraint_failed_in__s
push ebp
call fcn.1014ced5
push 0xfffffffffffffff9
push eax
push ebx
push 3
push ebx
push 0x73
push edi
call fcn.1021b520
add esp, 0x40
push edi
call fcn.1012e376
push dword [esp + 0x20]
push edi
call fcn.10161d60
mov edx, dword [esp + 0x58]
add esp, 0xc
test edx, edx
je 0x101514d5
push edx
push ebp
call fcn.1012a078
pop ecx
pop ecx
mov ecx, dword [esp + 0x2c]
cmp byte [esp + 0x53], 0x71
je 0x101516ef
mov eax, dword [ecx + 8]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x101516ef
mov ecx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x1c]
push 8
pop eax
sub eax, ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x54], eax
mov eax, dword [esi + 0x38]
dec eax
mov dword [esp + 0x4c], eax
mov dword [esi + 0x38], eax
cmp dword [esp + 0x30], ebp
je 0x101516d7
push dword [esp + 0x44]
lea eax, [esp + 0x74]
push dword [esp + 0x64]
push eax
push ebx
push ebx
push dword [esp + 0x48]
push ebp
push esi
call fcn.10149490
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0x60]
add ecx, esi
push 1
push ecx
push 0x52
push edi
mov dword [esp + 0x74], eax
mov dword [esp + 0x90], ebp
call fcn.101596d3
movzx ecx, word [ebp + 0x34]
push ecx
push dword [esp + 0x78]
push dword [esp + 0x84]
push esi
push 0x1e
push edi
call fcn.1021b520
add esp, 0x48
mov esi, eax
push str.row
push 3
push edi
call fcn.101603ef
push 3
pop eax
push eax
push eax
push 7
push 0x6e
push edi
call fcn.1021b520
push str._missing_from_index
push 4
push edi
call fcn.101603ef
push 3
pop eax
push eax
push eax
push 4
push 0x6e
push edi
call fcn.1021b520
add esp, 0x40
push dword [ebp]
push 4
push edi
call fcn.101603ef
push 3
mov dword [esp + 0x78], eax
pop eax
push eax
push eax
push 4
push 0x6e
push edi
call fcn.1021b520
push edi
call fcn.1012e376
push esi
push edi
mov dword [esp + 0x98], eax
call fcn.1015fcbe
mov ecx, dword [edi + 0x6c]
add esp, 0x2c
mov dword [eax + 8], ecx
cmp byte [ebp + 0x36], 0
je 0x101516b2
mov ebp, dword [esp + 0x18]
xor eax, eax
mov esi, ebx
dec dword [ebp + 0x38]
mov edx, dword [ebp + 0x38]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x4c], edx
cmp ax, word [ebp + 0x32]
jae 0x1015164f
mov ebx, dword [esp + 0x2c]
mov eax, dword [ebp + 4]
movsx eax, word [eax + esi*2]
test eax, eax
js 0x1015162d
imul ecx, eax, 0x14
mov eax, dword [ebx + 4]
cmp byte [ecx + eax + 0xc], 0
jne 0x10151644
mov eax, dword [esp + 0x44]
push edx
add eax, esi
push eax
push 0x32
push edi
call fcn.101596d3
mov edx, dword [esp + 0x5c]
add esp, 0x10
movzx eax, word [ebp + 0x32]
inc esi
cmp esi, eax
jl 0x10151615
xor ebx, ebx
push dword [esp + 0x40]
push 5
push edi
call fcn.101596ba
push dword [esp + 0x58]
mov esi, eax
push edi
call fcn.1015fce3
push esi
push edi
call fcn.1015fcbe
mov ecx, dword [edi + 0x6c]
mov esi, dword [esp + 0x68]
mov dword [eax + 8], ecx
movzx eax, word [ebp + 0x32]
push eax
push dword [esp + 0x64]
push esi
push dword [esp + 0x68]
push 0x27
push edi
call fcn.1021b520
push str.non_unique_entry_in_index
push 3
push edi
call fcn.101603ef
add esp, 0x40
push dword [esp + 0x68]
push edi
call fcn.1015fce3
push esi
push edi
call fcn.10161d60
add esp, 0x10
push dword [esp + 0x6c]
push edi
call fcn.1015fcbe
push dword [esp + 0x78]
mov ecx, dword [edi + 0x6c]
mov esi, dword [esp + 0x24]
push esi
mov dword [eax + 8], ecx
call fcn.10152e1a
mov ecx, dword [esp + 0x50]
add esp, 0x10
mov ebp, dword [ebp + 0x14]
inc ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x40], ecx
test ebp, ebp
jne 0x10151508
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x74]
push esi
push dword [esp + 0x38]
push 5
push edi
call fcn.101596d3
lea eax, [esi - 1]
push eax
push edi
call fcn.1015fcbe
mov ecx, dword [edi + 0x6c]
add esp, 0x18
cmp byte [esp + 0x53], 0x71
mov dword [eax + 8], ecx
je 0x101517c7
push str.wrong__of_entries_in_index
push 2
push edi
call fcn.101603ef
mov eax, dword [esp + 0x38]
add esp, 0xc
mov eax, dword [eax + 8]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x101517c7
mov ecx, dword [esp + 0x30]
push 8
pop ebp
cmp ecx, eax
je 0x101517b7
mov eax, dword [esp + 0x5c]
push 3
pop esi
add eax, 0xfffffff8
push esi
add eax, ebp
push eax
push 0x5c
push edi
call fcn.101596d3
push esi
push ebx
push ebp
push 0x35
push edi
call fcn.1021b520
push 0x90
push edi
mov esi, eax
call fcn.10159a50
mov eax, dword [esp + 0x48]
push dword [eax]
push 4
push edi
call fcn.101603ef
push 3
push 2
push 4
push 0x6e
push edi
call fcn.1021b520
add esp, 0x4c
push edi
call fcn.1012e376
push esi
push edi
call fcn.1015fcbe
mov ecx, dword [edi + 0x6c]
add esp, 0xc
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
mov eax, dword [eax + 0x14]
inc ebp
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x10151748
mov ebp, dword [esp + 0x58]
mov edx, dword [esp + 0x20]
mov edx, dword [edx]
jmp 0x10151219
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x24]
add dword [esp + 0x14], 0x10
inc edx
mov esi, dword [esp + 0x18]
mov dword [esp + 0x3c], edx
cmp edx, dword [ebp + 0x14]
jl 0x10151054
push ebx
push 0x10280f94
push 7
push edi
call fcn.101597f7
mov esi, eax
add esp, 0x10
test esi, esi
je 0x1015182c
xor eax, eax
inc eax
sub eax, dword [esp + 0x28]
push 0xb
mov dword [esi + 8], eax
mov byte [esi + 0x29], 0xff
mov dword [esi + 0x38], 0x10285c40
mov byte [esi + 0x65], 0xff
call fcn.10143376
pop ecx
mov dword [esi + 0x74], eax
mov esi, dword [edi + 0x6c]
push ebx
push edi
sub esi, 2
call fcn.1015fcbe
pop ecx
pop ecx
mov dword [eax + 0xc], esi
jmp 0x10151d51
test esi, esi
jne 0x1015186c
mov ebx, dword [esp + 0x18]
push ebx
call fcn.101522e3
pop ecx
test eax, eax
jne 0x10151d51
mov eax, dword [ebx]
movzx eax, byte [eax + 0x4e]
push dword [eax*8 + 0x10280fd8]
jmp 0x1014fef8
test byte [ebp + 0x18], 0x40
jne 0x10151d51
mov eax, dword [str.UTF8]
mov edi, 0x10280fd8
jmp 0x10151894
push eax
push esi
call fcn.101565fc
pop ecx
pop ecx
test eax, eax
je 0x1015189a
add edi, 8
mov eax, dword [edi]
test eax, eax
jne 0x10151882
jmp 0x101518c9
mov cl, byte [edi + 4]
movzx eax, cl
test cl, cl
push 2
pop ecx
cmovne ecx, eax
mov eax, dword [ebp + 0x10]
mov byte [esp + 0x74], cl
push dword [esp + 0x74]
mov eax, dword [eax + 0xc]
push ebp
mov byte [eax + 0x4d], cl
call fcn.101558a6
pop ecx
pop ecx
cmp dword [edi], ebx
jne 0x10151d51
push esi
push str.unsupported_encoding:__s
push dword [esp + 0x20]
call fcn.10143429
jmp 0x10151d4e
push dword [esp + 0x24]
mov eax, dword [ecx + 8]
push edi
mov dword [esp + 0x28], eax
call fcn.10162854
pop ecx
pop ecx
test esi, esi
je 0x1015193b
mov eax, dword [esp + 0x34]
test byte [eax + 5], 8
jne 0x1015193b
push ebx
push 0x10281020
push 2
push edi
call fcn.101597f7
mov ecx, dword [esp + 0x30]
mov esi, eax
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x20]
push edi
mov dword [esi + 4], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ecx
call fcn.1021b520
mov dword [esi + 0x20], eax
add esp, 0x14
xor eax, eax
inc eax
mov word [esi + 0x16], ax
jmp 0x10151d55
push ebx
push 0x10281028
push 3
push edi
call fcn.101597f7
mov ecx, dword [esp + 0x34]
add esp, 0x10
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x20], ecx
and dword [edi + 0x98], 0xffffffdf
jmp 0x10151d51
mov eax, dword [esp + 0x18]
mov esi, ebx
push ebx
mov dword [eax + 0x2c], 1
call fcn.10116ac0
pop ecx
jmp 0x101519a0
push eax
push 1
push edi
inc esi
call fcn.101603ef
push ebx
xor eax, eax
inc eax
push eax
push eax
push 0x50
push edi
call fcn.1021b520
push esi
call fcn.10116ac0
add esp, 0x24
test eax, eax
jne 0x1015197f
jmp 0x1015195d
lfence
mov eax, dword [esp + 0x3c]
push 0xa
pop ecx
cmp dword [eax], ebx
cmovne ecx, dword [esp + 0x24]
mov dword [esp + 0x74], ecx
mov ecx, ebx
test esi, esi
je 0x10151a04
push str.full
push esi
call fcn.101565fc
pop ecx
pop ecx
test eax, eax
jne 0x101519d7
xor ecx, ecx
inc ecx
jmp 0x10151a04
push str.restart
push esi
call fcn.101565fc
pop ecx
pop ecx
test eax, eax
jne 0x101519ed
push 2
pop ecx
jmp 0x10151a04
push str.truncate
push esi
call fcn.101565fc
pop ecx
pop ecx
test eax, eax
mov ecx, ebx
push 3
pop eax
cmove ecx, eax
mov eax, dword [esp + 0x18]
push 3
pop edx
push 1
push ecx
push dword [esp + 0x7c]
mov dword [eax + 0x2c], edx
push 6
push edi
call fcn.1021b520
push ebx
push 3
push 1
push 0x50
push edi
call fcn.1021b520
add esp, 0x28
jmp 0x10151d51
lfence
test esi, esi
je 0x10151a49
push esi
call fcn.1021b520
push eax
push ebp
call fcn.1011e100
add esp, 0xc
cmp dword [ebp + 0xf8], 0x101636b0
jne 0x1014fcc7
mov ebx, dword [ebp + 0xfc]
jmp 0x1014fcc7
push ebp
call fcn.1011a600
jmp 0x1014fb19
test esi, esi
je 0x10151a8b
push esi
call fcn.1021b520
pop ecx
mov ecx, eax
mov dword [esp + 0x1c], ecx
test cl, 2
je 0x10151d51
jmp 0x10151a93
mov dword [esp + 0x1c], 0xfffe
mov esi, dword [esp + 0x18]
lfence
mov eax, dword [esi + 0x28]
mov dword [esp + 0x5c], eax
inc eax
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x44], ebx
je 0x10151ab5
mov dword [esp + 0x14], eax
jmp 0x10151ac5
mov ecx, dword [ebp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
cmp eax, ecx
jg 0x10151c02
mov ecx, dword [esp + 0x38]
lfence
mov edx, dword [esp + 0x14]
cmp eax, 1
je 0x10151bee
push eax
push esi
call fcn.1013ff8f
mov eax, dword [ebp + 0x10]
pop ecx
pop ecx
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + eax + 0xc]
mov edx, dword [eax + 0x10]
mov dword [esp + 0x60], edx
test edx, edx
je 0x10151be2
mov edx, dword [edx + 8]
mov dword [esp + 0x74], edx
test dword [edx + 0x24], 0x100
je 0x10151bd7
mov ax, word [edx + 0x2e]
add ax, 0x2e
movzx eax, ax
mov dword [esp + 0x20], eax
mov eax, dword [edx + 8]
jmp 0x10151b2d
test byte [eax + 0x38], 0x80
je 0x10151b76
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x10151b24
cmp word [esp + 0x20], bx
je 0x10151b76
push 0x60
push edx
push dword [esp + 0x2c]
push dword [esp + 0x68]
push esi
call fcn.1021b520
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
cwde
and ecx, 1
push eax
mov eax, dword [edi + 0x6c]
add ecx, 2
add eax, ecx
push eax
push dword [esp + 0x78]
push 0x22
push edi
call fcn.1021b520
mov ecx, dword [esp + 0x60]
add esp, 0x28
mov edx, dword [esp + 0x74]
push dword [edx]
mov eax, dword [ebp + 0x10]
push dword [ecx + eax]
push str.ANALYZE___w_.__w_
push ebp
call fcn.1014ced5
add esp, 0x10
mov edx, eax
test byte [esp + 0x1c], 1
je 0x10151bbf
push esi
call fcn.10149be5
push 0xfffffffffffffff9
push edx
push ebx
mov esi, eax
push esi
push ebx
push 0x73
push edi
call fcn.1021b520
push 1
push esi
push 0x50
push edi
call fcn.101596d3
mov esi, dword [esp + 0x48]
add esp, 0x30
jmp 0x10151bd3
push 0xfffffffffffffff9
push edx
push ebx
push ebx
push ebx
push 0x8d
push edi
call fcn.1021b520
add esp, 0x1c
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x60]
mov edx, dword [edx]
jmp 0x10151af0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
inc eax
add ecx, 0x10
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], ecx
cmp eax, edx
jle 0x10151ad0
push 0x9f
push edi
call fcn.101596a4
jmp 0x1014fefe
lfence
test esi, esi
je 0x10151c39
lea eax, [esp + 0x74]
push eax
push esi
call fcn.10141df0
pop ecx
pop ecx
test eax, eax
jne 0x10151c39
push dword [esp + 0x78]
push dword [esp + 0x78]
call fcn.1011a670
pop ecx
pop ecx
or eax, 0xffffffff
push eax
push eax
call fcn.1011a670
jmp 0x1014fd7c
lfence
test esi, esi
je 0x10151c9e
lea eax, [esp + 0x74]
push eax
push esi
call fcn.10141df0
pop ecx
pop ecx
test eax, eax
jne 0x10151c9e
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.1011a7e0
pop ecx
pop ecx
mov ecx, eax
cmp dword [esp + 0x78], ebx
jl 0x10151c9e
jg 0x10151c7b
cmp dword [esp + 0x74], ebx
jbe 0x10151c9e
mov eax, ecx
or eax, edx
je 0x10151c8f
cmp edx, dword [esp + 0x78]
jl 0x10151c9e
jg 0x10151c8f
cmp ecx, dword [esp + 0x74]
jbe 0x10151c9e
push dword [esp + 0x78]
push dword [esp + 0x78]
call fcn.1011a7e0
pop ecx
pop ecx
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.1011a7e0
jmp 0x1014fd7c
lfence
test esi, esi
je 0x10151ce5
lea eax, [esp + 0x74]
push eax
push esi
call fcn.10141df0
pop ecx
pop ecx
test eax, eax
jne 0x10151ce5
cmp dword [esp + 0x78], ebx
jl 0x10151ce5
mov eax, dword [esp + 0x74]
jg 0x10151cd4
cmp eax, ebx
jb 0x10151ce5
and eax, 0x7fffffff
push eax
push 0xb
push ebp
call fcn.10118820
add esp, 0xc
mov eax, dword [ebp + 0x98]
jmp 0x10151d45
lfence
test esi, esi
je 0x10151d20
lea eax, [esp + 0x74]
push eax
push esi
call fcn.10141df0
pop ecx
pop ecx
test eax, eax
jne 0x10151d20
cmp dword [esp + 0x78], ebx
jl 0x10151d20
mov eax, dword [esp + 0x74]
jg 0x10151d15
cmp eax, ebx
jb 0x10151d20
and eax, 0x7fffffff
mov dword [ebp + 0x1d4], eax
mov eax, dword [ebp + 0x1d4]
jmp 0x10151d45
lfence
test esi, esi
je 0x10151d3f
push esi
call fcn.1021b520
push eax
push ebp
call fcn.101172c0
add esp, 0xc
mov eax, dword [ebp + 0x1d8]
cdq
push edx
push eax
push edi
call fcn.10138763
add esp, 0xc
mov edi, dword [esp + 0x10]
push dword [esp + 0x64]
push ebp
call fcn.10141a5b
pop ecx
pop ecx
test edi, edi
je 0x10151d6e
push edi
push ebp
call fcn.10141a5b
pop ecx
pop ecx
mov ecx, dword [esp + 0x90]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10236000
add esp, 0x84
ret