Function at 0x459dc2
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x94
mov eax, dword [0x4b8744]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, ecx
mov dword [ebp - 0x4c], edx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [eax]
mov dword [ebp - 0x44], ecx
mov ecx, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edi
call fcn.0045eb3f
mov esi, eax
mov dword [ebp - 0x40], esi
test esi, esi
je 0x45bca4
mov ecx, esi
call fcn.00439fbe
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x4c]
push 2
pop ecx
mov dword [ebp - 0x58], ecx
mov dword [eax + 0x2c], ecx
lea ecx, [ebp - 0x7c]
push ecx
push dword [ebp - 0x50]
mov ecx, eax
call fcn.0044ed8e
mov dword [ebp - 0x48], eax
pop ecx
pop ecx
test eax, eax
js 0x45bca4
mov ecx, dword [edi + 0x10]
mov edx, eax
shl edx, 4
add ecx, edx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x64], ecx
cmp eax, 1
jne 0x459e5a
mov ecx, dword [ebp - 0x34]
call fcn.00452261
test eax, eax
jne 0x45bca4
mov edx, dword [ebp - 0x7c]
mov ecx, edi
call fcn.0044ecb5
mov dword [ebp - 0x88], eax
test eax, eax
je 0x45bca4
cmp dword [ebp + 0x10], 0
je 0x459e8b
push dword [ebp - 0x44]
push 0x4ad17c
push edi
call fcn.004245bd
add esp, 0xc
jmp 0x459e95
mov edx, dword [ebp - 0x44]
mov ecx, edi
call fcn.0044ecb5
mov ecx, dword [ebp - 0x50]
xor edi, edi
mov dword [ebp - 0x6c], eax
cmp dword [ecx + 4], edi
jbe 0x459eac
mov ecx, dword [ebp - 0x64]
mov ecx, dword [ecx]
mov dword [ebp - 0x5c], ecx
jmp 0x459eb1
mov ecx, edi
mov dword [ebp - 0x5c], edi
push ecx
mov ecx, dword [ebp - 0x34]
push eax
push dword [ebp - 0x88]
push 0x13
pop edx
call fcn.0044e34f
add esp, 0xc
test eax, eax
jne 0x45bc8b
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0x2c]
push ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
push 0xe
push dword [ebp - 0x5c]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x20], edi
push eax
mov dword [eax + 0x184], edi
call fcn.004735ae
add esp, 0x10
mov dword [ebp - 0x4c], eax
test eax, eax
jne 0x459f39
xor edx, edx
mov ecx, esi
inc edx
call fcn.0043b044
push 0xffffffffffffffff
push dword [ebp - 0x2c]
xor edx, edx
mov ecx, esi
push edi
call fcn.0043b0ac
mov edx, dword [ebp - 0x2c]
add esp, 0xc
mov ecx, esi
call fcn.00459c8d
push dword [ebp - 0x2c]
call fcn.00422f62
jmp 0x45bc8a
cmp eax, 0xc
je 0x459f70
cmp dword [ebp - 0x2c], edi
je 0x459f5f
push dword [ebp - 0x2c]
push 0x4a41e8
push dword [ebp - 0x34]
call fcn.00425127
add esp, 0xc
push dword [ebp - 0x2c]
call fcn.00422f62
pop ecx
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x34]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ecx
jmp 0x45bc8b
mov ecx, dword [ebp - 0x88]
call fcn.00459d2a
mov dword [ebp - 0x68], eax
test eax, eax
je 0x45bc8b
test byte [eax + 5], 1
je 0x459f9f
mov ecx, dword [ebp - 0x34]
call fcn.0045c7ae
test eax, eax
jne 0x45bc8b
mov eax, dword [ebp - 0x68]
mov cl, byte [eax + 5]
test cl, 2
jne 0x459fbf
test cl, 4
je 0x459fb3
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
jne 0x459fc2
mov edx, eax
mov ecx, esi
call fcn.00459be6
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
movzx edx, byte [eax + 4]
cmp edx, 0x27
ja case.0x459fcf.3
jmp dword [edx*4 + 0x45bcb6]
mov edi, dword [ebp - 0x48]
mov ecx, esi
mov edx, edi
call fcn.0043a776
mov eax, dword [ebp - 0x6c]
test eax, eax
jne 0x45a012
mov eax, dword [ebp - 0x34]
push ecx
push 0x4a7da0
push 9
add dword [eax + 0x2c], 2
mov ecx, esi
pop edx
call fcn.0043a146
mov dword [eax + 4], edi
mov dword [eax + 0x18], edi
mov dword [eax + 0x7c], 0xfffff830
jmp 0x45bc89
mov ecx, eax
call fcn.00425b10
mov ecx, eax
call fcn.00426100
mov ecx, dword [ebp - 0x34]
xor edx, edx
push edi
mov esi, eax
call fcn.00452369
pop ecx
mov ecx, dword [ebp - 0x40]
push esi
push 3
push edi
push 0x66
pop edx
call fcn.00439d0e
mov ecx, dword [ebp - 0x64]
add esp, 0xc
mov eax, dword [ecx + 0xc]
mov dword [eax + 0x50], esi
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 4]
mov edx, dword [edx + 0x50]
call fcn.00431c9b
jmp 0x45bc8b
mov eax, dword [ebp - 0x64]
mov eax, dword [eax + 4]
mov dword [ebp - 0x4c], eax
test ecx, ecx
jne 0x45a07d
test eax, eax
je 0x45a076
mov ecx, eax
call fcn.00431dbd
mov edi, eax
mov eax, edi
jmp 0x45bc7f
call fcn.00425b10
mov ecx, dword [ebp - 0x30]
mov edx, eax
push edi
push 0xffffffffffffffff
mov dword [ecx + 0x50], eax
mov ecx, dword [ebp - 0x4c]
call fcn.00431d37
pop ecx
pop ecx
cmp eax, 7
jne 0x45bc8b
mov ecx, dword [ebp - 0x30]
call fcn.00423432
jmp 0x45bc8b
mov eax, dword [ebp - 0x64]
or edx, 0xffffffff
mov dword [ebp - 0x3c], edx
mov eax, dword [eax + 4]
mov dword [ebp - 0x4c], eax
test ecx, ecx
je 0x45a0e6
push str.fast
push ecx
call fcn.004251d9
pop ecx
pop ecx
test eax, eax
jne 0x45a0d6
push 2
pop edx
jmp 0x45a0e3
mov ecx, dword [ebp - 0x6c]
xor dl, dl
call fcn.00459a9c
movzx edx, al
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x50]
cmp dword [eax + 4], edi
jne 0x45a123
test edx, edx
js 0x45a123
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0x14], edi
jle 0x45a123
mov esi, dword [ebp - 0x30]
mov eax, edi
mov dword [ebp - 0x44], eax
mov ecx, dword [esi + 0x10]
mov ecx, dword [eax + ecx + 4]
call fcn.00431e11
mov eax, dword [ebp - 0x44]
inc edi
mov edx, dword [ebp - 0x3c]
add eax, 0x10
mov dword [ebp - 0x44], eax
cmp edi, dword [esi + 0x14]
jl 0x45a102
mov esi, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x4c]
call fcn.00431e11
jmp 0x45bc7f
mov edi, dword [ebp - 0x34]
mov ecx, edi
mov edx, dword [ebp - 0x48]
call fcn.004522df
mov eax, dword [ebp - 0x88]
inc dword [edi + 0x2c]
mov edi, dword [edi + 0x2c]
movzx eax, byte [eax]
cmp byte [eax + 0x4a62b0], 0x70
jne 0x45a16c
push edi
push dword [ebp - 0x48]
mov edx, 0x9f
mov ecx, esi
call fcn.00439d92
pop ecx
pop ecx
jmp 0x45a18f
mov ecx, dword [ebp - 0x6c]
call fcn.00425b10
mov ecx, eax
call fcn.00426100
push eax
push edi
push dword [ebp - 0x48]
mov edx, 0xa0
mov ecx, esi
call fcn.00439d0e
add esp, 0xc
push 1
push edi
push 0x43
pop edx
mov ecx, esi
call fcn.00439d92
jmp 0x45bc89
mov edi, str.normal
call fcn.00459ab2
mov edx, eax
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 4]
test eax, eax
jne 0x45a207
cmp edx, 0xffffffff
jne 0x45a1c5
mov eax, dword [ebp - 0x30]
movzx eax, byte [eax + 0x47]
jmp 0x45a219
test eax, eax
jne 0x45a207
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0x14], 2
jle 0x45a204
push 0x20
pop edi
mov esi, eax
mov ecx, dword [esi + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.0043736d
mov ecx, eax
call fcn.0042d9ee
mov eax, dword [ebp - 0x58]
lea edi, [edi + 0x10]
inc eax
mov dword [ebp - 0x58], eax
cmp eax, dword [esi + 0x14]
jl 0x45a1d7
mov esi, dword [ebp - 0x40]
mov edi, str.normal
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x47], dl
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax + 4]
call fcn.0043736d
mov ecx, eax
call fcn.0042d9ee
cmp eax, 1
mov edx, str.exclusive
cmovne edx, edi
mov ecx, esi
call fcn.00459c8d
jmp 0x45bc8b
test ecx, ecx
jne 0x45a23c
or ecx, 0xffffffff
mov dword [ebp - 0x54], ecx
jmp 0x45a2a2
call fcn.00425028
mov edx, eax
xor ecx, ecx
mov dword [ebp - 0x4c], edx
call fcn.00459d1a
mov ecx, eax
or eax, 0xffffffff
mov dword [ebp - 0x44], ecx
test ecx, ecx
je 0x45a291
mov esi, dword [ebp - 0x6c]
push edx
push ecx
push esi
call fcn.00425245
add esp, 0xc
test eax, eax
je 0x45a281
inc edi
mov ecx, edi
call fcn.00459d1a
mov edx, dword [ebp - 0x4c]
mov ecx, eax
mov dword [ebp - 0x44], ecx
test ecx, ecx
jne 0x45a25c
jmp 0x45a284
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x54], edi
push 0
pop edi
test ecx, ecx
jne 0x45a298
or eax, 0xffffffff
mov ecx, eax
mov dword [ebp - 0x54], ecx
jmp 0x45a29e
mov ecx, dword [ebp - 0x54]
or eax, 0xffffffff
cmp ecx, eax
jne 0x45a2b8
mov edx, dword [ebp - 0x50]
cmp dword [edx + 4], edi
jne 0x45a2b8
mov ecx, edi
mov dword [edx + 4], 1
mov dword [ebp - 0x48], ecx
jmp 0x45a2bb
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x30]
mov esi, dword [eax + 0x14]
dec esi
mov dword [ebp - 0x5c], esi
mov esi, dword [ebp - 0x40]
js 0x45a327
mov edx, dword [ebp - 0x5c]
shl edx, 4
mov dword [ebp - 0x38], edx
mov edx, dword [ebp - 0x50]
mov eax, dword [eax + 0x10]
mov esi, dword [ebp - 0x38]
cmp dword [esi + eax + 4], edi
mov esi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x5c]
je 0x45a312
cmp eax, ecx
je 0x45a2f1
cmp dword [edx + 4], edi
jne 0x45a312
mov edx, eax
mov ecx, esi
call fcn.0043a776
push dword [ebp - 0x54]
mov ecx, esi
push 1
push dword [ebp - 0x5c]
push 9
pop edx
call fcn.00439d0e
mov eax, dword [ebp - 0x5c]
add esp, 0xc
sub dword [ebp - 0x38], 0x10
dec eax
mov ecx, dword [ebp - 0x48]
test eax, eax
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x30]
jns 0x45a2d6
xor eax, eax
inc eax
push eax
push eax
jmp 0x45a192
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax + 4]
call fcn.0043736d
push 0xfffffffffffffffe
mov edi, eax
or edx, 0xffffffff
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x18], edx
pop ecx
mov dword [ebp - 0x1c], ecx
test eax, eax
je 0x45a37d
lea edx, [ebp - 0x1c]
mov ecx, eax
call fcn.004258c0
mov edx, dword [ebp - 0x18]
or eax, 0xffffffff
cmp edx, eax
jg 0x45a37a
jl 0x45a36e
mov ecx, dword [ebp - 0x1c]
cmp ecx, eax
jae 0x45a37d
mov ecx, eax
mov edx, eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], edx
jmp 0x45a37d
mov ecx, dword [ebp - 0x1c]
push edx
push ecx
mov ecx, edi
call fcn.0042dafb
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
push edx
push eax
mov ecx, esi
call fcn.00459c5d
add esp, 0x10
jmp 0x45bc8b
mov eax, dword [ebp - 0x64]
mov edi, dword [eax + 4]
test ecx, ecx
jne 0x45a3b3
mov ecx, edi
call fcn.00431ead
jmp 0x45bc7f
call fcn.00459ae1
mov ecx, eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x44], ecx
mov edx, ecx
mov byte [eax + 0x48], cl
mov ecx, edi
call fcn.00431e59
test eax, eax
jne 0x45bc8b
mov eax, dword [ebp - 0x44]
cmp eax, 1
je 0x45a3e5
cmp eax, 2
jne 0x45bc8b
mov ecx, esi
call fcn.0043a10e
push ecx
push 0x4a6cd0
push 5
pop edx
mov esi, eax
call fcn.0043a146
mov edx, dword [ebp - 0x48]
pop ecx
pop ecx
lea ecx, [esi + 4]
mov dword [eax + 4], edx
mov dword [eax + 0x30], ecx
mov ecx, dword [ebp - 0x44]
dec ecx
mov dword [eax + 0x18], edx
mov dword [eax + 0x5c], ecx
mov ecx, dword [ebp - 0x40]
mov dword [eax + 0x54], edx
call fcn.0043a776
jmp 0x45bc8b
test ecx, ecx
je 0x45a439
lea edx, [ebp - 0x38]
call fcn.004259aa
test eax, eax
je 0x45a439
cmp dword [ebp - 0x38], edi
jg 0x45a440
mov dword [ebp - 0x38], 0x7fffffff
mov edi, dword [ebp - 0x48]
xor edx, edx
mov ecx, dword [ebp - 0x34]
push edi
call fcn.00452369
pop ecx
push 1
push dword [ebp - 0x38]
mov ecx, esi
push 0x38
pop edx
call fcn.00439d92
push edi
push 0x31
pop edx
mov ecx, esi
call fcn.00439d7e
mov edi, dword [ebp - 0x40]
add esp, 0xc
mov ecx, edi
mov esi, eax
push 1
push 0x43
pop edx
call fcn.00439d7e
pop ecx
push 0xffffffffffffffff
push 1
push 0x45
pop edx
mov ecx, edi
call fcn.00439d92
push esi
push 1
push 0x2e
pop edx
mov ecx, edi
call fcn.00439d92
add esp, 0x10
mov edx, esi
mov ecx, edi
call fcn.0043a243
jmp 0x45bc8b
test ecx, ecx
jne 0x45a4bc
mov eax, dword [ebp - 0x64]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x50]
jmp 0x45bc7f
call fcn.00425b10
mov esi, dword [ebp - 0x64]
mov ecx, dword [esi + 0xc]
mov dword [ecx + 0x50], eax
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 4]
jmp 0x45a04f
test ecx, ecx
jne 0x45a4f8
mov eax, dword [ebp - 0x30]
test byte [eax + 0x18], 0x20
je 0x45a076
mov eax, dword [ebp - 0x64]
xor edx, edx
mov ecx, dword [eax + 4]
call fcn.00431cc0
jmp 0x45a074
lea edx, [ebp - 0x38]
mov dword [ebp - 0x38], 1
call fcn.004259aa
test eax, eax
je 0x45a519
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x38]
mov ecx, dword [eax + 4]
call fcn.00431cc0
cmp dword [ebp - 0x38], edi
mov ecx, dword [ebp - 0x6c]
setne dl
call fcn.00459a9c
test al, al
mov eax, dword [ebp - 0x30]
je 0x45a534
or dword [eax + 0x18], 0x20
jmp 0x45a538
and dword [eax + 0x18], 0xffffffdf
mov ecx, eax
call fcn.00459cb0
jmp 0x45bc8b
test ecx, ecx
je 0x45a5e3
lea edx, [ebp - 0x1c]
call fcn.004258c0
cmp dword [ebp - 0x18], edi
jg 0x45a575
jl 0x45a562
mov eax, dword [ebp - 0x1c]
cmp eax, edi
jae 0x45a578
mov eax, dword [0x4bb6e8]
mov ecx, dword [0x4bb6ec]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], ecx
jmp 0x45a578
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x30]
cmp dword [edx + 4], edi
jne 0x45a58c
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x18]
mov dword [ecx + 0x2c], eax
mov eax, dword [ecx + 0x14]
dec eax
mov dword [ebp - 0x3c], eax
js 0x45a5e3
mov esi, dword [ebp - 0x48]
shl eax, 4
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ecx + 0x10]
mov eax, dword [edx + eax + 4]
test eax, eax
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x3c]
je 0x45a5d4
cmp eax, esi
je 0x45a5be
cmp dword [edx + 4], edi
jne 0x45a5d4
push dword [ebp - 0x18]
mov ecx, dword [ebp - 0x4c]
push dword [ebp - 0x1c]
call fcn.00431ce7
mov eax, dword [ebp - 0x3c]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x30]
sub dword [ebp - 0x38], 0x10
dec eax
mov dword [ebp - 0x3c], eax
test eax, eax
jns 0x45a59e
mov esi, dword [ebp - 0x40]
or eax, 0xffffffff
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x1c]
push eax
push 0x12
push dword [ebp - 0x5c]
push dword [ebp - 0x30]
call fcn.004735ae
mov ecx, eax
add esp, 0x10
test ecx, ecx
jne 0x45a611
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
jmp 0x45bc82
cmp ecx, 0xc
je 0x45bc8b
jmp 0x459f62
test ecx, ecx
jne 0x45a62f
mov eax, dword [ebp - 0x30]
movzx eax, byte [eax + 0x44]
jmp 0x45bc7f
mov edx, ecx
mov ecx, dword [ebp - 0x34]
call fcn.00459bb5
jmp 0x45bc8b
test ecx, ecx
jne 0x45a64d
mov edx, dword [0x4be238]
jmp 0x45a224
cmp byte [ecx], 0
je 0x45a681
lea eax, [ebp - 0x4c]
mov edx, ecx
push eax
mov eax, dword [ebp - 0x30]
push 1
mov ecx, dword [eax]
call fcn.004224f5
pop ecx
pop ecx
test eax, eax
jne 0x45a66f
cmp dword [ebp - 0x4c], edi
jne 0x45a681
push str.not_a_writable_directory
push dword [ebp - 0x34]
call fcn.00425127
jmp 0x45bc89
mov eax, dword [ebp - 0x30]
cmp byte [eax + 0x44], 1
ja 0x45a692
mov ecx, dword [ebp - 0x34]
call fcn.00459b6e
push dword [0x4be238]
call fcn.00422f62
mov eax, dword [ebp - 0x6c]
pop ecx
cmp byte [eax], 0
je 0x45a6bb
push eax
push 0x4a41e8
call fcn.00424635
mov dword [0x4be238], eax
jmp 0x45bc89
mov dword [0x4be238], edi
jmp 0x45bc8b
test ecx, ecx
jne 0x45a6d5
mov edx, dword [0x4be07c]
jmp 0x45a224
cmp byte [ecx], 0
je 0x45a6ff
lea eax, [ebp - 0x4c]
mov edx, ecx
push eax
mov eax, dword [ebp - 0x30]
push 1
mov ecx, dword [eax]
call fcn.004224f5
pop ecx
pop ecx
test eax, eax
jne 0x45a66f
cmp dword [ebp - 0x4c], edi
je 0x45a66f
push dword [0x4be07c]
call fcn.00422f62
mov eax, dword [ebp - 0x6c]
pop ecx
cmp byte [eax], 0
je 0x45a728
push eax
push 0x4a41e8
call fcn.00424635
mov dword [0x4be07c], eax
jmp 0x45bc89
mov dword [0x4be07c], edi
jmp 0x45bc8b
test ecx, ecx
jne 0x45a744
mov eax, dword [ebp - 0x64]
movzx eax, byte [eax + 8]
dec eax
jmp 0x45bc7f
mov edx, dword [ebp - 0x30]
cmp byte [edx + 0x43], 0
jne 0x45a757
push str.Safety_level_may_not_be_changed_inside_a_transaction
jmp 0x45a674
xor eax, eax
inc eax
cmp dword [ebp - 0x48], eax
je 0x45bc8b
push eax
xor edx, edx
call fcn.00459a27
mov edx, dword [ebp - 0x64]
inc eax
pop ecx
push 1
and eax, 7
pop ecx
cmove eax, ecx
mov byte [edx + 9], cl
mov byte [edx + 8], al
mov ecx, dword [ebp - 0x30]
jmp 0x45a53a
test ecx, ecx
jne 0x45a7ab
mov edx, eax
mov ecx, esi
call fcn.00459be6
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx + 8]
mov ecx, dword [ebp - 0x30]
and eax, dword [ecx + 0x18]
neg eax
sbb eax, eax
neg eax
jmp 0x45bc7f
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x38], edx
cmp byte [eax + 0x43], 0
jne 0x45a7c3
and edx, 0xffffbfff
mov dword [ebp - 0x38], edx
xor dl, dl
call fcn.00459a9c
test al, al
je 0x45a7d9
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x38]
or dword [eax + 0x18], edx
jmp 0x45a7f9
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
not eax
and dword [ecx + 0x18], eax
cmp dword [ebp - 0x38], 0x40000
jne 0x45a7f9
mov dword [ecx + 0x1c0], edi
mov dword [ecx + 0x1c4], edi
mov edx, 0x97
mov ecx, esi
call fcn.00439d70
jmp 0x45a77f
test ecx, ecx
je 0x45bc8b
push dword [ebp - 0x5c]
push ecx
mov ecx, dword [ebp - 0x34]
push 2
pop edx
call fcn.0044e7f7
mov dword [ebp - 0x74], eax
pop ecx
pop ecx
test eax, eax
je 0x45bc8b
mov ecx, eax
mov dword [ebp - 0x38], edi
call fcn.0044ee3e
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x34]
mov ecx, eax
mov dword [eax + 0x2c], 6
call fcn.004522df
mov edx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x34]
call fcn.004503c3
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x68], edi
movsx edx, word [eax + 0x2a]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x78], edx
test edx, edx
jle 0x45bc8b
mov dl, byte [ecx + 0xf]
test dl, 2
je 0x45a885
inc dword [ebp - 0x38]
jmp 0x45a906
xor eax, eax
inc eax
test al, dl
jne 0x45a890
mov edx, edi
jmp 0x45a8c0
cmp dword [ebp - 0x44], 0
mov edx, eax
je 0x45a8c0
cmp dword [ebp - 0x78], eax
jl 0x45a8c0
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x68]
mov edi, dword [eax + 4]
movsx eax, word [edi]
cmp eax, esi
je 0x45a8b8
inc edx
add edi, 2
cmp edx, ecx
jle 0x45a8a9
mov esi, dword [ebp - 0x40]
xor edi, edi
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 4]
test eax, eax
je 0x45a8cc
mov eax, dword [eax + 8]
jmp 0x45a8ce
mov eax, edi
push edx
push eax
xor eax, eax
mov edx, 0x4a3288
cmp byte [ecx + 0xc], al
setne al
push eax
call fcn.0042503c
push eax
mov eax, dword [ebp - 0x3c]
push dword [eax]
mov eax, dword [ebp - 0x68]
sub eax, dword [ebp - 0x38]
push eax
push str.issisi
push 1
push esi
call fcn.00439dd3
mov ecx, dword [ebp - 0x3c]
add esp, 0x24
mov eax, dword [ebp - 0x74]
movsx edx, word [eax + 0x2a]
add ecx, 0x10
inc dword [ebp - 0x68]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x78], edx
cmp dword [ebp - 0x68], edx
jl 0x45a875
jmp 0x45bc8b
test ecx, ecx
je 0x45bc8b
push dword [ebp - 0x5c]
mov edx, ecx
mov ecx, dword [ebp - 0x30]
call fcn.0044e91a
mov edx, eax
mov dword [ebp - 0x44], edx
pop ecx
test edx, edx
je 0x45bc8b
mov ecx, dword [ebp - 0x68]
cmp dword [ecx + 8], edi
je 0x45a962
movzx eax, word [edx + 0x34]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x34]
mov dword [eax + 0x2c], 6
jmp 0x45a973
movzx eax, word [edx + 0x32]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x34]
mov dword [eax + 0x2c], 3
mov ecx, dword [edx + 0xc]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], ecx
mov ecx, eax
call fcn.004522df
mov edx, edi
mov dword [ebp - 0x3c], edi
cmp dword [ebp - 0x38], edx
jle 0x45bc8b
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 4]
movzx eax, word [eax + edx*2]
mov dword [ebp - 0x7c], eax
test ax, ax
jns 0x45a9a7
mov ecx, edi
jmp 0x45a9b8
movsx ecx, ax
mov eax, dword [ebp - 0x4c]
add ecx, ecx
mov eax, dword [eax + 4]
mov ecx, dword [eax + ecx*8]
mov eax, dword [ebp - 0x7c]
push ecx
cwde
push eax
push edx
push str.iisX
push 1
push esi
call fcn.00439dd3
mov eax, dword [ebp - 0x68]
add esp, 0x18
cmp dword [eax + 8], edi
je 0x45aa05
mov edx, dword [ebp - 0x44]
xor ecx, ecx
movzx eax, word [edx + 0x32]
cmp dword [ebp - 0x3c], eax
mov eax, dword [edx + 0x20]
setl cl
push ecx
mov ecx, dword [ebp - 0x3c]
push dword [eax + ecx*4]
mov eax, dword [edx + 0x1c]
movzx eax, byte [eax + ecx]
push eax
push str.isiX
push 4
push esi
call fcn.00439dd3
add esp, 0x18
mov eax, dword [ebp - 0x34]
mov ecx, esi
push dword [eax + 0x2c]
push 1
push 0x43
pop edx
call fcn.00439d92
mov edx, dword [ebp - 0x3c]
inc edx
pop ecx
pop ecx
mov dword [ebp - 0x3c], edx
cmp edx, dword [ebp - 0x38]
jl 0x45a991
jmp 0x45bc8b
test ecx, ecx
je 0x45bc8b
push dword [ebp - 0x5c]
mov edx, ecx
mov ecx, dword [ebp - 0x30]
call fcn.0044e761
mov dword [ebp - 0x4c], eax
pop ecx
test eax, eax
je 0x45bc8b
mov eax, dword [ebp - 0x34]
mov ecx, eax
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x2c], 5
call fcn.004522df
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x38], edi
mov ecx, dword [eax + 8]
mov dword [ebp - 0x44], ecx
test ecx, ecx
je 0x45bc8b
push 3
mov dword [ebp - 0x1c], 0x4ad1f4
mov dword [ebp - 0x18], 0x4ad1f8
mov dword [ebp - 0x14], 0x4acc40
pop edx
xor eax, eax
cmp dword [ecx + 0x24], edi
setne al
push eax
mov eax, dword [ecx + 0x38]
and eax, edx
push dword [ebp + eax*4 - 0x1c]
xor eax, eax
cmp byte [ecx + 0x36], al
setne al
push eax
push dword [ecx]
push dword [ebp - 0x38]
push str.isisi
push 1
push esi
call fcn.00439dd3
mov ecx, dword [ebp - 0x44]
add esp, 0x20
inc dword [ebp - 0x38]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x44], ecx
push 3
pop edx
test ecx, ecx
jne 0x45aa8f
jmp 0x45bc8b
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [eax + 0x2c], 3
cmp dword [edx + 0x14], edi
jle 0x45bc8b
mov eax, edi
mov dword [ebp - 0x38], edi
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [eax + ecx + 4]
test ecx, ecx
je 0x45ab26
call fcn.00437e73
mov ecx, dword [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x38]
push dword [eax + ecx]
push edi
push 0x4ad204
push 1
push esi
call fcn.00439dd3
mov edx, dword [ebp - 0x30]
add esp, 0x18
mov eax, dword [ebp - 0x38]
inc edi
add eax, 0x10
mov dword [ebp - 0x38], eax
cmp edi, dword [edx + 0x14]
jl 0x45aaf2
jmp 0x45bc8b
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [eax + 0x2c], 2
mov eax, dword [edx + 0x174]
jmp 0x45ab68
mov eax, dword [eax + 8]
push dword [eax]
push edi
push 0x4ad208
push 1
push esi
call fcn.00439dd3
mov eax, dword [ebp - 0x44]
add esp, 0x14
inc edi
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
test eax, eax
jne 0x45ab4c
jmp 0x45bc8b
test ecx, ecx
je 0x45bc8b
push dword [ebp - 0x5c]
mov edx, ecx
mov ecx, dword [ebp - 0x30]
call fcn.0044e761
mov dword [ebp - 0x4c], eax
pop ecx
test eax, eax
je 0x45bc8b
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x3c], ecx
test ecx, ecx
je 0x45bc8b
mov eax, dword [ebp - 0x34]
mov ecx, eax
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x74], edi
mov dword [eax + 0x2c], 8
call fcn.004522df
mov eax, dword [ebp - 0x3c]
mov ecx, edi
mov edx, edi
mov dword [ebp - 0x44], edx
cmp dword [eax + 0x14], edi
jle 0x45ac2b
mov edi, dword [ebp - 0x3c]
lea eax, [edi + 0x24]
mov dword [ebp - 0x38], eax
mov cl, byte [edi + 0x19]
push str.NONE
call fcn.00459ceb
mov cl, byte [edi + 0x1a]
push eax
call fcn.00459ceb
push eax
mov eax, dword [ebp - 0x38]
push dword [eax + 4]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x4c]
add ecx, ecx
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push dword [edi + 8]
push edx
push dword [ebp - 0x74]
push str.iissssss
push 1
push esi
call fcn.00439dd3
mov edx, dword [ebp - 0x44]
add esp, 0x2c
add dword [ebp - 0x38], 8
inc edx
mov dword [ebp - 0x44], edx
cmp edx, dword [edi + 0x14]
jl 0x45abd2
mov eax, dword [ebp - 0x3c]
xor edi, edi
mov ecx, dword [ebp - 0x74]
mov eax, dword [eax + 4]
inc ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x3c], eax
test eax, eax
jne 0x45abbf
jmp 0x45bc8b
mov ecx, dword [ebp - 0x34]
mov eax, dword [ecx + 0x2c]
lea edx, [eax + 1]
add eax, 5
mov dword [ebp - 0x68], eax
inc eax
mov dword [ebp - 0x78], edx
mov edx, dword [ebp - 0x48]
mov dword [ecx + 0x2c], eax
call fcn.004522df
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x54]
mov eax, dword [edx + 0x10]
mov eax, dword [eax + ecx + 0xc]
mov ecx, dword [eax + 0x10]
jmp 0x45afa7
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x45ac8f
push dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x34]
xor edx, edx
push eax
call fcn.0044e7f7
pop ecx
pop ecx
mov ecx, edi
mov dword [ebp - 0x70], edi
jmp 0x45ac97
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x54], eax
test eax, eax
je 0x45afa7
cmp dword [eax + 0x10], edi
je 0x45afa7
push dword [eax]
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x34]
push edi
push dword [eax + 0x1c]
call fcn.0044e3f8
mov ecx, dword [ebp - 0x54]
add esp, 0xc
mov edx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x40]
inc edx
movsx eax, word [ecx + 0x2a]
add edx, eax
mov eax, dword [ebp - 0x34]
cmp edx, dword [eax + 0x2c]
jle 0x45acda
mov dword [eax + 0x2c], edx
push 0x68
push ecx
push dword [ebp - 0x48]
xor edx, edx
mov ecx, eax
call fcn.00456db5
mov eax, dword [ebp - 0x54]
add esp, 0xc
mov edx, dword [ebp - 0x78]
mov ecx, esi
push dword [eax]
call fcn.00439db8
mov eax, dword [ebp - 0x54]
pop ecx
xor ecx, ecx
inc ecx
mov eax, dword [eax + 0x10]
jmp 0x45ad9f
push dword [ebp - 0x5c]
mov edx, dword [eax + 8]
mov ecx, dword [ebp - 0x30]
call fcn.0044e761
mov dword [ebp - 0x44], eax
pop ecx
test eax, eax
je 0x45ad95
push dword [eax]
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x34]
push edi
push dword [eax + 0x1c]
mov dword [ebp - 0x64], edi
call fcn.0044e3f8
mov edx, dword [ebp - 0x44]
lea eax, [ebp - 0x64]
mov ecx, dword [ebp - 0x34]
add esp, 0xc
push edi
push eax
push dword [ebp - 0x38]
call fcn.004558bb
add esp, 0xc
test eax, eax
jne 0x45bc8b
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x45ad74
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
push 0x68
push dword [ebp - 0x44]
push dword [ebp - 0x48]
call fcn.00456db5
add esp, 0xc
jmp 0x45ad95
push dword [ebp - 0x48]
mov ecx, esi
push dword [eax + 0x2c]
push dword [ebp - 0x3c]
push 0x68
pop edx
call fcn.00439d0e
mov edx, dword [ebp - 0x64]
add esp, 0xc
mov ecx, dword [ebp - 0x34]
call fcn.0043a4f7
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
inc ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], ecx
test eax, eax
jne 0x45ad0a
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x28], ecx
jge 0x45adb8
mov dword [eax + 0x28], ecx
push edi
push 0x25
pop edx
mov ecx, esi
call fcn.00439d7e
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x54]
pop ecx
mov dword [ebp - 0x3c], 1
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x50], eax
test eax, eax
je 0x45af88
mov ecx, dword [ebp - 0x78]
lea edx, [ecx + 1]
add ecx, 2
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x7c], ecx
push dword [ebp - 0x5c]
mov edx, dword [eax + 8]
mov ecx, dword [ebp - 0x30]
call fcn.0044e761
pop ecx
mov ecx, eax
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x58], edi
test ecx, ecx
je 0x45ae28
lea eax, [ebp - 0x58]
mov edx, ecx
mov ecx, dword [ebp - 0x34]
push eax
lea eax, [ebp - 0x64]
push eax
mov eax, dword [ebp - 0x50]
push eax
call fcn.004558bb
add esp, 0xc
mov ecx, esi
call fcn.00439f5e
mov dword [ebp - 0x60], eax
mov ecx, edi
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x44], ecx
cmp dword [eax + 0x14], edi
jle 0x45ae9c
mov edx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x40]
inc edx
add eax, 0x24
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x58]
test eax, eax
je 0x45ae5b
mov eax, dword [eax + ecx*4]
jmp 0x45ae60
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
push edx
mov edx, dword [ebp - 0x54]
mov ecx, esi
push eax
push edi
call fcn.0044a14c
add esp, 0xc
mov ecx, esi
push dword [ebp - 0x60]
push dword [ebp - 0x74]
push 0x4b
pop edx
call fcn.00439d92
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x74]
add dword [ebp - 0x38], 8
pop ecx
pop ecx
mov ecx, dword [ebp - 0x44]
inc ecx
inc edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x74], edx
cmp ecx, dword [eax + 0x14]
jl 0x45ae4f
mov edx, dword [ebp - 0x64]
test edx, edx
je 0x45aee5
push dword [eax + 0x14]
push ecx
mov ecx, dword [ebp - 0x30]
call fcn.00456e3b
pop ecx
mov ecx, dword [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x50]
push ecx
push dword [eax + 0x14]
lea eax, [ecx + 1]
mov ecx, esi
push eax
push 0x63
pop edx
call fcn.00439e58
add esp, 0x14
mov ecx, esi
push edi
push dword [ebp - 0x68]
push dword [ebp - 0x60]
push dword [ebp - 0x3c]
push 0x1e
pop edx
call fcn.00439f0f
add esp, 0x10
jmp 0x45af12
cmp dword [ebp - 0x4c], edi
je 0x45af12
mov eax, dword [ebp - 0x68]
mov ecx, esi
inc eax
push eax
call fcn.0043a10e
add eax, 2
push eax
push dword [ebp - 0x3c]
push 0x1f
pop edx
call fcn.00439d0e
mov edx, dword [ebp - 0x60]
add esp, 0xc
mov ecx, esi
call fcn.00439da7
mov eax, dword [ebp - 0x54]
mov ecx, esi
push dword [ebp - 0x84]
push edi
test byte [eax + 0x24], 0x20
jne 0x45af28
push 0x7b
jmp 0x45af2a
push 0x3b
pop edx
call fcn.00439d92
mov eax, dword [ebp - 0x3c]
pop ecx
pop ecx
dec eax
push eax
mov eax, dword [ebp - 0x50]
push dword [eax + 8]
push 0x4ad220
push dword [ebp - 0x7c]
push esi
call fcn.00439dd3
add esp, 0x14
mov ecx, esi
push 4
push dword [ebp - 0x78]
push 0x43
pop edx
call fcn.00439d92
mov edx, dword [ebp - 0x60]
pop ecx
pop ecx
mov ecx, esi
call fcn.00439fa0
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x30]
call fcn.00423004
mov eax, dword [ebp - 0x50]
inc dword [ebp - 0x3c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x45adf1
mov eax, dword [ebp - 0x80]
mov ecx, esi
inc eax
push eax
push edi
push 7
pop edx
call fcn.00439d92
mov edx, dword [ebp - 0x80]
pop ecx
pop ecx
mov ecx, esi
call fcn.0043a243
mov ecx, dword [ebp - 0x70]
test ecx, ecx
jne 0x45ac71
jmp 0x45bc8b
test ecx, ecx
je 0x45bc8b
xor dl, dl
call fcn.00459a9c
mov ecx, dword [ebp - 0x30]
movzx edx, al
call fcn.004557a9
jmp 0x45bc8b
mov eax, dword [ebp - 0x88]
xor edx, edx
push 0x64
movzx eax, byte [eax]
cmp byte [eax + 0x4a62b0], 0x71
mov eax, dword [ebp - 0x50]
sete dl
mov dword [ebp - 0x44], edx
or edx, 0xffffffff
cmp dword [eax], edi
mov eax, dword [ebp - 0x48]
cmove eax, edx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x34]
mov dword [eax + 0x2c], 6
pop eax
mov dword [ebp - 0x38], eax
test ecx, ecx
je 0x45b026
lea edx, [ebp - 0x38]
call fcn.004259aa
mov eax, dword [ebp - 0x38]
test eax, eax
push 0x64
pop ecx
cmovle eax, ecx
mov dword [ebp - 0x38], eax
push 1
dec eax
mov ecx, esi
push eax
push 0x38
pop edx
call fcn.00439d92
mov eax, dword [ebp - 0x30]
mov edx, edi
pop ecx
pop ecx
mov dword [ebp - 0x78], edx
cmp dword [eax + 0x14], edi
jle 0x45b7e0
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x3c], edi
test ecx, ecx
js 0x45b05c
cmp edx, ecx
jne 0x45b7cf
mov ecx, dword [ebp - 0x34]
call fcn.004522df
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x74]
mov eax, dword [ecx + 0x10]
mov edx, dword [eax + edx + 0xc]
mov eax, edi
add edx, 8
mov dword [ebp - 0x70], edx
mov edx, dword [edx + 8]
test edx, edx
je 0x45b0bb
mov esi, dword [edx + 8]
test byte [esi + 0x24], 0x20
jne 0x45b08a
inc eax
mov esi, dword [esi + 8]
mov dword [ebp - 0x58], edi
jmp 0x45b099
mov esi, dword [esi + 0x14]
inc eax
inc dword [ebp - 0x58]
test esi, esi
jne 0x45b092
mov ecx, dword [ebp - 0x3c]
cmp dword [ebp - 0x58], ecx
mov edx, dword [edx]
cmovg ecx, dword [ebp - 0x58]
mov dword [ebp - 0x3c], ecx
mov esi, ecx
mov dword [ebp - 0x3c], esi
test edx, edx
jne 0x45b080
mov esi, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x30]
lea eax, [eax*4 + 4]
push edi
push eax
call fcn.00423227
mov dword [ebp - 0x60], eax
pop ecx
pop ecx
test eax, eax
je 0x45b7e0
mov eax, dword [ebp - 0x70]
mov edx, edi
mov eax, dword [eax + 8]
mov dword [ebp - 0x58], eax
test eax, eax
je 0x45b11f
mov esi, dword [ebp - 0x60]
mov ecx, dword [eax + 8]
test byte [ecx + 0x24], 0x20
jne 0x45b0fb
mov eax, dword [ecx + 0x1c]
mov dword [esi + edx*4], eax
inc edx
mov eax, dword [ebp - 0x58]
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x45b113
mov eax, dword [ecx + 0x2c]
mov dword [esi + edx*4], eax
inc edx
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x45b102
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x45b0e8
mov esi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x34]
mov dword [eax + edx*4], edi
mov eax, dword [ebp - 0x3c]
add eax, 8
cmp dword [ecx + 0x2c], eax
cmovg eax, dword [ecx + 0x2c]
mov dword [ecx + 0x2c], eax
call fcn.0044c0c5
push 0xfffffffffffffff1
push dword [ebp - 0x60]
mov ecx, esi
push 1
push edx
push 2
mov edx, 0x8e
call fcn.00439e58
mov eax, dword [ebp - 0x78]
add esp, 0x14
movzx edx, al
mov ecx, esi
call fcn.0043a22b
push 2
push 0x4b
pop edx
call fcn.00439d7e
mov edx, dword [ebp - 0x74]
mov esi, eax
mov eax, dword [ebp - 0x30]
pop ecx
push 0xfffffffffffffff9
mov ecx, dword [eax + 0x10]
push dword [ecx + edx]
push str._in_database__s__n
push eax
call fcn.004245bd
add esp, 0xc
push eax
push edi
push 3
pop ecx
push ecx
mov ecx, dword [ebp - 0x40]
push edi
push 0x61
pop edx
call fcn.00439e58
mov ecx, dword [ebp - 0x40]
add esp, 0x14
push 1
push 4
push 2
push 0x3f
pop edx
call fcn.00439d0e
mov ecx, dword [ebp - 0x40]
add esp, 0xc
push 2
push 3
push 4
push 0x5d
pop edx
call fcn.00439d0e
mov ecx, dword [ebp - 0x40]
add esp, 0xc
push 2
pop edx
call fcn.00459d7e
mov edx, esi
mov esi, dword [ebp - 0x40]
mov ecx, esi
call fcn.0043a243
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 8]
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x45b7c6
mov eax, dword [eax + 8]
or dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x90], edi
cmp dword [eax + 0x1c], 1
jl 0x45b7bc
cmp dword [eax + 0x18], edi
jne 0x45b22c
test dword [eax + 0x24], 0x200
jne 0x45b22c
cmp dword [eax + 8], edi
je 0x45b7bc
cmp dword [ebp - 0x44], 0
jne 0x45b7bc
test byte [eax + 0x24], 0x20
jne 0x45b237
mov dword [ebp - 0x64], edi
jmp 0x45b241
mov ecx, eax
call fcn.0044ee3e
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x34]
call fcn.0044a2be
mov edx, dword [ebp - 0x5c]
lea eax, [ebp - 0x7c]
mov ecx, dword [ebp - 0x34]
push eax
lea eax, [ebp - 0x68]
push eax
push edi
push 1
push edi
push 0x68
call fcn.0045895c
push 7
push edi
push 0x38
pop edx
mov ecx, esi
call fcn.00439d92
mov eax, dword [ebp - 0x5c]
add esp, 0x20
mov eax, dword [eax + 8]
mov dword [ebp - 0x70], eax
test eax, eax
je 0x45b2a7
push 8
pop ecx
mov dword [ebp - 0x80], ecx
push ecx
push edi
push 0x38
pop edx
mov ecx, esi
call fcn.00439d92
mov eax, dword [ebp - 0x70]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x80]
mov eax, dword [eax + 0x14]
inc ecx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x80], ecx
test eax, eax
jne 0x45b285
push edi
push dword [ebp - 0x68]
mov ecx, esi
push 0x25
pop edx
call fcn.00439d92
push 1
push 7
push 0x45
pop edx
mov ecx, esi
call fcn.00439d92
mov ecx, dword [ebp - 0x5c]
add esp, 0x10
mov dword [ebp - 0x8c], eax
mov edx, edi
xor eax, eax
mov dword [ebp - 0x70], edx
cmp ax, word [ecx + 0x2a]
jge 0x45b38b
mov dword [ebp - 0x60], edi
movsx eax, word [ecx + 0x28]
cmp edx, eax
je 0x45b377
mov esi, dword [ebp - 0x60]
mov eax, dword [ecx + 4]
cmp byte [eax + esi + 0xc], 0
mov esi, dword [ebp - 0x40]
je 0x45b377
push 3
push edx
push dword [ebp - 0x68]
mov edx, ecx
mov ecx, esi
call fcn.0044a14c
add esp, 0xc
mov edx, 0x80
mov ecx, esi
call fcn.0043a22b
push 3
push 0x4c
pop edx
call fcn.00439d7e
mov edx, dword [ebp - 0x60]
mov esi, eax
mov eax, dword [ebp - 0x5c]
pop ecx
mov ecx, dword [eax + 4]
push dword [ecx + edx]
push dword [eax]
push str.NULL_value_in__s._s
push dword [ebp - 0x30]
call fcn.004245bd
mov ecx, dword [ebp - 0x40]
push 0xfffffffffffffff9
push eax
push edi
push 3
push edi
push 0x61
pop edx
call fcn.00439e58
mov ecx, dword [ebp - 0x40]
add esp, 0x24
push 3
pop edx
call fcn.00459d7e
mov edx, esi
mov esi, dword [ebp - 0x40]
mov ecx, esi
call fcn.0043a243
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x70]
movsx eax, word [ecx + 0x2a]
inc edx
add dword [ebp - 0x60], 0x10
mov dword [ebp - 0x70], edx
cmp edx, eax
jl 0x45b2e3
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x45b4a7
mov eax, dword [ebp - 0x30]
test dword [eax + 0x18], 0x200
jne 0x45b4a7
push edi
mov ecx, eax
call fcn.00448455
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x30]
pop ecx
cmp byte [eax + 0x45], 0
jne 0x45b49a
mov ecx, esi
call fcn.00439f5e
mov ecx, esi
mov dword [ebp - 0x84], eax
call fcn.00439f5e
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x60], eax
inc ecx
mov eax, dword [ebp - 0x34]
mov dword [eax + 0x38], ecx
mov ecx, eax
call fcn.0044a09e
mov edx, dword [ebp - 0x58]
mov ecx, dword [edx]
dec ecx
mov dword [ebp - 0x70], ecx
test ecx, ecx
jle 0x45b431
mov esi, dword [ebp - 0x34]
imul eax, ecx, 0x18
lea ecx, [edx + 8]
add ecx, eax
mov dword [ebp - 0x80], ecx
push edi
push dword [ebp - 0x84]
push dword [ecx]
push esi
call fcn.0044b5f2
mov eax, dword [ebp - 0x70]
add esp, 0x10
mov ecx, dword [ebp - 0x80]
dec eax
sub ecx, 0x18
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x80], ecx
test eax, eax
jg 0x45b402
mov esi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x58]
push 0x10
push dword [ebp - 0x60]
push dword [edx + 8]
push eax
call fcn.0044b39b
mov edx, dword [ebp - 0x84]
mov ecx, esi
call fcn.00439fa0
mov eax, dword [ebp - 0x34]
mov dword [eax + 0x38], edi
mov eax, dword [ebp - 0x5c]
push dword [eax]
push str.CHECK_constraint_failed_in__s
push dword [ebp - 0x30]
call fcn.004245bd
add esp, 0x1c
mov ecx, esi
push 0xfffffffffffffff9
push eax
push edi
push 3
push edi
push 0x61
pop edx
call fcn.00439e58
add esp, 0x14
mov ecx, esi
push 3
pop edx
call fcn.00459d7e
mov edx, dword [ebp - 0x60]
mov ecx, esi
call fcn.00439fa0
mov ecx, dword [ebp - 0x34]
call fcn.0044a0a2
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x58]
mov ecx, eax
call fcn.00448b14
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x50], eax
test eax, eax
je 0x45b6d2
mov ecx, dword [ebp - 0x7c]
push 8
pop eax
sub eax, ecx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x44], 0
jne 0x45b6d2
mov ecx, esi
call fcn.00439f5e
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x64], eax
je 0x45b6c1
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x14]
mov edx, eax
push dword [ebp - 0x90]
push ecx
mov ecx, dword [ebp - 0x34]
push edi
push edi
push dword [ebp - 0x68]
call fcn.00453b52
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x90], ecx
mov ecx, dword [ebp - 0x54]
add ecx, dword [ebp - 0x80]
push 1
push ecx
push 0x45
pop edx
mov ecx, esi
mov dword [ebp - 0x3c], eax
call fcn.00439d92
mov eax, dword [ebp - 0x50]
movzx ecx, word [eax + 0x34]
push ecx
push dword [ebp - 0x3c]
mov ecx, esi
push dword [ebp - 0x70]
push dword [ebp - 0x54]
push 0x1e
pop edx
call fcn.00439f0f
mov ecx, dword [ebp - 0x40]
mov esi, eax
push str.row
push 3
pop edx
call fcn.00439db8
mov ecx, dword [ebp - 0x40]
add esp, 0x34
push 3
pop eax
push eax
push eax
push 7
push 0x5d
pop edx
call fcn.00439d0e
mov ecx, dword [ebp - 0x40]
add esp, 0xc
push str._missing_from_index
push 4
pop edx
call fcn.00439db8
pop ecx
mov ecx, dword [ebp - 0x40]
push 3
pop eax
push eax
push eax
push 4
push 0x5d
pop edx
call fcn.00439d0e
mov eax, dword [ebp - 0x50]
add esp, 0xc
mov ecx, dword [ebp - 0x40]
push dword [eax]
push 4
pop edx
call fcn.00439db8
pop ecx
mov ecx, dword [ebp - 0x40]
push 3
mov dword [ebp - 0x84], eax
pop eax
push eax
push eax
push 4
push 0x5d
pop edx
call fcn.00439d0e
mov ecx, dword [ebp - 0x40]
add esp, 0xc
push 3
pop edx
call fcn.00459d7e
mov edx, esi
mov dword [ebp - 0x58], eax
mov esi, dword [ebp - 0x40]
mov ecx, esi
call fcn.0043a243
mov eax, dword [ebp - 0x50]
cmp byte [eax + 0x36], 0
je 0x45b6a9
mov ecx, esi
call fcn.00439f5e
mov dword [ebp - 0x60], eax
xor edx, edx
mov eax, dword [ebp - 0x50]
mov ecx, edi
mov dword [ebp - 0x70], ecx
cmp dx, word [eax + 0x32]
jae 0x45b63e
mov edi, dword [ebp - 0x5c]
jmp 0x45b5fe
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 4]
movsx edx, word [eax + ecx*2]
test edx, edx
js 0x45b615
mov eax, dword [edi + 4]
add edx, edx
cmp byte [eax + edx*8 + 0xc], 0
jne 0x45b62d
push dword [ebp - 0x60]
mov eax, dword [ebp - 0x3c]
add eax, ecx
mov ecx, esi
push eax
push 0x4b
pop edx
call fcn.00439d92
pop ecx
pop ecx
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x50]
inc ecx
mov dword [ebp - 0x70], ecx
movzx eax, word [eax + 0x32]
cmp ecx, eax
jl 0x45b5fb
xor edi, edi
push dword [ebp - 0x54]
mov ecx, esi
push 7
pop edx
call fcn.00439d7e
mov edx, dword [ebp - 0x60]
mov esi, eax
pop ecx
mov ecx, dword [ebp - 0x40]
call fcn.00439da7
mov edx, esi
mov esi, dword [ebp - 0x40]
mov ecx, esi
call fcn.0043a243
mov ecx, dword [ebp - 0x50]
movzx eax, word [ecx + 0x32]
mov ecx, esi
push eax
push dword [ebp - 0x3c]
push dword [ebp - 0x60]
push dword [ebp - 0x54]
push 0x27
pop edx
call fcn.00439f0f
push str.non_unique_entry_in_index
push 3
pop edx
mov ecx, esi
call fcn.00439db8
mov edx, dword [ebp - 0x84]
add esp, 0x14
mov ecx, esi
call fcn.00439da7
mov edx, dword [ebp - 0x60]
mov ecx, esi
call fcn.00439fa0
mov edx, dword [ebp - 0x58]
mov ecx, esi
call fcn.0043a243
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x34]
call fcn.00453c7b
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x14]
inc dword [ebp - 0x54]
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x45b4c3
push dword [ebp - 0x8c]
mov ecx, esi
push dword [ebp - 0x68]
push 7
pop edx
call fcn.00439d92
mov edx, dword [ebp - 0x8c]
pop ecx
pop ecx
mov ecx, esi
lea edx, [edx - 1]
call fcn.0043a243
cmp dword [ebp - 0x44], 0
jne 0x45b7bc
push str.wrong__of_entries_in_index
push 2
pop edx
mov ecx, esi
call fcn.00439db8
mov eax, dword [ebp - 0x5c]
pop ecx
mov eax, dword [eax + 8]
mov dword [ebp - 0x58], eax
test eax, eax
je 0x45b7bc
mov edx, dword [ebp - 0x64]
push 8
pop ecx
mov dword [ebp - 0x60], ecx
cmp edx, eax
je 0x45b7aa
mov eax, dword [ebp - 0x7c]
add eax, 0xfffffff8
add eax, ecx
mov ecx, esi
push 3
push eax
push 0x64
pop eax
mov edx, eax
call fcn.00439d92
push 3
push edi
push dword [ebp - 0x60]
mov ecx, esi
push 0x4e
pop edx
call fcn.00439d0e
mov ecx, dword [ebp - 0x40]
add esp, 0x14
mov edx, 0x90
mov esi, eax
call fcn.0043a22b
mov eax, dword [ebp - 0x58]
push dword [eax]
push 3
pop edx
call fcn.00439db8
pop ecx
mov ecx, dword [ebp - 0x40]
push 7
push 2
push 3
push 0x5d
pop edx
call fcn.00439d0e
mov ecx, dword [ebp - 0x40]
add esp, 0xc
push 7
pop edx
call fcn.00459d7e
mov edx, esi
mov esi, dword [ebp - 0x40]
mov ecx, esi
call fcn.0043a243
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x64]
mov eax, dword [eax + 0x14]
inc ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x60], ecx
test eax, eax
jne 0x45b72b
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
jmp 0x45b1e6
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x30]
add dword [ebp - 0x74], 0x10
inc edx
mov dword [ebp - 0x78], edx
cmp edx, dword [eax + 0x14]
jl 0x45b04d
push ecx
push 0x4a96b0
push 4
pop edx
mov ecx, esi
call fcn.0043a146
pop ecx
pop ecx
mov ecx, eax
test ecx, ecx
je 0x45bc8b
xor eax, eax
inc eax
sub eax, dword [ebp - 0x38]
mov dword [ecx + 8], eax
mov byte [ecx + 0x29], 0xff
mov dword [ecx + 0x38], 0x4a2fcc
jmp 0x45bc8b
test ecx, ecx
jne 0x45b83d
mov edi, dword [ebp - 0x34]
mov ecx, edi
call fcn.0045c7ae
test eax, eax
jne 0x45bc8b
mov eax, dword [edi]
movzx edx, byte [eax + 0x42]
mov edx, dword [edx*8 + 0x4a6c00]
jmp 0x45a224
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x14], eax
mov eax, dword [eax + 0xc]
movzx eax, word [eax + 0x4e]
test al, 1
je 0x45b859
test al, 4
je 0x45bc8b
mov eax, dword [str.UTF8]
mov esi, 0x4a6c00
test eax, eax
je 0x45b8a9
mov edx, eax
call fcn.004251fe
test eax, eax
je 0x45b880
mov ecx, dword [ebp - 0x6c]
add esi, 8
mov eax, dword [esi]
test eax, eax
jne 0x45b867
jmp 0x45b89e
mov al, byte [esi + 4]
test al, al
je 0x45b88c
movzx ecx, al
jmp 0x45b88f
push 2
pop ecx
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x42], cl
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], cl
cmp dword [esi], edi
jne 0x45bc8b
mov ecx, dword [ebp - 0x6c]
push ecx
push str.unsupported_encoding:__s
push dword [ebp - 0x34]
call fcn.00425127
add esp, 0xc
jmp 0x45bc8b
mov eax, dword [eax + 8]
mov ecx, esi
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
call fcn.0043a776
mov edi, dword [ebp - 0x6c]
test edi, edi
je 0x45b911
mov eax, dword [ebp - 0x68]
test byte [eax + 5], 8
jne 0x45b911
push ecx
push 0x4a9710
push 2
pop edx
mov ecx, esi
call fcn.0043a146
mov esi, eax
mov eax, dword [ebp - 0x48]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x4c]
mov dword [esi + 0x1c], ecx
mov ecx, edi
mov dword [esi + 4], eax
mov dword [esi + 0x18], eax
call fcn.00425b10
mov dword [esi + 0x20], eax
jmp 0x45bc8b
push ecx
push 0x4a7c2c
push 3
pop edx
mov ecx, esi
call fcn.0043a146
pop ecx
pop ecx
mov ecx, dword [ebp - 0x48]
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov ecx, dword [ebp - 0x4c]
mov dword [eax + 0x20], ecx
mov ecx, esi
call fcn.00439fc6
jmp 0x45bc8b
mov eax, dword [ebp - 0x34]
push edi
mov dword [eax + 0x2c], 1
call fcn.004739e9
pop ecx
jmp 0x45b974
xor edx, edx
inc edi
push eax
inc edx
call fcn.00439db8
pop ecx
xor eax, eax
mov ecx, esi
inc eax
push eax
push eax
push 0x43
pop edx
call fcn.00439d92
push edi
call fcn.004739e9
add esp, 0xc
mov ecx, esi
test eax, eax
jne 0x45b951
jmp 0x45b934
mov eax, dword [ebp - 0x50]
push 0xa
cmp dword [eax], edi
pop eax
cmovne eax, dword [ebp - 0x48]
mov dword [ebp - 0x14], eax
test ecx, ecx
je 0x45b9cd
mov edx, str.full
call fcn.004251fe
test eax, eax
jne 0x45b9a2
xor edi, edi
inc edi
jmp 0x45b9cd
mov ecx, dword [ebp - 0x6c]
mov edx, str.restart
call fcn.004251fe
test eax, eax
jne 0x45b9b8
push 2
pop edi
jmp 0x45b9cd
mov ecx, dword [ebp - 0x6c]
mov edx, str.truncate
call fcn.004251fe
test eax, eax
push 3
pop eax
cmove edi, eax
mov eax, dword [ebp - 0x34]
push 3
pop ecx
push 1
mov dword [eax + 0x2c], ecx
mov ecx, esi
mov eax, dword [ebp - 0x14]
push edi
push eax
push 8
pop edx
call fcn.00439d0e
add esp, 0xc
push 3
push 1
jmp 0x45a192
test ecx, ecx
je 0x45ba07
call fcn.00425b10
push eax
push dword [ebp - 0x30]
call fcn.0047247b
pop ecx
pop ecx
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0xe0], 0x472455
jne 0x45a076
mov edi, dword [eax + 0xe4]
jmp 0x45a076
push dword [ebp - 0x30]
call fcn.00471716
jmp 0x45bc8a
test ecx, ecx
je 0x45ba4b
call fcn.00425b10
mov edx, eax
mov dword [ebp - 0x58], edx
test dl, 2
je 0x45bc8b
jmp 0x45ba52
mov dword [ebp - 0x58], 0xfffe
mov ecx, dword [ebp - 0x34]
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0x4c], eax
inc eax
mov dword [ecx + 0x28], eax
cmp dword [ebp - 0x5c], edi
je 0x45ba6f
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x8c], eax
jmp 0x45ba87
mov eax, dword [ebp - 0x30]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0x48]
dec edx
mov dword [ebp - 0x8c], edx
cmp eax, edx
jg 0x45bbe3
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x14], 0x2e
cmp eax, 1
je 0x45bbcd
mov edx, eax
call fcn.004522df
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x54]
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + edx + 0xc]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x45bbc4
mov eax, dword [eax + 8]
mov dword [ebp - 0x44], eax
test dword [eax + 0x24], 0x100
je 0x45bbba
mov ax, word [eax + 0x2c]
add ax, word [ebp - 0x14]
movzx eax, ax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 8]
jmp 0x45baf2
test byte [eax + 0x38], 0x80
je 0x45bb95
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x45bae5
mov eax, dword [ebp - 0x38]
test ax, ax
je 0x45bb42
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x34]
push 0x68
push dword [ebp - 0x44]
push dword [ebp - 0x48]
call fcn.00456db5
mov eax, dword [ebp - 0x38]
add esp, 0xc
cwde
mov ecx, esi
push eax
call fcn.0043a10e
mov ecx, dword [ebp - 0x58]
and ecx, 1
add ecx, 2
add eax, ecx
mov ecx, esi
push eax
push dword [ebp - 0x4c]
push 0x22
pop edx
call fcn.00439d0e
mov ecx, dword [ebp - 0x30]
add esp, 0xc
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x44]
push dword [eax]
mov eax, dword [ecx + 0x10]
push dword [eax + edx]
push str.ANALYZE___w_.__w_
push ecx
call fcn.004245bd
add esp, 0x10
mov edx, eax
test byte [ebp - 0x58], 1
je 0x45bb9f
mov ecx, dword [ebp - 0x34]
call fcn.0044bffb
mov ecx, dword [ebp - 0x40]
mov esi, eax
push 0xfffffffffffffff9
push edx
push edi
push esi
push edi
push 0x61
pop edx
call fcn.00439e58
add esp, 0x14
push 1
push esi
mov esi, dword [ebp - 0x40]
mov ecx, esi
push 0x43
pop edx
call fcn.00439d92
pop ecx
pop ecx
jmp 0x45bbb4
mov eax, edi
mov dword [ebp - 0x38], eax
jmp 0x45baf9
push 0xfffffffffffffff9
push edx
push edi
push edi
push edi
mov edx, 0x88
mov ecx, esi
call fcn.00439e58
add esp, 0x14
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
jmp 0x45bab1
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x34]
inc eax
add edx, 0x10
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x54], edx
cmp eax, dword [ebp - 0x8c]
jle 0x45ba91
mov edx, 0x97
mov ecx, esi
call fcn.00439d70
jmp 0x45bc8b
test ecx, ecx
je 0x45bc11
lea edx, [ebp - 0x1c]
call fcn.004258c0
test eax, eax
jne 0x45bc11
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.00422a4b
pop ecx
pop ecx
or eax, 0xffffffff
push eax
push eax
call fcn.00422a4b
jmp 0x45a38c
test ecx, ecx
je 0x45bc51
lea edx, [ebp - 0x1c]
call fcn.004258c0
test eax, eax
jne 0x45bc51
cmp dword [ebp - 0x18], edi
jl 0x45bc51
mov eax, dword [ebp - 0x1c]
jg 0x45bc3e
cmp eax, edi
jb 0x45bc51
and eax, 0x7fffffff
push eax
push 0xb
push dword [ebp - 0x30]
call fcn.004728d6
add esp, 0xc
push 0xffffffffffffffff
push 0xb
push dword [ebp - 0x30]
call fcn.004728d6
add esp, 0xc
jmp 0x45bc7f
test ecx, ecx
je 0x45bc76
call fcn.00425b10
push eax
push dword [ebp - 0x30]
call fcn.00471f7c
pop ecx
pop ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x1ac]
cdq
push edx
push eax
mov ecx, esi
call fcn.00459c5d
pop ecx
pop ecx
mov edx, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x30]
call fcn.00423004
mov edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x30]
call fcn.00423004
mov ecx, dword [ebp - 8]
pop edi
xor ecx, ebp
pop esi
call fcn.0047b6bc
mov esp, ebp
pop ebp
ret