Function at 0x53ce70
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 0x53ceb4
cmp dword [eax + 0x74], esi
jne 0x53ce99
test byte [ebp + 0x50], 8
jne 0x53ce99
mov byte [eax + 0x17], 1
push eax
call fcn.0054be70
mov esi, eax
add esp, 4
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x1c], esi
test esi, esi
je 0x53f601
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.00547810
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
js 0x53f600
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 0x53cf17
push dword [esp + 0x84]
call fcn.00539760
add esp, 4
test eax, eax
jne 0x53f5ff
push dword [esp + 0x58]
push dword [esp + 0x14]
call fcn.00539100
add esp, 8
mov dword [esp + 0x34], eax
test eax, eax
je 0x53f5ff
cmp dword [esp + 0x94], 0
push dword [esp + 0x90]
je 0x53cf57
push 0x5a7f64
push dword [esp + 0x18]
call fcn.00538790
add esp, 0xc
jmp 0x53cf63
push dword [esp + 0x14]
call fcn.00539100
add esp, 8
cmp dword [ebx + 4], 0
mov dword [esp + 0x14], eax
jbe 0x53cf72
mov ebx, dword [ebp]
jmp 0x53cf74
xor ebx, ebx
push ebx
push eax
push dword [esp + 0x3c]
mov dword [esp + 0x28], ebx
push 0x13
push dword [esp + 0x94]
call fcn.00518a60
add esp, 0x14
test eax, eax
jne 0x53f5d9
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.004cd0a0
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x53d012
push 1
push esi
call fcn.005568a0
push 0xffffffffffffffff
push dword [esp + 0x7c]
push ebx
push ebx
push esi
call fcn.00556850
push dword [esp + 0x8c]
push esi
call fcn.005139d0
push dword [esp + 0x94]
call fcn.004ca170
add esp, 0x28
jmp 0x53f5d9
cmp ebx, 0xc
je 0x53d04f
mov eax, dword [esp + 0x70]
test eax, eax
je 0x53d03d
push eax
push 0x585a7c
push dword [esp + 0x8c]
call fcn.00524240
push dword [esp + 0x7c]
call fcn.004ca170
add esp, 0x10
mov eax, dword [esp + 0x84]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x53f5d9
push dword [esp + 0x34]
call fcn.0050e3b0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x53f5d9
test byte [ebx + 5], 1
je 0x53d082
push dword [esp + 0x84]
call fcn.0053ff50
add esp, 4
test eax, eax
jne 0x53f5d9
mov al, byte [ebx + 5]
test al, 2
jne 0x53d09f
test al, 4
je 0x53d095
mov edx, dword [esp + 0x14]
test edx, edx
jne 0x53d0a3
push ebx
push esi
call fcn.00515cd0
add esp, 8
mov edx, dword [esp + 0x14]
movzx eax, byte [ebx + 4]
dec eax
cmp eax, 0x2a
ja case.0x53d0b1.5
jmp dword [eax*4 + 0x53f608]
mov ebx, dword [esp + 0x18]
push ebx
push esi
call fcn.00557460
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x53d0fd
mov eax, dword [esp + 0x84]
push 0
push 0x59dda4
push 9
add dword [eax + 0x2c], 2
push esi
call fcn.0054b610
add esp, 0x10
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x53f5d9
push eax
call fcn.005187d0
push eax
call fcn.00516240
push ebx
push 0
push dword [esp + 0x94]
mov edi, eax
call fcn.00519520
push edi
push 3
push ebx
push 0x63
push esi
call fcn.0054b450
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.0051cf30
add esp, 0x30
jmp 0x53f5d9
mov edi, dword [ebp + 4]
test edx, edx
jne 0x53d15c
test edi, edi
je 0x53d61a
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x24]
jmp 0x53f5cd
push edx
call fcn.005187d0
mov ecx, dword [esp + 0x14]
push 0
push 0
push eax
push edi
mov dword [ecx + 0x64], eax
call fcn.0051cfe0
add esp, 0x14
cmp eax, 7
jne 0x53f5d9
push dword [esp + 0x10]
call fcn.00539330
add esp, 4
jmp 0x53f5d9
mov eax, dword [ebp + 4]
or ebp, 0xffffffff
mov dword [esp + 0x58], eax
test edx, edx
je 0x53d1c8
push str.fast
push edx
call fcn.004d3b70
add esp, 8
test eax, eax
jne 0x53d1b6
lea ebp, [eax + 2]
jmp 0x53d1c8
mov eax, dword [esp + 0x14]
push 0
push eax
call fcn.00533b40
add esp, 8
movzx ebp, al
mov eax, dword [esp + 0x8c]
cmp dword [eax + 4], 0
jne 0x53d205
test ebp, ebp
js 0x53d205
mov eax, dword [esp + 0x10]
xor ebx, ebx
cmp dword [eax + 0x14], ebx
jle 0x53d205
xor edi, edi
mov esi, eax
mov eax, dword [esi + 0x10]
push ebp
push dword [edi + eax + 4]
call fcn.0051ce50
inc ebx
lea edi, [edi + 0x10]
add esp, 8
cmp ebx, dword [esi + 0x14]
jl 0x53d1e8
mov esi, dword [esp + 0x24]
push ebp
push dword [esp + 0x5c]
call fcn.0051ce50
cdq
push edx
push eax
push esi
call fcn.00513940
add esp, 0x14
jmp 0x53f5d9
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.0051f0f0
mov eax, dword [esp + 0x3c]
add esp, 8
inc dword [ebx + 0x2c]
mov edi, dword [ebx + 0x2c]
movzx eax, byte [eax]
cmp byte [eax + 0x59d610], 0x70
jne 0x53d27e
push edi
push ebp
push 0xb0
push esi
call fcn.0054b3f0
add esp, 0x10
push 1
push edi
push 0x53
push esi
call fcn.0054b3f0
add esp, 0x10
jmp 0x53f5d9
mov eax, dword [esp + 0x14]
test eax, eax
je 0x53d2c4
lea ecx, [esp + 0x64]
push ecx
push eax
call fcn.00522280
add esp, 8
test eax, eax
jne 0x53d2c4
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
test ecx, ecx
jg 0x53d2b5
jl 0x53d2c4
test eax, eax
jb 0x53d2c4
test ecx, ecx
jl 0x53d2ca
jg 0x53d2b5
cmp eax, 0xfffffffe
jbe 0x53d2ca
mov eax, 0xfffffffe
mov dword [esp + 0x68], 0
jmp 0x53d2ca
xor eax, eax
mov dword [esp + 0x68], eax
push eax
push edi
push ebp
push 0xb1
push esi
call fcn.0054b450
add esp, 0x14
push 1
push edi
push 0x53
push esi
call fcn.0054b3f0
add esp, 0x10
jmp 0x53f5d9
push edx
mov ebx, str.normal
call fcn.004fee90
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 0x53d36a
cmp ecx, 0xffffffff
jne 0x53d31f
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x59]
jmp 0x53d37b
test eax, eax
jne 0x53d36a
mov eax, dword [esp + 0x10]
mov ebx, 2
cmp dword [eax + 0x14], ebx
jle 0x53d362
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.0053a710
mov ecx, dword [esp + 0x54]
lea edi, [edi + 0x10]
inc ebx
add esp, 8
cmp ebx, dword [esi + 0x14]
jl 0x53d338
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.0053a710
add esp, 8
cmp eax, 1
jne 0x53d385
mov ebx, str.exclusive
push ebx
push esi
call fcn.005139d0
add esp, 8
jmp 0x53f5d9
test edx, edx
je 0x53d3e0
push edx
call fcn.00546b80
add esp, 4
mov edi, eax
xor ebx, ebx
cmp ebx, 6
je 0x53d3e0
mov ecx, dword [ebx*4 + 0x59db74]
test ecx, ecx
je 0x53d3e0
push edi
push ecx
push dword [esp + 0x1c]
call fcn.004d3bf0
add esp, 0xc
test eax, eax
je 0x53d3ca
inc ebx
jmp 0x53d3a5
cmp ebx, 2
jne 0x53d3ff
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x53d404
or ebx, 0xffffffff
mov ecx, dword [esp + 0x8c]
cmp dword [ecx + 4], 0
jne 0x53d40b
xor edx, edx
mov dword [ecx + 4], 1
mov dword [esp + 0x18], edx
jmp 0x53d40f
cmp ebx, 0xffffffff
je 0x53d3e3
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
dec edi
js 0x53d45f
mov ebp, edi
shl ebp, 4
mov edi, edi
mov eax, dword [eax + 0x10]
cmp dword [eax + ebp + 4], 0
je 0x53d44a
cmp edi, edx
je 0x53d434
cmp dword [ecx + 4], 0
jne 0x53d44a
push edi
push esi
call fcn.00557460
push ebx
push 1
push edi
push 7
push esi
call fcn.0054b450
add esp, 0x1c
mov ecx, dword [esp + 0x8c]
sub ebp, 0x10
dec edi
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
jns 0x53d420
push 1
push 1
push 0x53
push esi
call fcn.0054b3f0
add esp, 0x10
jmp 0x53f5d9
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 0x53d4bc
lea eax, [esp + 0x64]
push eax
push edx
call fcn.00522280
mov ecx, dword [esp + 0x70]
add esp, 8
cmp ecx, 0xffffffff
jg 0x53d4b8
jl 0x53d4b1
mov eax, dword [esp + 0x64]
cmp eax, 0xffffffff
jae 0x53d4bc
or eax, 0xffffffff
or ecx, eax
jmp 0x53d4bc
mov eax, dword [esp + 0x64]
push ecx
push eax
push edi
call fcn.0053a680
push edx
push eax
push esi
call fcn.00513940
add esp, 0x18
jmp 0x53f5d9
mov edi, dword [ebp + 4]
test edx, edx
jne 0x53d4f2
push edi
call fcn.0051af20
cdq
push edx
push eax
push esi
call fcn.00513940
add esp, 0x10
jmp 0x53f5d9
push edx
call fcn.004fec80
mov ebx, eax
mov eax, dword [esp + 0x14]
push ebx
push edi
mov byte [eax + 0x5a], bl
call fcn.0051cec0
add esp, 0xc
test eax, eax
jne 0x53f5d9
cmp ebx, 1
je 0x53d521
cmp ebx, 2
jne 0x53f5d9
mov edi, dword [esi + 0x74]
push 0
push 0x59de74
push 5
push esi
call fcn.0054b610
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.00557460
add esp, 0x18
jmp 0x53f5d9
test edx, edx
je 0x53d579
lea eax, [esp + 0x58]
push eax
push edx
call fcn.00533c50
add esp, 8
test eax, eax
je 0x53d579
mov edi, dword [esp + 0x58]
test edi, edi
jg 0x53d57e
mov edi, closesocket
mov ebx, dword [esp + 0x18]
push ebx
push 0
push dword [esp + 0x8c]
call fcn.00519520
push 1
push edi
push 0x47
push esi
call fcn.0054b3f0
push ebx
push 0x3d
push esi
call fcn.0054b390
push 1
push 0x53
push esi
mov edi, eax
call fcn.0054b390
push 0xffffffffffffffff
push 1
push 0x55
push esi
call fcn.0054b3f0
add esp, 0x44
push edi
push 1
push 0x31
push esi
call fcn.0054b3f0
push edi
push esi
call fcn.00553e70
add esp, 0x18
jmp 0x53f5d9
test edx, edx
jne 0x53d5e9
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x50]
jmp 0x53f5cd
push edx
call fcn.005187d0
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.0051cf30
jmp 0x53f5d6
test edx, edx
jne 0x53d633
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x20
or eax, edx
jne 0x53d621
xor eax, eax
jmp 0x53f5cd
push 0
push dword [ebp + 4]
call fcn.0051d110
add esp, 8
jmp 0x53f5cd
lea eax, [esp + 0x4c]
mov dword [esp + 0x4c], 1
push eax
push edx
call fcn.00533c50
mov esi, dword [esp + 0x54]
add esp, 8
test eax, eax
je 0x53d65d
push esi
push dword [ebp + 4]
call fcn.0051d110
add esp, 8
test esi, esi
setne al
movzx eax, al
push eax
push dword [esp + 0x18]
call fcn.00533b40
mov ecx, dword [esp + 0x18]
add esp, 8
test al, al
mov eax, dword [ecx + 0x24]
mov dword [ecx + 0x24], eax
je 0x53d692
or dword [ecx + 0x20], 0x20
push ecx
call fcn.00515a70
add esp, 4
jmp 0x53f5d9
and dword [ecx + 0x20], 0xffffffdf
push ecx
call fcn.00515a70
add esp, 4
jmp 0x53f5d9
test edx, edx
je 0x53d74b
lea eax, [esp + 0x64]
push eax
push edx
call fcn.00522280
mov ebp, dword [esp + 0x70]
add esp, 8
test ebp, ebp
jg 0x53d6e2
jl 0x53d6cc
mov edx, dword [esp + 0x64]
test edx, edx
jae 0x53d6e6
mov edx, dword [0x5d7380]
mov ebp, dword [0x5d7384]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ebp
jmp 0x53d6e6
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x10]
cmp dword [ecx + 4], 0
jne 0x53d6fd
mov dword [ebx + 0x30], edx
mov dword [ebx + 0x34], ebp
mov edi, dword [ebx + 0x14]
dec edi
js 0x53d74b
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 0x53d741
cmp edi, dword [esp + 0x18]
je 0x53d727
cmp dword [ecx + 4], 0
jne 0x53d741
push ebp
push edx
push eax
call fcn.0051cf80
mov ebp, dword [esp + 0x74]
add esp, 0xc
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x8c]
sub ebx, 0x10
dec edi
jns 0x53d710
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.004cd0a0
add esp, 0x10
test eax, eax
jne 0x53d784
push dword [esp + 0x68]
push dword [esp + 0x68]
jmp 0x53f5d0
cmp eax, 0xc
je 0x53f5d9
mov ecx, dword [esp + 0x84]
inc dword [ecx + 0x24]
mov dword [ecx + 0xc], eax
jmp 0x53f5d9
test edx, edx
jne 0x53d7b0
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x56]
jmp 0x53f5cd
push edx
push dword [esp + 0x88]
call fcn.004df5e0
add esp, 8
jmp 0x53f5d9
test edx, edx
jne 0x53d7dd
push dword [0x5e01f8]
push esi
call fcn.005139d0
add esp, 8
jmp 0x53f5d9
cmp byte [edx], 0
je 0x53d81c
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 0x53d803
cmp dword [esp + 0x58], eax
jne 0x53d81c
push str.not_a_writable_directory
push dword [esp + 0x88]
call fcn.00524240
add esp, 8
jmp 0x53f5d9
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x56], 1
ja 0x53d835
push dword [esp + 0x84]
call fcn.00501150
add esp, 4
push dword [0x5e01f8]
call fcn.004ca170
mov eax, dword [esp + 0x18]
add esp, 4
cmp byte [eax], 0
je 0x53d864
push eax
push 0x585a7c
call fcn.004c9b60
add esp, 8
mov dword [0x5e01f8], eax
jmp 0x53f5d9
mov dword [0x5e01f8], 0
jmp 0x53f5d9
test edx, edx
jne 0x53d88b
push dword [0x5e01fc]
push esi
call fcn.005139d0
add esp, 8
jmp 0x53f5d9
cmp byte [edx], 0
je 0x53d8b9
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 0x53d803
cmp dword [esp + 0x58], eax
je 0x53d803
push dword [0x5e01fc]
call fcn.004ca170
mov eax, dword [esp + 0x18]
add esp, 4
cmp byte [eax], 0
je 0x53d8e8
push eax
push 0x585a7c
call fcn.004c9b60
add esp, 8
mov dword [0x5e01fc], eax
jmp 0x53f5d9
mov dword [0x5e01fc], 0
jmp 0x53f5d9
test edx, edx
jne 0x53d905
movzx eax, byte [ebp + 8]
dec eax
jmp 0x53f5cd
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x55], 0
jne 0x53d928
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x88]
call fcn.00524240
add esp, 8
jmp 0x53f5d9
cmp dword [esp + 0x18], 1
je 0x53f5dd
push 1
push 0
push edx
call fcn.004ffd50
inc eax
add esp, 0xc
and eax, 7
jne 0x53d94b
mov eax, 1
push dword [esp + 0x10]
mov byte [ebp + 8], al
mov byte [ebp + 9], 1
call fcn.00515a70
add esp, 4
jmp 0x53f5d9
test edx, edx
jne 0x53d993
push ebx
push esi
call fcn.00515cd0
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 0x53d61a
mov eax, 1
jmp 0x53f5cd
mov eax, dword [esp + 0x10]
mov edi, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
cmp byte [eax + 0x55], 0
jne 0x53d9a9
and edi, 0xffffbfff
push 0
push edx
call fcn.00533b40
add esp, 8
test al, al
je 0x53d9c4
mov eax, dword [esp + 0x10]
or dword [eax + 0x20], edi
or dword [eax + 0x24], ebx
jmp 0x53da17
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 0x53d9ee
test ebx, ebx
jne 0x53d9ee
mov dword [edx + 0x208], ebx
mov dword [edx + 0x20c], ebx
and edi, 1
or edi, 0
je 0x53da17
push str.reset
push dword [esp + 0x18]
call fcn.004d3b70
add esp, 8
test eax, eax
jne 0x53da17
push dword [esp + 0x10]
call fcn.00540da0
add esp, 4
push 0xa5
push esi
call fcn.0054b340
push dword [esp + 0x18]
call fcn.00515a70
jmp 0x53f5d6
test edx, edx
je 0x53f5d9
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x84]
push ebp
push edi
call fcn.0051f080
push ebp
push dword [esp + 0x20]
push 2
push edi
call fcn.00538260
mov ebp, eax
add esp, 0x18
mov dword [esp + 0x40], ebp
test ebp, ebp
je 0x53f5d9
push ebp
mov dword [esp + 0x48], 0
call fcn.0053fc50
push ebp
push edi
mov dword [esp + 0x64], eax
mov dword [edi + 0x2c], 7
call fcn.00557540
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 0x53f5d9
mov edx, dword [esp + 0x40]
lea ebx, [ebx]
movzx ecx, word [ecx + 0xe]
xor edi, edi
test cl, 0x62
je 0x53dae8
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
jne 0x53dad0
inc dword [esp + 0x44]
mov ebp, dword [esp + 0x38]
jmp 0x53db8d
test cl, 0x20
je 0x53dadc
mov edi, 2
jmp 0x53dae8
movzx edi, cl
and edi, 0x40
or edi, 0x20
shr edi, 5
test cl, 1
jne 0x53daf1
xor edx, edx
jmp 0x53db16
mov eax, dword [esp + 0x58]
mov edx, 1
test eax, eax
je 0x53db16
cmp ebp, edx
jl 0x53db16
mov ecx, dword [eax + 4]
movsx eax, word [ecx]
cmp eax, dword [esp + 0x3c]
je 0x53db16
inc edx
add ecx, 2
cmp edx, ebp
jle 0x53db05
mov ebp, dword [esp + 0x38]
push ebp
push dword [esp + 0x44]
call fcn.0051f3c0
add esp, 8
cmp edi, 2
jge 0x53db35
test eax, eax
je 0x53db35
mov ecx, dword [eax + 8]
jmp 0x53db37
xor ecx, ecx
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
mov dword [esp + 0x4c], str.issisii
jne 0x53db4f
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.0051f5e0
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.005559b0
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 0x53dab0
jmp 0x53f5d9
mov eax, dword [esp + 0x84]
mov ebx, dword [esp + 0x1c]
push ebx
push eax
mov dword [eax + 0x2c], 6
call fcn.0051f080
mov eax, dword [esp + 0x18]
add esp, 8
mov dword [esp + 0x48], 0
cmp dword [eax + 0x14], 0
jle 0x53f5dd
xor ebp, ebp
test ebx, ebx
je 0x53dc01
mov eax, dword [eax + 0x10]
push dword [eax + ebp]
push ebx
call fcn.004d3b70
add esp, 8
test eax, eax
jne 0x53dd62
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 0x53dcc3
mov esi, dword [esp + 0x10]
mov edi, edi
mov eax, dword [edx + 8]
dec ebx
test eax, eax
je 0x53dcbf
lea esp, [esp]
mov ecx, dword [eax + 8]
cmp word [ecx + 0x22], 0
je 0x53dc42
mov eax, dword [eax]
test eax, eax
jne 0x53dc30
jmp 0x53dcbf
push dword [ecx]
push str.SELECTFROM__w_
push esi
call fcn.00538790
mov edi, eax
add esp, 0xc
test edi, edi
je 0x53dc87
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.005383f0
push dword [esp + 0x68]
call fcn.004d5640
push edi
push esi
call fcn.00521e20
add esp, 0x28
cmp byte [esi + 0x57], 0
je 0x53dcad
push 0x59c764
push dword [esi + 0x10c]
call fcn.00524240
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 0x53dc20
mov esi, dword [esp + 0x24]
mov ebx, dword [edx + 8]
test ebx, ebx
je 0x53dd5e
mov edi, edi
mov eax, dword [esp + 0x14]
mov edi, dword [ebx + 8]
test eax, eax
je 0x53dcea
push dword [edi]
push eax
call fcn.004d3b70
add esp, 8
test eax, eax
jne 0x53dd54
mov al, byte [edi + 0x2b]
cmp al, 2
jne 0x53dcf8
mov edx, 0x5a6bd8
jmp 0x53dd16
cmp al, 1
jne 0x53dd03
mov edx, str.virtual
jmp 0x53dd16
test dword [edi + 0x1c], 0x1000
mov edx, str.shadow
jne 0x53dd16
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.0053f700
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.005559b0
add esp, 0x24
mov ebx, dword [ebx]
test ebx, ebx
jne 0x53dcd0
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 0x53dbe6
jmp 0x53f5dd
test edx, edx
je 0x53f5d9
mov edi, dword [esp + 0x1c]
push edi
push edx
push dword [esp + 0x18]
call fcn.0052a290
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x53dde0
push edi
push dword [esp + 0x18]
mov edi, dword [esp + 0x8c]
push 2
push edi
call fcn.00538260
add esp, 0x10
test eax, eax
je 0x53f5d9
test byte [eax + 0x1c], 0x80
je 0x53f5d9
push eax
call fcn.0053fc50
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x53f5d9
jmp 0x53dde7
mov edi, dword [esp + 0x84]
push dword [ebp + 0x18]
push dword [esp + 0x14]
call fcn.00542770
mov ecx, dword [ebx + 8]
add esp, 8
or ecx, dword [ebx + 0xc]
mov edx, eax
je 0x53de0d
movzx eax, word [ebp + 0x34]
mov dword [edi + 0x2c], 6
jmp 0x53de18
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.0051f0f0
xor edi, edi
add esp, 8
cmp dword [esp + 0x44], edi
jle 0x53f5d9
lea esp, [esp]
mov eax, dword [ebp + 4]
movzx edx, word [eax + edi*2]
test dx, dx
jns 0x53de50
xor eax, eax
jmp 0x53de5f
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.005559b0
mov eax, dword [ebx + 8]
add esp, 0x18
or eax, dword [ebx + 0xc]
je 0x53dea7
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.005559b0
add esp, 0x18
mov eax, dword [esp + 0x84]
push dword [eax + 0x2c]
push 1
push 0x53
push esi
call fcn.0054b3f0
inc edi
add esp, 0x10
cmp edi, dword [esp + 0x44]
jl 0x53de40
jmp 0x53f5d9
test edx, edx
je 0x53f5d9
mov ebx, dword [esp + 0x1c]
push ebx
push edx
push dword [esp + 0x18]
call fcn.0052a360
mov edi, eax
add esp, 0xc
test edi, edi
je 0x53f5d9
push dword [edi + 0x3c]
push dword [esp + 0x14]
call fcn.00542770
mov ecx, dword [esp + 0x8c]
push eax
push ecx
mov dword [ecx + 0x2c], 5
call fcn.0051f0f0
mov edi, dword [edi + 8]
add esp, 0x10
xor ebx, ebx
test edi, edi
je 0x53f5d9
mov dword [esp + 0x64], 0x5a800c
mov dword [esp + 0x68], 0x5a8010
mov dword [esp + 0x6c], 0x59cacc
jmp 0x53df40
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.005559b0
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x53df40
jmp 0x53f5d9
mov eax, dword [esp + 0x84]
xor edi, edi
mov dword [eax + 0x2c], 3
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x14], edi
jle 0x53f5dd
xor ebx, ebx
jmp 0x53dfa0
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + ebx + 4]
test eax, eax
je 0x53dfc6
push eax
call fcn.0051af70
push eax
push dword [ecx + ebx]
push edi
push 0x5a801c
push 1
push esi
call fcn.005559b0
add esp, 0x1c
mov eax, dword [esp + 0x10]
inc edi
add ebx, 0x10
cmp edi, dword [eax + 0x14]
jl 0x53dfa0
jmp 0x53f5dd
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 0x53f5d9
lea ebx, [ebx]
mov eax, dword [edi + 8]
push dword [eax]
push ebx
push 0x5a8020
push 1
push esi
call fcn.005559b0
mov edi, dword [edi]
add esp, 0x14
inc ebx
test edi, edi
jne 0x53e000
jmp 0x53f5d9
mov eax, dword [esp + 0x10]
mov ebp, 0x5e02b0
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 0x53e064
lea esp, [esp]
push ebx
push 1
push edi
push esi
call fcn.0050e320
mov edi, dword [edi + 0x24]
add esp, 0x10
test edi, edi
jne 0x53e050
add ebp, 4
cmp ebp, 0x5e030c
jl 0x53e042
mov edi, dword [esp + 0x10]
mov edi, dword [edi + 0x1a4]
test edi, edi
je 0x53f5d9
push ebx
push 0
push dword [edi + 8]
push esi
call fcn.0050e320
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x53e081
jmp 0x53f5d9
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x10]
mov dword [eax + 0x2c], 1
mov edi, dword [edi + 0x188]
test edi, edi
je 0x53f5d9
jmp 0x53e0c0
mov eax, dword [edi + 8]
push dword [eax + 4]
push 0x5a5fec
push 1
push esi
call fcn.005559b0
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x53e0c0
jmp 0x53f5d9
mov edi, 0x59cc28
push dword [edi]
push 0x5a5fec
push 1
push esi
call fcn.005559b0
add edi, 0x10
add esp, 0x10
cmp edi, 0x59d058
jl 0x53e0e6
jmp 0x53f5d9
test edx, edx
je 0x53f5d9
mov ebx, dword [esp + 0x1c]
push ebx
push edx
push dword [esp + 0x18]
call fcn.0052a360
add esp, 0xc
mov dword [esp + 0x58], eax
test eax, eax
je 0x53f5d9
cmp byte [eax + 0x2b], 0
jne 0x53f5d9
mov edi, dword [eax + 0x30]
test edi, edi
je 0x53f5d9
push dword [eax + 0x3c]
push dword [esp + 0x14]
call fcn.00542770
mov ecx, dword [esp + 0x8c]
xor ebp, ebp
push eax
push ecx
mov dword [esp + 0x54], ebp
mov dword [ecx + 0x2c], 8
call fcn.0051f0f0
add esp, 0x10
lea ecx, [ecx]
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x53e1d8
lea ebp, [edi + 0x24]
lea ebx, [ebx]
movzx eax, byte [edi + 0x19]
push str.NONE
push eax
call fcn.004d8cd0
add esp, 4
push eax
movzx eax, byte [edi + 0x1a]
push eax
call fcn.004d8cd0
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.005559b0
inc ebx
lea ebp, [ebp + 8]
add esp, 0x2c
cmp ebx, dword [edi + 0x14]
jl 0x53e180
mov ebp, dword [esp + 0x44]
mov edi, dword [edi + 4]
inc ebp
mov dword [esp + 0x44], ebp
test edi, edi
jne 0x53e170
jmp 0x53f5d9
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 0x53f5d9
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x53e240
push ebx
push ecx
push 0
push edx
call fcn.00538260
add esp, 0x10
mov edi, eax
xor eax, eax
jmp 0x53e245
mov edi, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edi
test edi, edi
je 0x53e5ab
cmp byte [edi + 0x2b], 0
jne 0x53e5ab
cmp dword [edi + 0x30], 0
je 0x53e5ab
push dword [edi + 0x3c]
push dword [esp + 0x14]
call fcn.00542770
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.0051f0f0
push dword [edi]
push 0
push dword [edi + 0x14]
push ebx
push dword [esp + 0xa4]
call fcn.00546eb0
mov ecx, dword [esp + 0xa8]
add esp, 0x24
movsx eax, word [edi + 0x22]
add eax, ebp
cmp eax, dword [ecx + 0x2c]
jle 0x53e2c6
mov dword [ecx + 0x2c], eax
push 0x65
push edi
push ebx
push 0
push ecx
call fcn.00539420
push dword [edi]
push dword [esp + 0x48]
push esi
call fcn.00554150
mov ebx, dword [edi + 0x30]
add esp, 0x20
mov ebp, 1
test ebx, ebx
je 0x53e3a1
push dword [esp + 0x1c]
push dword [ebx + 8]
push dword [esp + 0x18]
call fcn.0052a360
mov edi, eax
add esp, 0xc
test edi, edi
je 0x53e391
push dword [edi]
mov dword [esp + 0x30], 0
push 0
push dword [edi + 0x14]
push dword [esp + 0x50]
push dword [esp + 0x94]
call fcn.00546eb0
push 0
lea eax, [esp + 0x44]
push eax
push ebx
push edi
push dword [esp + 0xa8]
call fcn.0052bb20
add esp, 0x28
test eax, eax
jne 0x53f5d9
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x53e36e
push 0x65
push edi
push dword [esp + 0x4c]
push ebp
push dword [esp + 0x94]
call fcn.00539420
add esp, 0x14
jmp 0x53e391
push dword [esp + 0x44]
push dword [eax + 0x2c]
push ebp
push 0x65
push esi
call fcn.0054b450
push dword [esp + 0x40]
push dword [esp + 0x9c]
call fcn.00556910
add esp, 0x1c
mov ebx, dword [ebx + 4]
inc ebp
test ebx, ebx
jne 0x53e2f1
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x84]
cmp dword [eax + 0x28], ebp
jge 0x53e3b0
mov dword [eax + 0x28], ebp
push 0
push 0x26
push esi
call fcn.0054b390
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 0x53e587
jmp 0x53e3e0
push dword [esp + 0x1c]
push dword [ebx + 8]
push dword [esp + 0x18]
call fcn.0052a360
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 0x53e429
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esp + 0x30]
push ecx
push ebx
push eax
push edi
call fcn.0052bb20
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 0x53e444
mov dword [edi + 0x2c], eax
xor edi, edi
cmp dword [ebx + 0x14], edi
jle 0x53e49b
lea eax, [ebx + 0x24]
mov ebp, edx
mov dword [esp + 0x4c], eax
test ecx, ecx
je 0x53e45d
mov eax, dword [ecx + edi*4]
jmp 0x53e45f
mov eax, dword [eax]
push ebp
push eax
push 0
push dword [esp + 0x48]
push esi
call fcn.005253e0
push dword [esp + 0x5c]
push ebp
push 0x32
push esi
call fcn.0054b3f0
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 0x53e454
mov ebp, dword [esp + 0x48]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x53e4de
push dword [ebx + 0x14]
push eax
push dword [esp + 0x18]
call fcn.00535080
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.0054b4b0
push 0
push edi
mov edi, dword [esp + 0x4c]
push ebp
push edi
push 0x1f
push esi
call fcn.0054b580
add esp, 0x34
jmp 0x53e504
cmp dword [esp + 0x54], 0
mov edi, dword [esp + 0x28]
je 0x53e504
mov eax, dword [esi + 0x74]
push edx
add eax, 2
push eax
push edi
push 0x20
push esi
call fcn.0054b450
push ebp
push esi
call fcn.00553780
add esp, 0x1c
mov eax, dword [esp + 0x3c]
test byte [eax + 0x1c], 0x80
mov eax, dword [esp + 0x30]
jne 0x53e51d
inc eax
push eax
push 0
push 0x86
jmp 0x53e523
inc eax
push eax
push 0
push 0x4a
push esi
call fcn.0054b3f0
add esp, 0x10
lea eax, [edi - 1]
push eax
push dword [ebx + 8]
mov eax, dword [esp + 0x38]
push 0x5a8038
add eax, 2
push eax
push esi
call fcn.005559b0
push 4
push dword [esp + 0x48]
push 0x53
push esi
call fcn.0054b3f0
push ebp
push esi
call fcn.00556590
mov eax, dword [esp + 0x64]
add esp, 0x2c
test eax, eax
je 0x53e573
push eax
push dword [esp + 0x14]
call fcn.00521e20
add esp, 8
mov ebx, dword [ebx + 4]
inc edi
mov dword [esp + 0x28], edi
test ebx, ebx
jne 0x53e3e0
mov ebp, dword [esp + 0x50]
lea eax, [ebp + 1]
push eax
push 0
push 5
push esi
call fcn.0054b3f0
push ebp
push esi
call fcn.00553e70
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 0x53e225
jmp 0x53f5d9
test edx, edx
je 0x53f5d9
push 0
push edx
call fcn.00533b40
movzx eax, al
push eax
push dword [esp + 0x1c]
call fcn.00540700
add esp, 0x10
jmp 0x53f5d9
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x34]
movzx eax, byte [eax]
cmp byte [eax + 0x59d610], 0x71
mov eax, dword [esp + 0x8c]
sete cl
mov dword [esp + 0x4c], ecx
cmp dword [eax], 0
jne 0x53e616
or edi, 0xffffffff
mov dword [esp + 0x18], edi
jmp 0x53e61a
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 0x53e690
lea eax, [esp + 0x40]
push eax
push edx
call fcn.00533c50
add esp, 8
test eax, eax
je 0x53e65e
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x44], ebp
test ebp, ebp
jg 0x53e690
mov ebp, 0x64
jmp 0x53e68c
test edi, edi
js 0x53e672
mov eax, dword [esp + 0x10]
mov ecx, edi
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
jmp 0x53e674
xor eax, eax
push eax
push dword [esp + 0x18]
push 0
push ebx
call fcn.00538260
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.0054b3f0
mov eax, dword [esp + 0x20]
xor ecx, ecx
add esp, 0x10
mov dword [esp + 0x2c], ecx
cmp dword [eax + 0x14], ecx
jle 0x53eff1
xor ebp, ebp
test edi, edi
js 0x53e6c2
cmp ecx, edi
jne 0x53efdf
push ecx
push ebx
call fcn.0051f0f0
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 0x53efcc
mov ecx, dword [esp + 0x20]
lea ebx, [ebx]
mov eax, dword [edi + 8]
test ecx, ecx
je 0x53e70b
cmp ecx, eax
jne 0x53e733
test byte [eax + 0x1c], 0x80
jne 0x53e712
inc edx
mov eax, dword [eax + 8]
xor ecx, ecx
test eax, eax
je 0x53e729
jmp 0x53e720
mov eax, dword [eax + 0x14]
inc edx
inc ecx
test eax, eax
jne 0x53e720
cmp ecx, ebp
jle 0x53e72f
mov ebp, ecx
mov ecx, dword [esp + 0x20]
mov edi, dword [edi]
test edi, edi
jne 0x53e700
test edx, edx
je 0x53efcc
test ecx, ecx
je 0x53e746
inc edx
lea eax, [edx*4 + 4]
push 0
push eax
push dword [esp + 0x18]
call fcn.00521f00
mov edi, eax
add esp, 0xc
test edi, edi
je 0x53efed
mov eax, dword [esp + 0x20]
xor edx, edx
test eax, eax
je 0x53e77c
mov edx, 1
mov dword [edi + 4], 0
mov ebx, dword [ebx + 8]
test ebx, ebx
je 0x53e7be
mov esi, dword [esp + 0x20]
mov ecx, dword [ebx + 8]
test esi, esi
je 0x53e792
cmp esi, ecx
jne 0x53e7b4
test byte [ecx + 0x1c], 0x80
jne 0x53e79f
mov eax, dword [ecx + 0x14]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x53e7b4
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x53e7a6
mov ebx, dword [ebx]
test ebx, ebx
jne 0x53e787
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 0x53e7d3
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.0054b4b0
mov eax, dword [esp + 0x48]
movzx eax, al
push eax
push esi
call fcn.0054b9f0
push 2
push 0x32
push esi
call fcn.0054b390
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.00538790
add esp, 0xc
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.0054b4b0
push 3
push 3
push 2
push 0x6f
push esi
call fcn.0054b450
push esi
call fcn.00500fe0
push edi
push esi
call fcn.00553e70
mov eax, dword [esp + 0x8c]
add esp, 0x3c
mov ebx, dword [eax + 8]
mov dword [esp + 0x58], ebx
test ebx, ebx
je 0x53f052
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 0x53efba
mov eax, dword [esp + 0x20]
test eax, eax
je 0x53e8b1
cmp eax, ebx
jne 0x53efba
test byte [ebx + 0x1c], 0x80
jne 0x53e8c1
mov dword [esp + 0x28], 0
jmp 0x53e8ce
push ebx
call fcn.0053fc50
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.00539540
push 7
push 0
push 0x47
push esi
call fcn.0054b3f0
mov edi, dword [ebx + 8]
add esp, 0x30
test edi, edi
je 0x53e91c
mov ebx, 8
push ebx
push 0
push 0x47
push esi
call fcn.0054b3f0
mov edi, dword [edi + 0x14]
add esp, 0x10
inc ebx
test edi, edi
jne 0x53e902
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x3c]
push 0
push ebp
push 0x26
push esi
call fcn.0054b3f0
push 1
push 7
push 0x55
push esi
call fcn.0054b3f0
add esp, 0x20
mov dword [esp + 0x64], eax
cmp dword [esp + 0x4c], 0
jne 0x53e964
movsx ecx, word [ebx + 0x24]
push 3
dec ecx
push ecx
push ebp
push 0x5d
push esi
call fcn.0054b450
push pe_nt_image_headers32
push esi
call fcn.0054b9f0
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 0x53eb1f
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 0x53eb05
test byte [ebx + 4], 0xf
jne 0x53e9b7
test ecx, ecx
je 0x53eb05
mov eax, dword [esp + 0x84]
dec dword [eax + 0x38]
mov edi, dword [eax + 0x38]
mov dword [esp + 0x48], edi
jmp 0x53e9d6
test ecx, ecx
je 0x53e9ce
mov eax, dword [esp + 0x84]
dec dword [eax + 0x38]
mov edi, dword [eax + 0x38]
mov dword [esp + 0x48], edi
jmp 0x53e9d6
mov dword [esp + 0x48], 0
push 3
push ebp
push dword [esp + 0x44]
push edx
push esi
call fcn.005253e0
push 0xffffffffffffffff
push esi
call fcn.00553750
add esp, 0x1c
cmp byte [eax], 0x5d
jne 0x53ea02
push pe_nt_image_headers32
push esi
call fcn.0054b9f0
add esp, 8
test byte [ebx + 4], 0xf
je 0x53ea70
push 3
push 0x33
push esi
call fcn.0054b390
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.00538790
push 0xfffffffffffffff9
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.0054b4b0
add esp, 0x38
cmp dword [esp + 0x30], 0
je 0x53ea5d
mov eax, dword [ebx + 4]
and al, 0xf0
cmp al, 0x10
je 0x53ea5d
push dword [esp + 0x48]
push esi
call fcn.00553780
add esp, 8
jmp 0x53ea66
push esi
call fcn.00500fe0
add esp, 4
push edi
push esi
call fcn.00553e70
add esp, 8
mov eax, dword [esp + 0x1c]
test dword [eax + 0x1c], 0x10000
je 0x53eb01
mov eax, dword [ebx + 4]
shr eax, 4
and eax, 0xf
cmp eax, 1
je 0x53eb01
movsx eax, byte [eax + 0x59d9bf]
push eax
push 0
push 3
push 0x15
push esi
call fcn.0054b450
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 + 0x5d73ec]
push str.non__s_value_in__s._s
push dword [esp + 0x34]
call fcn.00538790
push 0xfffffffffffffff9
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.0054b4b0
add esp, 0x44
push dword [esp + 0x48]
push esi
call fcn.00556590
push esi
call fcn.00500fe0
push edi
push esi
call fcn.00553e70
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 0x53e981
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x53ec1c
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x20]
and eax, 0x200
or eax, 0
jne 0x53ec1c
push eax
push ecx
push edi
call fcn.00528ef0
add esp, 0xc
mov ebx, eax
cmp byte [edi + 0x57], 0
mov dword [esp + 0x48], ebx
jne 0x53ec0a
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 0x53ebaa
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.00527fb0
dec edi
lea ebx, [ebx - 0x14]
add esp, 0x10
test edi, edi
jg 0x53eb85
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.005283e0
push ebp
push esi
call fcn.00556590
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.00538790
push 0xfffffffffffffff9
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.0054b4b0
add esp, 0x40
push esi
call fcn.00500fe0
push edi
push esi
call fcn.00556590
mov edi, dword [esp + 0x1c]
add esp, 0xc
test ebx, ebx
je 0x53ec18
push ebx
push edi
call fcn.004e95e0
add esp, 8
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x4c]
test ebp, ebp
jne 0x53ee9a
mov ebx, dword [ebx + 8]
test ebx, ebx
je 0x53ee9a
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 0x53ee87
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.005333d0
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.0054b3f0
movzx ecx, word [ebx + 0x34]
push ecx
push dword [esp + 0x6c]
push edi
push dword [esp + 0x6c]
push 0x1f
push esi
call fcn.0054b580
add esp, 0x48
mov edi, eax
push 0
push str.row
push 0
push 3
push 0
push 0x75
push esi
call fcn.0054b4b0
push 3
push 3
push 7
push 0x6f
push esi
call fcn.0054b450
push 0
push str._missing_from_index
push 0
push 4
push 0
push 0x75
push esi
call fcn.0054b4b0
add esp, 0x4c
push 3
push 3
push 4
push 0x6f
push esi
call fcn.0054b450
push 0
push dword [ebx]
push 0
push 4
push 0
push 0x75
push esi
call fcn.0054b4b0
push 3
push 3
push 4
push 0x6f
push esi
mov dword [esp + 0x84], eax
call fcn.0054b450
add esp, 0x44
push esi
call fcn.00500fe0
push edi
push esi
mov dword [esp + 0x68], eax
call fcn.00553e70
add esp, 0xc
cmp byte [ebx + 0x36], 0
je 0x53ee2c
dec dword [ebp + 0x38]
xor eax, eax
mov ebp, dword [ebp + 0x38]
xor edi, edi
cmp ax, word [ebx + 0x32]
jae 0x53ed8d
mov eax, dword [ebx + 4]
movsx ecx, word [eax + edi*2]
test ecx, ecx
js 0x53ed71
mov eax, dword [esp + 0x1c]
add ecx, ecx
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 4], 0xf
jne 0x53ed84
mov eax, dword [esp + 0x38]
push ebp
add eax, edi
push eax
push 0x32
push esi
call fcn.0054b3f0
add esp, 0x10
movzx eax, word [ebx + 0x32]
inc edi
cmp edi, eax
jl 0x53ed56
push dword [esp + 0x30]
push 5
push esi
call fcn.0054b390
push ebp
push esi
mov edi, eax
call fcn.00553780
mov edx, dword [esi + 0x74]
add esp, 0x14
test edi, edi
jns 0x53edaf
lea edi, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x53edbe
mov eax, 0x5e05ac
jmp 0x53edc7
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.0054b580
push 0
push str.non_unique_entry_in_index
push 0
push 3
push 0
push 0x75
push esi
call fcn.0054b4b0
push dword [esp + 0x74]
push esi
call fcn.00553780
mov ecx, dword [esi + 0xc]
add esp, 0x3c
not ebp
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x53ee1c
push ebp
push esi
push ecx
call fcn.00511f90
add esp, 0xc
jmp 0x53ee25
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 0x53ee3a
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x53ee49
mov eax, 0x5e05ac
jmp 0x53ee52
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 0x53ee83
mov edi, dword [ebp + 8]
not edx
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x53ee7a
push edx
push edi
push ecx
call fcn.00511f90
add esp, 0xc
jmp 0x53ee83
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 0x53ec51
mov ebp, dword [esp + 0x4c]
mov edi, dword [esp + 0x64]
push edi
push dword [esp + 0x40]
push 5
push esi
call fcn.0054b3f0
mov edx, dword [esi + 0x74]
lea ecx, [edi - 1]
add esp, 0x10
test ecx, ecx
jns 0x53eebb
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x53eeca
mov eax, 0x5e05ac
jmp 0x53eed3
mov eax, dword [esi + 0x70]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
test ebp, ebp
jne 0x53efb3
push ebp
push str.wrong__of_entries_in_index
push ebp
push 2
push ebp
push 0x75
push esi
call fcn.0054b4b0
mov eax, dword [esp + 0x38]
add esp, 0x1c
mov edi, dword [eax + 8]
test edi, edi
je 0x53efb3
mov eax, dword [esp + 0x28]
mov ebp, 8
jmp 0x53ef10
cmp eax, edi
je 0x53efa7
mov eax, dword [esp + 0x54]
add eax, 0xfffffff8
push 3
add eax, ebp
push eax
push 0x61
push esi
call fcn.0054b3f0
push 3
push 0
push ebp
push 0x35
push esi
call fcn.0054b450
mov ebx, eax
add esp, 0x24
mov eax, dword [esi + 0x74]
test eax, eax
jle 0x53ef55
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.0054b4b0
push 3
push 2
push 4
push 0x6f
push esi
call fcn.0054b450
push esi
call fcn.00500fe0
mov edx, dword [esi + 0x74]
add esp, 0x34
test ebx, ebx
jns 0x53ef88
lea ebx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x53ef97
mov eax, 0x5e05ac
jmp 0x53efa0
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 0x53ef10
mov ebp, dword [esp + 0x84]
mov ebx, dword [esp + 0x58]
mov ebx, dword [ebx]
mov dword [esp + 0x58], ebx
test ebx, ebx
jne 0x53e880
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 0x53e6b4
mov ebp, dword [esp + 0x44]
push 0
push 0x5a023c
push 7
push esi
call fcn.0054b610
add esp, 0x10
test eax, eax
je 0x53f034
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], 0x5a80fc
mov byte [eax + 0x65], 0xff
test edx, edx
je 0x53f031
mov ecx, edx
mov dword [eax + 0x74], ecx
mov eax, dword [esi]
mov ecx, 0x5e05ac
mov edx, dword [esi + 0x74]
cmp byte [eax + 0x57], 0
jne 0x53f047
mov ecx, dword [esi + 0x70]
lea eax, [edx - 2]
mov dword [ecx + 0xc], eax
jmp 0x53f5d9
mov ebx, ebp
jmp 0x53efd3
test edx, edx
jne 0x53f090
mov ebx, dword [esp + 0x84]
push ebx
call fcn.0053ff50
add esp, 4
test eax, eax
jne 0x53f5d9
mov eax, dword [ebx]
movzx eax, byte [eax + 0x54]
push dword [eax*8 + 0x5a21e0]
push esi
call fcn.005139d0
add esp, 8
jmp 0x53f5d9
mov eax, dword [esp + 0x10]
test byte [eax + 0x18], 0x40
jne 0x53f5dd
mov eax, dword [str.UTF8]
mov esi, 0x5a21e0
test eax, eax
je 0x53f102
lea esp, [esp]
push eax
push edx
call fcn.00546af0
add esp, 8
test eax, eax
je 0x53f0ce
mov eax, dword [esi + 8]
add esi, 8
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x53f0b0
jmp 0x53f0fe
mov cl, byte [esi + 4]
test cl, cl
jne 0x53f0d7
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.00545790
add esp, 8
cmp dword [esi], 0
jne 0x53f5d9
mov edx, dword [esp + 0x14]
push edx
push str.unsupported_encoding:__s
push dword [esp + 0x8c]
call fcn.00524240
jmp 0x53f5d6
mov ebp, dword [esp + 0x18]
mov edi, dword [ebx + 8]
push ebp
push esi
call fcn.00557460
add esp, 8
cmp dword [esp + 0x14], 0
je 0x53f16e
test byte [ebx + 5], 8
jne 0x53f16e
push 0
push 0x5a2270
push 2
push esi
call fcn.0054b610
push dword [esp + 0x24]
mov esi, eax
mov dword [esi + 4], ebp
mov dword [esi + 0x18], ebp
mov dword [esi + 0x1c], edi
call fcn.005187d0
mov dword [esi + 0x20], eax
add esp, 0x14
mov eax, 1
mov word [esi + 0x16], ax
jmp 0x53f5d9
push 0
push 0x5a2278
push 3
push esi
call fcn.0054b610
add esp, 0x10
mov dword [eax + 4], ebp
mov dword [eax + 0x18], ebp
mov dword [eax + 0x20], edi
and dword [esi + 0xa0], 0xffffffdf
jmp 0x53f5d9
mov eax, dword [esp + 0x84]
xor edi, edi
push edi
mov dword [eax + 0x2c], 1
call fcn.004c4ed0
add esp, 4
test eax, eax
je 0x53f1d5
push eax
push 1
push esi
inc edi
call fcn.00554150
push 1
push 1
push 0x53
push esi
call fcn.0054b3f0
push edi
call fcn.004c4ed0
add esp, 0x20
test eax, eax
jne 0x53f1b2
and dword [esi + 0xa0], 0xffffffdf
jmp 0x53f5d9
mov eax, dword [esp + 0x8c]
mov ebx, dword [esp + 0x18]
cmp dword [eax], 0
jne 0x53f1f6
mov ebx, 0xc
xor edi, edi
test edx, edx
je 0x53f245
push str.full
push edx
call fcn.00546af0
add esp, 8
test eax, eax
jne 0x53f213
lea edi, [eax + 1]
jmp 0x53f245
mov ebp, dword [esp + 0x14]
push str.restart
push ebp
call fcn.00546af0
add esp, 8
test eax, eax
jne 0x53f22e
lea edi, [eax + 2]
jmp 0x53f245
push str.truncate
push ebp
call fcn.00546af0
add esp, 8
test eax, eax
jne 0x53f245
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.0054b450
push 3
push 1
push 0x53
push esi
call fcn.0054b3f0
add esp, 0x24
jmp 0x53f5d9
test edx, edx
je 0x53f28a
push edx
call fcn.005187d0
push eax
push dword [esp + 0x18]
call fcn.004d4bf0
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x110], 0x558de0
jne 0x53d61a
mov eax, dword [eax + 0x114]
jmp 0x53f5cd
push dword [esp + 0x10]
call fcn.004c6fc0
add esp, 4
jmp 0x53f5d9
test edx, edx
je 0x53f2d8
push edx
call fcn.005187d0
mov ecx, eax
add esp, 4
mov dword [esp + 0x4c], ecx
test cl, 2
je 0x53f5d9
jmp 0x53f2e0
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 0x53f305
mov eax, ebp
mov dword [esp + 0x48], eax
jmp 0x53f320
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
dec eax
mov dword [esp + 0x48], eax
cmp ebp, eax
jg 0x53f446
lea esp, [esp]
cmp ebp, 1
je 0x53f432
push ebp
push ecx
call fcn.0051f0f0
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 0x53f427
lea esp, [esp]
mov edi, dword [ebx + 8]
test dword [edi + 0x1c], 0x100
je 0x53f415
mov ax, word [edi + 0x26]
add ax, 0x2e
movzx ebp, ax
mov eax, dword [edi + 8]
test eax, eax
je 0x53f37f
test byte [eax + 0x38], 0x80
je 0x53f3c2
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x53f372
test bp, bp
je 0x53f3c2
push 0x65
push edi
push dword [esp + 0x20]
push dword [esp + 0x64]
push dword [esp + 0x94]
call fcn.00539420
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.0054b450
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.00538790
add esp, 0x10
mov edx, eax
test byte [esp + 0x4c], 1
je 0x53f459
push dword [esp + 0x84]
call fcn.00533e30
push 0xfffffffffffffff9
push edx
push 0
mov edi, eax
push edi
push 0
push 0x75
push esi
call fcn.0054b4b0
push 1
push edi
push 0x53
push esi
call fcn.0054b3f0
mov ecx, dword [esp + 0x40]
add esp, 0x30
mov edi, dword [esp + 0x44]
mov ebx, dword [ebx]
test ebx, ebx
jne 0x53f350
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 0x53f320
push 0xa5
push esi
call fcn.0054b340
add esp, 8
jmp 0x53f5d9
push 0xfffffffffffffff9
push edx
push 0
push 0
push 0
push 0x93
push esi
call fcn.0054b4b0
mov ecx, dword [esp + 0x2c]
add esp, 0x1c
jmp 0x53f419
test edx, edx
je 0x53f49c
lea eax, [esp + 0x64]
push eax
push edx
call fcn.00522280
add esp, 8
test eax, eax
jne 0x53f49c
push dword [esp + 0x68]
push dword [esp + 0x68]
call fcn.004c70a0
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004c70a0
push edx
push eax
push esi
call fcn.00513940
add esp, 0x14
jmp 0x53f5d9
test edx, edx
je 0x53f505
lea eax, [esp + 0x64]
push eax
push edx
call fcn.00522280
add esp, 8
test eax, eax
jne 0x53f505
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004c71b0
mov edi, dword [esp + 0x70]
add esp, 8
mov ebx, eax
test edi, edi
jl 0x53f505
mov ecx, dword [esp + 0x64]
jg 0x53f4eb
test ecx, ecx
je 0x53f505
mov eax, ebx
or eax, edx
je 0x53f4fb
cmp edx, edi
jl 0x53f505
jg 0x53f4fb
cmp ebx, ecx
jbe 0x53f505
push edi
push ecx
call fcn.004c71b0
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004c71b0
push edx
push eax
push esi
call fcn.00513940
add esp, 0x14
jmp 0x53f5d9
test edx, edx
je 0x53f55f
lea eax, [esp + 0x64]
push eax
push edx
call fcn.00522280
add esp, 8
test eax, eax
jne 0x53f55f
cmp dword [esp + 0x68], eax
jl 0x53f55f
mov eax, dword [esp + 0x64]
jg 0x53f544
test eax, eax
jb 0x53f55f
and eax, 0x7fffffff
jl 0x53f55f
cmp eax, 8
jle 0x53f555
mov eax, 8
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xa4], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xa4]
jmp 0x53f5cd
test edx, edx
je 0x53f5a0
lea eax, [esp + 0x64]
push eax
push edx
call fcn.00522280
add esp, 8
test eax, eax
jne 0x53f5a0
cmp dword [esp + 0x68], eax
jl 0x53f5a0
mov eax, dword [esp + 0x64]
jg 0x53f591
test eax, eax
jb 0x53f5a0
mov ecx, dword [esp + 0x10]
and eax, 0x7fffffff
mov dword [ecx + 0x1ec], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1ec]
jmp 0x53f5cd
test edx, edx
je 0x53f5c3
push edx
call fcn.005187d0
push eax
push dword [esp + 0x18]
call fcn.004c9720
add esp, 0xc
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1f0]
cdq
push edx
push eax
push esi
call fcn.00513940
add esp, 0xc
mov eax, dword [esp + 0x10]
push dword [esp + 0x34]
push eax
call fcn.00521e20
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x53f5ff
push eax
push dword [esp + 0x14]
call fcn.00521e20
add esp, 8
pop edi
pop ebx
pop esi
pop ebp
add esp, 0x70
ret