Function at 0x463491
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x90
mov eax, dword [0x51a448]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x58], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x3c], edi
mov esi, dword [edi]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], esi
call fcn.00468189
mov ebx, eax
mov dword [ebp - 0x64], ebx
test ebx, ebx
je 0x463620
mov ecx, ebx
call fcn.00443588
mov edx, dword [ebp - 0x48]
lea eax, [ebp - 0x90]
push eax
push dword [ebp - 0x58]
mov ecx, edi
mov dword [edi + 0x2c], 2
call fcn.0045837e
mov dword [ebp - 0x40], eax
pop ecx
pop ecx
test eax, eax
js 0x463620
mov ecx, dword [esi + 0x10]
mov edx, eax
shl edx, 4
add ecx, edx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x5c], ecx
cmp eax, 1
jne 0x463525
mov ecx, edi
call fcn.0045b8c2
test eax, eax
jne 0x463620
mov edx, dword [ebp - 0x90]
mov ecx, esi
call fcn.004582a3
mov dword [ebp - 0x88], eax
test eax, eax
je 0x463620
cmp dword [ebp + 0x10], 0
je 0x46355e
push dword [ebp - 0x38]
push 0x511490
push esi
call fcn.0042d86a
mov esi, eax
add esp, 0xc
mov dword [ebp - 0x34], esi
jmp 0x46356d
mov edx, dword [ebp - 0x38]
mov ecx, esi
call fcn.004582a3
mov esi, eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x58]
xor edi, edi
cmp dword [eax + 4], edi
jbe 0x463581
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov dword [ebp - 0x6c], eax
jmp 0x463586
mov eax, edi
mov dword [ebp - 0x6c], edi
mov ecx, dword [ebp - 0x3c]
push eax
push esi
push dword [ebp - 0x88]
push 0x13
pop edx
call fcn.00457946
add esp, 0xc
test eax, eax
jne 0x463603
mov eax, dword [ebp - 0x88]
lea ecx, [ebp - 0x2c]
push ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
push 0xe
push dword [ebp - 0x6c]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], edi
push eax
mov dword [eax + 0x184], edi
call fcn.0047cd22
add esp, 0x10
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x46362f
xor edx, edx
mov ecx, ebx
inc edx
call fcn.004445d3
push 0xffffffffffffffff
push dword [ebp - 0x2c]
xor edx, edx
mov ecx, ebx
push edi
call fcn.0044462b
mov edx, dword [ebp - 0x2c]
add esp, 0xc
mov ecx, ebx
call fcn.00463351
push dword [ebp - 0x2c]
call fcn.0042c124
pop ecx
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x34]
mov edx, dword [ebp - 0x88]
mov ecx, esi
call fcn.0042c1c6
mov ecx, dword [ebp - 0x30]
mov edx, edi
call fcn.0042c1c6
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0049d307
leave
ret
cmp eax, 0xc
je 0x463663
cmp dword [ebp - 0x2c], edi
je 0x463655
push dword [ebp - 0x2c]
push 0x50811c
push dword [ebp - 0x3c]
call fcn.0042e402
add esp, 0xc
push dword [ebp - 0x2c]
call fcn.0042c124
pop ecx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x48]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ecx
jmp 0x463603
mov ecx, dword [ebp - 0x88]
call fcn.004633f4
mov ecx, eax
mov dword [ebp - 0x4c], ecx
test ecx, ecx
je 0x463603
test byte [ecx + 5], 1
je 0x463690
mov ecx, dword [ebp - 0x3c]
call fcn.00465e72
test eax, eax
jne 0x463603
mov ecx, dword [ebp - 0x4c]
mov al, byte [ecx + 5]
test al, 2
jne 0x4636ab
test al, 4
je 0x46369f
test esi, esi
jne 0x4636ab
mov edx, ecx
mov ecx, ebx
call fcn.004632ac
mov ecx, dword [ebp - 0x4c]
movzx eax, byte [ecx + 4]
cmp eax, 0x24
ja case.0x4636b8.3
jmp dword [eax*4 + 0x465375]
mov edx, dword [ebp - 0x40]
mov ecx, ebx
call fcn.00443d37
test esi, esi
jne 0x4636fb
mov eax, dword [ebp - 0x3c]
mov ecx, ebx
push edi
push 0x502020
push 9
add dword [eax + 0x2c], 2
pop edx
call fcn.0044370a
pop ecx
pop ecx
mov ecx, dword [ebp - 0x40]
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x463603
mov ecx, esi
call fcn.0042ee24
mov ecx, eax
call fcn.0042f417
mov edi, dword [ebp - 0x40]
xor edx, edx
mov ecx, dword [ebp - 0x3c]
mov esi, eax
push edi
call fcn.0045b9c5
pop ecx
push esi
push 3
push edi
push 0x68
pop edx
mov ecx, ebx
call fcn.004432f9
mov ecx, dword [ebp - 0x5c]
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.0043b23b
jmp 0x463603
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x48], eax
test esi, esi
jne 0x463773
test eax, eax
je 0x463761
mov ecx, eax
call fcn.0043b35c
mov edi, eax
mov eax, edi
cdq
push edx
push eax
mov ecx, ebx
call fcn.00463321
pop ecx
jmp 0x463602
mov ecx, esi
call fcn.0042ee24
mov ecx, dword [ebp - 0x30]
mov edx, eax
push edi
push 0xffffffffffffffff
mov dword [ecx + 0x50], eax
mov ecx, dword [ebp - 0x48]
call fcn.0043b2d7
pop ecx
pop ecx
cmp eax, 7
jne 0x463603
mov ecx, dword [ebp - 0x30]
call fcn.0042c5f1
jmp 0x463603
mov eax, dword [ebp - 0x5c]
or edx, 0xffffffff
mov dword [ebp - 0x38], edx
mov eax, dword [eax + 4]
mov dword [ebp - 0x48], eax
test esi, esi
je 0x4637c7
xor dl, dl
mov ecx, esi
call fcn.00463165
movzx edx, al
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x58]
cmp dword [eax + 4], edi
jne 0x4637fa
test edx, edx
js 0x4637fa
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0x14], edi
jle 0x4637fa
mov esi, edi
mov ebx, eax
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + esi + 4]
call fcn.0043b3b0
mov edx, dword [ebp - 0x38]
lea esi, [esi + 0x10]
inc edi
cmp edi, dword [ebx + 0x14]
jl 0x4637df
mov ebx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x48]
call fcn.0043b3b0
jmp 0x463763
mov edi, dword [ebp - 0x3c]
mov ecx, edi
mov edx, dword [ebp - 0x40]
call fcn.0045b93e
mov eax, dword [ebp - 0x88]
inc dword [edi + 0x2c]
mov edi, dword [edi + 0x2c]
movzx eax, byte [eax]
cmp byte [eax + 0x5027f0], 0x70
jne 0x463843
push edi
push dword [ebp - 0x40]
mov edx, 0xa1
mov ecx, ebx
call fcn.0044337d
pop ecx
pop ecx
jmp 0x463865
mov ecx, esi
call fcn.0042ee24
mov ecx, eax
call fcn.0042f417
push eax
push edi
push dword [ebp - 0x40]
mov edx, 0xa2
mov ecx, ebx
call fcn.004432f9
add esp, 0xc
push 1
push edi
push 0x43
pop edx
mov ecx, ebx
call fcn.0044337d
jmp 0x46376d
mov ecx, esi
call fcn.00463177
mov ecx, eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x38], ecx
cmp dword [eax + 4], edi
jne 0x4638da
cmp ecx, 0xffffffff
jne 0x463899
mov eax, dword [ebp - 0x30]
movzx eax, byte [eax + 0x47]
jmp 0x4638ef
mov edi, dword [ebp - 0x30]
push 2
pop esi
cmp dword [edi + 0x14], esi
jle 0x4638d7
mov ebx, dword [ebp - 0x38]
push 0x20
pop eax
mov dword [ebp - 0x54], eax
mov ecx, dword [edi + 0x10]
mov ecx, dword [ecx + eax + 4]
call fcn.00440979
mov edx, ebx
mov ecx, eax
call fcn.00436fc3
mov eax, dword [ebp - 0x54]
inc esi
add eax, 0x10
mov dword [ebp - 0x54], eax
cmp esi, dword [edi + 0x14]
jl 0x4638ad
mov ebx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x38]
mov byte [edi + 0x47], cl
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 4]
call fcn.00440979
mov edx, dword [ebp - 0x38]
mov ecx, eax
call fcn.00436fc3
cmp eax, 1
mov edx, str.normal
mov ecx, str.exclusive
cmove edx, ecx
mov ecx, ebx
call fcn.00463351
jmp 0x463603
test esi, esi
jne 0x463917
or ecx, 0xffffffff
mov dword [ebp - 0x4c], ecx
jmp 0x46397b
mov ecx, esi
call fcn.0042e306
xor ecx, ecx
mov dword [ebp - 0x48], eax
call fcn.004633e4
mov ecx, eax
or eax, 0xffffffff
mov dword [ebp - 0x38], ecx
test ecx, ecx
je 0x46396a
mov ebx, edi
push dword [ebp - 0x48]
push ecx
push esi
call fcn.0042e50e
add esp, 0xc
test eax, eax
je 0x46395a
inc ebx
mov ecx, ebx
call fcn.004633e4
mov ecx, eax
mov dword [ebp - 0x38], ecx
test ecx, ecx
jne 0x463936
jmp 0x46395d
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x64]
test ecx, ecx
jne 0x463971
or eax, 0xffffffff
mov ecx, eax
mov dword [ebp - 0x4c], ecx
jmp 0x463977
mov ecx, dword [ebp - 0x4c]
or eax, 0xffffffff
cmp ecx, eax
jne 0x463991
mov edx, dword [ebp - 0x58]
cmp dword [edx + 4], edi
jne 0x463991
mov ecx, edi
mov dword [edx + 4], 1
mov dword [ebp - 0x40], ecx
jmp 0x463994
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x30]
mov esi, dword [eax + 0x14]
sub esi, 1
js 0x4639ed
mov ebx, esi
shl ebx, 4
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x38]
mov eax, dword [eax + 0x10]
cmp dword [eax + edx + 4], edi
mov edx, dword [ebp - 0x58]
je 0x4639de
cmp esi, ecx
je 0x4639c2
cmp dword [edx + 4], edi
jne 0x4639de
mov edx, esi
mov ecx, ebx
call fcn.00443d37
push dword [ebp - 0x4c]
mov ecx, ebx
push 1
push esi
push 9
pop edx
call fcn.004432f9
add esp, 0xc
sub dword [ebp - 0x38], 0x10
sub esi, 1
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x40]
jns 0x4639aa
xor eax, eax
inc eax
push eax
push eax
jmp 0x463868
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 4]
call fcn.00440979
or edi, 0xffffffff
mov dword [ebp - 0x48], eax
mov edx, edi
mov dword [ebp - 0x18], edx
push 0xfffffffffffffffe
pop ecx
mov dword [ebp - 0x1c], ecx
test esi, esi
je 0x463a40
lea edx, [ebp - 0x1c]
mov ecx, esi
call fcn.0042ebc3
mov edx, dword [ebp - 0x18]
cmp edx, edi
jg 0x463a3d
jl 0x463a31
mov ecx, dword [ebp - 0x1c]
cmp ecx, edi
jae 0x463a40
mov ecx, edi
mov edx, edi
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], edx
jmp 0x463a40
mov ecx, dword [ebp - 0x1c]
push edx
push ecx
mov ecx, dword [ebp - 0x48]
call fcn.004370d8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
push edx
push eax
mov ecx, ebx
call fcn.00463321
add esp, 0x10
jmp 0x463603
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x48], eax
test esi, esi
jne 0x463a7a
mov ecx, eax
call fcn.0043b44a
jmp 0x463763
mov ecx, esi
call fcn.004631a6
mov ecx, eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x38], ecx
mov edx, ecx
mov byte [eax + 0x48], cl
mov ecx, dword [ebp - 0x48]
call fcn.0043b3f8
test eax, eax
jne 0x463603
mov eax, dword [ebp - 0x38]
cmp eax, 1
je 0x463aaf
cmp eax, 2
jne 0x463603
mov ecx, ebx
call fcn.004436d4
push edi
push 0x502900
push 5
pop edx
mov ecx, ebx
mov esi, eax
call fcn.0044370a
mov edx, dword [ebp - 0x40]
pop ecx
pop ecx
lea ecx, [esi + 4]
mov dword [eax + 4], edx
mov dword [eax + 0x30], ecx
mov ecx, dword [ebp - 0x38]
dec ecx
mov dword [eax + 0x18], edx
mov dword [eax + 0x5c], ecx
mov ecx, ebx
mov dword [eax + 0x54], edx
call fcn.00443d37
jmp 0x463603
test esi, esi
je 0x463b06
lea edx, [ebp - 0x38]
mov ecx, esi
call fcn.0042ecad
test eax, eax
je 0x463b06
cmp dword [ebp - 0x38], edi
jg 0x463b0d
mov dword [ebp - 0x38], SysReAllocString
mov esi, dword [ebp - 0x40]
xor edx, edx
mov ecx, dword [ebp - 0x3c]
push esi
call fcn.0045b9c5
pop ecx
push 1
push dword [ebp - 0x38]
mov ecx, ebx
push 0x38
pop edx
call fcn.0044337d
push esi
push 0x31
pop edx
mov ecx, ebx
call fcn.00443369
add esp, 0xc
mov ecx, ebx
mov esi, eax
push 1
push 0x43
pop edx
call fcn.00443369
pop ecx
push 0xffffffffffffffff
push 1
push 0x49
pop edx
mov ecx, ebx
call fcn.0044337d
push esi
push 1
push 0x2e
pop edx
mov ecx, ebx
call fcn.0044337d
add esp, 0x10
mov edx, esi
mov ecx, ebx
call fcn.00443817
jmp 0x463603
test esi, esi
jne 0x463b86
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x50]
jmp 0x463763
mov ecx, esi
call fcn.0042ee24
mov ebx, dword [ebp - 0x5c]
mov ecx, dword [ebx + 0xc]
mov dword [ecx + 0x50], eax
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
jmp 0x46373a
test esi, esi
jne 0x463bc4
mov eax, dword [ebp - 0x30]
test byte [eax + 0x18], 0x20
je 0x463761
mov eax, dword [ebp - 0x5c]
xor edx, edx
mov ecx, dword [eax + 4]
call fcn.0043b260
jmp 0x46375f
lea edx, [ebp - 0x38]
mov dword [ebp - 0x38], 1
mov ecx, esi
call fcn.0042ecad
test eax, eax
je 0x463be7
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x38]
mov ecx, dword [eax + 4]
call fcn.0043b260
cmp dword [ebp - 0x38], edi
mov ecx, esi
setne dl
call fcn.00463165
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 0x18]
test al, al
je 0x463c03
or edx, 0x20
jmp 0x463c06
and edx, 0xffffffdf
mov dword [ecx + 0x18], edx
call fcn.00463374
jmp 0x463603
test esi, esi
je 0x463ca7
lea edx, [ebp - 0x1c]
mov ecx, esi
call fcn.0042ebc3
mov esi, dword [ebp - 0x18]
cmp esi, edi
jg 0x463c48
jl 0x463c35
mov eax, dword [ebp - 0x1c]
cmp eax, edi
jae 0x463c4b
mov eax, dword [0x51caa0]
mov esi, dword [0x51caa4]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], esi
jmp 0x463c4b
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x30]
cmp dword [edx + 4], edi
jne 0x463c5c
mov dword [ecx + 0x28], eax
mov dword [ecx + 0x2c], esi
mov esi, dword [ecx + 0x14]
sub esi, 1
js 0x463ca7
mov ebx, dword [ebp - 0x40]
mov eax, esi
shl eax, 4
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + edx + 4]
mov edx, dword [ebp - 0x58]
test eax, eax
je 0x463c9b
cmp esi, ebx
je 0x463c89
cmp dword [edx + 4], edi
jne 0x463c9b
push dword [ebp - 0x18]
mov ecx, eax
push dword [ebp - 0x1c]
call fcn.0043b287
pop ecx
pop ecx
mov ecx, dword [ebp - 0x30]
sub dword [ebp - 0x38], 0x10
sub esi, 1
jns 0x463c6f
mov ebx, dword [ebp - 0x64]
or eax, 0xffffffff
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x1c]
push eax
push 0x12
push dword [ebp - 0x6c]
push dword [ebp - 0x30]
call fcn.0047cd22
mov ecx, eax
add esp, 0x10
test ecx, ecx
jne 0x463cd5
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
jmp 0x463766
mov edi, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
cmp ecx, 0xc
je 0x463609
mov eax, dword [ebp - 0x3c]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ecx
jmp 0x463609
test esi, esi
jne 0x463d02
mov eax, dword [ebp - 0x30]
movzx eax, byte [eax + 0x44]
jmp 0x463763
mov ecx, dword [ebp - 0x3c]
mov edx, esi
call fcn.0046327b
jmp 0x463603
test esi, esi
jne 0x463d20
mov edx, dword [0x51ec58]
jmp 0x4638ff
cmp byte [esi], 0
je 0x463d54
lea eax, [ebp - 0x48]
mov edx, esi
push eax
mov eax, dword [ebp - 0x30]
push 1
mov ecx, dword [eax]
call fcn.0042b678
pop ecx
pop ecx
test eax, eax
jne 0x463d42
cmp dword [ebp - 0x48], edi
jne 0x463d54
push str.not_a_writable_directory
push dword [ebp - 0x3c]
call fcn.0042e402
jmp 0x46376d
mov eax, dword [ebp - 0x30]
cmp byte [eax + 0x44], 1
ja 0x463d65
mov ecx, dword [ebp - 0x3c]
call fcn.00463234
push dword [0x51ec58]
call fcn.0042c124
cmp byte [esi], 0
pop ecx
je 0x463d8d
push esi
push 0x50811c
call fcn.0042d8e0
pop ecx
pop ecx
mov dword [0x51ec58], eax
jmp 0x463603
mov dword [0x51ec58], edi
jmp 0x463603
test esi, esi
jne 0x463da7
mov edx, dword [0x51ec54]
jmp 0x4638ff
cmp byte [esi], 0
je 0x463dd1
lea eax, [ebp - 0x48]
mov edx, esi
push eax
mov eax, dword [ebp - 0x30]
push 1
mov ecx, dword [eax]
call fcn.0042b678
pop ecx
pop ecx
test eax, eax
jne 0x463d42
cmp dword [ebp - 0x48], edi
je 0x463d42
push dword [0x51ec54]
call fcn.0042c124
cmp byte [esi], 0
pop ecx
je 0x463df9
push esi
push 0x50811c
call fcn.0042d8e0
pop ecx
pop ecx
mov dword [0x51ec54], eax
jmp 0x463603
mov dword [0x51ec54], edi
jmp 0x463603
test esi, esi
jne 0x463e1a
mov eax, dword [ebp - 0x5c]
movzx eax, byte [eax + 8]
cdq
sub eax, 1
sbb edx, edi
jmp 0x463764
mov edi, dword [ebp - 0x30]
cmp byte [edi + 0x43], 0
jne 0x463e2d
push str.Safety_level_may_not_be_changed_inside_a_transaction
jmp 0x463d47
xor ebx, ebx
inc ebx
cmp dword [ebp - 0x40], ebx
je 0x463603
push ebx
xor edx, edx
mov ecx, esi
call fcn.004630f2
inc eax
pop ecx
mov ecx, dword [ebp - 0x5c]
and eax, 7
cmove eax, ebx
mov byte [ecx + 8], al
mov byte [ecx + 9], bl
mov ecx, edi
jmp 0x463c09
test esi, esi
jne 0x463e80
mov edx, ecx
mov ecx, ebx
call fcn.004632ac
mov ecx, dword [ebp - 0x4c]
push edi
mov eax, dword [ecx + 8]
mov ecx, dword [ebp - 0x30]
and eax, dword [ecx + 0x18]
neg eax
sbb eax, eax
neg eax
jmp 0x463765
mov eax, dword [ebp - 0x30]
mov edx, dword [ecx + 8]
and edx, 0xfff7ffff
cmp byte [eax + 0x43], 0
cmovne edx, dword [ecx + 8]
mov ecx, esi
mov dword [ebp - 0x38], edx
xor dl, dl
call fcn.00463165
mov ecx, dword [ebp - 0x30]
mov esi, dword [ecx + 0x18]
test al, al
je 0x463eb2
or esi, dword [ebp - 0x38]
mov dword [ecx + 0x18], esi
jmp 0x463ed1
mov eax, dword [ebp - 0x38]
not eax
and eax, esi
cmp dword [ebp - 0x38], 0x2000000
mov dword [ecx + 0x18], eax
jne 0x463ed1
mov dword [ecx + 0x1c0], edi
mov dword [ecx + 0x1c4], edi
mov edx, 0x99
mov ecx, ebx
call fcn.0044335b
mov ecx, dword [ebp - 0x30]
jmp 0x463c09
test esi, esi
je 0x463603
push dword [ebp - 0x6c]
push esi
mov esi, dword [ebp - 0x3c]
mov ecx, esi
push 2
pop edx
call fcn.00457de7
mov dword [ebp - 0x54], eax
pop ecx
pop ecx
test eax, eax
je 0x463603
mov ecx, eax
mov dword [ebp - 0x38], edi
call fcn.00458431
mov edx, dword [ebp - 0x40]
mov ecx, esi
mov dword [ebp - 0x44], eax
mov dword [esi + 0x2c], 6
call fcn.0045b93e
mov edx, dword [ebp - 0x54]
mov ecx, esi
call fcn.004599ee
mov eax, dword [ebp - 0x54]
xor ecx, ecx
mov edx, edi
mov dword [ebp - 0x68], edx
mov esi, dword [eax + 4]
movzx eax, word [eax + 0x2a]
cmp cx, ax
jge 0x463603
mov ecx, eax
mov dword [ebp - 0x70], ecx
mov al, byte [esi + 0xf]
mov byte [ebp - 0x5d], al
test al, 2
je 0x463f67
inc dword [ebp - 0x38]
movzx eax, cx
jmp 0x464001
xor eax, eax
inc eax
test byte [ebp - 0x5d], al
jne 0x463f73
mov ecx, edi
jmp 0x463fa8
cmp dword [ebp - 0x44], 0
mov ecx, eax
je 0x463fa8
mov ebx, dword [ebp - 0x70]
movsx ebx, bx
mov dword [ebp - 0x48], ebx
cmp ebx, eax
mov ebx, dword [ebp - 0x64]
jl 0x463fa8
mov eax, dword [ebp - 0x44]
mov edi, dword [ebp - 0x48]
mov ebx, dword [eax + 4]
movsx eax, word [ebx]
cmp eax, edx
je 0x463fa3
inc ecx
add ebx, 2
cmp ecx, edi
jle 0x463f94
mov ebx, dword [ebp - 0x64]
xor edi, edi
mov eax, dword [esi + 4]
test eax, eax
je 0x463fb4
mov eax, dword [eax + 8]
jmp 0x463fb6
mov eax, edi
push ecx
push eax
xor eax, eax
mov edx, 0x5066b0
cmp byte [esi + 0xc], al
mov ecx, esi
setne al
push eax
call fcn.0042e31a
push eax
push dword [esi]
mov eax, dword [ebp - 0x68]
sub eax, dword [ebp - 0x38]
push eax
push str.issisi
push 1
push ebx
call fcn.004433be
add esp, 0x24
mov ecx, ebx
push 6
push 1
push 0x43
pop edx
call fcn.0044337d
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x68]
pop ecx
pop ecx
movzx eax, word [eax + 0x2a]
movzx ecx, ax
inc edx
cwde
add esi, 0x10
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x70], ecx
cmp edx, eax
jl 0x463f52
jmp 0x463603
test esi, esi
je 0x463603
push dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x30]
mov edx, esi
call fcn.00457f0e
mov edx, eax
mov dword [ebp - 0x38], edx
pop ecx
test edx, edx
je 0x463603
mov ecx, dword [ebp - 0x4c]
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x46404f
movzx eax, word [edx + 0x34]
jmp 0x464053
movzx eax, word [edx + 0x32]
movzx eax, ax
test ecx, ecx
mov dword [ebp - 0x54], eax
push 6
pop eax
push 3
pop esi
cmove eax, esi
mov esi, dword [ebp - 0x3c]
mov ecx, esi
mov dword [esi + 0x2c], eax
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x48], eax
call fcn.0045b93e
mov edx, edi
mov dword [ebp - 0x50], edi
cmp dword [ebp - 0x54], edx
jbe 0x463603
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 4]
movzx eax, word [eax + edx*2]
movsx ecx, ax
mov dword [ebp - 0x78], ecx
test ax, ax
jns 0x4640a1
mov eax, edi
jmp 0x4640af
mov eax, dword [ebp - 0x48]
add ecx, ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8]
mov ecx, dword [ebp - 0x78]
push eax
push ecx
push edx
push 0x5114f0
push 1
push ebx
call fcn.004433be
mov eax, dword [ebp - 0x4c]
add esp, 0x18
cmp dword [eax + 8], edi
je 0x4640fb
mov edx, dword [ebp - 0x38]
xor ecx, ecx
movzx eax, word [edx + 0x32]
cmp dword [ebp - 0x50], eax
mov eax, dword [edx + 0x20]
setl cl
push ecx
mov ecx, dword [ebp - 0x50]
push dword [eax + ecx*4]
mov eax, dword [edx + 0x1c]
movzx eax, byte [eax + ecx]
push eax
push 0x5114f4
push 4
push ebx
call fcn.004433be
add esp, 0x18
push dword [esi + 0x2c]
mov ecx, ebx
push 1
push 0x43
pop edx
call fcn.0044337d
mov edx, dword [ebp - 0x50]
inc edx
pop ecx
pop ecx
mov dword [ebp - 0x50], edx
cmp edx, dword [ebp - 0x54]
jl 0x464088
jmp 0x463603
test esi, esi
je 0x463603
push dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x30]
mov edx, esi
call fcn.00457d53
mov esi, eax
pop ecx
test esi, esi
je 0x463603
mov eax, dword [ebp - 0x3c]
mov ecx, eax
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x2c], 5
call fcn.0045b93e
mov esi, dword [esi + 8]
mov edx, edi
mov dword [ebp - 0x38], edi
test esi, esi
je 0x463603
push 3
mov dword [ebp - 0x1c], 0x5114f8
mov dword [ebp - 0x18], 0x5114fc
mov dword [ebp - 0x14], 0x510f1c
pop ecx
xor eax, eax
cmp dword [esi + 0x24], edi
setne al
push eax
mov eax, dword [esi + 0x38]
and eax, ecx
push dword [ebp + eax*4 - 0x1c]
xor eax, eax
cmp byte [esi + 0x36], al
setne al
push eax
push dword [esi]
push edx
push str.isisi
push 1
push ebx
call fcn.004433be
push 5
push 1
push 0x43
pop edx
mov ecx, ebx
call fcn.0044337d
mov edx, dword [ebp - 0x38]
add esp, 0x28
mov esi, dword [esi + 0x14]
inc edx
mov dword [ebp - 0x38], edx
push 3
pop ecx
test esi, esi
jne 0x46417d
jmp 0x463603
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x30]
push 3
pop esi
mov dword [eax + 0x2c], esi
cmp dword [edx + 0x14], edi
jle 0x46536b
mov ecx, edi
mov dword [ebp - 0x38], edi
mov eax, dword [edx + 0x10]
mov eax, dword [ecx + eax + 4]
test eax, eax
je 0x46422c
mov ecx, eax
call fcn.0044147b
mov ecx, dword [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x10]
push dword [ecx + eax]
push edi
push 0x511508
push 1
push ebx
call fcn.004433be
push esi
push 1
push 0x43
pop edx
mov ecx, ebx
call fcn.0044337d
mov edx, dword [ebp - 0x30]
add esp, 0x20
mov ecx, dword [ebp - 0x38]
inc edi
add ecx, 0x10
mov dword [ebp - 0x38], ecx
cmp edi, dword [edx + 0x14]
jl 0x4641e9
jmp 0x463603
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x30]
mov dword [eax + 0x2c], 2
mov eax, dword [esi + 0x174]
jmp 0x46427e
mov eax, dword [eax + 8]
push dword [eax]
push edi
push 0x51150c
push 1
push ebx
call fcn.004433be
add esp, 0x14
mov ecx, ebx
inc edi
push 2
push 1
push 0x43
pop edx
call fcn.0044337d
mov eax, dword [ebp - 0x38]
pop ecx
pop ecx
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x464252
jmp 0x463606
test esi, esi
je 0x463603
push dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x30]
mov edx, esi
call fcn.00457d53
mov dword [ebp - 0x78], eax
pop ecx
test eax, eax
je 0x463603
mov esi, dword [eax + 0x10]
test esi, esi
je 0x463603
mov eax, dword [ebp - 0x3c]
mov ecx, eax
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x54], edi
mov dword [eax + 0x2c], 8
call fcn.0045b93e
mov eax, edi
mov dword [ebp - 0x48], edi
cmp dword [esi + 0x14], edi
jle 0x46433d
lea eax, [esi + 0x24]
mov dword [ebp - 0x38], eax
mov cl, byte [esi + 0x19]
push str.NONE
call fcn.004633af
mov cl, byte [esi + 0x1a]
push eax
call fcn.004633af
push eax
mov eax, dword [ebp - 0x38]
push dword [eax + 4]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
add ecx, ecx
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push dword [esi + 8]
push edi
push dword [ebp - 0x54]
push str.iissssss
push 1
push ebx
call fcn.004433be
add esp, 0x2c
mov ecx, ebx
push 8
push 1
push 0x43
pop edx
call fcn.0044337d
add dword [ebp - 0x38], 8
inc edi
pop ecx
pop ecx
cmp edi, dword [esi + 0x14]
jl 0x4642dd
mov eax, dword [ebp - 0x54]
xor edi, edi
mov esi, dword [esi + 4]
inc eax
mov dword [ebp - 0x54], eax
test esi, esi
jne 0x4642cf
jmp 0x463603
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x2c]
lea edx, [eax + 1]
add eax, 5
mov dword [ebp - 0x4c], eax
inc eax
mov dword [ebp - 0x54], edx
mov edx, dword [ebp - 0x40]
mov dword [ecx + 0x2c], eax
call fcn.0045b93e
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x50]
mov eax, dword [edx + 0x10]
mov eax, dword [eax + ecx + 0xc]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x46536b
test esi, esi
je 0x46439e
push dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x3c]
xor edx, edx
push esi
call fcn.00457de7
pop ecx
pop ecx
mov ecx, edi
mov dword [ebp - 0x74], edi
jmp 0x4643a6
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x50], eax
test eax, eax
je 0x4646bf
cmp dword [eax + 0x10], edi
je 0x4646bf
push dword [eax]
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
push edi
push dword [eax + 0x1c]
call fcn.004579ef
mov ecx, dword [ebp - 0x50]
add esp, 0xc
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x34]
inc edx
movsx eax, word [ecx + 0x2a]
add edx, eax
mov eax, dword [ebp - 0x3c]
cmp edx, dword [eax + 0x2c]
jle 0x4643e9
mov dword [eax + 0x2c], edx
push 0x6a
push ecx
push dword [ebp - 0x40]
xor edx, edx
mov ecx, eax
call fcn.004603e4
mov eax, dword [ebp - 0x50]
add esp, 0xc
mov edx, dword [ebp - 0x54]
mov ecx, ebx
push dword [eax]
call fcn.004433a3
mov eax, dword [ebp - 0x50]
pop ecx
xor ecx, ecx
inc ecx
mov eax, dword [eax + 0x10]
jmp 0x4644ae
push dword [ebp - 0x6c]
mov edx, dword [eax + 8]
mov ecx, dword [ebp - 0x30]
call fcn.00457d53
mov dword [ebp - 0x68], eax
pop ecx
test eax, eax
je 0x4644a4
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x58], edi
push dword [eax]
push edi
push dword [eax + 0x1c]
call fcn.004579ef
mov edx, dword [ebp - 0x68]
lea eax, [ebp - 0x58]
mov ecx, dword [ebp - 0x3c]
add esp, 0xc
push edi
push eax
push dword [ebp - 0x38]
call fcn.0045ef23
add esp, 0xc
test eax, eax
jne 0x463603
mov eax, dword [ebp - 0x58]
test eax, eax
jne 0x464483
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x3c]
push 0x6a
push dword [ebp - 0x68]
push dword [ebp - 0x40]
call fcn.004603e4
add esp, 0xc
jmp 0x4644a4
push dword [ebp - 0x40]
mov ecx, ebx
push dword [eax + 0x2c]
push dword [ebp - 0x64]
push 0x6a
pop edx
call fcn.004432f9
mov edx, dword [ebp - 0x58]
add esp, 0xc
mov ecx, dword [ebp - 0x3c]
call fcn.00443ac0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x64]
inc ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x64], ecx
test eax, eax
jne 0x464419
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 0x28], ecx
jge 0x4644c7
mov dword [eax + 0x28], ecx
push edi
push 0x25
pop edx
mov ecx, ebx
call fcn.00443369
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x50]
pop ecx
mov dword [ebp - 0x5c], 1
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x64], eax
test eax, eax
je 0x4646a0
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x30]
lea edx, [ecx + 1]
add ecx, 2
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x7c], ecx
push dword [ebp - 0x6c]
mov edx, dword [eax + 8]
mov ecx, esi
call fcn.00457d53
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x44], edi
pop ecx
test eax, eax
je 0x464533
lea ecx, [ebp - 0x44]
mov edx, eax
push ecx
lea ecx, [ebp - 0x58]
push ecx
push dword [ebp - 0x64]
mov ecx, dword [ebp - 0x3c]
call fcn.0045ef23
add esp, 0xc
mov ecx, ebx
call fcn.00443528
mov dword [ebp - 0x70], eax
mov edx, edi
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x68], edx
mov ecx, dword [eax + 0x14]
test ecx, ecx
jle 0x4645b8
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x50]
inc ecx
add eax, 0x24
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x38], eax
jmp 0x464567
mov ecx, dword [ebp - 0x84]
cmp dword [ebp - 0x44], edi
je 0x464572
mov eax, dword [ebp - 0x44]
lea eax, [eax + edx*4]
push ecx
push dword [eax]
mov edx, esi
mov ecx, ebx
push edi
call fcn.00453703
add esp, 0xc
mov ecx, ebx
push dword [ebp - 0x70]
push dword [ebp - 0x84]
push 0x4b
pop edx
call fcn.0044337d
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x68]
add dword [ebp - 0x38], 8
inc edx
inc dword [ebp - 0x84]
pop ecx
pop ecx
mov ecx, dword [eax + 0x14]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x68], edx
cmp edx, ecx
jl 0x464561
mov esi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x58]
test edx, edx
je 0x4645fe
push ecx
push ecx
mov ecx, esi
call fcn.00460468
pop ecx
mov ecx, dword [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x64]
push ecx
push dword [eax + 0x14]
lea eax, [ecx + 1]
mov ecx, ebx
push eax
push 0x65
pop edx
call fcn.00443422
add esp, 0x14
mov ecx, ebx
push edi
push dword [ebp - 0x4c]
push dword [ebp - 0x70]
push dword [ebp - 0x5c]
push 0x1e
pop edx
call fcn.004434d9
add esp, 0x10
jmp 0x46462d
cmp dword [ebp - 0x48], edi
je 0x46462d
mov ecx, ebx
call fcn.004436d4
mov ecx, dword [ebp - 0x4c]
add eax, 2
inc ecx
push ecx
push eax
push dword [ebp - 0x5c]
mov ecx, ebx
push 0x1f
pop edx
call fcn.004432f9
mov edx, dword [ebp - 0x70]
add esp, 0xc
mov ecx, ebx
call fcn.00443392
push dword [ebp - 0x78]
mov eax, dword [ebp - 0x50]
mov ecx, ebx
push edi
push 0x7d
pop edx
test byte [eax + 0x24], 0x20
push 0x3b
pop eax
cmovne edx, eax
call fcn.0044337d
mov eax, dword [ebp - 0x5c]
dec eax
push eax
mov eax, dword [ebp - 0x64]
push dword [eax + 8]
push 0x511524
push dword [ebp - 0x7c]
push ebx
call fcn.004433be
add esp, 0x1c
mov ecx, ebx
push 4
push dword [ebp - 0x54]
push 0x43
pop edx
call fcn.0044337d
mov edx, dword [ebp - 0x70]
pop ecx
pop ecx
mov ecx, ebx
call fcn.0044356a
mov edx, dword [ebp - 0x44]
mov ecx, esi
call fcn.0042c1c6
mov eax, dword [ebp - 0x64]
inc dword [ebp - 0x5c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x64], eax
test eax, eax
jne 0x464500
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x80]
mov ecx, ebx
inc eax
push eax
push edi
push 7
pop edx
call fcn.0044337d
mov edx, dword [ebp - 0x80]
pop ecx
pop ecx
mov ecx, ebx
call fcn.00443817
mov ecx, dword [ebp - 0x74]
test ecx, ecx
jne 0x464383
jmp 0x463603
test esi, esi
je 0x463603
xor dl, dl
mov ecx, esi
call fcn.00463165
mov ecx, dword [ebp - 0x30]
movzx edx, al
call fcn.0045ee11
jmp 0x463603
mov eax, dword [ebp - 0x88]
or ecx, 0xffffffff
push 0x64
movzx eax, byte [eax]
mov al, byte [eax + 0x5027f0]
mov byte [ebp - 0x5d], al
mov eax, dword [ebp - 0x58]
cmp dword [eax], edi
mov eax, dword [ebp - 0x40]
cmove eax, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x3c]
mov dword [eax + 0x2c], 6
pop eax
mov dword [ebp - 0x38], eax
test esi, esi
je 0x46473c
lea edx, [ebp - 0x38]
mov ecx, esi
call fcn.0042ecad
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, ebx
push eax
push 0x38
pop edx
call fcn.0044337d
mov esi, dword [ebp - 0x30]
pop ecx
pop ecx
mov ecx, edi
mov dword [ebp - 0x54], ecx
cmp dword [esi + 0x14], edi
jle 0x464ec3
mov eax, dword [ebp - 0x40]
mov edx, edi
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x4c], edi
test eax, eax
js 0x464774
cmp ecx, eax
jne 0x464eab
mov esi, dword [ebp - 0x3c]
mov edx, ecx
mov ecx, esi
call fcn.0045b93e
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x44], edi
mov eax, dword [edx + 0x10]
mov eax, dword [ecx + eax + 0xc]
mov dword [ebp - 0x80], eax
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x4647f2
mov ebx, dword [ebp - 0x7c]
mov eax, edi
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebx + 8]
lea eax, [eax + 1]
mov dword [ebp - 0x74], edi
test byte [ecx + 0x24], 0x20
mov ecx, dword [ecx + 8]
cmovne eax, dword [ebp - 0x44]
test ecx, ecx
mov dword [ebp - 0x7c], ecx
mov ecx, edi
mov dword [ebp - 0x44], eax
je 0x4647d4
mov esi, dword [ebp - 0x7c]
mov esi, dword [esi + 0x14]
inc eax
inc ecx
test esi, esi
jne 0x4647c8
mov dword [ebp - 0x44], eax
mov ebx, dword [ebx]
cmp ecx, edx
cmovle ecx, edx
mov edx, ecx
test ebx, ebx
jne 0x4647a5
mov ebx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x4c], ecx
jmp 0x4647f4
mov eax, edi
lea eax, [eax*4 + 4]
mov ecx, edx
push edi
push eax
call fcn.0042c3e6
mov dword [ebp - 0x44], eax
pop ecx
pop ecx
test eax, eax
je 0x464ec0
mov eax, dword [ebp - 0x80]
mov edx, edi
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x68], eax
test eax, eax
je 0x46485a
mov ebx, dword [ebp - 0x44]
mov ecx, dword [eax + 8]
test byte [ecx + 0x24], 0x20
jne 0x464836
mov eax, dword [ecx + 0x1c]
mov dword [ebx + edx*4], eax
inc edx
mov eax, dword [ebp - 0x68]
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x46484e
mov eax, dword [ecx + 0x2c]
mov dword [ebx + edx*4], eax
inc edx
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x46483d
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x68], eax
test eax, eax
jne 0x464823
mov ebx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x4c]
push 0xfffffffffffffff4
push dword [ebp - 0x44]
mov dword [eax + edx*4], edi
add ecx, 8
mov eax, dword [esi + 0x2c]
cmp eax, ecx
push 1
push edx
cmovle eax, ecx
mov edx, 0x90
push 2
mov dword [esi + 0x2c], eax
mov ecx, ebx
pop esi
push esi
call fcn.00443422
mov eax, dword [ebp - 0x54]
add esp, 0x14
movzx edx, al
mov ecx, ebx
call fcn.004437ff
push esi
push 0x4b
pop edx
mov ecx, ebx
call fcn.00443369
mov edx, dword [ebp - 0x5c]
mov esi, eax
mov eax, dword [ebp - 0x30]
pop ecx
push 0xffffffffffffffff
mov ecx, dword [eax + 0x10]
push dword [edx + ecx]
push str._in_database__s__n
push eax
call fcn.0042d86a
add esp, 0xc
push eax
push edi
push 3
pop ecx
push ecx
push edi
push 0x61
pop edx
mov ecx, ebx
call fcn.00443422
add esp, 0x14
mov ecx, ebx
push 1
push 4
push 2
push 0x3f
pop edx
call fcn.004432f9
add esp, 0xc
mov ecx, ebx
push 2
push 3
push 4
push 0x5d
pop edx
call fcn.004432f9
add esp, 0xc
mov ecx, ebx
push 2
pop edx
call fcn.0046344d
mov edx, esi
mov ecx, ebx
call fcn.00443817
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x464e9f
mov eax, dword [eax + 8]
or dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x78], edi
cmp dword [eax + 0x1c], 1
jl 0x464e95
cmp dword [eax + 0x18], edi
jne 0x464959
test dword [eax + 0x24], 0x200
jne 0x464959
cmp dword [eax + 8], edi
je 0x464e95
cmp byte [ebp - 0x5d], 0x71
je 0x464e95
test byte [eax + 0x24], 0x20
jne 0x464964
mov dword [ebp - 0x68], edi
jmp 0x46496e
mov ecx, eax
call fcn.00458431
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x3c]
call fcn.00453870
mov edx, dword [ebp - 0x6c]
lea eax, [ebp - 0x84]
mov ecx, dword [ebp - 0x3c]
push eax
lea eax, [ebp - 0x58]
push eax
push edi
push 1
push edi
push 0x6a
call fcn.00461fbb
push 7
push edi
push 0x38
pop edx
mov ecx, ebx
call fcn.0044337d
mov eax, dword [ebp - 0x6c]
add esp, 0x20
mov esi, dword [eax + 8]
test esi, esi
je 0x4649ce
push 8
pop eax
mov dword [ebp - 0x74], eax
push eax
push edi
push 0x38
pop edx
mov ecx, ebx
call fcn.0044337d
mov eax, dword [ebp - 0x74]
mov esi, dword [esi + 0x14]
inc eax
mov dword [ebp - 0x74], eax
pop ecx
pop ecx
test esi, esi
jne 0x4649b2
push edi
push dword [ebp - 0x58]
mov ecx, ebx
push 0x25
pop edx
call fcn.0044337d
push 1
push 7
push 0x49
pop edx
mov ecx, ebx
call fcn.0044337d
mov ecx, dword [ebp - 0x6c]
add esp, 0x10
mov dword [ebp - 0x14], eax
mov edx, edi
xor eax, eax
mov dword [ebp - 0x74], edx
cmp ax, word [ecx + 0x2a]
jge 0x464aac
mov esi, edi
mov dword [ebp - 0x44], edi
movsx eax, word [ecx + 0x28]
cmp edx, eax
je 0x464a96
mov eax, dword [ecx + 4]
cmp byte [esi + eax + 0xc], 0
je 0x464a96
push 3
pop esi
push esi
push edx
push dword [ebp - 0x58]
mov edx, ecx
mov ecx, ebx
call fcn.00453703
add esp, 0xc
lea edx, [esi + 0x7d]
mov ecx, ebx
call fcn.004437ff
push esi
push 0x4c
pop edx
mov ecx, ebx
call fcn.00443369
mov edx, dword [ebp - 0x44]
mov esi, eax
mov eax, dword [ebp - 0x6c]
pop ecx
mov ecx, dword [eax + 4]
push dword [edx + ecx]
push dword [eax]
push str.NULL_value_in__s._s
push dword [ebp - 0x30]
call fcn.0042d86a
push 0xffffffffffffffff
push eax
push edi
push 3
push edi
push 0x61
pop edx
mov ecx, ebx
call fcn.00443422
add esp, 0x24
mov ecx, ebx
push 3
pop edx
call fcn.0046344d
mov edx, esi
mov ecx, ebx
call fcn.00443817
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x74]
mov esi, dword [ebp - 0x44]
movsx eax, word [ecx + 0x2a]
inc edx
add esi, 0x10
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x44], esi
cmp edx, eax
jl 0x464a09
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x464bb1
mov esi, dword [ebp - 0x30]
test dword [esi + 0x18], 0x2000
jne 0x464bb1
push edi
mov ecx, esi
call fcn.004519b8
cmp byte [esi + 0x45], 0
pop ecx
mov dword [ebp - 0x44], eax
jne 0x464ba5
mov ecx, ebx
call fcn.00443528
mov ecx, ebx
mov dword [ebp - 0x80], eax
call fcn.00443528
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x3c]
mov dword [eax + 0x3c], ecx
mov ecx, eax
call fcn.00453659
mov ecx, dword [ebp - 0x44]
mov eax, dword [ecx]
dec eax
mov dword [ebp - 0x7c], eax
test eax, eax
jle 0x464b45
mov esi, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x7c]
imul eax, eax, 0x18
add eax, 8
add eax, ecx
mov dword [ebp - 0x74], eax
push edi
push dword [ebp - 0x80]
push dword [eax]
push esi
call fcn.00454c2f
mov eax, dword [ebp - 0x74]
add esp, 0x10
dec ebx
sub eax, 0x18
mov dword [ebp - 0x74], eax
test ebx, ebx
jg 0x464b1f
mov ebx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x44]
push 0x10
push dword [ebp - 0x70]
push dword [ecx + 8]
push dword [ebp - 0x3c]
call fcn.004549d6
mov edx, dword [ebp - 0x80]
mov ecx, ebx
call fcn.0044356a
mov eax, dword [ebp - 0x6c]
push dword [eax]
push str.CHECK_constraint_failed_in__s
push esi
call fcn.0042d86a
add esp, 0x1c
mov ecx, ebx
push 0xffffffffffffffff
push eax
push edi
push 3
push edi
push 0x61
pop edx
call fcn.00443422
add esp, 0x14
mov ecx, ebx
push 3
pop edx
call fcn.0046344d
mov edx, dword [ebp - 0x70]
mov ecx, ebx
call fcn.0044356a
mov ecx, dword [ebp - 0x3c]
call fcn.0045365d
mov eax, dword [ebp - 0x44]
mov edx, eax
mov ecx, esi
call fcn.00452067
mov ecx, dword [ebp - 0x6c]
mov esi, dword [ecx + 8]
mov dword [ebp - 0x50], edi
jmp 0x464daa
cmp byte [ebp - 0x5d], 0x71
je 0x464db5
mov ecx, ebx
call fcn.00443528
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x68], esi
je 0x464da4
push dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x3c]
lea eax, [ebp - 0x8c]
push dword [ebp - 0x78]
mov edx, esi
push eax
push edi
push edi
push dword [ebp - 0x58]
call fcn.0045d192
mov ecx, dword [ebp - 0x50]
push 1
add ecx, 8
mov dword [ebp - 0x4c], eax
push ecx
push 0x49
pop edx
mov ecx, ebx
mov dword [ebp - 0x78], esi
call fcn.0044337d
movzx ecx, word [esi + 0x34]
mov eax, dword [ebp - 0x84]
add eax, dword [ebp - 0x50]
push ecx
push dword [ebp - 0x4c]
mov ecx, ebx
push dword [ebp - 0x7c]
push eax
push 0x1e
pop edx
call fcn.004434d9
push str.row
push 3
pop edx
mov ecx, ebx
mov esi, eax
call fcn.004433a3
add esp, 0x34
mov ecx, ebx
push 3
pop eax
push eax
push eax
push 7
push 0x5d
pop edx
call fcn.004432f9
add esp, 0xc
mov ecx, ebx
push str._missing_from_index
push 4
pop edx
call fcn.004433a3
pop ecx
push 3
pop eax
push eax
push eax
push 4
push 0x5d
pop edx
mov ecx, ebx
call fcn.004432f9
mov eax, dword [ebp - 0x70]
add esp, 0xc
mov ecx, ebx
push dword [eax]
push 4
pop edx
call fcn.004433a3
pop ecx
push 3
mov dword [ebp - 0x7c], eax
mov ecx, ebx
pop eax
push eax
push eax
push 4
push 0x5d
pop edx
call fcn.004432f9
add esp, 0xc
mov ecx, ebx
push 3
pop edx
call fcn.0046344d
mov edx, esi
mov dword [ebp - 0x80], eax
mov ecx, ebx
call fcn.00443817
mov esi, dword [ebp - 0x70]
cmp byte [esi + 0x36], 0
je 0x464d8c
mov ecx, ebx
call fcn.00443528
mov dword [ebp - 0x44], eax
mov ecx, edi
xor eax, eax
mov dword [ebp - 0x74], ecx
cmp ax, word [esi + 0x32]
jae 0x464d1a
mov edi, dword [ebp - 0x6c]
mov eax, dword [esi + 4]
movsx edx, word [eax + ecx*2]
test edx, edx
js 0x464cf4
mov eax, dword [edi + 4]
add edx, edx
cmp byte [eax + edx*8 + 0xc], 0
jne 0x464d0c
push dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
add eax, ecx
mov ecx, ebx
push eax
push 0x4b
pop edx
call fcn.0044337d
pop ecx
pop ecx
mov ecx, dword [ebp - 0x74]
movzx eax, word [esi + 0x32]
inc ecx
mov dword [ebp - 0x74], ecx
cmp ecx, eax
jl 0x464cdd
xor edi, edi
mov eax, dword [ebp - 0x84]
mov ecx, ebx
add eax, dword [ebp - 0x50]
push eax
push 7
pop edx
call fcn.00443369
mov edx, dword [ebp - 0x44]
mov esi, eax
pop ecx
mov ecx, ebx
call fcn.00443392
mov edx, esi
mov ecx, ebx
call fcn.00443817
mov esi, dword [ebp - 0x70]
mov ecx, ebx
movzx eax, word [esi + 0x32]
push eax
push dword [ebp - 0x4c]
mov eax, dword [ebp - 0x84]
push dword [ebp - 0x44]
add eax, dword [ebp - 0x50]
push eax
push 0x27
pop edx
call fcn.004434d9
push str.non_unique_entry_in_index
push 3
pop edx
mov ecx, ebx
call fcn.004433a3
mov edx, dword [ebp - 0x7c]
add esp, 0x14
mov ecx, ebx
call fcn.00443392
mov edx, dword [ebp - 0x44]
mov ecx, ebx
call fcn.0044356a
mov edx, dword [ebp - 0x80]
mov ecx, ebx
call fcn.00443817
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x3c]
call fcn.0045d2c0
mov esi, dword [esi + 0x14]
inc dword [ebp - 0x50]
mov dword [ebp - 0x70], esi
test esi, esi
jne 0x464bbc
mov esi, dword [ebp - 0x14]
mov ecx, ebx
push esi
push dword [ebp - 0x58]
push 7
pop edx
call fcn.0044337d
pop ecx
pop ecx
lea edx, [esi - 1]
mov ecx, ebx
call fcn.00443817
cmp byte [ebp - 0x5d], 0x71
je 0x464e95
push str.wrong__of_entries_in_index
push 2
pop edx
mov ecx, ebx
call fcn.004433a3
mov eax, dword [ebp - 0x6c]
pop ecx
mov ecx, edi
mov dword [ebp - 0x70], ecx
mov eax, dword [eax + 8]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x464e95
mov edx, dword [ebp - 0x68]
cmp edx, eax
je 0x464e83
mov eax, dword [ebp - 0x84]
push 3
pop esi
push esi
add eax, ecx
mov ecx, ebx
push eax
push 0x66
pop edx
call fcn.0044337d
mov eax, dword [ebp - 0x70]
mov ecx, ebx
push esi
push edi
add eax, 8
push eax
push 0x4e
pop edx
call fcn.004432f9
add esp, 0x14
mov edx, 0x90
mov ecx, ebx
mov esi, eax
call fcn.004437ff
mov eax, dword [ebp - 0x44]
mov ecx, ebx
push dword [eax]
push 3
pop edx
call fcn.004433a3
pop ecx
push 7
push 2
push 3
push 0x5d
pop edx
mov ecx, ebx
call fcn.004432f9
add esp, 0xc
mov ecx, ebx
push 7
pop edx
call fcn.0046344d
mov edx, esi
mov ecx, ebx
call fcn.00443817
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x68]
mov eax, dword [eax + 0x14]
inc ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x70], ecx
test eax, eax
jne 0x464e05
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
jmp 0x464916
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x40]
mov esi, dword [ebp - 0x30]
inc ecx
add edx, 0x10
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x5c], edx
cmp ecx, dword [esi + 0x14]
jl 0x464765
jmp 0x464ec3
mov esi, dword [ebp - 0x30]
push edi
push 0x501160
push 4
pop edx
mov ecx, ebx
call fcn.0044370a
mov edi, dword [ebp - 0x34]
pop ecx
pop ecx
mov ecx, eax
test ecx, ecx
je 0x463609
xor eax, eax
inc eax
sub eax, dword [ebp - 0x38]
mov dword [ecx + 8], eax
mov byte [ecx + 0x29], 0xfe
mov dword [ecx + 0x38], 0x5115d0
jmp 0x463609
test esi, esi
jne 0x464f23
mov esi, dword [ebp - 0x3c]
mov ecx, esi
call fcn.00465e72
test eax, eax
jne 0x463603
mov eax, dword [esi]
movzx edx, byte [eax + 0x42]
mov edx, dword [edx*8 + 0x501b70]
jmp 0x4638ff
mov edi, dword [ebp - 0x30]
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4e]
and al, 5
cmp al, 1
je 0x463603
mov eax, dword [str.UTF8]
mov ebx, 0x501b70
jmp 0x464f57
mov edx, eax
mov ecx, esi
call fcn.0042e4c7
test eax, eax
je 0x464f5d
add ebx, 8
mov eax, dword [ebx]
test eax, eax
jne 0x464f45
jmp 0x464f80
mov cl, byte [ebx + 4]
movzx eax, cl
test cl, cl
push 2
pop ecx
cmovne ecx, eax
mov eax, dword [edi + 0x10]
mov byte [edi + 0x42], cl
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], cl
cmp dword [ebx], 0
jne 0x463603
push esi
push str.unsupported_encoding:__s
push dword [ebp - 0x3c]
call fcn.0042e402
add esp, 0xc
jmp 0x463603
mov eax, dword [ecx + 8]
mov ecx, ebx
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x48], eax
call fcn.00443d37
test esi, esi
je 0x464feb
mov eax, dword [ebp - 0x4c]
test byte [eax + 5], 8
jne 0x464feb
push edi
push 0x501438
push 2
pop edx
mov ecx, ebx
call fcn.0044370a
mov edi, dword [ebp - 0x34]
mov esi, eax
mov eax, dword [ebp - 0x40]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x48]
mov dword [esi + 0x1c], ecx
mov ecx, edi
mov dword [esi + 4], eax
mov dword [esi + 0x18], eax
call fcn.0042ee24
mov dword [esi + 0x20], eax
mov esi, dword [ebp - 0x30]
jmp 0x463609
push edi
push 0x501214
push 3
pop edx
mov ecx, ebx
call fcn.0044370a
pop ecx
pop ecx
mov ecx, dword [ebp - 0x40]
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov ecx, dword [ebp - 0x48]
mov dword [eax + 0x20], ecx
mov ecx, ebx
call fcn.00443590
jmp 0x463603
mov eax, dword [ebp - 0x3c]
push edi
mov dword [eax + 0x2c], 1
call fcn.00429b31
pop ecx
jmp 0x46504e
xor edx, edx
inc edi
push eax
inc edx
call fcn.004433a3
pop ecx
xor eax, eax
mov ecx, ebx
inc eax
push eax
push eax
push 0x43
pop edx
call fcn.0044337d
push edi
call fcn.00429b31
add esp, 0xc
mov ecx, ebx
test eax, eax
jne 0x46502b
jmp 0x46500e
mov eax, dword [ebp - 0x58]
push 0xa
pop ecx
cmp dword [eax], edi
cmovne ecx, dword [ebp - 0x40]
mov dword [ebp - 0x14], ecx
test esi, esi
je 0x4650a7
mov edx, str.full
mov ecx, esi
call fcn.0042e4c7
test eax, eax
jne 0x46507e
xor edi, edi
inc edi
jmp 0x4650a7
mov edx, str.restart
mov ecx, esi
call fcn.0042e4c7
test eax, eax
jne 0x465093
push 2
pop edi
jmp 0x4650a7
mov edx, str.truncate
mov ecx, esi
call fcn.0042e4c7
test eax, eax
push 3
pop eax
cmove edi, eax
mov eax, dword [ebp - 0x3c]
push 3
pop ecx
push 1
push edi
push dword [ebp - 0x14]
mov dword [eax + 0x2c], ecx
mov ecx, ebx
push 8
pop edx
call fcn.004432f9
add esp, 0xc
push 3
push 1
jmp 0x463868
test esi, esi
je 0x4650e2
mov ecx, esi
call fcn.0042ee24
push eax
push dword [ebp - 0x30]
call fcn.0047bbd2
pop ecx
pop ecx
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0xe0], 0x47bbac
jne 0x463761
mov edi, dword [eax + 0xe4]
jmp 0x463761
push dword [ebp - 0x30]
call fcn.0047ae70
jmp 0x463602
test esi, esi
je 0x465128
mov ecx, esi
call fcn.0042ee24
mov ecx, eax
mov dword [ebp - 0x44], ecx
test cl, 2
je 0x463603
jmp 0x46512f
mov dword [ebp - 0x44], 0xfffe
mov esi, dword [ebp - 0x3c]
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x48], eax
inc eax
mov dword [esi + 0x28], eax
cmp dword [ebp - 0x6c], edi
je 0x465149
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x54], eax
jmp 0x46515e
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x14]
mov eax, dword [ebp - 0x40]
dec ecx
mov dword [ebp - 0x54], ecx
cmp eax, ecx
jg 0x4652c1
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x14], 0x2e
cmp eax, 1
je 0x4652af
mov edx, eax
mov ecx, esi
call fcn.0045b93e
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x50]
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + edx + 0xc]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x78], eax
test eax, eax
je 0x4652a6
mov eax, dword [eax + 8]
mov dword [ebp - 0x68], eax
test dword [eax + 0x24], 0x100
je 0x46529c
mov ax, word [eax + 0x2c]
add ax, word [ebp - 0x14]
movzx eax, ax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 8]
jmp 0x4651ce
test byte [eax + 0x38], 0x80
je 0x465277
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x4651c1
mov eax, dword [ebp - 0x38]
test ax, ax
je 0x46521d
mov edx, dword [ebp - 0x48]
mov ecx, esi
push 0x6a
push dword [ebp - 0x68]
push dword [ebp - 0x40]
call fcn.004603e4
mov eax, dword [ebp - 0x38]
add esp, 0xc
cwde
mov ecx, ebx
push eax
call fcn.004436d4
mov ecx, dword [ebp - 0x44]
and ecx, 1
add ecx, 2
add eax, ecx
mov ecx, ebx
push eax
push dword [ebp - 0x48]
push 0x22
pop edx
call fcn.004432f9
mov ecx, dword [ebp - 0x30]
add esp, 0xc
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x68]
push dword [eax]
mov eax, dword [ecx + 0x10]
push dword [eax + edx]
push str.ANALYZE___w_.__w_
push ecx
call fcn.0042d86a
add esp, 0x10
mov dword [ebp - 0x8c], eax
test byte [ebp - 0x44], 1
je 0x465281
mov ecx, esi
call fcn.004555aa
push 0xffffffffffffffff
push dword [ebp - 0x8c]
mov esi, eax
mov ecx, ebx
push edi
push esi
push edi
push 0x61
pop edx
call fcn.00443422
add esp, 0x14
mov ecx, ebx
push 1
push esi
push 0x43
pop edx
call fcn.0044337d
mov esi, dword [ebp - 0x3c]
pop ecx
pop ecx
jmp 0x465296
mov eax, edi
mov dword [ebp - 0x38], eax
jmp 0x4651d5
push 0xffffffffffffffff
push eax
push edi
push edi
push edi
mov edx, 0x8a
mov ecx, ebx
call fcn.00443422
add esp, 0x14
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
jmp 0x46518d
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x40]
inc eax
add ecx, 0x10
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x50], ecx
cmp eax, edx
jle 0x46516b
mov edx, 0x99
mov ecx, ebx
call fcn.0044335b
jmp 0x463603
test esi, esi
je 0x4652f1
lea edx, [ebp - 0x1c]
mov ecx, esi
call fcn.0042ebc3
test eax, eax
jne 0x4652f1
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.0042bbf0
pop ecx
pop ecx
or eax, 0xffffffff
push eax
push eax
call fcn.0042bbf0
jmp 0x463a50
test esi, esi
je 0x465333
lea edx, [ebp - 0x1c]
mov ecx, esi
call fcn.0042ebc3
test eax, eax
jne 0x465333
cmp dword [ebp - 0x18], edi
jl 0x465333
mov eax, dword [ebp - 0x1c]
jg 0x465320
cmp eax, edi
jb 0x465333
and eax, 0x7fffffff
push eax
push 0xb
push dword [ebp - 0x30]
call fcn.0047c031
add esp, 0xc
push 0xffffffffffffffff
push 0xb
push dword [ebp - 0x30]
call fcn.0047c031
add esp, 0xc
jmp 0x463763
test esi, esi
je 0x46535d
mov ecx, esi
call fcn.0042ee24
push eax
push dword [ebp - 0x30]
call fcn.0047b6c5
pop ecx
pop ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x1ac]
jmp 0x463763
mov esi, edx
jmp 0x463606