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

Disassembly:
sub esp, 0x70
mov eax, dword [esp + 0x74]
push ebp
push esi
mov esi, dword [eax + 8]
mov ebp, dword [eax]
mov dword [esp + 8], ebp
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x552814
cmp dword [eax + 0x74], esi
jne 0x5527f9
test byte [ebp + 0x50], 8
jne 0x5527f9
mov byte [eax + 0x17], 1
push eax
call fcn.005617d0
mov esi, eax
add esp, 4
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x1c], esi
test esi, esi
je 0x554f61
or dword [esi + 0xa0], 0x20
lea ecx, [esp + 0x50]
push ebx
mov ebx, dword [esp + 0x88]
push ecx
push ebx
push dword [esp + 0x8c]
mov dword [eax + 0x2c], 2
push eax
call fcn.0055d170
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
js 0x554f60
mov ebp, dword [ebp + 0x10]
push edi
mov edi, eax
shl edi, 4
add ebp, edi
mov dword [esp + 0x44], edi
cmp eax, 1
jne 0x552877
push dword [esp + 0x84]
call fcn.0054f0c0
add esp, 4
test eax, eax
jne 0x554f5f
push dword [esp + 0x58]
push dword [esp + 0x14]
call fcn.0054ea60
add esp, 8
mov dword [esp + 0x34], eax
test eax, eax
je 0x554f5f
cmp dword [esp + 0x94], 0
push dword [esp + 0x90]
je 0x5528b7
push 0x5caa7c
push dword [esp + 0x18]
call fcn.0054e0f0
add esp, 0xc
jmp 0x5528c3
push dword [esp + 0x14]
call fcn.0054ea60
add esp, 8
cmp dword [ebx + 4], 0
mov dword [esp + 0x14], eax
jbe 0x5528d2
mov ebx, dword [ebp]
jmp 0x5528d4
xor ebx, ebx
push ebx
push eax
push dword [esp + 0x3c]
mov dword [esp + 0x28], ebx
push 0x13
push dword [esp + 0x94]
call fcn.0052e3c0
add esp, 0x14
test eax, eax
jne 0x554f39
mov dword [esp + 0x70], eax
lea ecx, [esp + 0x70]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x14]
push ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x14]
push 0xe
push ebx
mov dword [esp + 0x88], 0
push eax
mov dword [eax + 0x1c4], 0
call fcn.004e2a00
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x552972
push 1
push esi
call fcn.0056c200
push 0xffffffffffffffff
push dword [esp + 0x7c]
push ebx
push ebx
push esi
call fcn.0056c1b0
push dword [esp + 0x8c]
push esi
call fcn.00529330
push dword [esp + 0x94]
call fcn.004dfad0
add esp, 0x28
jmp 0x554f39
cmp ebx, 0xc
je 0x5529af
mov eax, dword [esp + 0x70]
test eax, eax
je 0x55299d
push eax
push 0x5c7a64
push dword [esp + 0x8c]
call fcn.00539ba0
push dword [esp + 0x7c]
call fcn.004dfad0
add esp, 0x10
mov eax, dword [esp + 0x84]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x554f39
push dword [esp + 0x34]
call fcn.00523d10
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x554f39
test byte [ebx + 5], 1
je 0x5529e2
push dword [esp + 0x84]
call fcn.005558b0
add esp, 4
test eax, eax
jne 0x554f39
mov al, byte [ebx + 5]
test al, 2
jne 0x5529ff
test al, 4
je 0x5529f5
mov edx, dword [esp + 0x14]
test edx, edx
jne 0x552a03
push ebx
push esi
call fcn.0052b630
add esp, 8
mov edx, dword [esp + 0x14]
movzx eax, byte [ebx + 4]
dec eax
cmp eax, 0x2a
ja case.0x552a11.5
jmp dword [eax*4 + 0x554f68]
mov ebx, dword [esp + 0x18]
push ebx
push esi
call fcn.0056cdc0
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x552a5d
mov eax, dword [esp + 0x84]
push 0
push 0x5c0814
push 9
add dword [eax + 0x2c], 2
push esi
call fcn.00560f70
add esp, 0x10
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x554f39
push eax
call fcn.0052e130
push eax
call fcn.0052bba0
push ebx
push 0
push dword [esp + 0x94]
mov edi, eax
call fcn.0052ee80
push edi
push 3
push ebx
push 0x63
push esi
call fcn.00560db0
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x50], edi
mov eax, dword [ebp + 0xc]
push dword [eax + 0x50]
push dword [ebp + 4]
call fcn.00532890
add esp, 0x30
jmp 0x554f39
mov edi, dword [ebp + 4]
test edx, edx
jne 0x552abc
test edi, edi
je 0x552f7a
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x24]
jmp 0x554f2d
push edx
call fcn.0052e130
mov ecx, dword [esp + 0x14]
push 0
push 0
push eax
push edi
mov dword [ecx + 0x64], eax
call fcn.00532940
add esp, 0x14
cmp eax, 7
jne 0x554f39
push dword [esp + 0x10]
call fcn.0054ec90
add esp, 4
jmp 0x554f39
mov eax, dword [ebp + 4]
or ebp, 0xffffffff
mov dword [esp + 0x58], eax
test edx, edx
je 0x552b28
push str.fast
push edx
call fcn.004e94d0
add esp, 8
test eax, eax
jne 0x552b16
lea ebp, [eax + 2]
jmp 0x552b28
mov eax, dword [esp + 0x14]
push 0
push eax
call fcn.005494a0
add esp, 8
movzx ebp, al
mov eax, dword [esp + 0x8c]
cmp dword [eax + 4], 0
jne 0x552b65
test ebp, ebp
js 0x552b65
mov eax, dword [esp + 0x10]
xor ebx, ebx
cmp dword [eax + 0x14], ebx
jle 0x552b65
xor edi, edi
mov esi, eax
mov eax, dword [esi + 0x10]
push ebp
push dword [edi + eax + 4]
call fcn.005327b0
inc ebx
lea edi, [edi + 0x10]
add esp, 8
cmp ebx, dword [esi + 0x14]
jl 0x552b48
mov esi, dword [esp + 0x24]
push ebp
push dword [esp + 0x5c]
call fcn.005327b0
cdq
push edx
push eax
push esi
call fcn.005292a0
add esp, 0x14
jmp 0x554f39
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x84]
push ebp
push ebx
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
call fcn.00534a50
mov eax, dword [esp + 0x3c]
add esp, 8
inc dword [ebx + 0x2c]
mov edi, dword [ebx + 0x2c]
movzx eax, byte [eax]
cmp byte [eax + 0x5c0080], 0x70
jne 0x552bde
push edi
push ebp
push 0xb0
push esi
call fcn.00560d50
add esp, 0x10
push 1
push edi
push 0x53
push esi
call fcn.00560d50
add esp, 0x10
jmp 0x554f39
mov eax, dword [esp + 0x14]
test eax, eax
je 0x552c24
lea ecx, [esp + 0x64]
push ecx
push eax
call fcn.00537be0
add esp, 8
test eax, eax
jne 0x552c24
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
test ecx, ecx
jg 0x552c15
jl 0x552c24
test eax, eax
jb 0x552c24
test ecx, ecx
jl 0x552c2a
jg 0x552c15
cmp eax, 0xfffffffe
jbe 0x552c2a
mov eax, 0xfffffffe
mov dword [esp + 0x68], 0
jmp 0x552c2a
xor eax, eax
mov dword [esp + 0x68], eax
push eax
push edi
push ebp
push 0xb1
push esi
call fcn.00560db0
add esp, 0x14
push 1
push edi
push 0x53
push esi
call fcn.00560d50
add esp, 0x10
jmp 0x554f39
push edx
mov ebx, str.normal
call fcn.005147f0
mov ecx, eax
add esp, 4
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x4c], ecx
mov eax, dword [eax + 4]
test eax, eax
jne 0x552cca
cmp ecx, 0xffffffff
jne 0x552c7f
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x59]
jmp 0x552cdb
test eax, eax
jne 0x552cca
mov eax, dword [esp + 0x10]
mov ebx, 2
cmp dword [eax + 0x14], ebx
jle 0x552cc2
mov edi, 0x20
mov esi, eax
mov eax, dword [esi + 0x10]
push ecx
mov eax, dword [edi + eax + 4]
mov eax, dword [eax + 4]
push dword [eax]
call fcn.00550070
mov ecx, dword [esp + 0x54]
lea edi, [edi + 0x10]
inc ebx
add esp, 8
cmp ebx, dword [esi + 0x14]
jl 0x552c98
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov byte [eax + 0x59], cl
mov ebx, str.normal
mov eax, dword [ebp + 4]
push ecx
mov eax, dword [eax + 4]
push dword [eax]
call fcn.00550070
add esp, 8
cmp eax, 1
jne 0x552ce5
mov ebx, str.exclusive
push ebx
push esi
call fcn.00529330
add esp, 8
jmp 0x554f39
test edx, edx
je 0x552d40
push edx
call fcn.0055c4e0
add esp, 4
mov edi, eax
xor ebx, ebx
cmp ebx, 6
je 0x552d40
mov ecx, dword [ebx*4 + 0x5c05e4]
test ecx, ecx
je 0x552d40
push edi
push ecx
push dword [esp + 0x1c]
call fcn.004e9550
add esp, 0xc
test eax, eax
je 0x552d2a
inc ebx
jmp 0x552d05
cmp ebx, 2
jne 0x552d5f
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x552d64
or ebx, 0xffffffff
mov ecx, dword [esp + 0x8c]
cmp dword [ecx + 4], 0
jne 0x552d6b
xor edx, edx
mov dword [ecx + 4], 1
mov dword [esp + 0x18], edx
jmp 0x552d6f
cmp ebx, 0xffffffff
je 0x552d43
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
dec edi
js 0x552dbf
mov ebp, edi
shl ebp, 4
mov edi, edi
mov eax, dword [eax + 0x10]
cmp dword [eax + ebp + 4], 0
je 0x552daa
cmp edi, edx
je 0x552d94
cmp dword [ecx + 4], 0
jne 0x552daa
push edi
push esi
call fcn.0056cdc0
push ebx
push 1
push edi
push 7
push esi
call fcn.00560db0
add esp, 0x1c
mov ecx, dword [esp + 0x8c]
sub ebp, 0x10
dec edi
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
jns 0x552d80
push 1
push 1
push 0x53
push esi
call fcn.00560d50
add esp, 0x10
jmp 0x554f39
mov eax, dword [ebp + 4]
or ecx, 0xffffffff
mov dword [esp + 0x68], ecx
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov eax, 0xfffffffe
mov dword [esp + 0x64], eax
test edx, edx
je 0x552e1c
lea eax, [esp + 0x64]
push eax
push edx
call fcn.00537be0
mov ecx, dword [esp + 0x70]
add esp, 8
cmp ecx, 0xffffffff
jg 0x552e18
jl 0x552e11
mov eax, dword [esp + 0x64]
cmp eax, 0xffffffff
jae 0x552e1c
or eax, 0xffffffff
or ecx, eax
jmp 0x552e1c
mov eax, dword [esp + 0x64]
push ecx
push eax
push edi
call fcn.0054ffe0
push edx
push eax
push esi
call fcn.005292a0
add esp, 0x18
jmp 0x554f39
mov edi, dword [ebp + 4]
test edx, edx
jne 0x552e52
push edi
call fcn.00530880
cdq
push edx
push eax
push esi
call fcn.005292a0
add esp, 0x10
jmp 0x554f39
push edx
call fcn.005145e0
mov ebx, eax
mov eax, dword [esp + 0x14]
push ebx
push edi
mov byte [eax + 0x5a], bl
call fcn.00532820
add esp, 0xc
test eax, eax
jne 0x554f39
cmp ebx, 1
je 0x552e81
cmp ebx, 2
jne 0x554f39
mov edi, dword [esi + 0x74]
push 0
push 0x5c08e4
push 5
push esi
call fcn.00560f70
mov edx, dword [esp + 0x28]
lea ecx, [edi + 4]
push edx
push esi
mov dword [eax + 0x30], ecx
lea ecx, [ebx - 1]
mov dword [eax + 4], edx
mov dword [eax + 0x18], edx
mov dword [eax + 0x54], edx
mov dword [eax + 0x5c], ecx
call fcn.0056cdc0
add esp, 0x18
jmp 0x554f39
test edx, edx
je 0x552ed9
lea eax, [esp + 0x58]
push eax
push edx
call fcn.005495b0
add esp, 8
test eax, eax
je 0x552ed9
mov edi, dword [esp + 0x58]
test edi, edi
jg 0x552ede
mov edi, closesocket
mov ebx, dword [esp + 0x18]
push ebx
push 0
push dword [esp + 0x8c]
call fcn.0052ee80
push 1
push edi
push 0x47
push esi
call fcn.00560d50
push ebx
push 0x3d
push esi
call fcn.00560cf0
push 1
push 0x53
push esi
mov edi, eax
call fcn.00560cf0
push 0xffffffffffffffff
push 1
push 0x55
push esi
call fcn.00560d50
add esp, 0x44
push edi
push 1
push 0x31
push esi
call fcn.00560d50
push edi
push esi
call fcn.005697d0
add esp, 0x18
jmp 0x554f39
test edx, edx
jne 0x552f49
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x50]
jmp 0x554f2d
push edx
call fcn.0052e130
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp + 0xc]
push dword [eax + 0x50]
push dword [ebp + 4]
call fcn.00532890
jmp 0x554f36
test edx, edx
jne 0x552f93
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x20
or eax, edx
jne 0x552f81
xor eax, eax
jmp 0x554f2d
push 0
push dword [ebp + 4]
call fcn.00532a70
add esp, 8
jmp 0x554f2d
lea eax, [esp + 0x4c]
mov dword [esp + 0x4c], 1
push eax
push edx
call fcn.005495b0
mov esi, dword [esp + 0x54]
add esp, 8
test eax, eax
je 0x552fbd
push esi
push dword [ebp + 4]
call fcn.00532a70
add esp, 8
test esi, esi
setne al
movzx eax, al
push eax
push dword [esp + 0x18]
call fcn.005494a0
mov ecx, dword [esp + 0x18]
add esp, 8
test al, al
mov eax, dword [ecx + 0x24]
mov dword [ecx + 0x24], eax
je 0x552ff2
or dword [ecx + 0x20], 0x20
push ecx
call fcn.0052b3d0
add esp, 4
jmp 0x554f39
and dword [ecx + 0x20], 0xffffffdf
push ecx
call fcn.0052b3d0
add esp, 4
jmp 0x554f39
test edx, edx
je 0x5530ab
lea eax, [esp + 0x64]
push eax
push edx
call fcn.00537be0
mov ebp, dword [esp + 0x70]
add esp, 8
test ebp, ebp
jg 0x553042
jl 0x55302c
mov edx, dword [esp + 0x64]
test edx, edx
jae 0x553046
mov edx, dword [0x8f4ec0]
mov ebp, dword [0x8f4ec4]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ebp
jmp 0x553046
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x10]
cmp dword [ecx + 4], 0
jne 0x55305d
mov dword [ebx + 0x30], edx
mov dword [ebx + 0x34], ebp
mov edi, dword [ebx + 0x14]
dec edi
js 0x5530ab
mov esi, dword [esp + 0x10]
mov ebx, edi
shl ebx, 4
lea esp, [esp]
mov eax, dword [esi + 0x10]
mov eax, dword [ebx + eax + 4]
test eax, eax
je 0x5530a1
cmp edi, dword [esp + 0x18]
je 0x553087
cmp dword [ecx + 4], 0
jne 0x5530a1
push ebp
push edx
push eax
call fcn.005328e0
mov ebp, dword [esp + 0x74]
add esp, 0xc
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x8c]
sub ebx, 0x10
dec edi
jns 0x553070
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x1c]
lea eax, [esp + 0x64]
push eax
push 0x12
push ebx
push dword [esp + 0x1c]
mov dword [esp + 0x74], 0xffffffff
mov dword [esp + 0x78], 0xffffffff
call fcn.004e2a00
add esp, 0x10
test eax, eax
jne 0x5530e4
push dword [esp + 0x68]
push dword [esp + 0x68]
jmp 0x554f30
cmp eax, 0xc
je 0x554f39
mov ecx, dword [esp + 0x84]
inc dword [ecx + 0x24]
mov dword [ecx + 0xc], eax
jmp 0x554f39
test edx, edx
jne 0x553110
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x56]
jmp 0x554f2d
push edx
push dword [esp + 0x88]
call fcn.004f4f40
add esp, 8
jmp 0x554f39
test edx, edx
jne 0x55313d
push dword [0x973b18]
push esi
call fcn.00529330
add esp, 8
jmp 0x554f39
cmp byte [edx], 0
je 0x55317c
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x58]
push ecx
push 1
push edx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x553163
cmp dword [esp + 0x58], eax
jne 0x55317c
push str.not_a_writable_directory
push dword [esp + 0x88]
call fcn.00539ba0
add esp, 8
jmp 0x554f39
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x56], 1
ja 0x553195
push dword [esp + 0x84]
call fcn.00516ab0
add esp, 4
push dword [0x973b18]
call fcn.004dfad0
mov eax, dword [esp + 0x18]
add esp, 4
cmp byte [eax], 0
je 0x5531c4
push eax
push 0x5c7a64
call fcn.004df4c0
add esp, 8
mov dword [0x973b18], eax
jmp 0x554f39
mov dword [0x973b18], 0
jmp 0x554f39
test edx, edx
jne 0x5531eb
push dword [0x973b1c]
push esi
call fcn.00529330
add esp, 8
jmp 0x554f39
cmp byte [edx], 0
je 0x553219
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x58]
push ecx
push 1
push edx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x553163
cmp dword [esp + 0x58], eax
je 0x553163
push dword [0x973b1c]
call fcn.004dfad0
mov eax, dword [esp + 0x18]
add esp, 4
cmp byte [eax], 0
je 0x553248
push eax
push 0x5c7a64
call fcn.004df4c0
add esp, 8
mov dword [0x973b1c], eax
jmp 0x554f39
mov dword [0x973b1c], 0
jmp 0x554f39
test edx, edx
jne 0x553265
movzx eax, byte [ebp + 8]
dec eax
jmp 0x554f2d
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x55], 0
jne 0x553288
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x88]
call fcn.00539ba0
add esp, 8
jmp 0x554f39
cmp dword [esp + 0x18], 1
je 0x554f3d
push 1
push 0
push edx
call fcn.005156b0
inc eax
add esp, 0xc
and eax, 7
jne 0x5532ab
mov eax, 1
push dword [esp + 0x10]
mov byte [ebp + 8], al
mov byte [ebp + 9], 1
call fcn.0052b3d0
add esp, 4
jmp 0x554f39
test edx, edx
jne 0x5532f3
push ebx
push esi
call fcn.0052b630
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 0xc]
and ecx, dword [edx + 0x20]
and eax, dword [edx + 0x24]
or ecx, eax
je 0x552f7a
mov eax, 1
jmp 0x554f2d
mov eax, dword [esp + 0x10]
mov edi, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
cmp byte [eax + 0x55], 0
jne 0x553309
and edi, 0xffffbfff
push 0
push edx
call fcn.005494a0
add esp, 8
test al, al
je 0x553324
mov eax, dword [esp + 0x10]
or dword [eax + 0x20], edi
or dword [eax + 0x24], ebx
jmp 0x553377
mov edx, dword [esp + 0x10]
mov ecx, edi
mov eax, ebx
not ecx
not eax
and dword [edx + 0x20], ecx
and dword [edx + 0x24], eax
cmp edi, 0x80000
jne 0x55334e
test ebx, ebx
jne 0x55334e
mov dword [edx + 0x208], ebx
mov dword [edx + 0x20c], ebx
and edi, 1
or edi, 0
je 0x553377
push str.reset
push dword [esp + 0x18]
call fcn.004e94d0
add esp, 8
test eax, eax
jne 0x553377
push dword [esp + 0x10]
call fcn.00556700
add esp, 4
push 0xa5
push esi
call fcn.00560ca0
push dword [esp + 0x18]
call fcn.0052b3d0
jmp 0x554f36
test edx, edx
je 0x554f39
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x84]
push ebp
push edi
call fcn.005349e0
push ebp
push dword [esp + 0x20]
push 2
push edi
call fcn.0054dbc0
mov ebp, eax
add esp, 0x18
mov dword [esp + 0x40], ebp
test ebp, ebp
je 0x554f39
push ebp
mov dword [esp + 0x48], 0
call fcn.005555b0
push ebp
push edi
mov dword [esp + 0x64], eax
mov dword [edi + 0x2c], 7
call fcn.0056cea0
mov ecx, dword [ebp + 4]
add esp, 0xc
movsx ebp, word [ebp + 0x22]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], ecx
test ebp, ebp
jle 0x554f39
mov edx, dword [esp + 0x40]
lea ebx, [ebx]
movzx ecx, word [ecx + 0xe]
xor edi, edi
test cl, 0x62
je 0x553448
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
jne 0x553430
inc dword [esp + 0x44]
mov ebp, dword [esp + 0x38]
jmp 0x5534ed
test cl, 0x20
je 0x55343c
mov edi, 2
jmp 0x553448
movzx edi, cl
and edi, 0x40
or edi, 0x20
shr edi, 5
test cl, 1
jne 0x553451
xor edx, edx
jmp 0x553476
mov eax, dword [esp + 0x58]
mov edx, 1
test eax, eax
je 0x553476
cmp ebp, edx
jl 0x553476
mov ecx, dword [eax + 4]
movsx eax, word [ecx]
cmp eax, dword [esp + 0x3c]
je 0x553476
inc edx
add ecx, 2
cmp edx, ebp
jle 0x553465
mov ebp, dword [esp + 0x38]
push ebp
push dword [esp + 0x44]
call fcn.00534d20
add esp, 8
cmp edi, 2
jge 0x553495
test eax, eax
je 0x553495
mov ecx, dword [eax + 8]
jmp 0x553497
xor ecx, ecx
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
mov dword [esp + 0x4c], str.issisii
jne 0x5534af
mov dword [esp + 0x4c], str.issisi
test byte [ebp + 4], 0xf
mov eax, 0
push edi
push edx
push ecx
setne al
push eax
push section..rdata
push ebp
call fcn.00534f40
add esp, 8
push eax
push dword [ebp]
mov eax, dword [esp + 0x54]
sub eax, dword [esp + 0x5c]
push eax
push dword [esp + 0x68]
push 1
push esi
call fcn.0056b310
mov edx, dword [esp + 0x68]
add esp, 0x28
mov eax, dword [esp + 0x3c]
add ebp, 0x10
mov dword [esp + 0x38], ebp
inc eax
movsx ebp, word [edx + 0x22]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x3c], eax
cmp eax, ebp
jl 0x553410
jmp 0x554f39
mov eax, dword [esp + 0x84]
mov ebx, dword [esp + 0x1c]
push ebx
push eax
mov dword [eax + 0x2c], 6
call fcn.005349e0
mov eax, dword [esp + 0x18]
add esp, 8
mov dword [esp + 0x48], 0
cmp dword [eax + 0x14], 0
jle 0x554f3d
xor ebp, ebp
test ebx, ebx
je 0x553561
mov eax, dword [eax + 0x10]
push dword [eax + ebp]
push ebx
call fcn.004e94d0
add esp, 8
test eax, eax
jne 0x5536c2
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + ebp + 0xc]
add edx, 8
mov ebx, dword [edx + 4]
test ebx, ebx
je 0x553623
mov esi, dword [esp + 0x10]
mov edi, edi
mov eax, dword [edx + 8]
dec ebx
test eax, eax
je 0x55361f
lea esp, [esp]
mov ecx, dword [eax + 8]
cmp word [ecx + 0x22], 0
je 0x5535a2
mov eax, dword [eax]
test eax, eax
jne 0x553590
jmp 0x55361f
push dword [ecx]
push str.SELECTFROM__w_
push esi
call fcn.0054e0f0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x5535e7
push 0
lea eax, [esp + 0x50]
mov dword [esp + 0x50], 0
push eax
push 0
push 0
push 0xffffffffffffffff
push edi
push esi
call fcn.0054dd50
push dword [esp + 0x68]
call fcn.004eafa0
push edi
push esi
call fcn.00537780
add esp, 0x28
cmp byte [esi + 0x57], 0
je 0x55360d
push 0x5b4e18
push dword [esi + 0x10c]
call fcn.00539ba0
mov eax, dword [esi + 0x10c]
add esp, 8
mov dword [eax + 0xc], 7
mov eax, dword [esi + 0x10]
mov edx, dword [eax + ebp + 0xc]
add edx, 8
test ebx, ebx
jne 0x553580
mov esi, dword [esp + 0x24]
mov ebx, dword [edx + 8]
test ebx, ebx
je 0x5536be
mov edi, edi
mov eax, dword [esp + 0x14]
mov edi, dword [ebx + 8]
test eax, eax
je 0x55364a
push dword [edi]
push eax
call fcn.004e94d0
add esp, 8
test eax, eax
jne 0x5536b4
mov al, byte [edi + 0x2b]
cmp al, 2
jne 0x553658
mov edx, str.view
jmp 0x553676
cmp al, 1
jne 0x553663
mov edx, str.virtual
jmp 0x553676
test dword [edi + 0x1c], 0x1000
mov edx, str.shadow
jne 0x553676
mov edx, str.table
mov ecx, dword [edi + 0x1c]
mov eax, ecx
shr eax, 0x10
and eax, 1
shr ecx, 7
push eax
movsx eax, word [edi + 0x22]
and ecx, 1
push ecx
push eax
push edx
push dword [edi]
call fcn.00555060
add esp, 4
push eax
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x10]
push dword [eax + ebp]
push str.sssiii
push 1
push esi
call fcn.0056b310
add esp, 0x24
mov ebx, dword [ebx]
test ebx, ebx
jne 0x553630
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add ebp, 0x10
mov eax, dword [esp + 0x48]
inc eax
mov dword [esp + 0x48], eax
cmp eax, dword [ecx + 0x14]
mov eax, ecx
jl 0x553546
jmp 0x554f3d
test edx, edx
je 0x554f39
mov edi, dword [esp + 0x1c]
push edi
push edx
push dword [esp + 0x18]
call fcn.0053fbf0
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x553740
push edi
push dword [esp + 0x18]
mov edi, dword [esp + 0x8c]
push 2
push edi
call fcn.0054dbc0
add esp, 0x10
test eax, eax
je 0x554f39
test byte [eax + 0x1c], 0x80
je 0x554f39
push eax
call fcn.005555b0
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x554f39
jmp 0x553747
mov edi, dword [esp + 0x84]
push dword [ebp + 0x18]
push dword [esp + 0x14]
call fcn.005580d0
mov ecx, dword [ebx + 8]
add esp, 8
or ecx, dword [ebx + 0xc]
mov edx, eax
je 0x55376d
movzx eax, word [ebp + 0x34]
mov dword [edi + 0x2c], 6
jmp 0x553778
movzx eax, word [ebp + 0x32]
mov dword [edi + 0x2c], 3
push edx
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0xc]
push edi
mov dword [esp + 0x60], eax
call fcn.00534a50
xor edi, edi
add esp, 8
cmp dword [esp + 0x44], edi
jle 0x554f39
lea esp, [esp]
mov eax, dword [ebp + 4]
movzx edx, word [eax + edi*2]
test dx, dx
jns 0x5537b0
xor eax, eax
jmp 0x5537bf
mov eax, dword [esp + 0x58]
movsx ecx, dx
add ecx, ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8]
push eax
movsx eax, dx
push eax
push edi
push str.iisX
push 1
push esi
call fcn.0056b310
mov eax, dword [ebx + 8]
add esp, 0x18
or eax, dword [ebx + 0xc]
je 0x553807
movzx eax, word [ebp + 0x32]
xor ecx, ecx
cmp edi, eax
mov eax, dword [ebp + 0x20]
setl cl
push ecx
push dword [eax + edi*4]
mov eax, dword [ebp + 0x1c]
movzx eax, byte [eax + edi]
push eax
push str.isiX
push 4
push esi
call fcn.0056b310
add esp, 0x18
mov eax, dword [esp + 0x84]
push dword [eax + 0x2c]
push 1
push 0x53
push esi
call fcn.00560d50
inc edi
add esp, 0x10
cmp edi, dword [esp + 0x44]
jl 0x5537a0
jmp 0x554f39
test edx, edx
je 0x554f39
mov ebx, dword [esp + 0x1c]
push ebx
push edx
push dword [esp + 0x18]
call fcn.0053fcc0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x554f39
push dword [edi + 0x3c]
push dword [esp + 0x14]
call fcn.005580d0
mov ecx, dword [esp + 0x8c]
push eax
push ecx
mov dword [ecx + 0x2c], 5
call fcn.00534a50
mov edi, dword [edi + 8]
add esp, 0x10
xor ebx, ebx
test edi, edi
je 0x554f39
mov dword [esp + 0x64], 0x5cab24
mov dword [esp + 0x68], 0x5cab28
mov dword [esp + 0x6c], 0x5bf52c
jmp 0x5538a0
xor eax, eax
cmp dword [edi + 0x24], eax
setne al
push eax
mov eax, dword [edi + 0x38]
and eax, 3
push dword [esp + eax*4 + 0x68]
xor eax, eax
cmp byte [edi + 0x36], al
setne al
push eax
push dword [edi]
push ebx
push str.isisi
push 1
push esi
call fcn.0056b310
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x5538a0
jmp 0x554f39
mov eax, dword [esp + 0x84]
xor edi, edi
mov dword [eax + 0x2c], 3
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x14], edi
jle 0x554f3d
xor ebx, ebx
jmp 0x553900
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + ebx + 4]
test eax, eax
je 0x553926
push eax
call fcn.005308d0
push eax
push dword [ecx + ebx]
push edi
push 0x5cab34
push 1
push esi
call fcn.0056b310
add esp, 0x1c
mov eax, dword [esp + 0x10]
inc edi
add ebx, 0x10
cmp edi, dword [eax + 0x14]
jl 0x553900
jmp 0x554f3d
mov eax, dword [esp + 0x84]
xor ebx, ebx
mov edi, dword [esp + 0x10]
mov dword [eax + 0x2c], 2
mov edi, dword [edi + 0x1b4]
test edi, edi
je 0x554f39
lea ebx, [ebx]
mov eax, dword [edi + 8]
push dword [eax]
push ebx
push 0x5cab38
push 1
push esi
call fcn.0056b310
mov edi, dword [edi]
add esp, 0x14
inc ebx
test edi, edi
jne 0x553960
jmp 0x554f39
mov eax, dword [esp + 0x10]
mov ebp, 0x973bd0
mov ebx, dword [eax + 0x18]
mov eax, dword [esp + 0x84]
shr ebx, 5
and ebx, 1
mov dword [eax + 0x2c], 6
mov edi, dword [ebp]
test edi, edi
je 0x5539c4
lea esp, [esp]
push ebx
push 1
push edi
push esi
call fcn.00523c80
mov edi, dword [edi + 0x24]
add esp, 0x10
test edi, edi
jne 0x5539b0
add ebp, 4
cmp ebp, 0x973c2c
jl 0x5539a2
mov edi, dword [esp + 0x10]
mov edi, dword [edi + 0x1a4]
test edi, edi
je 0x554f39
push ebx
push 0
push dword [edi + 8]
push esi
call fcn.00523c80
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x5539e1
jmp 0x554f39
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x10]
mov dword [eax + 0x2c], 1
mov edi, dword [edi + 0x188]
test edi, edi
je 0x554f39
jmp 0x553a20
mov eax, dword [edi + 8]
push dword [eax + 4]
push 0x5c8aec
push 1
push esi
call fcn.0056b310
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x553a20
jmp 0x554f39
mov edi, 0x5bf698
push dword [edi]
push 0x5c8aec
push 1
push esi
call fcn.0056b310
add edi, 0x10
add esp, 0x10
cmp edi, 0x5bfac8
jl 0x553a46
jmp 0x554f39
test edx, edx
je 0x554f39
mov ebx, dword [esp + 0x1c]
push ebx
push edx
push dword [esp + 0x18]
call fcn.0053fcc0
add esp, 0xc
mov dword [esp + 0x58], eax
test eax, eax
je 0x554f39
cmp byte [eax + 0x2b], 0
jne 0x554f39
mov edi, dword [eax + 0x30]
test edi, edi
je 0x554f39
push dword [eax + 0x3c]
push dword [esp + 0x14]
call fcn.005580d0
mov ecx, dword [esp + 0x8c]
xor ebp, ebp
push eax
push ecx
mov dword [esp + 0x54], ebp
mov dword [ecx + 0x2c], 8
call fcn.00534a50
add esp, 0x10
lea ecx, [ecx]
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x553b38
lea ebp, [edi + 0x24]
lea ebx, [ebx]
movzx eax, byte [edi + 0x19]
push 0x5cab3c
push eax
call fcn.004ee630
add esp, 4
push eax
movzx eax, byte [edi + 0x1a]
push eax
call fcn.004ee630
mov ecx, dword [ebp]
add esp, 4
add ecx, ecx
push eax
push dword [ebp + 4]
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push dword [edi + 8]
push ebx
push dword [esp + 0x60]
push str.iissssss
push 1
push esi
call fcn.0056b310
inc ebx
lea ebp, [ebp + 8]
add esp, 0x2c
cmp ebx, dword [edi + 0x14]
jl 0x553ae0
mov ebp, dword [esp + 0x44]
mov edi, dword [edi + 4]
inc ebp
mov dword [esp + 0x44], ebp
test edi, edi
jne 0x553ad0
jmp 0x554f39
mov edx, dword [esp + 0x84]
mov eax, dword [edx + 0x2c]
lea ecx, [eax + 1]
lea ebp, [eax + 6]
mov dword [esp + 0x30], ecx
lea ecx, [eax + 5]
mov dword [edx + 0x2c], ebp
mov eax, dword [esp + 0x10]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x24], ebp
mov eax, dword [eax + 0x10]
mov eax, dword [edi + eax + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x554f39
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x553ba0
push ebx
push ecx
push 0
push edx
call fcn.0054dbc0
add esp, 0x10
mov edi, eax
xor eax, eax
jmp 0x553ba5
mov edi, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edi
test edi, edi
je 0x553f0b
cmp byte [edi + 0x2b], 0
jne 0x553f0b
cmp dword [edi + 0x30], 0
je 0x553f0b
push dword [edi + 0x3c]
push dword [esp + 0x14]
call fcn.005580d0
mov ebx, eax
mov eax, dword [esp + 0x18]
mov edx, ebx
mov dword [esp + 0x4c], ebx
add edx, edx
push ebx
mov ecx, dword [eax + 0x10]
push dword [esp + 0x90]
mov eax, dword [ecx + edx*8]
mov dword [esp + 0x2c], eax
call fcn.00534a50
push dword [edi]
push 0
push dword [edi + 0x14]
push ebx
push dword [esp + 0xa4]
call fcn.0055c810
mov ecx, dword [esp + 0xa8]
add esp, 0x24
movsx eax, word [edi + 0x22]
add eax, ebp
cmp eax, dword [ecx + 0x2c]
jle 0x553c26
mov dword [ecx + 0x2c], eax
push 0x65
push edi
push ebx
push 0
push ecx
call fcn.0054ed80
push dword [edi]
push dword [esp + 0x48]
push esi
call fcn.00569ab0
mov ebx, dword [edi + 0x30]
add esp, 0x20
mov ebp, 1
test ebx, ebx
je 0x553d01
push dword [esp + 0x1c]
push dword [ebx + 8]
push dword [esp + 0x18]
call fcn.0053fcc0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x553cf1
push dword [edi]
mov dword [esp + 0x30], 0
push 0
push dword [edi + 0x14]
push dword [esp + 0x50]
push dword [esp + 0x94]
call fcn.0055c810
push 0
lea eax, [esp + 0x44]
push eax
push ebx
push edi
push dword [esp + 0xa8]
call fcn.00541480
add esp, 0x28
test eax, eax
jne 0x554f39
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x553cce
push 0x65
push edi
push dword [esp + 0x4c]
push ebp
push dword [esp + 0x94]
call fcn.0054ed80
add esp, 0x14
jmp 0x553cf1
push dword [esp + 0x44]
push dword [eax + 0x2c]
push ebp
push 0x65
push esi
call fcn.00560db0
push dword [esp + 0x40]
push dword [esp + 0x9c]
call fcn.0056c270
add esp, 0x1c
mov ebx, dword [ebx + 4]
inc ebp
test ebx, ebx
jne 0x553c51
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x84]
cmp dword [eax + 0x28], ebp
jge 0x553d10
mov dword [eax + 0x28], ebp
push 0
push 0x26
push esi
call fcn.00560cf0
mov ebx, dword [edi + 0x30]
add esp, 0xc
mov dword [esp + 0x28], 1
mov ebp, eax
mov dword [esp + 0x50], ebp
test ebx, ebx
je 0x553ee7
jmp 0x553d40
push dword [esp + 0x1c]
push dword [ebx + 8]
push dword [esp + 0x18]
call fcn.0053fcc0
mov edi, dword [esp + 0x90]
xor ecx, ecx
add esp, 0xc
mov dword [esp + 0x54], eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0x38], ecx
test eax, eax
je 0x553d89
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esp + 0x30]
push ecx
push ebx
push eax
push edi
call fcn.00541480
mov ecx, dword [esp + 0x4c]
add esp, 0x14
dec dword [edi + 0x38]
mov eax, dword [ebx + 0x14]
mov edx, dword [esp + 0x24]
add eax, edx
mov ebp, dword [edi + 0x38]
mov dword [esp + 0x48], ebp
cmp eax, dword [edi + 0x2c]
jle 0x553da4
mov dword [edi + 0x2c], eax
xor edi, edi
cmp dword [ebx + 0x14], edi
jle 0x553dfb
lea eax, [ebx + 0x24]
mov ebp, edx
mov dword [esp + 0x4c], eax
test ecx, ecx
je 0x553dbd
mov eax, dword [ecx + edi*4]
jmp 0x553dbf
mov eax, dword [eax]
push ebp
push eax
push 0
push dword [esp + 0x48]
push esi
call fcn.0053ad40
push dword [esp + 0x5c]
push ebp
push 0x32
push esi
call fcn.00560d50
mov eax, dword [esp + 0x70]
inc edi
mov ecx, dword [esp + 0x5c]
add eax, 8
add esp, 0x24
mov dword [esp + 0x4c], eax
inc ebp
cmp edi, dword [ebx + 0x14]
jl 0x553db4
mov ebp, dword [esp + 0x48]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x553e3e
push dword [ebx + 0x14]
push eax
push dword [esp + 0x18]
call fcn.0054a9e0
mov edi, dword [esp + 0x64]
add esp, 8
push eax
push edi
push dword [ebx + 0x14]
push dword [esp + 0x34]
push 0x60
push esi
call fcn.00560e10
push 0
push edi
mov edi, dword [esp + 0x4c]
push ebp
push edi
push 0x1f
push esi
call fcn.00560ee0
add esp, 0x34
jmp 0x553e64
cmp dword [esp + 0x54], 0
mov edi, dword [esp + 0x28]
je 0x553e64
mov eax, dword [esi + 0x74]
push edx
add eax, 2
push eax
push edi
push 0x20
push esi
call fcn.00560db0
push ebp
push esi
call fcn.005690e0
add esp, 0x1c
mov eax, dword [esp + 0x3c]
test byte [eax + 0x1c], 0x80
mov eax, dword [esp + 0x30]
jne 0x553e7d
inc eax
push eax
push 0
push 0x86
jmp 0x553e83
inc eax
push eax
push 0
push 0x4a
push esi
call fcn.00560d50
add esp, 0x10
lea eax, [edi - 1]
push eax
push dword [ebx + 8]
mov eax, dword [esp + 0x38]
push 0x5cab50
add eax, 2
push eax
push esi
call fcn.0056b310
push 4
push dword [esp + 0x48]
push 0x53
push esi
call fcn.00560d50
push ebp
push esi
call fcn.0056bef0
mov eax, dword [esp + 0x64]
add esp, 0x2c
test eax, eax
je 0x553ed3
push eax
push dword [esp + 0x14]
call fcn.00537780
add esp, 8
mov ebx, dword [ebx + 4]
inc edi
mov dword [esp + 0x28], edi
test ebx, ebx
jne 0x553d40
mov ebp, dword [esp + 0x50]
lea eax, [ebp + 1]
push eax
push 0
push 5
push esi
call fcn.00560d50
push ebp
push esi
call fcn.005697d0
mov ebp, dword [esp + 0x3c]
add esp, 0x18
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x84]
test eax, eax
jne 0x553b85
jmp 0x554f39
test edx, edx
je 0x554f39
push 0
push edx
call fcn.005494a0
movzx eax, al
push eax
push dword [esp + 0x1c]
call fcn.00556060
add esp, 0x10
jmp 0x554f39
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x34]
movzx eax, byte [eax]
cmp byte [eax + 0x5c0080], 0x71
mov eax, dword [esp + 0x8c]
sete cl
mov dword [esp + 0x4c], ecx
cmp dword [eax], 0
jne 0x553f76
or edi, 0xffffffff
mov dword [esp + 0x18], edi
jmp 0x553f7a
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x84]
mov ebp, 0x64
mov dword [esp + 0x44], ebp
mov dword [esp + 0x40], ebp
mov dword [ebx + 0x2c], 6
test edx, edx
je 0x553ff0
lea eax, [esp + 0x40]
push eax
push edx
call fcn.005495b0
add esp, 8
test eax, eax
je 0x553fbe
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x44], ebp
test ebp, ebp
jg 0x553ff0
mov ebp, 0x64
jmp 0x553fec
test edi, edi
js 0x553fd2
mov eax, dword [esp + 0x10]
mov ecx, edi
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
jmp 0x553fd4
xor eax, eax
push eax
push dword [esp + 0x18]
push 0
push ebx
call fcn.0054dbc0
mov ebp, dword [esp + 0x50]
add esp, 0x10
mov dword [esp + 0x20], eax
mov dword [esp + 0x44], ebp
push 1
lea ecx, [ebp - 1]
push ecx
push 0x47
push esi
call fcn.00560d50
mov eax, dword [esp + 0x20]
xor ecx, ecx
add esp, 0x10
mov dword [esp + 0x2c], ecx
cmp dword [eax + 0x14], ecx
jle 0x554951
xor ebp, ebp
test edi, edi
js 0x554022
cmp ecx, edi
jne 0x55493f
push ecx
push ebx
call fcn.00534a50
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, dword [esp + 0x2c]
xor edx, edx
shl ecx, 4
mov dword [esp + 0x58], ecx
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + ecx + 0xc]
add ebx, 8
mov dword [esp + 0x50], ebx
mov edi, dword [ebx + 8]
test edi, edi
je 0x55492c
mov ecx, dword [esp + 0x20]
lea ebx, [ebx]
mov eax, dword [edi + 8]
test ecx, ecx
je 0x55406b
cmp ecx, eax
jne 0x554093
test byte [eax + 0x1c], 0x80
jne 0x554072
inc edx
mov eax, dword [eax + 8]
xor ecx, ecx
test eax, eax
je 0x554089
jmp 0x554080
mov eax, dword [eax + 0x14]
inc edx
inc ecx
test eax, eax
jne 0x554080
cmp ecx, ebp
jle 0x55408f
mov ebp, ecx
mov ecx, dword [esp + 0x20]
mov edi, dword [edi]
test edi, edi
jne 0x554060
test edx, edx
je 0x55492c
test ecx, ecx
je 0x5540a6
inc edx
lea eax, [edx*4 + 4]
push 0
push eax
push dword [esp + 0x18]
call fcn.00537860
mov edi, eax
add esp, 0xc
test edi, edi
je 0x55494d
mov eax, dword [esp + 0x20]
xor edx, edx
test eax, eax
je 0x5540dc
mov edx, 1
mov dword [edi + 4], 0
mov ebx, dword [ebx + 8]
test ebx, ebx
je 0x55411e
mov esi, dword [esp + 0x20]
mov ecx, dword [ebx + 8]
test esi, esi
je 0x5540f2
cmp esi, ecx
jne 0x554114
test byte [ecx + 0x1c], 0x80
jne 0x5540ff
mov eax, dword [ecx + 0x14]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x554114
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x554106
mov ebx, dword [ebx]
test ebx, ebx
jne 0x5540e7
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x84]
lea ecx, [ebp + 8]
mov dword [edi], edx
mov eax, dword [eax + 0x2c]
cmp eax, ecx
jg 0x554133
mov eax, ecx
mov ebp, dword [esp + 0x84]
push 0xfffffffffffffff1
push edi
push 1
push edx
push 2
push 0x9a
push esi
mov dword [ebp + 0x2c], eax
mov byte [ebp + 0x13], 0
mov dword [ebp + 0x1c], 0
call fcn.00560e10
mov eax, dword [esp + 0x48]
movzx eax, al
push eax
push esi
call fcn.00561350
push 2
push 0x32
push esi
call fcn.00560cf0
mov edx, dword [esp + 0x40]
add esp, 0x30
mov edi, eax
mov eax, dword [esp + 0x58]
mov ecx, dword [edx + 0x10]
push 0xfffffffffffffff9
push dword [ecx + eax]
push str._in_database__s__n
push edx
call fcn.0054e0f0
add esp, 0xc
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.00560e10
push 3
push 3
push 2
push 0x6f
push esi
call fcn.00560db0
push esi
call fcn.00516940
push edi
push esi
call fcn.005697d0
mov eax, dword [esp + 0x8c]
add esp, 0x3c
mov ebx, dword [eax + 8]
mov dword [esp + 0x58], ebx
test ebx, ebx
je 0x5549b2
lea esp, [esp]
mov ebx, dword [ebx + 8]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x50], 0
mov dword [esp + 0x38], 0xffffffff
cmp byte [ebx + 0x2b], 0
jne 0x55491a
mov eax, dword [esp + 0x20]
test eax, eax
je 0x554211
cmp eax, ebx
jne 0x55491a
test byte [ebx + 0x1c], 0x80
jne 0x554221
mov dword [esp + 0x28], 0
jmp 0x55422e
push ebx
call fcn.005555b0
add esp, 4
mov dword [esp + 0x28], eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x40]
push eax
push 0
push 1
push 0
push 0x65
push ebx
push ebp
call fcn.0054eea0
push 7
push 0
push 0x47
push esi
call fcn.00560d50
mov edi, dword [ebx + 8]
add esp, 0x30
test edi, edi
je 0x55427c
mov ebx, 8
push ebx
push 0
push 0x47
push esi
call fcn.00560d50
mov edi, dword [edi + 0x14]
add esp, 0x10
inc ebx
test edi, edi
jne 0x554262
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x3c]
push 0
push ebp
push 0x26
push esi
call fcn.00560d50
push 1
push 7
push 0x55
push esi
call fcn.00560d50
add esp, 0x20
mov dword [esp + 0x64], eax
cmp dword [esp + 0x4c], 0
jne 0x5542c4
movsx ecx, word [ebx + 0x24]
push 3
dec ecx
push ecx
push ebp
push 0x5d
push esi
call fcn.00560db0
push pe_nt_image_headers32
push esi
call fcn.00561350
add esp, 0x1c
movzx ecx, word [ebx + 0x1e]
xor eax, eax
and ecx, 1
xor ebp, ebp
mov dword [esp + 0x30], ecx
cmp ax, word [ebx + 0x22]
jge 0x55447f
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x1c]
mov ebx, dword [ebx + 4]
add ebx, eax
movsx eax, word [edx + 0x20]
cmp ebp, eax
je 0x554465
test byte [ebx + 4], 0xf
jne 0x554317
test ecx, ecx
je 0x554465
mov eax, dword [esp + 0x84]
dec dword [eax + 0x38]
mov edi, dword [eax + 0x38]
mov dword [esp + 0x48], edi
jmp 0x554336
test ecx, ecx
je 0x55432e
mov eax, dword [esp + 0x84]
dec dword [eax + 0x38]
mov edi, dword [eax + 0x38]
mov dword [esp + 0x48], edi
jmp 0x554336
mov dword [esp + 0x48], 0
push 3
push ebp
push dword [esp + 0x44]
push edx
push esi
call fcn.0053ad40
push 0xffffffffffffffff
push esi
call fcn.005690b0
add esp, 0x1c
cmp byte [eax], 0x5d
jne 0x554362
push pe_nt_image_headers32
push esi
call fcn.00561350
add esp, 8
test byte [ebx + 4], 0xf
je 0x5543d0
push 3
push 0x33
push esi
call fcn.00560cf0
push dword [ebx]
mov edi, eax
mov eax, dword [esp + 0x2c]
push dword [eax]
push str.NULL_value_in__s._s
push dword [esp + 0x28]
call fcn.0054e0f0
push 0xfffffffffffffff9
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.00560e10
add esp, 0x38
cmp dword [esp + 0x30], 0
je 0x5543bd
mov eax, dword [ebx + 4]
and al, 0xf0
cmp al, 0x10
je 0x5543bd
push dword [esp + 0x48]
push esi
call fcn.005690e0
add esp, 8
jmp 0x5543c6
push esi
call fcn.00516940
add esp, 4
push edi
push esi
call fcn.005697d0
add esp, 8
mov eax, dword [esp + 0x1c]
test dword [eax + 0x1c], 0x10000
je 0x554461
mov eax, dword [ebx + 4]
shr eax, 4
and eax, 0xf
cmp eax, 1
je 0x554461
movsx eax, byte [eax + 0x5c042f]
push eax
push 0
push 3
push 0x15
push esi
call fcn.00560db0
mov edx, dword [esp + 0x30]
mov edi, eax
mov eax, dword [esp + 0x54]
mov ecx, dword [edx + 4]
push dword [ecx + eax]
mov ecx, dword [ebx + 4]
push dword [edx]
shr ecx, 4
and ecx, 0xf
push dword [ecx*4 + 0x8f4f2c]
push str.non__s_value_in__s._s
push dword [esp + 0x34]
call fcn.0054e0f0
push 0xfffffffffffffff9
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.00560e10
add esp, 0x44
push dword [esp + 0x48]
push esi
call fcn.0056bef0
push esi
call fcn.00516940
push edi
push esi
call fcn.005697d0
add esp, 0x14
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x1c]
inc ebp
add dword [esp + 0x40], 0x10
movsx eax, word [ebx + 0x22]
cmp ebp, eax
mov eax, dword [esp + 0x40]
jl 0x5542e1
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x55457c
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x20]
and eax, 0x200
or eax, 0
jne 0x55457c
push eax
push ecx
push edi
call fcn.0053e850
add esp, 0xc
mov ebx, eax
cmp byte [edi + 0x57], 0
mov dword [esp + 0x48], ebx
jne 0x55456a
mov edx, dword [esp + 0x84]
mov ebp, dword [edx + 0x38]
dec ebp
lea eax, [ebp - 1]
mov dword [edx + 0x38], eax
mov eax, dword [esp + 0x3c]
inc eax
mov dword [edx + 0x34], eax
mov edi, dword [ebx]
dec edi
test edi, edi
jle 0x55450a
lea eax, [edi + edi*4]
mov esi, edx
lea ebx, [ebx + eax*4]
add ebx, 8
push 0
push ebp
push dword [ebx]
push esi
call fcn.0053d910
dec edi
lea ebx, [ebx - 0x14]
add esp, 0x10
test edi, edi
jg 0x5544e5
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x48]
mov edx, dword [esp + 0x84]
push 0x10
lea edi, [ebp - 1]
push edi
push dword [ebx + 8]
push edx
call fcn.0053dd40
push ebp
push esi
call fcn.0056bef0
mov eax, dword [esp + 0x9c]
mov dword [eax + 0x34], 0
mov eax, dword [esp + 0x34]
push dword [eax]
push str.CHECK_constraint_failed_in__s
push dword [esp + 0x30]
call fcn.0054e0f0
push 0xfffffffffffffff9
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.00560e10
add esp, 0x40
push esi
call fcn.00516940
push edi
push esi
call fcn.0056bef0
mov edi, dword [esp + 0x1c]
add esp, 0xc
test ebx, ebx
je 0x554578
push ebx
push edi
call fcn.004fef40
add esp, 8
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x4c]
test ebp, ebp
jne 0x5547fa
mov ebx, dword [ebx + 8]
test ebx, ebx
je 0x5547fa
mov ecx, dword [esp + 0x54]
mov eax, 8
mov ebp, dword [esp + 0x84]
sub eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x30], ecx
mov edi, dword [ebp + 0x38]
dec edi
mov dword [ebp + 0x38], edi
cmp eax, ebx
je 0x5547e7
push dword [esp + 0x38]
lea eax, [esp + 0x64]
push dword [esp + 0x54]
push eax
push 0
push 0
push dword [esp + 0x50]
push ebx
push ebp
call fcn.00548d30
mov ecx, dword [esp + 0x50]
add ecx, dword [esp + 0x68]
push 1
push ecx
push 0x55
push esi
mov dword [esp + 0x68], eax
mov dword [esp + 0x80], ebx
call fcn.00560d50
movzx ecx, word [ebx + 0x34]
push ecx
push dword [esp + 0x6c]
push edi
push dword [esp + 0x6c]
push 0x1f
push esi
call fcn.00560ee0
add esp, 0x48
mov edi, eax
push 0
push str.row
push 0
push 3
push 0
push 0x75
push esi
call fcn.00560e10
push 3
push 3
push 7
push 0x6f
push esi
call fcn.00560db0
push 0
push str._missing_from_index
push 0
push 4
push 0
push 0x75
push esi
call fcn.00560e10
add esp, 0x4c
push 3
push 3
push 4
push 0x6f
push esi
call fcn.00560db0
push 0
push dword [ebx]
push 0
push 4
push 0
push 0x75
push esi
call fcn.00560e10
push 3
push 3
push 4
push 0x6f
push esi
mov dword [esp + 0x84], eax
call fcn.00560db0
add esp, 0x44
push esi
call fcn.00516940
push edi
push esi
mov dword [esp + 0x68], eax
call fcn.005697d0
add esp, 0xc
cmp byte [ebx + 0x36], 0
je 0x55478c
dec dword [ebp + 0x38]
xor eax, eax
mov ebp, dword [ebp + 0x38]
xor edi, edi
cmp ax, word [ebx + 0x32]
jae 0x5546ed
mov eax, dword [ebx + 4]
movsx ecx, word [eax + edi*2]
test ecx, ecx
js 0x5546d1
mov eax, dword [esp + 0x1c]
add ecx, ecx
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 4], 0xf
jne 0x5546e4
mov eax, dword [esp + 0x38]
push ebp
add eax, edi
push eax
push 0x32
push esi
call fcn.00560d50
add esp, 0x10
movzx eax, word [ebx + 0x32]
inc edi
cmp edi, eax
jl 0x5546b6
push dword [esp + 0x30]
push 5
push esi
call fcn.00560cf0
push ebp
push esi
mov edi, eax
call fcn.005690e0
mov edx, dword [esi + 0x74]
add esp, 0x14
test edi, edi
jns 0x55470f
lea edi, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x55471e
mov eax, 0x973ecc
jmp 0x554727
mov eax, dword [esi + 0x70]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
movzx eax, word [ebx + 0x32]
push eax
push dword [esp + 0x3c]
push ebp
push dword [esp + 0x3c]
push 0x28
push esi
call fcn.00560ee0
push 0
push str.non_unique_entry_in_index
push 0
push 3
push 0
push 0x75
push esi
call fcn.00560e10
push dword [esp + 0x74]
push esi
call fcn.005690e0
mov ecx, dword [esi + 0xc]
add esp, 0x3c
not ebp
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x55477c
push ebp
push esi
push ecx
call fcn.005278f0
add esp, 0xc
jmp 0x554785
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x74]
mov dword [ecx + ebp*4], eax
mov ebp, dword [esp + 0x84]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esi + 0x74]
test ecx, ecx
jns 0x55479a
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x5547a9
mov eax, 0x973ecc
jmp 0x5547b2
mov eax, dword [esi + 0x70]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x60]
test edx, edx
je 0x5547e3
mov edi, dword [ebp + 8]
not edx
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x5547da
push edx
push edi
push ecx
call fcn.005278f0
add esp, 0xc
jmp 0x5547e3
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x74]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x28]
mov ebx, dword [ebx + 0x14]
inc dword [esp + 0x30]
test ebx, ebx
jne 0x5545b1
mov ebp, dword [esp + 0x4c]
mov edi, dword [esp + 0x64]
push edi
push dword [esp + 0x40]
push 5
push esi
call fcn.00560d50
mov edx, dword [esi + 0x74]
lea ecx, [edi - 1]
add esp, 0x10
test ecx, ecx
jns 0x55481b
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x55482a
mov eax, 0x973ecc
jmp 0x554833
mov eax, dword [esi + 0x70]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
test ebp, ebp
jne 0x554913
push ebp
push str.wrong__of_entries_in_index
push ebp
push 2
push ebp
push 0x75
push esi
call fcn.00560e10
mov eax, dword [esp + 0x38]
add esp, 0x1c
mov edi, dword [eax + 8]
test edi, edi
je 0x554913
mov eax, dword [esp + 0x28]
mov ebp, 8
jmp 0x554870
cmp eax, edi
je 0x554907
mov eax, dword [esp + 0x54]
add eax, 0xfffffff8
push 3
add eax, ebp
push eax
push 0x61
push esi
call fcn.00560d50
push 3
push 0
push ebp
push 0x35
push esi
call fcn.00560db0
mov ebx, eax
add esp, 0x24
mov eax, dword [esi + 0x74]
test eax, eax
jle 0x5548b5
mov ecx, dword [esi + 0x70]
lea edx, [eax + eax*4]
mov eax, 0x90
mov word [ecx + edx*4 - 0x12], ax
push 0
push dword [edi]
push 0
push 4
push 0
push 0x75
push esi
call fcn.00560e10
push 3
push 2
push 4
push 0x6f
push esi
call fcn.00560db0
push esi
call fcn.00516940
mov edx, dword [esi + 0x74]
add esp, 0x34
test ebx, ebx
jns 0x5548e8
lea ebx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x5548f7
mov eax, 0x973ecc
jmp 0x554900
mov eax, dword [esi + 0x70]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x28]
mov edi, dword [edi + 0x14]
inc ebp
test edi, edi
jne 0x554870
mov ebp, dword [esp + 0x84]
mov ebx, dword [esp + 0x58]
mov ebx, dword [ebx]
mov dword [esp + 0x58], ebx
test ebx, ebx
jne 0x5541e0
mov ebx, dword [esp + 0x84]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x2c], ecx
cmp ecx, dword [eax + 0x14]
jl 0x554014
mov ebp, dword [esp + 0x44]
push 0
push 0x5c2cac
push 7
push esi
call fcn.00560f70
add esp, 0x10
test eax, eax
je 0x554994
mov edx, dword [str.database_disk_image_is_malformed]
mov ecx, 1
sub ecx, ebp
mov byte [eax + 0x29], 0xff
mov dword [eax + 8], ecx
mov ecx, str.unknown_error
mov dword [eax + 0x38], 0x5cac14
mov byte [eax + 0x65], 0xff
test edx, edx
je 0x554991
mov ecx, edx
mov dword [eax + 0x74], ecx
mov eax, dword [esi]
mov ecx, 0x973ecc
mov edx, dword [esi + 0x74]
cmp byte [eax + 0x57], 0
jne 0x5549a7
mov ecx, dword [esi + 0x70]
lea eax, [edx - 2]
mov dword [ecx + 0xc], eax
jmp 0x554f39
mov ebx, ebp
jmp 0x554933
test edx, edx
jne 0x5549f0
mov ebx, dword [esp + 0x84]
push ebx
call fcn.005558b0
add esp, 4
test eax, eax
jne 0x554f39
mov eax, dword [ebx]
movzx eax, byte [eax + 0x54]
push dword [eax*8 + 0x5c4c50]
push esi
call fcn.00529330
add esp, 8
jmp 0x554f39
mov eax, dword [esp + 0x10]
test byte [eax + 0x18], 0x40
jne 0x554f3d
mov eax, dword [str.UTF8]
mov esi, 0x5c4c50
test eax, eax
je 0x554a62
lea esp, [esp]
push eax
push edx
call fcn.0055c450
add esp, 8
test eax, eax
je 0x554a2e
mov eax, dword [esi + 8]
add esi, 8
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x554a10
jmp 0x554a5e
mov cl, byte [esi + 4]
test cl, cl
jne 0x554a37
mov cl, 2
mov edx, dword [esp + 0x10]
mov byte [esp + 0x58], cl
push dword [esp + 0x58]
mov eax, dword [edx + 0x10]
push edx
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], cl
call fcn.0055b0f0
add esp, 8
cmp dword [esi], 0
jne 0x554f39
mov edx, dword [esp + 0x14]
push edx
push str.unsupported_encoding:__s
push dword [esp + 0x8c]
call fcn.00539ba0
jmp 0x554f36
mov ebp, dword [esp + 0x18]
mov edi, dword [ebx + 8]
push ebp
push esi
call fcn.0056cdc0
add esp, 8
cmp dword [esp + 0x14], 0
je 0x554ace
test byte [ebx + 5], 8
jne 0x554ace
push 0
push 0x5c4ce0
push 2
push esi
call fcn.00560f70
push dword [esp + 0x24]
mov esi, eax
mov dword [esi + 4], ebp
mov dword [esi + 0x18], ebp
mov dword [esi + 0x1c], edi
call fcn.0052e130
mov dword [esi + 0x20], eax
add esp, 0x14
mov eax, 1
mov word [esi + 0x16], ax
jmp 0x554f39
push 0
push 0x5c4ce8
push 3
push esi
call fcn.00560f70
add esp, 0x10
mov dword [eax + 4], ebp
mov dword [eax + 0x18], ebp
mov dword [eax + 0x20], edi
and dword [esi + 0xa0], 0xffffffdf
jmp 0x554f39
mov eax, dword [esp + 0x84]
xor edi, edi
push edi
mov dword [eax + 0x2c], 1
call fcn.004da830
add esp, 4
test eax, eax
je 0x554b35
push eax
push 1
push esi
inc edi
call fcn.00569ab0
push 1
push 1
push 0x53
push esi
call fcn.00560d50
push edi
call fcn.004da830
add esp, 0x20
test eax, eax
jne 0x554b12
and dword [esi + 0xa0], 0xffffffdf
jmp 0x554f39
mov eax, dword [esp + 0x8c]
mov ebx, dword [esp + 0x18]
cmp dword [eax], 0
jne 0x554b56
mov ebx, 0xc
xor edi, edi
test edx, edx
je 0x554ba5
push str.full
push edx
call fcn.0055c450
add esp, 8
test eax, eax
jne 0x554b73
lea edi, [eax + 1]
jmp 0x554ba5
mov ebp, dword [esp + 0x14]
push str.restart
push ebp
call fcn.0055c450
add esp, 8
test eax, eax
jne 0x554b8e
lea edi, [eax + 2]
jmp 0x554ba5
push str.truncate
push ebp
call fcn.0055c450
add esp, 8
test eax, eax
jne 0x554ba5
mov edi, 3
mov eax, dword [esp + 0x84]
push 1
push edi
push ebx
push 6
push esi
mov dword [eax + 0x2c], 3
call fcn.00560db0
push 3
push 1
push 0x53
push esi
call fcn.00560d50
add esp, 0x24
jmp 0x554f39
test edx, edx
je 0x554bea
push edx
call fcn.0052e130
push eax
push dword [esp + 0x18]
call fcn.004ea550
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x110], 0x56e740
jne 0x552f7a
mov eax, dword [eax + 0x114]
jmp 0x554f2d
push dword [esp + 0x10]
call fcn.004dc920
add esp, 4
jmp 0x554f39
test edx, edx
je 0x554c38
push edx
call fcn.0052e130
mov ecx, eax
add esp, 4
mov dword [esp + 0x4c], ecx
test cl, 2
je 0x554f39
jmp 0x554c40
mov dword [esp + 0x4c], 0xfffe
mov ecx, dword [esp + 0x84]
mov ebp, dword [esp + 0x18]
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x58], eax
inc eax
cmp dword [esp + 0x1c], 0
mov dword [ecx + 0x28], eax
je 0x554c65
mov eax, ebp
mov dword [esp + 0x48], eax
jmp 0x554c80
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
dec eax
mov dword [esp + 0x48], eax
cmp ebp, eax
jg 0x554da6
lea esp, [esp]
cmp ebp, 1
je 0x554d92
push ebp
push ecx
call fcn.00534a50
mov ecx, dword [esp + 0x18]
add esp, 8
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + edi + 0xc]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x554d87
lea esp, [esp]
mov edi, dword [ebx + 8]
test dword [edi + 0x1c], 0x100
je 0x554d75
mov ax, word [edi + 0x26]
add ax, 0x2e
movzx ebp, ax
mov eax, dword [edi + 8]
test eax, eax
je 0x554cdf
test byte [eax + 0x38], 0x80
je 0x554d22
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x554cd2
test bp, bp
je 0x554d22
push 0x65
push edi
push dword [esp + 0x20]
push dword [esp + 0x64]
push dword [esp + 0x94]
call fcn.0054ed80
mov ecx, dword [esp + 0x60]
movsx eax, bp
and ecx, 1
push eax
mov eax, dword [esi + 0x74]
add ecx, 2
add eax, ecx
push eax
push dword [esp + 0x74]
push 0x23
push esi
call fcn.00560db0
mov ecx, dword [esp + 0x38]
add esp, 0x28
push dword [edi]
mov eax, dword [ecx + 0x10]
mov edi, dword [esp + 0x48]
push dword [eax + edi]
push str.ANALYZE___w_.__w_
push ecx
call fcn.0054e0f0
add esp, 0x10
mov edx, eax
test byte [esp + 0x4c], 1
je 0x554db9
push dword [esp + 0x84]
call fcn.00549790
push 0xfffffffffffffff9
push edx
push 0
mov edi, eax
push edi
push 0
push 0x75
push esi
call fcn.00560e10
push 1
push edi
push 0x53
push esi
call fcn.00560d50
mov ecx, dword [esp + 0x40]
add esp, 0x30
mov edi, dword [esp + 0x44]
mov ebx, dword [ebx]
test ebx, ebx
jne 0x554cb0
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x48]
inc ebp
add edi, 0x10
mov dword [esp + 0x18], ebp
mov dword [esp + 0x44], edi
cmp ebp, eax
jle 0x554c80
push 0xa5
push esi
call fcn.00560ca0
add esp, 8
jmp 0x554f39
push 0xfffffffffffffff9
push edx
push 0
push 0
push 0
push 0x93
push esi
call fcn.00560e10
mov ecx, dword [esp + 0x2c]
add esp, 0x1c
jmp 0x554d79
test edx, edx
je 0x554dfc
lea eax, [esp + 0x64]
push eax
push edx
call fcn.00537be0
add esp, 8
test eax, eax
jne 0x554dfc
push dword [esp + 0x68]
push dword [esp + 0x68]
call fcn.004dca00
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004dca00
push edx
push eax
push esi
call fcn.005292a0
add esp, 0x14
jmp 0x554f39
test edx, edx
je 0x554e65
lea eax, [esp + 0x64]
push eax
push edx
call fcn.00537be0
add esp, 8
test eax, eax
jne 0x554e65
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004dcb10
mov edi, dword [esp + 0x70]
add esp, 8
mov ebx, eax
test edi, edi
jl 0x554e65
mov ecx, dword [esp + 0x64]
jg 0x554e4b
test ecx, ecx
je 0x554e65
mov eax, ebx
or eax, edx
je 0x554e5b
cmp edx, edi
jl 0x554e65
jg 0x554e5b
cmp ebx, ecx
jbe 0x554e65
push edi
push ecx
call fcn.004dcb10
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004dcb10
push edx
push eax
push esi
call fcn.005292a0
add esp, 0x14
jmp 0x554f39
test edx, edx
je 0x554ebf
lea eax, [esp + 0x64]
push eax
push edx
call fcn.00537be0
add esp, 8
test eax, eax
jne 0x554ebf
cmp dword [esp + 0x68], eax
jl 0x554ebf
mov eax, dword [esp + 0x64]
jg 0x554ea4
test eax, eax
jb 0x554ebf
and eax, 0x7fffffff
jl 0x554ebf
cmp eax, 8
jle 0x554eb5
mov eax, 8
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xa4], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xa4]
jmp 0x554f2d
test edx, edx
je 0x554f00
lea eax, [esp + 0x64]
push eax
push edx
call fcn.00537be0
add esp, 8
test eax, eax
jne 0x554f00
cmp dword [esp + 0x68], eax
jl 0x554f00
mov eax, dword [esp + 0x64]
jg 0x554ef1
test eax, eax
jb 0x554f00
mov ecx, dword [esp + 0x10]
and eax, 0x7fffffff
mov dword [ecx + 0x1ec], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1ec]
jmp 0x554f2d
test edx, edx
je 0x554f23
push edx
call fcn.0052e130
push eax
push dword [esp + 0x18]
call fcn.004df080
add esp, 0xc
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1f0]
cdq
push edx
push eax
push esi
call fcn.005292a0
add esp, 0xc
mov eax, dword [esp + 0x10]
push dword [esp + 0x34]
push eax
call fcn.00537780
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x554f5f
push eax
push dword [esp + 0x14]
call fcn.00537780
add esp, 8
pop edi
pop ebx
pop esi
pop ebp
add esp, 0x70
ret