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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0
mov eax, dword [0x4e2040]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, ecx
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp + 8]
push ebx
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp + 0xc]
push esi
mov esi, dword [eax]
mov dword [ebp - 0x1c], ecx
mov ecx, eax
push edi
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x74], esi
call fcn.00488de5
mov edi, eax
mov dword [ebp - 0x68], edi
test edi, edi
je 0x4856f7
xor eax, eax
xor ebx, ebx
inc eax
mov edx, 0xa6
push ebx
push eax
push eax
mov ecx, edi
call fcn.004591cc
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x80]
mov edx, dword [ebp - 0x20]
add esp, 0xc
mov dword [eax + 0x2c], 2
push ecx
push dword [ebp - 0x54]
mov ecx, eax
call fcn.00474a48
mov dword [ebp - 0x50], eax
pop ecx
pop ecx
test eax, eax
js 0x4856f7
mov ecx, eax
shl ecx, 4
add ecx, dword [esi + 0x10]
mov dword [ebp - 0x58], ecx
cmp eax, 1
jne 0x482ccf
mov ecx, dword [ebp - 0x40]
call fcn.00479344
test eax, eax
jne 0x4856f7
mov edx, dword [ebp - 0x80]
mov ecx, esi
call fcn.00474967
mov dword [ebp - 0x98], eax
test eax, eax
je 0x4856f7
cmp dword [ebp + 0x10], ebx
je 0x482cff
push dword [ebp - 0x1c]
push 0x4d6440
push esi
call fcn.00440d10
add esp, 0xc
jmp 0x482d09
mov edx, dword [ebp - 0x1c]
mov ecx, esi
call fcn.00474967
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x5c], eax
cmp dword [ecx + 4], ebx
jbe 0x482d1e
mov ecx, dword [ebp - 0x58]
mov ecx, dword [ecx]
mov dword [ebp - 0x48], ecx
jmp 0x482d23
mov ecx, ebx
mov dword [ebp - 0x48], ebx
push ecx
mov ecx, dword [ebp - 0x40]
push eax
push dword [ebp - 0x98]
push 0x13
pop edx
call fcn.00473b56
add esp, 0xc
test eax, eax
jne 0x4856d7
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x18]
push eax
push 0xe
push dword [ebp - 0x48]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], ebx
push esi
mov dword [esi + 0x1c8], ebx
call fcn.004a875b
add esp, 0x10
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x482dfc
xor esi, esi
mov ecx, edi
lea edx, [esi + 1]
call fcn.0045a6af
push 0xffffffffffffffff
push dword [ebp - 0x18]
xor edx, edx
mov ecx, edi
push ebx
call fcn.0045a71a
mov eax, dword [ebp - 0x18]
add esp, 0xc
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x4856d7
push eax
lea edx, [esi + 1]
mov ecx, edi
call fcn.00459236
pop ecx
push ebx
xor eax, eax
mov ecx, edi
inc eax
push eax
push eax
push 0x54
pop edx
call fcn.004591cc
mov eax, dword [ebp - 0x18]
add esp, 0xc
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x4856d7
push eax
cmp dword [0x4e29f8], ebx
je 0x482df1
call dword [0x4e2a24]
sub dword [0x4e6320], eax
dec dword [0x4e6344]
pop ecx
push dword [ebp - 0x1c]
call dword [0x4e2a1c]
jmp 0x4856d6
cmp eax, 0xc
je 0x482e55
cmp dword [ebp - 0x18], ebx
je 0x482e44
push dword [ebp - 0x18]
push 0x4d29f0
push dword [ebp - 0x40]
call fcn.00441b18
mov esi, dword [ebp - 0x18]
add esp, 0xc
test esi, esi
je 0x482e44
push esi
cmp dword [0x4e29f8], ebx
je 0x482e3d
call dword [0x4e2a24]
sub dword [0x4e6320], eax
dec dword [0x4e6344]
pop ecx
push esi
call dword [0x4e2a1c]
pop ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x40]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ecx
jmp 0x4856d7
mov ecx, dword [ebp - 0x98]
call fcn.00482aea
mov edx, eax
mov dword [ebp - 0x4c], edx
test edx, edx
je 0x4856d7
test byte [edx + 5], 1
je 0x482e86
mov ecx, dword [ebp - 0x40]
call fcn.004863f8
test eax, eax
jne 0x4856d7
mov edx, dword [ebp - 0x4c]
mov al, byte [edx + 5]
test al, 2
jne 0x482ea2
test al, 4
je 0x482e98
mov ecx, dword [ebp - 0x5c]
test ecx, ecx
jne 0x482ea5
mov ecx, edi
call fcn.0048299f
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x5c]
movzx eax, byte [edx + 4]
dec eax
cmp eax, 0x2a
ja case.0x482eb3.5
jmp dword [eax*4 + 0x485709]
mov ebx, dword [ebp - 0x50]
mov ecx, edi
mov edx, ebx
call fcn.00459cdb
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x482ef6
mov eax, dword [ebp - 0x40]
push ecx
push 0x4cbb60
push 9
add dword [eax + 0x2c], 2
mov ecx, edi
pop edx
call fcn.004596aa
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x4856d5
mov ecx, eax
call fcn.0044273c
mov ecx, eax
call fcn.00442ddf
mov ecx, dword [ebp - 0x40]
xor edx, edx
push ebx
mov esi, eax
call fcn.00479447
pop ecx
push esi
push 3
push ebx
push 0x64
pop edx
mov ecx, edi
call fcn.004591cc
mov ecx, dword [ebp - 0x58]
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.0044fee0
jmp 0x4856d7
mov eax, dword [ebp - 0x58]
mov eax, dword [eax + 4]
mov dword [ebp - 0x20], eax
test ecx, ecx
jne 0x482f5d
test eax, eax
je 0x482f56
mov eax, dword [eax + 4]
mov ebx, dword [eax + 0x24]
mov eax, ebx
jmp 0x4856cb
call fcn.0044273c
mov ecx, dword [ebp - 0x20]
mov edx, eax
push ebx
push ebx
mov dword [esi + 0x64], eax
call fcn.0044ff5b
pop ecx
pop ecx
cmp eax, 7
jne 0x4856d7
mov ecx, esi
call fcn.0043f47b
jmp 0x4856d7
mov eax, dword [ebp - 0x58]
or edx, 0xffffffff
mov eax, dword [eax + 4]
mov dword [ebp - 0x20], eax
test ecx, ecx
je 0x482fbf
mov edx, str.fast
call fcn.00441c65
test eax, eax
jne 0x482fab
push 2
pop edx
jmp 0x482fbf
mov ecx, dword [ebp - 0x5c]
xor edx, edx
push ebx
inc edx
call fcn.0048282c
xor edx, edx
test al, al
pop ecx
setne dl
mov eax, dword [ebp - 0x54]
cmp dword [eax + 4], ebx
jne 0x482fea
test edx, edx
js 0x482fea
cmp dword [esi + 0x14], ebx
jle 0x482fea
mov edi, ebx
mov ecx, dword [esi + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.0044ffdc
inc ebx
lea edi, [edi + 0x10]
cmp ebx, dword [esi + 0x14]
jl 0x482fd2
mov edi, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x20]
call fcn.0044ffdc
jmp 0x4856cb
mov esi, dword [ebp - 0x40]
xorps xmm0, xmm0
mov edx, dword [ebp - 0x50]
mov ecx, esi
movlpd qword [ebp - 0x34], xmm0
cmp dword [esi + 0x78], ebx
cmovne ecx, dword [esi + 0x78]
call fcn.004793c0
mov ecx, dword [esi + 0x2c]
mov eax, dword [ebp - 0x98]
inc ecx
mov dword [esi + 0x2c], ecx
mov dword [ebp - 0x1c], ecx
movzx eax, byte [eax]
cmp byte [eax + 0x4cd408], 0x70
jne 0x483045
push ebx
push ecx
push dword [ebp - 0x50]
mov edx, 0xb1
mov ecx, edi
call fcn.004591cc
mov esi, dword [ebp - 0x1c]
jmp 0x48309e
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x48307f
lea edx, [ebp - 0x34]
mov ecx, eax
call fcn.004424c1
test eax, eax
jne 0x48307f
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x30], ebx
jg 0x483074
jl 0x48307f
cmp eax, ebx
jb 0x48307f
cmp dword [ebp - 0x30], ebx
jl 0x48308a
jg 0x483074
cmp eax, 0xfffffffe
jbe 0x48308a
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ebx
jmp 0x48308a
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x1c]
mov edx, 0xb2
push eax
push esi
push dword [ebp - 0x50]
mov ecx, edi
call fcn.004591cc
add esp, 0xc
push ebx
push 1
push esi
push 0x54
pop edx
mov ecx, edi
call fcn.004591cc
add esp, 0xc
jmp 0x4856d7
or eax, 0xffffffff
mov edx, str.exclusive
test ecx, ecx
je 0x4830ec
call fcn.00441c65
test eax, eax
jne 0x4830d4
xor edx, edx
inc edx
or eax, 0xffffffff
jmp 0x4830ee
mov ecx, dword [ebp - 0x5c]
mov edx, str.normal
call fcn.00441c65
test eax, eax
jne 0x4830e9
mov edx, ebx
jmp 0x4830cf
or eax, 0xffffffff
mov edx, eax
mov ecx, dword [ebp - 0x54]
cmp dword [ecx + 4], ebx
jne 0x48312b
cmp edx, eax
jne 0x483100
movzx eax, byte [esi + 0x59]
jmp 0x48313b
push 2
pop ebx
cmp dword [esi + 0x14], ebx
jle 0x483128
push 0x20
pop edi
mov eax, dword [esi + 0x10]
mov eax, dword [edi + eax + 4]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx]
call fcn.0044b8f4
inc ebx
lea edi, [edi + 0x10]
cmp ebx, dword [esi + 0x14]
jl 0x48310b
mov edi, dword [ebp - 0x68]
mov byte [esi + 0x59], dl
mov eax, dword [ebp - 0x58]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
call fcn.0044b8f4
cmp eax, 1
mov edx, str.normal
mov ecx, str.exclusive
cmove edx, ecx
mov ecx, edi
call fcn.00482a47
jmp 0x4856d7
test ecx, ecx
je 0x4831b1
push ecx
call fcn.004b5c60
pop ecx
mov ecx, eax
mov dword [ebp - 0x4c], ebx
and ecx, 0x3fffffff
mov eax, ebx
mov dword [ebp - 0x20], ecx
cmp eax, 6
je 0x4831b1
mov eax, dword [eax*4 + 0x4cc320]
test eax, eax
je 0x4831b1
push ecx
push eax
push dword [ebp - 0x5c]
call fcn.00441c90
add esp, 0xc
test eax, eax
mov eax, dword [ebp - 0x4c]
je 0x48319f
mov ecx, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x4c], eax
jmp 0x483172
cmp dword [ebp - 0x4c], 2
jne 0x4831cb
mov eax, dword [esi + 0x20]
and eax, 0x10000000
or eax, ebx
je 0x4831d3
or dword [ebp - 0x4c], 0xffffffff
mov edx, dword [ebp - 0x54]
cmp dword [edx + 4], ebx
jne 0x4831d6
mov ecx, ebx
mov dword [edx + 4], 1
mov dword [ebp - 0x50], ecx
jmp 0x4831d9
mov dword [ebp - 0x4c], eax
cmp eax, 0xffffffff
je 0x4831b5
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov eax, dword [esi + 0x14]
sub eax, 1
mov dword [ebp - 0x44], eax
js 0x483238
shl eax, 4
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x10]
mov edi, dword [ebp - 0x1c]
cmp dword [edi + eax + 4], ebx
mov edi, dword [ebp - 0x68]
mov eax, dword [ebp - 0x44]
je 0x483226
cmp eax, ecx
je 0x483205
cmp dword [edx + 4], ebx
jne 0x483226
mov edx, eax
mov ecx, edi
call fcn.00459cdb
push dword [ebp - 0x4c]
mov ecx, edi
push 1
push dword [ebp - 0x44]
push 4
pop edx
call fcn.004591cc
mov eax, dword [ebp - 0x44]
add esp, 0xc
sub dword [ebp - 0x1c], 0x10
dec eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x44], eax
test eax, eax
jns 0x4831ea
xor eax, eax
push ebx
inc eax
push eax
push eax
jmp 0x4830a5
mov eax, dword [ebp - 0x58]
or ebx, 0xffffffff
mov edx, ebx
push 0xfffffffffffffffe
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov esi, dword [eax]
mov dword [ebp - 0x30], edx
pop eax
mov dword [ebp - 0x34], eax
test ecx, ecx
je 0x483287
lea edx, [ebp - 0x34]
call fcn.004424c1
mov edx, dword [ebp - 0x30]
cmp edx, ebx
jg 0x483284
jl 0x483278
mov eax, dword [ebp - 0x34]
cmp eax, ebx
jae 0x483287
mov eax, ebx
mov edx, ebx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
jmp 0x483287
mov eax, dword [ebp - 0x34]
cmp edx, ebx
jl 0x4832ad
jg 0x483291
cmp eax, ebx
jb 0x4832ad
mov ecx, dword [esi + 0xe8]
mov dword [esi + 0xb0], eax
mov dword [esi + 0xb4], edx
test ecx, ecx
je 0x4832ad
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xb0]
push eax
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], eax
push ecx
jmp 0x4856ce
mov eax, dword [ebp - 0x58]
mov eax, dword [eax + 4]
mov dword [ebp - 0x20], eax
test ecx, ecx
jne 0x4832df
mov ecx, eax
call fcn.00450058
jmp 0x4856cb
call fcn.004828a6
mov ecx, dword [ebp - 0x20]
mov ebx, eax
mov edx, ebx
mov byte [esi + 0x5a], bl
call fcn.0045001a
test eax, eax
jne 0x4856d7
cmp ebx, 1
je 0x483309
cmp ebx, 2
jne 0x4856d7
mov esi, dword [edi + 0x6c]
push ecx
push 0x4ccddc
push 5
pop edx
mov ecx, edi
call fcn.004596aa
mov edx, dword [ebp - 0x50]
pop ecx
pop ecx
lea ecx, [esi + 4]
mov dword [eax + 4], edx
mov dword [eax + 0x30], ecx
lea ecx, [ebx - 1]
mov dword [eax + 0x5c], ecx
mov ecx, edi
mov dword [eax + 0x18], edx
mov dword [eax + 0x54], edx
call fcn.00459cdb
jmp 0x4856d7
mov dword [ebp - 0x24], ebx
test ecx, ecx
je 0x48335a
lea edx, [ebp - 0x24]
call fcn.004425bd
test eax, eax
je 0x48335a
cmp dword [ebp - 0x24], ebx
jg 0x483361
mov dword [ebp - 0x24], 0x7fffffff
mov esi, dword [ebp - 0x50]
xor edx, edx
mov ecx, dword [ebp - 0x40]
push esi
call fcn.00479447
pop ecx
push ebx
push 1
push dword [ebp - 0x24]
mov ecx, edi
push 0x47
pop edx
call fcn.004591cc
add esp, 0xc
mov ecx, edi
push ebx
push ebx
push esi
push 0x3e
pop edx
call fcn.004591cc
add esp, 0xc
mov ecx, edi
mov esi, eax
push ebx
push ebx
push 1
push 0x54
pop edx
call fcn.004591cc
add esp, 0xc
mov ecx, edi
push ebx
push 0xffffffffffffffff
push 1
push 0x56
pop edx
call fcn.004591cc
add esp, 0xc
mov ecx, edi
push ebx
push esi
push 1
push 0x3b
pop edx
call fcn.004591cc
add esp, 0xc
mov edx, esi
mov ecx, edi
call fcn.00459a36
mov ecx, dword [edi + 0x6c]
mov dword [eax + 8], ecx
jmp 0x4856d7
test ecx, ecx
jne 0x4833ef
mov eax, dword [ebp - 0x58]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x50]
jmp 0x4856cb
call fcn.0044273c
mov ebx, dword [ebp - 0x58]
mov ecx, dword [ebx + 0xc]
mov dword [ecx + 0x50], eax
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
jmp 0x482f32
test ecx, ecx
jne 0x48342e
mov eax, dword [esi + 0x20]
and eax, 0x20
or eax, ebx
je 0x482f56
mov eax, dword [ebp - 0x58]
xor edx, edx
mov ecx, dword [eax + 4]
call fcn.0044ff0b
mov ebx, eax
jmp 0x482f56
xor ebx, ebx
lea edx, [ebp - 0x1c]
inc ebx
mov dword [ebp - 0x1c], ebx
call fcn.004425bd
test eax, eax
je 0x48344e
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
call fcn.0044ff0b
cmp dword [ebp - 0x1c], 0
mov edx, ebx
mov ecx, dword [ebp - 0x5c]
setne byte [ebp - 0x20]
push dword [ebp - 0x20]
call fcn.0048282c
mov edx, dword [esi + 0x24]
test al, al
pop ecx
mov ecx, dword [esi + 0x20]
mov eax, esi
je 0x483475
or ecx, 0x20
jmp 0x483478
and ecx, 0xffffffdf
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], edx
mov ecx, esi
call fcn.00482a6d
jmp 0x4856d7
test ecx, ecx
je 0x48354c
lea edx, [ebp - 0x34]
call fcn.004424c1
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x1c], edx
cmp edx, ebx
jg 0x4834c6
jl 0x4834b0
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x24], eax
cmp eax, ebx
jae 0x4834cc
mov edx, dword [0x4e2aa4]
mov eax, dword [0x4e2aa0]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
jmp 0x4834c9
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x54]
cmp dword [ecx + 4], ebx
jne 0x4834da
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
mov edx, dword [esi + 0x14]
sub edx, 1
mov dword [ebp - 0x3c], edx
js 0x48354c
mov edi, dword [ebp - 0x50]
mov eax, edx
shl eax, 4
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 0x10]
mov esi, dword [ebp - 0x38]
mov eax, dword [esi + eax + 4]
mov esi, dword [ebp - 0x74]
test eax, eax
je 0x48353d
cmp edx, edi
je 0x48350a
cmp dword [ecx + 4], ebx
jne 0x48353d
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [ecx + 4], eax
mov ecx, dword [ecx]
mov eax, dword [ebp - 0x24]
mov dword [ecx + 0x88], eax
mov eax, dword [ebp - 0x1c]
mov dword [ecx + 0x8c], eax
call fcn.00449748
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x24], eax
sub dword [ebp - 0x38], 0x10
dec edx
mov dword [ebp - 0x3c], edx
test edx, edx
jns 0x4834f0
mov edi, dword [ebp - 0x68]
or eax, 0xffffffff
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x34]
push eax
push 0x12
push dword [ebp - 0x48]
push esi
call fcn.004a875b
mov ecx, eax
add esp, 0x10
test ecx, ecx
jne 0x483578
push dword [ebp - 0x30]
push dword [ebp - 0x34]
jmp 0x4856ce
push 0xc
pop eax
cmp ecx, eax
je 0x4856d7
jmp 0x482e47
test ecx, ecx
jne 0x483595
movzx eax, byte [esi + 0x56]
jmp 0x4856cb
mov edx, ecx
mov ecx, dword [ebp - 0x40]
call fcn.00482939
jmp 0x4856d7
test ecx, ecx
jne 0x4835b3
mov edx, dword [0x4e5cc4]
jmp 0x48314b
cmp byte [ecx], bl
je 0x4835e2
mov eax, dword [esi]
lea edx, [ebp - 0x20]
push edx
push 1
push ecx
push eax
call dword [eax + 0x20]
add esp, 0x10
test eax, eax
jne 0x4835d0
cmp dword [ebp - 0x20], ebx
jne 0x4835e2
push str.not_a_writable_directory
push dword [ebp - 0x40]
call fcn.00441b18
jmp 0x4856d5
cmp byte [esi + 0x56], 1
ja 0x4835f0
mov ecx, dword [ebp - 0x40]
call fcn.004828f5
push dword [0x4e5cc4]
call fcn.0043eeb4
mov eax, dword [ebp - 0x5c]
pop ecx
cmp byte [eax], bl
je 0x483618
push eax
push 0x4d29f0
call fcn.00440d9e
mov dword [0x4e5cc4], eax
jmp 0x4856d5
mov dword [0x4e5cc4], ebx
jmp 0x4856d7
test ecx, ecx
jne 0x483632
mov edx, dword [0x4e5cc0]
jmp 0x48314b
cmp byte [ecx], bl
je 0x48364f
mov eax, dword [esi]
lea edx, [ebp - 0x20]
push edx
push 1
push ecx
push eax
call dword [eax + 0x20]
add esp, 0x10
test eax, eax
jne 0x4835d0
cmp dword [ebp - 0x20], ebx
je 0x4835d0
push dword [0x4e5cc0]
call fcn.0043eeb4
mov eax, dword [ebp - 0x5c]
pop ecx
cmp byte [eax], bl
je 0x483677
push eax
push 0x4d29f0
call fcn.00440d9e
mov dword [0x4e5cc0], eax
jmp 0x4856d5
mov dword [0x4e5cc0], ebx
jmp 0x4856d7
test ecx, ecx
jne 0x483698
mov eax, dword [ebp - 0x58]
movzx eax, byte [eax + 8]
cdq
sub eax, 1
sbb edx, ebx
jmp 0x4856cc
cmp byte [esi + 0x55], bl
jne 0x4836a7
push str.Safety_level_may_not_be_changed_inside_a_transaction
jmp 0x4835d5
xor ebx, ebx
inc ebx
cmp dword [ebp - 0x50], ebx
je 0x4856d7
push ebx
xor edx, edx
call fcn.0048282c
inc eax
pop ecx
mov ecx, dword [ebp - 0x58]
and eax, 7
cmove eax, ebx
mov byte [ecx + 8], al
mov byte [ecx + 9], bl
jmp 0x48347e
test ecx, ecx
jne 0x483708
mov ecx, edi
call fcn.0048299f
mov edx, dword [ebp - 0x4c]
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
and ecx, dword [edx + 8]
and eax, dword [edx + 0xc]
or ecx, eax
je 0x4836f4
xor eax, eax
inc eax
jmp 0x483702
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
push ebx
jmp 0x4856cd
mov eax, dword [edx + 8]
mov edx, dword [edx + 0xc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], edx
cmp byte [esi + 0x55], bl
jne 0x483724
and eax, 0xffffbfff
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], eax
xor edx, edx
push ebx
inc edx
call fcn.0048282c
mov edx, dword [esi + 0x24]
mov dword [ebp - 0x80], edx
pop ecx
mov ecx, dword [esi + 0x20]
mov dword [ebp - 0x20], ecx
test al, al
je 0x48374c
or ecx, dword [ebp - 0x1c]
or edx, dword [ebp - 0x24]
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], edx
jmp 0x48379e
mov edx, dword [ebp - 0x1c]
mov ecx, edx
mov eax, dword [ebp - 0x24]
not ecx
and ecx, dword [ebp - 0x20]
not eax
and eax, dword [ebp - 0x80]
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], eax
cmp edx, 0x80000
jne 0x48377f
cmp dword [ebp - 0x24], ebx
jne 0x48377f
mov dword [esi + 0x208], ebx
mov dword [esi + 0x20c], ebx
jmp 0x48379e
and edx, 1
or edx, ebx
je 0x48379e
mov ecx, dword [ebp - 0x5c]
mov edx, str.reset
call fcn.00441c65
test eax, eax
jne 0x48379e
mov ecx, esi
call fcn.004745f2
push ebx
push ebx
push ebx
mov edx, 0xa6
mov ecx, edi
call fcn.004591cc
add esp, 0xc
jmp 0x48347e
test ecx, ecx
je 0x4856d7
mov esi, dword [ebp - 0x40]
mov ecx, esi
mov edx, dword [ebp - 0x48]
call fcn.004793e9
push dword [ebp - 0x48]
mov ecx, esi
push dword [ebp - 0x5c]
push 2
pop edx
call fcn.00474253
mov edx, eax
mov dword [ebp - 0x3c], edx
pop ecx
pop ecx
test edx, edx
je 0x4856d7
mov ecx, edx
mov dword [ebp - 0x38], ebx
call fcn.00474bb9
mov ecx, esi
mov dword [ebp - 0x7c], eax
mov dword [esi + 0x2c], 7
call fcn.00476f83
mov ecx, dword [ebp - 0x3c]
xor eax, eax
mov dword [ebp - 0x70], ebx
movzx esi, word [ecx + 0x22]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x84], edx
cmp ax, si
jge 0x4856d7
mov eax, esi
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x24], eax
movzx eax, word [edx + 0xe]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], eax
test al, 0x62
je 0x48386b
mov eax, dword [esi + 8]
or eax, dword [esi + 0xc]
jne 0x483848
inc dword [ebp - 0x38]
jmp 0x483936
movzx eax, word [edx + 0xe]
test al, 0x20
je 0x483859
mov dword [ebp - 0x1c], 2
jmp 0x48386b
movzx ecx, al
and ecx, 0x40
or ecx, 0x20
shr ecx, 5
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x3c]
xor eax, eax
inc eax
test byte [ebp - 0x20], al
jne 0x483878
mov dword [ebp - 0x44], ebx
jmp 0x4838bb
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x7c], ebx
je 0x4838bb
mov edi, dword [ebp - 0x24]
movsx edi, di
mov dword [ebp - 0x20], edi
cmp edi, eax
mov edi, dword [ebp - 0x68]
jl 0x4838bb
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x20]
mov esi, dword [eax + 4]
movsx eax, word [esi]
cmp eax, dword [ebp - 0x70]
je 0x4838ac
inc edi
add esi, 2
cmp edi, edx
jle 0x48389c
mov esi, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x44], edi
mov edi, dword [ebp - 0x68]
call fcn.004746b0
mov ecx, dword [ebp - 0x1c]
cmp ecx, 2
jae 0x4838d4
test eax, eax
je 0x4838d4
mov eax, dword [eax + 8]
mov dword [ebp - 0x1c], eax
jmp 0x4838d7
mov dword [ebp - 0x1c], ebx
mov eax, dword [esi + 8]
or eax, dword [esi + 0xc]
mov dword [ebp - 0x24], str.issisii
jne 0x4838ed
mov dword [ebp - 0x24], str.issisi
test byte [edx + 4], 0xf
mov edx, 0x4c8c24
push ecx
push dword [ebp - 0x44]
mov ecx, dword [ebp - 0x84]
push dword [ebp - 0x1c]
push 0
pop eax
setne al
push eax
call fcn.004419fa
push eax
mov eax, dword [ebp - 0x84]
push dword [eax]
mov eax, dword [ebp - 0x70]
sub eax, dword [ebp - 0x38]
push eax
push dword [ebp - 0x24]
push 1
push edi
call fcn.00459267
mov ecx, dword [ebp - 0x3c]
add esp, 0x28
mov edx, dword [ebp - 0x84]
movzx eax, word [ecx + 0x22]
add edx, 0x10
inc dword [ebp - 0x70]
mov esi, eax
cwde
mov dword [ebp - 0x24], esi
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x84], edx
cmp dword [ebp - 0x70], eax
jl 0x48382a
jmp 0x4856d7
mov eax, dword [ebp - 0x40]
mov ecx, eax
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x2c], 6
call fcn.004793e9
mov dword [ebp - 0x78], ebx
cmp dword [esi + 0x14], ebx
jle 0x4856d7
mov ecx, dword [ebp - 0x48]
mov edx, ebx
mov dword [ebp - 0x64], edx
test ecx, ecx
je 0x4839a9
mov eax, dword [esi + 0x10]
mov eax, dword [edx + eax]
test eax, eax
je 0x483bf0
mov edx, eax
call fcn.00441c65
mov edx, dword [ebp - 0x64]
test eax, eax
jne 0x483bed
mov eax, dword [esi + 0x10]
mov eax, dword [edx + eax + 0xc]
add eax, 8
mov ecx, dword [eax + 4]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x483adb
mov edi, ecx
mov ecx, dword [eax + 8]
dec edi
jmp 0x4839da
mov esi, dword [ecx + 8]
mov dword [ebp - 0x20], esi
cmp word [esi + 0x22], bx
mov esi, dword [ebp - 0x74]
je 0x4839e3
mov ecx, dword [ecx]
test ecx, ecx
jne 0x4839c9
jmp 0x483ad8
mov eax, dword [ebp - 0x20]
push dword [eax]
push str.SELECTFROM__w_
push esi
call fcn.00440d10
add esp, 0xc
mov dword [ebp - 0x20], eax
test eax, eax
je 0x483a9e
push ebx
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], ebx
push ecx
push ebx
push ebx
push 0xffffffffffffffff
mov edx, eax
mov ecx, esi
call fcn.00486966
mov eax, dword [ebp - 0x3c]
add esp, 0x14
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x483a94
mov ecx, dword [eax]
mov dword [ebp - 0x38], ecx
mov ecx, eax
call fcn.0045c631
test eax, eax
je 0x483a3f
mov ecx, 0x15545
call fcn.004a847a
jmp 0x483a94
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x8c], ebx
jl 0x483a61
jg 0x483a54
cmp dword [eax + 0x88], ebx
jbe 0x483a61
mov ecx, dword [ebp - 0x38]
mov edx, eax
call fcn.0045c64e
mov eax, dword [ebp - 0x1c]
mov ecx, eax
call fcn.0045b0f2
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x7c], eax
call fcn.0045b283
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x7c]
cmp byte [eax + 0x57], 0
jne 0x483a83
test edx, edx
je 0x483a8d
mov ecx, eax
call fcn.0043f527
mov eax, dword [ebp - 0x38]
mov ecx, eax
call fcn.004a6aae
mov edx, dword [ebp - 0x20]
mov ecx, esi
call fcn.0043eeff
cmp byte [esi + 0x57], 0
je 0x483ac3
push str.out_of_memory
push dword [esi + 0x10c]
call fcn.00441b18
mov eax, dword [esi + 0x10c]
pop ecx
pop ecx
mov dword [eax + 0xc], 7
mov eax, dword [esi + 0x10]
mov edx, dword [ebp - 0x64]
mov eax, dword [edx + eax + 0xc]
add eax, 8
test edi, edi
jne 0x4839c3
mov edi, dword [ebp - 0x68]
mov eax, dword [eax + 8]
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x483bed
mov ebx, dword [ebp - 0x5c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1c], eax
test ebx, ebx
je 0x483b12
mov edx, dword [eax]
test edx, edx
je 0x483bd8
mov ecx, ebx
call fcn.00441c65
test eax, eax
jne 0x483bd8
mov eax, dword [ebp - 0x1c]
mov cl, byte [eax + 0x2b]
cmp cl, 2
jne 0x483b23
mov dword [ebp - 0x38], str.view
jmp 0x483b48
cmp cl, 1
jne 0x483b31
mov dword [ebp - 0x38], str.virtual
jmp 0x483b48
test dword [eax + 0x1c], 0x1000
mov ecx, str.shadow
mov edx, str.table
cmove ecx, edx
mov dword [ebp - 0x38], ecx
mov eax, dword [eax]
push 7
push str.sqlite_
push eax
mov dword [ebp - 0x24], eax
call fcn.00441c90
add esp, 0xc
test eax, eax
jne 0x483b9b
mov eax, dword [ebp - 0x24]
mov edx, 0x4d354b
add eax, 7
mov ecx, eax
mov dword [ebp - 0x20], eax
call fcn.00441c65
test eax, eax
jne 0x483b83
mov dword [ebp - 0x24], str.sqlite_schema
jmp 0x483b9b
mov ecx, dword [ebp - 0x20]
mov edx, 0x4d4de3
call fcn.00441c65
test eax, eax
jne 0x483b9b
mov dword [ebp - 0x24], str.sqlite_temp_schema
mov ecx, dword [ebp - 0x1c]
xor edx, edx
inc edx
mov ecx, dword [ecx + 0x1c]
mov eax, ecx
shr eax, 0x10
and eax, edx
shr ecx, 7
push eax
mov eax, dword [ebp - 0x1c]
and ecx, edx
push ecx
mov ecx, dword [ebp - 0x64]
movsx eax, word [eax + 0x22]
push eax
push dword [ebp - 0x38]
mov eax, dword [esi + 0x10]
push dword [ebp - 0x24]
push dword [ecx + eax]
push str.sssiii
push edx
push edi
call fcn.00459267
add esp, 0x24
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
test eax, eax
jne 0x483aec
mov edx, dword [ebp - 0x64]
xor ebx, ebx
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x78]
add edx, 0x10
inc eax
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x78], eax
cmp eax, dword [esi + 0x14]
jl 0x483985
jmp 0x4856d7
test ecx, ecx
je 0x4856d7
push dword [ebp - 0x48]
mov edx, ecx
mov ecx, esi
call fcn.004743c0
mov dword [ebp - 0x44], eax
pop ecx
test eax, eax
jne 0x483c5e
push dword [ebp - 0x48]
mov ecx, dword [ebp - 0x40]
push dword [ebp - 0x5c]
push 2
pop edx
call fcn.00474253
pop ecx
pop ecx
test eax, eax
je 0x4856d7
test byte [eax + 0x1c], 0x80
je 0x4856d7
mov ecx, eax
call fcn.00474bb9
mov dword [ebp - 0x44], eax
test eax, eax
je 0x4856d7
mov edx, dword [eax + 0x18]
mov ecx, esi
call fcn.004864ff
mov esi, dword [ebp - 0x40]
mov edx, esi
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + 8]
or ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x44]
je 0x483c86
movzx edi, word [eax + 0x34]
push 6
jmp 0x483c8c
movzx edi, word [eax + 0x32]
push 3
pop ecx
mov dword [ebp - 0x1c], edi
mov dword [edx + 0x2c], ecx
mov ecx, esi
cmp dword [esi + 0x78], ebx
mov eax, dword [eax + 0xc]
cmovne ecx, dword [esi + 0x78]
mov edx, dword [ebp - 0x20]
movzx edi, di
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x80], eax
call fcn.004793c0
mov edx, ebx
test edi, edi
mov edi, dword [ebp - 0x68]
mov dword [ebp - 0x1c], edx
je 0x4856d7
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 4]
movzx eax, word [eax + edx*2]
movsx ecx, ax
mov dword [ebp - 0x20], ecx
test ax, ax
jns 0x483cdc
mov eax, ebx
jmp 0x483cea
mov eax, dword [ebp - 0x80]
add ecx, ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8]
mov ecx, dword [ebp - 0x20]
push eax
push ecx
push edx
push str.iisX
push 1
push edi
call fcn.00459267
mov ecx, dword [ebp - 0x4c]
add esp, 0x18
mov eax, dword [ecx + 8]
or eax, dword [ecx + 0xc]
je 0x483d37
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x1c]
movzx eax, word [ecx + 0x32]
cmp edx, eax
sbb eax, eax
neg eax
push eax
mov eax, dword [ecx + 0x20]
push dword [eax + edx*4]
mov eax, dword [ecx + 0x1c]
movzx eax, byte [eax + edx]
push eax
push str.isiX
push 4
push edi
call fcn.00459267
add esp, 0x18
push ebx
push dword [esi + 0x2c]
mov ecx, edi
push 1
push 0x54
pop edx
call fcn.004591cc
mov edx, dword [ebp - 0x1c]
add esp, 0xc
inc edx
mov dword [ebp - 0x1c], edx
cmp edx, dword [ebp - 0x88]
jl 0x483cc3
jmp 0x4856d7
test ecx, ecx
je 0x4856d7
push dword [ebp - 0x48]
mov edx, ecx
mov ecx, esi
call fcn.0047405a
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
je 0x4856d7
mov edx, dword [eax + 0x3c]
mov ecx, esi
call fcn.004864ff
mov esi, dword [ebp - 0x40]
mov edx, eax
mov ecx, dword [esi + 0x78]
test ecx, ecx
mov dword [esi + 0x2c], 5
cmovne esi, ecx
mov ecx, esi
call fcn.004793c0
mov esi, dword [ebp - 0x20]
mov ecx, ebx
mov dword [ebp - 0x1c], ebx
mov esi, dword [esi + 8]
test esi, esi
je 0x4856d7
push 3
mov dword [ebp - 0x34], 0x4d64e8
mov dword [ebp - 0x30], 0x4d64ec
mov dword [ebp - 0x2c], 0x4d5e38
pop edx
xor eax, eax
cmp dword [esi + 0x24], ebx
setne al
push eax
mov eax, dword [esi + 0x38]
and eax, edx
push dword [ebp + eax*4 - 0x34]
xor eax, eax
cmp byte [esi + 0x36], al
setne al
push eax
push dword [esi]
push ecx
push str.isisi
push 1
push edi
call fcn.00459267
mov ecx, dword [ebp - 0x1c]
add esp, 0x20
mov esi, dword [esi + 0x14]
inc ecx
mov dword [ebp - 0x1c], ecx
push 3
pop edx
test esi, esi
jne 0x483dd2
jmp 0x4856d7
mov eax, dword [ebp - 0x40]
mov dword [eax + 0x2c], 3
cmp dword [esi + 0x14], ebx
jle 0x4856d7
mov edx, ebx
push 0x10
mov dword [ebp - 0x1c], edx
pop eax
mov ecx, dword [esi + 0x10]
mov ecx, dword [edx + ecx + 4]
test ecx, ecx
je 0x483e5f
call fcn.00457218
push eax
mov eax, dword [esi + 0x10]
push dword [edx + eax]
push ebx
push 0x4d64f8
push 1
push edi
call fcn.00459267
mov edx, dword [ebp - 0x1c]
add esp, 0x18
push 0x10
pop eax
inc ebx
add edx, eax
mov dword [ebp - 0x1c], edx
cmp ebx, dword [esi + 0x14]
jl 0x483e31
jmp 0x4856d7
mov eax, dword [ebp - 0x40]
mov dword [eax + 0x2c], 2
mov esi, dword [esi + 0x1b8]
jmp 0x483e9a
mov eax, dword [esi + 8]
push dword [eax]
push ebx
push 0x4d64fc
push 1
push edi
call fcn.00459267
mov esi, dword [esi]
add esp, 0x14
inc ebx
test esi, esi
jne 0x483e81
jmp 0x4856d7
mov eax, dword [esi + 0x18]
xor ebx, ebx
mov esi, eax
inc ebx
mov eax, dword [ebp - 0x40]
shr esi, 5
and esi, ebx
mov dword [ebp - 0x1c], esi
mov dword [eax + 0x2c], 6
mov eax, 0x4e63a0
mov dword [ebp - 0x3c], eax
mov eax, dword [eax]
jmp 0x483edc
push esi
push ebx
mov edx, eax
mov ecx, edi
call fcn.00482b58
mov eax, dword [ebp - 0x38]
pop ecx
pop ecx
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x483ec9
mov eax, dword [ebp - 0x3c]
add eax, 4
mov dword [ebp - 0x3c], eax
cmp eax, 0x4e63fc
jl 0x483ec5
mov esi, dword [ebp - 0x74]
push 0
pop ebx
mov eax, dword [esi + 0x1a8]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x4856d7
mov esi, dword [ebp - 0x1c]
mov edx, dword [eax + 8]
mov ecx, edi
push esi
push ebx
call fcn.00482b58
mov eax, dword [ebp - 0x38]
pop ecx
pop ecx
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x483f0d
jmp 0x4856d7
mov eax, dword [ebp - 0x40]
mov dword [eax + 0x2c], 1
mov esi, dword [esi + 0x18c]
jmp 0x483f56
mov eax, dword [esi + 8]
push dword [eax + 4]
push 0x4d3b80
push 1
push edi
call fcn.00459267
mov esi, dword [esi]
add esp, 0x10
test esi, esi
jne 0x483f3e
jmp 0x4856d7
mov esi, 0x4cd8f0
push dword [esi]
push 0x4d3b80
push 1
push edi
call fcn.00459267
add esi, 0x10
add esp, 0x10
cmp esi, str.0123456789ABCDEF
jl 0x483f64
jmp 0x4856d7
test ecx, ecx
je 0x4856d7
push dword [ebp - 0x48]
mov edx, ecx
mov ecx, esi
call fcn.0047405a
mov dword [ebp - 0x80], eax
pop ecx
test eax, eax
je 0x4856d7
cmp byte [eax + 0x2b], bl
jne 0x4856d7
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x4856d7
mov edx, dword [eax + 0x3c]
mov ecx, esi
call fcn.004864ff
mov esi, dword [ebp - 0x40]
mov edx, eax
mov dword [ebp - 0x1c], ebx
mov ecx, dword [esi + 0x78]
test ecx, ecx
mov dword [esi + 0x2c], 8
cmovne esi, ecx
mov ecx, esi
call fcn.004793c0
mov esi, dword [ebp - 0x20]
mov eax, ebx
mov edx, ebx
mov dword [ebp - 0x38], edx
cmp dword [esi + 0x14], ebx
jle 0x484049
lea ebx, [esi + 0x24]
mov cl, byte [esi + 0x19]
push str.NONE
call fcn.00482ab5
mov cl, byte [esi + 0x1a]
push eax
call fcn.00482ab5
mov ecx, dword [ebx]
push eax
push dword [ebx + 4]
mov eax, dword [ebp - 0x80]
add ecx, ecx
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push dword [esi + 8]
push edx
push dword [ebp - 0x1c]
push str.iissssss
push 1
push edi
call fcn.00459267
mov edx, dword [ebp - 0x38]
lea ebx, [ebx + 8]
add esp, 0x2c
inc edx
mov dword [ebp - 0x38], edx
cmp edx, dword [esi + 0x14]
jl 0x483ff7
mov eax, dword [ebp - 0x1c]
xor ebx, ebx
mov esi, dword [esi + 4]
inc eax
mov dword [ebp - 0x1c], eax
test esi, esi
jne 0x483fea
jmp 0x4856d7
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + 0x2c]
lea edx, [eax + 1]
add eax, 5
mov dword [ebp - 0x38], edx
mov edx, dword [ebp - 0x50]
mov dword [ecx + 0x2c], eax
add edx, edx
mov dword [ebp - 0x70], eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax + edx*8 + 0xc]
mov edx, dword [eax + 0x10]
test edx, edx
je 0x4856d7
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x4840a3
push dword [ebp - 0x48]
xor edx, edx
push eax
call fcn.00474253
pop ecx
pop ecx
mov edx, ebx
mov dword [ebp - 0x8c], ebx
jmp 0x4840ae
mov eax, dword [edx + 8]
mov edx, dword [edx]
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x484423
cmp byte [eax + 0x2b], bl
jne 0x484423
cmp dword [eax + 0x30], ebx
je 0x484423
mov edx, dword [eax + 0x3c]
mov ecx, esi
call fcn.004864ff
mov ecx, dword [esi + 0x10]
mov edx, eax
add edx, edx
mov dword [ebp - 0x64], eax
mov eax, dword [ecx + edx*8]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x40]
mov ecx, eax
cmp dword [eax + 0x78], ebx
cmovne ecx, dword [eax + 0x78]
call fcn.004793c0
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x40]
push dword [eax]
push ebx
push dword [eax + 0x14]
call fcn.00473c88
mov ecx, dword [ebp - 0x4c]
add esp, 0xc
mov edx, dword [ebp - 0x70]
movsx eax, word [ecx + 0x22]
add edx, eax
mov eax, dword [ebp - 0x40]
cmp edx, dword [eax + 0x2c]
jle 0x484127
mov dword [eax + 0x2c], edx
push 0x70
push ecx
push dword [ebp - 0x64]
xor edx, edx
mov ecx, eax
call fcn.0047ec81
mov eax, dword [ebp - 0x4c]
add esp, 0xc
mov edx, dword [ebp - 0x38]
mov ecx, edi
push dword [eax]
call fcn.00459236
mov eax, dword [ebp - 0x4c]
pop ecx
xor ecx, ecx
inc ecx
mov eax, dword [eax + 0x30]
jmp 0x4841eb
push dword [ebp - 0x48]
mov edx, dword [eax + 8]
mov ecx, esi
call fcn.0047405a
mov dword [ebp - 0x3c], eax
pop ecx
test eax, eax
je 0x4841e1
push dword [eax]
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x40]
push ebx
push dword [eax + 0x14]
mov dword [ebp - 0x58], ebx
call fcn.00473c88
mov edx, dword [ebp - 0x3c]
lea eax, [ebp - 0x58]
mov ecx, dword [ebp - 0x40]
add esp, 0xc
push ebx
push eax
push dword [ebp - 0x1c]
call fcn.0047d392
add esp, 0xc
test eax, eax
jne 0x4856d7
mov eax, dword [ebp - 0x58]
test eax, eax
jne 0x4841c0
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x40]
push 0x70
push dword [ebp - 0x3c]
push dword [ebp - 0x64]
call fcn.0047ec81
add esp, 0xc
jmp 0x4841e1
push dword [ebp - 0x64]
mov ecx, edi
push dword [eax + 0x2c]
push dword [ebp - 0x24]
push 0x70
pop edx
call fcn.004591cc
mov edx, dword [ebp - 0x58]
add esp, 0xc
mov ecx, dword [ebp - 0x40]
call fcn.00459a1b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
inc ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], ecx
test eax, eax
jne 0x484157
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x28], ecx
jge 0x484204
mov dword [eax + 0x28], ecx
push ebx
push ebx
push ebx
push 0x24
pop edx
mov ecx, edi
call fcn.004591cc
mov dword [ebp - 0x90], eax
add esp, 0xc
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x44], 1
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x54], eax
test eax, eax
je 0x4843f3
mov ecx, dword [ebp - 0x38]
lea edx, [ecx + 1]
add ecx, 2
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x88], ecx
push dword [ebp - 0x48]
mov edx, dword [eax + 8]
mov ecx, esi
call fcn.0047405a
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x1c], ebx
pop ecx
test eax, eax
je 0x484277
lea ecx, [ebp - 0x1c]
mov edx, eax
push ecx
lea ecx, [ebp - 0x58]
push ecx
push dword [ebp - 0x54]
mov ecx, dword [ebp - 0x40]
call fcn.0047d392
add esp, 0xc
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x54]
mov edi, dword [ebp - 0x68]
dec dword [ecx + 0x38]
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0x78], eax
mov eax, dword [edx + 0x14]
add eax, dword [ebp - 0x70]
cmp eax, dword [ecx + 0x2c]
jle 0x484297
mov dword [ecx + 0x2c], eax
mov eax, dword [edx + 0x14]
mov ecx, ebx
mov dword [ebp - 0x3c], ebx
test eax, eax
jle 0x484302
mov eax, dword [ebp - 0x70]
add edx, 0x24
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4842bc
lea edx, [eax + ecx*4]
push dword [ebp - 0x24]
mov ecx, edi
push dword [edx]
mov edx, esi
push ebx
call fcn.0046c5f4
add esp, 0xc
mov ecx, edi
push ebx
push dword [ebp - 0x78]
push dword [ebp - 0x24]
push 0x32
pop edx
call fcn.004591cc
mov eax, dword [ebp - 0x54]
add esp, 0xc
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x7c]
inc ecx
add edx, 8
mov dword [ebp - 0x3c], ecx
inc dword [ebp - 0x24]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x7c], edx
cmp ecx, eax
jl 0x4842b2
mov esi, dword [ebp - 0x74]
mov edx, dword [ebp - 0x58]
test edx, edx
je 0x484349
push eax
push ecx
mov ecx, esi
call fcn.0047ecfc
pop ecx
push eax
mov eax, dword [ebp - 0x54]
mov ecx, edi
push ebx
push dword [eax + 0x14]
push dword [ebp - 0x70]
push 0x60
pop edx
call fcn.004592f6
mov eax, dword [ebp - 0x54]
add esp, 0x14
mov ecx, edi
push dword [eax + 0x14]
push dword [ebp - 0x70]
push dword [ebp - 0x78]
push dword [ebp - 0x44]
push 0x1d
pop edx
call fcn.004594df
add esp, 0x10
jmp 0x484372
cmp dword [ebp - 0x20], ebx
je 0x484372
push dword [ebp - 0x70]
mov eax, dword [edi + 0x6c]
mov ecx, edi
add eax, 2
push eax
push dword [ebp - 0x44]
push 0x1e
pop edx
call fcn.004591cc
mov edx, dword [ebp - 0x78]
add esp, 0xc
mov ecx, edi
call fcn.00459225
mov eax, dword [ebp - 0x4c]
mov edx, 0x87
push ebx
push dword [ebp - 0x80]
mov ecx, edi
test byte [eax + 0x1c], 0x80
push ebx
push 0x4b
pop eax
cmovne edx, eax
call fcn.004591cc
mov eax, dword [ebp - 0x44]
add esp, 0xc
dec eax
push eax
mov eax, dword [ebp - 0x54]
push dword [eax + 8]
push 0x4d6514
push dword [ebp - 0x88]
push edi
call fcn.00459267
add esp, 0x14
mov ecx, edi
push ebx
push 4
push dword [ebp - 0x38]
push 0x54
pop edx
call fcn.004591cc
mov edx, dword [ebp - 0x78]
add esp, 0xc
mov ecx, edi
call fcn.00459579
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4843df
mov edx, eax
mov ecx, esi
call fcn.0043eeff
mov eax, dword [ebp - 0x54]
inc dword [ebp - 0x44]
mov eax, dword [eax + 4]
mov dword [ebp - 0x54], eax
test eax, eax
jne 0x484244
mov eax, dword [ebp - 0x90]
mov ecx, edi
push ebx
inc eax
push eax
push ebx
push 0x27
pop edx
call fcn.004591cc
mov edx, dword [ebp - 0x90]
add esp, 0xc
mov ecx, edi
call fcn.00459a36
mov ecx, dword [edi + 0x6c]
mov edx, dword [ebp - 0x8c]
mov dword [eax + 8], ecx
test edx, edx
je 0x4856d7
mov ecx, dword [ebp - 0x40]
jmp 0x484085
test ecx, ecx
je 0x4856d7
xor edx, edx
push ebx
inc edx
call fcn.0048282c
xor edx, edx
test al, al
pop ecx
setne dl
mov ecx, esi
call fcn.0047d1f4
jmp 0x4856d7
mov eax, dword [ebp - 0x98]
or edx, 0xffffffff
push 0x64
mov dword [ebp - 0x4c], ebx
movzx eax, byte [eax]
mov al, byte [eax + 0x4cd408]
mov byte [ebp - 0x69], al
mov eax, dword [ebp - 0x54]
cmp dword [eax], ebx
mov eax, dword [ebp - 0x50]
cmove eax, edx
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x40]
mov dword [eax + 0x2c], 6
pop eax
mov dword [ebp - 0x24], eax
test ecx, ecx
je 0x4844d8
lea edx, [ebp - 0x24]
call fcn.004425bd
test eax, eax
je 0x4844ad
mov eax, dword [ebp - 0x24]
test eax, eax
jg 0x4844d8
push 0x64
pop eax
mov dword [ebp - 0x24], eax
jmp 0x4844d8
mov eax, dword [ebp - 0x50]
test eax, eax
js 0x4844c0
mov ecx, eax
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8]
jmp 0x4844c2
mov eax, ebx
mov ecx, dword [ebp - 0x40]
xor edx, edx
push eax
push dword [ebp - 0x5c]
call fcn.00474253
pop ecx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x24]
pop ecx
push ebx
push 1
lea ecx, [eax - 1]
push ecx
push 0x47
pop edx
mov ecx, edi
call fcn.004591cc
add esp, 0xc
mov edx, ebx
mov dword [ebp - 0x64], edx
cmp dword [esi + 0x14], ebx
jle 0x48518f
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x44], ebx
test eax, eax
js 0x48450c
cmp edx, eax
jne 0x485182
mov eax, dword [ebp - 0x40]
mov ecx, eax
cmp dword [eax + 0x78], 0
cmovne ecx, dword [eax + 0x78]
call fcn.004793c0
mov edx, dword [ebp - 0x64]
mov ecx, edx
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, ebx
mov dword [ebp - 0x3c], eax
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x48517f
mov edi, dword [ebp - 0x44]
cmp dword [ebp - 0x4c], 0
mov edx, dword [eax + 8]
mov dword [ebp - 0x20], edx
je 0x484553
cmp dword [ebp - 0x4c], edx
jne 0x484575
test byte [edx + 0x1c], 0x80
jne 0x48455a
inc ecx
mov eax, dword [ebp - 0x20]
mov edx, ebx
mov eax, dword [eax + 8]
jmp 0x484569
mov eax, dword [eax + 0x14]
inc ecx
inc edx
test eax, eax
jne 0x484564
mov eax, dword [ebp - 0x1c]
cmp edx, edi
cmovg edi, edx
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x484542
mov dword [ebp - 0x44], edi
mov edi, dword [ebp - 0x68]
test ecx, ecx
je 0x48517c
cmp dword [ebp - 0x4c], 0
lea eax, [ecx + 1]
push ebx
cmove eax, ecx
mov ecx, esi
lea eax, [eax*4 + 4]
push eax
call fcn.0043f1a0
mov dword [ebp - 0x38], eax
pop ecx
pop ecx
test eax, eax
je 0x48518f
cmp dword [ebp - 0x4c], 0
mov ecx, ebx
mov dword [ebp - 0x78], ecx
je 0x4845c7
xor ecx, ecx
mov dword [eax + 4], ebx
inc ecx
mov dword [ebp - 0x78], ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x484622
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x4c], 0
mov edx, dword [eax + 8]
je 0x4845eb
cmp dword [ebp - 0x4c], edx
jne 0x484613
test byte [edx + 0x1c], 0x80
jne 0x4845fb
mov eax, dword [edx + 0x14]
inc ecx
mov dword [esi + ecx*4], eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [edx + 8]
test edx, edx
je 0x484613
mov eax, dword [edx + 0x2c]
inc ecx
mov dword [esi + ecx*4], eax
mov edx, dword [edx + 0x14]
test edx, edx
jne 0x484602
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x4845dd
mov esi, dword [ebp - 0x74]
mov dword [ebp - 0x78], ecx
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x40]
push 1
push dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [edx + 0x2c]
mov ecx, dword [ebp - 0x44]
add ecx, 8
mov byte [edx + 0x13], bl
cmp eax, ecx
mov dword [edx + 0x1c], ebx
push 2
cmovle eax, ecx
mov ecx, edi
mov dword [edx + 0x2c], eax
mov edx, 0x9b
call fcn.004591cc
add esp, 0xc
mov edx, eax
mov ecx, edi
push 0xfffffffffffffff2
push dword [ebp - 0x38]
call fcn.00459979
mov eax, dword [ebp - 0x64]
mov ecx, edi
movzx edx, al
call fcn.0045974e
push ebx
push ebx
push 2
push 0x32
pop edx
call fcn.004591cc
mov edx, dword [ebp - 0x64]
add esp, 0x14
mov ecx, dword [esi + 0x10]
add edx, edx
mov edi, eax
push dword [ecx + edx*8]
push str._in_database__s__n
push esi
call fcn.00440d10
mov ecx, dword [ebp - 0x68]
add esp, 0xc
mov esi, eax
push ebx
push 3
push ebx
push 0x75
pop edx
call fcn.004591cc
add esp, 0xc
mov edx, eax
push 0xfffffffffffffffa
push esi
mov esi, dword [ebp - 0x68]
mov ecx, esi
call fcn.00459979
push 3
push 3
push 2
push 0x6f
pop edx
mov ecx, esi
call fcn.004591cc
add esp, 0x14
mov ecx, esi
call fcn.00482be6
mov edx, edi
mov edi, esi
mov ecx, edi
call fcn.00459a36
mov ecx, dword [edi + 0x6c]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x485179
mov eax, dword [eax + 8]
or dword [ebp - 0x78], 0xffffffff
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x88], ebx
cmp byte [eax + 0x2b], 0
jne 0x48516f
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x484724
cmp ecx, eax
jne 0x48516f
cmp byte [ebp - 0x69], 0x71
je 0x48476d
test byte [eax + 0x1c], 0x80
je 0x48476d
mov ecx, eax
call fcn.00474bb9
mov esi, dword [ebp - 0x40]
mov ecx, esi
mov dword [ebp - 0x58], eax
movzx edx, word [eax + 0x32]
call fcn.0046f3dc
mov edx, eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x1c], edx
movzx ecx, word [eax + 0x32]
dec ecx
add ecx, edx
push ecx
push edx
push 1
push 0x4b
pop edx
mov ecx, edi
call fcn.004591cc
mov eax, dword [ebp - 0x48]
add esp, 0xc
jmp 0x484776
mov esi, dword [ebp - 0x40]
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x1c], ebx
lea ecx, [ebp - 0x80]
mov edx, eax
push ecx
lea ecx, [ebp - 0x54]
push ecx
push ebx
push 1
push ebx
push 0x70
mov ecx, esi
call fcn.00481560
push ebx
push 7
push ebx
push 0x47
pop edx
mov ecx, edi
call fcn.004591cc
mov edx, dword [ebp - 0x48]
add esp, 0x24
mov eax, dword [edx + 8]
mov dword [ebp - 0x60], eax
test eax, eax
je 0x4847d5
mov esi, dword [ebp - 0x60]
push 8
pop eax
mov dword [ebp - 0x38], eax
push ebx
push eax
push ebx
push 0x47
pop edx
mov ecx, edi
call fcn.004591cc
mov eax, dword [ebp - 0x38]
add esp, 0xc
mov esi, dword [esi + 0x14]
inc eax
mov dword [ebp - 0x38], eax
test esi, esi
jne 0x4847b4
mov esi, dword [ebp - 0x40]
push ebx
push ebx
push dword [ebp - 0x54]
mov ecx, edi
push 0x24
pop edx
call fcn.004591cc
add esp, 0xc
mov ecx, edi
push ebx
push 1
push 7
push 0x56
pop edx
call fcn.004591cc
mov dword [ebp - 0x2c], eax
add esp, 0xc
mov eax, dword [ebp - 0x48]
movsx edx, word [eax + 0x22]
sub edx, 1
mov dword [ebp - 0x60], edx
js 0x484854
mov ecx, dword [eax + 4]
add ecx, 0xe
shl edx, 4
add edx, ecx
mov ecx, dword [ebp - 0x60]
test byte [edx], 0x20
jne 0x484829
movsx eax, word [eax + 0x20]
cmp eax, ecx
jne 0x484833
mov eax, dword [ebp - 0x48]
sub edx, 0x10
sub ecx, 1
jns 0x484819
jmp 0x484854
test ecx, ecx
js 0x484854
mov edx, dword [ebp - 0x48]
push 3
push ecx
push dword [ebp - 0x54]
mov ecx, edi
call fcn.0046c5f4
add esp, 0xc
mov ecx, edi
push 3
pop edx
call fcn.00459763
cmp byte [ebp - 0x69], 0x71
je 0x48492e
mov eax, dword [ebp - 0x58]
test eax, eax
je 0x48492e
movzx eax, word [eax + 0x32]
mov ecx, edi
mov esi, dword [ebp - 0x1c]
push eax
push esi
push ebx
push dword [ebp - 0x54]
push 0x29
pop edx
call fcn.004594df
mov ecx, dword [ebp - 0x68]
mov edi, eax
push ebx
push ebx
push esi
push 0x32
pop edx
call fcn.004591cc
mov eax, dword [ebp - 0x48]
add esp, 0x1c
push dword [eax]
push str.row_not_in_PRIMARY_KEY_order_for__s
push dword [ebp - 0x74]
call fcn.00440d10
mov ecx, dword [ebp - 0x68]
add esp, 0xc
mov esi, eax
push ebx
push 3
push ebx
push 0x75
pop edx
call fcn.004591cc
add esp, 0xc
mov edx, eax
push 0xfffffffffffffffa
push esi
mov esi, dword [ebp - 0x68]
mov ecx, esi
call fcn.00459979
pop ecx
pop ecx
mov ecx, esi
call fcn.00482be6
mov edx, edi
mov ecx, esi
call fcn.00459a36
mov ecx, dword [esi + 0x6c]
lea edx, [edi + 1]
mov edi, esi
mov dword [eax + 8], ecx
mov ecx, edi
call fcn.00459a36
mov ecx, dword [edi + 0x6c]
mov esi, dword [ebp - 0x40]
mov dword [ebp - 0x60], ebx
mov dword [eax + 8], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x58]
cmp cx, word [eax + 0x32]
jae 0x48492e
mov edi, ebx
mov ebx, eax
mov eax, dword [ebp - 0x1c]
mov edx, ebx
add eax, edi
mov ecx, esi
push eax
push edi
push dword [ebp - 0x54]
call fcn.0046c514
movzx eax, word [ebx + 0x32]
add esp, 0xc
inc edi
cmp edi, eax
jl 0x48490a
mov edi, dword [ebp - 0x68]
xor ebx, ebx
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x84], ebx
movzx eax, word [ecx + 0x1e]
and eax, 1
mov dword [ebp - 0x94], eax
xor eax, eax
cmp ax, word [ecx + 0x22]
jge 0x484d17
mov eax, ebx
mov dword [ebp - 0x44], eax
mov edx, dword [ecx + 4]
add edx, eax
movsx eax, word [ecx + 0x20]
mov dword [ebp - 0x7c], edx
cmp dword [ebp - 0x84], eax
je 0x484cf4
cmp dword [ebp - 0x94], 0
je 0x48498c
mov eax, dword [edx + 4]
and eax, 0xf0
push 0x10
pop edx
cmp edx, eax
mov edx, dword [ebp - 0x7c]
sbb eax, eax
neg eax
jmp 0x484995
xor eax, eax
cmp byte [edx + 8], 0x41
setg al
test byte [edx + 4], 0xf
mov dword [ebp - 0x3c], eax
jne 0x4849a6
test eax, eax
je 0x484cf4
test byte [edx + 0xe], 0x20
mov dword [ebp - 0x70], 5
je 0x4849d9
push 3
push dword [ebp - 0x84]
mov edx, ecx
mov ecx, edi
push dword [ebp - 0x54]
call fcn.0046c5f4
add esp, 0xc
or dword [ebp - 0x90], 0xffffffff
push 3
pop edx
jmp 0x484a6b
cmp word [edx + 0xc], bx
je 0x484a3d
mov dword [ebp - 0x38], ebx
call fcn.004746b0
mov dword [ebp - 0x60], eax
test eax, eax
je 0x484a3a
push ecx
movzx ecx, byte [edx + 8]
lea eax, [ebp - 0x38]
mov edx, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x74]
push ecx
movzx ecx, byte [eax + 0x54]
push ecx
mov ecx, eax
call fcn.00458bb6
mov ecx, dword [ebp - 0x38]
add esp, 0x10
mov dword [ebp - 0x60], ecx
test ecx, ecx
je 0x484a3a
movzx eax, word [ecx + 0x10]
and eax, 0x3f
movzx eax, byte [eax + 0x4d0260]
mov dword [ebp - 0x70], eax
call fcn.004581b7
mov ecx, dword [ebp - 0x60]
mov edx, ecx
mov ecx, dword [ecx + 0x14]
call fcn.0043eeff
mov ecx, dword [ebp - 0x48]
test byte [ecx + 0x1c], 0x80
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x84]
movzx edx, ax
je 0x484a63
call fcn.00474bb9
mov ecx, eax
call fcn.00474bd1
jmp 0x484a68
call fcn.00474bf1
movsx edx, ax
mov eax, dword [esi + 0x38]
dec eax
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x60], eax
lea ecx, [eax - 1]
mov dword [esi + 0x38], ecx
mov esi, dword [ebp - 0x7c]
mov dword [ebp - 0x38], ecx
test byte [esi + 4], 0xf
je 0x484b16
push dword [ebp - 0x70]
push edx
push ecx
push dword [ebp - 0x90]
mov ecx, edi
push 0x12
pop edx
call fcn.004594df
push 0xf
pop edx
mov ecx, edi
mov dword [ebp - 0x9c], eax
call fcn.0045974e
push dword [esi]
mov eax, dword [ebp - 0x48]
push dword [eax]
push str.NULL_value_in__s._s
push dword [ebp - 0x74]
call fcn.00440d10
push ebx
push 3
push ebx
push 0x75
pop edx
mov ecx, edi
mov esi, eax
call fcn.004591cc
add esp, 0x2c
mov edx, eax
mov ecx, edi
push 0xfffffffffffffffa
push esi
call fcn.00459979
mov eax, dword [ebp - 0x3c]
pop ecx
pop ecx
test eax, eax
je 0x484ba5
mov edx, dword [ebp - 0x60]
mov ecx, edi
call fcn.00459225
mov edx, dword [ebp - 0x9c]
mov ecx, edi
call fcn.00459a36
mov ecx, dword [edi + 0x6c]
mov esi, dword [ebp - 0x7c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x94], 0
je 0x484bb0
test eax, eax
je 0x484cd6
push dword [ebp - 0x70]
push dword [ebp - 0x8c]
push ecx
push dword [ebp - 0x90]
mov ecx, edi
push 0x12
pop edx
call fcn.004594df
mov eax, dword [esi + 4]
mov ecx, edi
shr eax, 4
and eax, 0xf
movzx edx, byte [eax + 0x4cc89f]
call fcn.0045974e
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov eax, dword [ecx + 4]
push dword [edx + eax]
mov eax, dword [esi + 4]
push dword [ecx]
shr eax, 4
and eax, 0xf
push dword [eax*4 + 0x4e3844]
push str.non__s_value_in__s._s
push dword [ebp - 0x74]
call fcn.00440d10
add esp, 0x24
mov ecx, edi
mov esi, eax
push ebx
push 3
push ebx
push 0x75
pop edx
call fcn.004591cc
add esp, 0xc
jmp 0x484cc8
mov esi, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x38]
jmp 0x484b19
cmp byte [esi + 8], 0x42
jne 0x484c0d
push dword [ebp - 0x70]
push dword [ebp - 0x8c]
push ecx
push dword [ebp - 0x90]
mov ecx, edi
push 0x12
pop edx
call fcn.004594df
push 0x1c
pop edx
mov ecx, edi
call fcn.0045974e
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov eax, dword [ecx + 4]
push dword [edx + eax]
push dword [ecx]
push str.NUMERIC_value_in__s._s
push dword [ebp - 0x74]
call fcn.00440d10
push ebx
push 3
push ebx
push 0x75
pop edx
mov ecx, edi
mov esi, eax
call fcn.004591cc
add esp, 0x2c
jmp 0x484cc8
cmp byte [esi + 8], 0x43
jl 0x484cd6
push dword [ebp - 0x70]
mov esi, dword [ebp - 0x90]
push dword [ebp - 0x8c]
push ecx
push esi
push 0x12
pop edx
mov ecx, edi
call fcn.004594df
add esp, 0x10
mov ecx, edi
push 0x1b
pop edx
call fcn.0045974e
test esi, esi
js 0x484c59
mov edx, dword [ebp - 0x48]
push 3
push dword [ebp - 0x84]
push dword [ebp - 0x54]
call fcn.0046c5f4
add esp, 0xc
push ebx
push 1
push 3
push 0x60
pop edx
mov ecx, edi
call fcn.004591cc
add esp, 0xc
or esi, 0xffffffff
mov edx, eax
mov ecx, edi
push esi
push 0x4d6598
call fcn.00459979
push dword [ebp - 0x70]
mov ecx, edi
push 3
push dword [ebp - 0x38]
push esi
push 0x12
pop edx
call fcn.004594df
push 0x1c
pop edx
mov ecx, edi
call fcn.0045974e
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov eax, dword [ecx + 4]
push dword [edx + eax]
push dword [ecx]
push str.TEXT_value_in__s._s
push dword [ebp - 0x74]
call fcn.00440d10
push ebx
push 3
push ebx
push 0x75
pop edx
mov ecx, edi
mov esi, eax
call fcn.004591cc
add esp, 0x34
push 0xfffffffffffffffa
push esi
mov edx, eax
mov ecx, edi
call fcn.00459979
pop ecx
pop ecx
mov edx, dword [ebp - 0x60]
mov ecx, edi
call fcn.00459579
mov ecx, edi
call fcn.00482be6
mov edx, dword [ebp - 0x38]
mov ecx, edi
call fcn.00459579
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x84]
movsx eax, word [ecx + 0x22]
inc edx
add dword [ebp - 0x44], 0x10
cmp edx, eax
mov esi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x84], edx
jl 0x484955
mov edx, dword [ecx + 0x10]
test edx, edx
je 0x484e31
mov esi, dword [ebp - 0x74]
mov eax, dword [esi + 0x20]
and eax, 0x200
or eax, ebx
jne 0x484e31
push ebx
mov ecx, esi
call fcn.0046a429
cmp byte [esi + 0x57], 0
pop ecx
mov dword [ebp - 0x38], eax
jne 0x484e21
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x38]
mov eax, dword [edx + 0x38]
dec eax
mov dword [ebp - 0x94], eax
dec eax
mov dword [ebp - 0x3c], eax
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 0x54]
inc eax
mov dword [edx + 0x34], eax
mov eax, dword [ecx]
dec eax
mov dword [ebp - 0x9c], eax
test eax, eax
jle 0x484db5
mov esi, dword [ebp - 0x9c]
mov edi, edx
imul eax, eax, 0x14
add eax, 8
add eax, ecx
mov dword [ebp - 0x60], eax
push ebx
push dword [ebp - 0x94]
push dword [eax]
push edi
call fcn.0046e269
mov eax, dword [ebp - 0x60]
add esp, 0x10
dec esi
sub eax, 0x14
mov dword [ebp - 0x60], eax
test esi, esi
jg 0x484d89
mov edi, dword [ebp - 0x68]
mov esi, dword [ebp - 0x74]
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x38]
push 0x10
push dword [ebp - 0x3c]
push dword [ecx + 8]
push edx
call fcn.0046df66
mov edx, dword [ebp - 0x94]
mov ecx, edi
call fcn.00459579
mov eax, dword [ebp - 0x40]
mov dword [eax + 0x34], ebx
mov eax, dword [ebp - 0x48]
push dword [eax]
push str.CHECK_constraint_failed_in__s
push esi
call fcn.00440d10
add esp, 0x1c
mov ecx, edi
mov esi, eax
push ebx
push 3
push ebx
push 0x75
pop edx
call fcn.004591cc
add esp, 0xc
mov edx, eax
mov ecx, edi
push 0xfffffffffffffffa
push esi
call fcn.00459979
pop ecx
pop ecx
mov ecx, edi
call fcn.00482be6
mov edx, dword [ebp - 0x3c]
mov ecx, edi
call fcn.00459579
mov esi, dword [ebp - 0x74]
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x484e2e
mov edx, eax
mov ecx, esi
call fcn.0046ac05
mov ecx, dword [ebp - 0x48]
cmp byte [ebp - 0x69], 0x71
je 0x485065
mov esi, dword [ecx + 8]
mov dword [ebp - 0x3c], esi
test esi, esi
je 0x485065
mov eax, dword [ebp - 0x80]
push 8
pop ecx
sub ecx, eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x9c], ecx
mov ecx, dword [eax + 0x38]
dec ecx
mov dword [ebp - 0x60], ecx
mov dword [eax + 0x38], ecx
cmp dword [ebp - 0x58], esi
je 0x485054
push dword [ebp - 0x78]
lea ecx, [ebp - 0xa0]
mov edx, esi
push dword [ebp - 0x88]
push ecx
push ebx
push ebx
push dword [ebp - 0x54]
mov ecx, eax
call fcn.0047b068
mov ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0x9c]
push ebx
push 1
push ecx
push 0x56
pop edx
mov ecx, edi
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x88], esi
call fcn.004591cc
movzx eax, word [esi + 0x34]
add esp, 0x24
mov ecx, edi
push eax
push dword [ebp - 0x78]
push dword [ebp - 0x60]
push dword [ebp - 0x44]
push 0x1d
pop edx
call fcn.004594df
push str.row
push 3
pop edx
mov ecx, edi
mov esi, eax
call fcn.00459236
add esp, 0x14
mov ecx, edi
push 3
push 3
push 7
push 0x6f
pop edx
call fcn.004591cc
add esp, 0xc
mov ecx, edi
push str._missing_from_index
push 4
pop edx
call fcn.00459236
pop ecx
push 3
push 3
push 4
push 0x6f
pop edx
mov ecx, edi
call fcn.004591cc
mov eax, dword [ebp - 0x3c]
add esp, 0xc
mov ecx, edi
push dword [eax]
push 4
pop edx
call fcn.00459236
pop ecx
push 3
push 3
push 4
push 0x6f
pop edx
mov ecx, edi
mov dword [ebp - 0x94], eax
call fcn.004591cc
add esp, 0xc
mov ecx, edi
call fcn.00482be6
mov dword [ebp - 0x7c], eax
mov edx, esi
mov ecx, edi
call fcn.00459a36
mov esi, dword [ebp - 0x3c]
mov ecx, dword [edi + 0x6c]
mov dword [eax + 8], ecx
cmp byte [esi + 0x36], 0
je 0x48502c
mov eax, dword [ebp - 0x40]
mov ecx, ebx
mov dword [ebp - 0x60], ecx
dec dword [eax + 0x38]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x38], eax
xor eax, eax
cmp ax, word [esi + 0x32]
jae 0x484fbb
mov eax, dword [esi + 4]
movsx edx, word [eax + ecx*2]
test edx, edx
js 0x484f95
mov eax, dword [ebp - 0x48]
add edx, edx
mov eax, dword [eax + 4]
test byte [eax + edx*8 + 4], 0xf
jne 0x484faf
mov eax, dword [ebp - 0x78]
push ebx
push dword [ebp - 0x38]
add eax, ecx
mov ecx, edi
push eax
push 0x32
pop edx
call fcn.004591cc
mov ecx, dword [ebp - 0x60]
add esp, 0xc
movzx eax, word [esi + 0x32]
inc ecx
mov dword [ebp - 0x60], ecx
cmp ecx, eax
jl 0x484f7b
push ebx
push ebx
push dword [ebp - 0x44]
mov ecx, edi
push 0x27
pop edx
call fcn.004591cc
mov edx, dword [ebp - 0x38]
add esp, 0xc
mov ecx, edi
mov esi, eax
call fcn.00459225
mov edx, esi
mov ecx, edi
call fcn.00459a36
mov esi, dword [ebp - 0x3c]
mov ecx, dword [edi + 0x6c]
mov dword [eax + 8], ecx
mov ecx, edi
movzx eax, word [esi + 0x32]
push eax
push dword [ebp - 0x78]
push dword [ebp - 0x38]
push dword [ebp - 0x44]
push 0x29
pop edx
call fcn.004594df
push str.non_unique_entry_in_index
push 3
pop edx
mov ecx, edi
call fcn.00459236
mov edx, dword [ebp - 0x94]
add esp, 0x14
mov ecx, edi
call fcn.00459225
mov edx, dword [ebp - 0x38]
mov ecx, edi
call fcn.00459579
mov edx, dword [ebp - 0x7c]
mov ecx, edi
call fcn.00459a36
mov ecx, dword [edi + 0x6c]
mov edx, dword [ebp - 0xa0]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x40]
test edx, edx
je 0x485054
mov ecx, dword [eax + 8]
call fcn.00459579
mov eax, dword [ebp - 0x40]
mov esi, dword [esi + 0x14]
inc dword [ebp - 0x44]
mov dword [ebp - 0x3c], esi
test esi, esi
jne 0x484e5d
mov esi, dword [ebp - 0x2c]
mov ecx, edi
push ebx
push esi
push dword [ebp - 0x54]
push 0x27
pop edx
call fcn.004591cc
add esp, 0xc
lea edx, [esi - 1]
mov ecx, edi
call fcn.00459a36
cmp byte [ebp - 0x69], 0x71
mov ecx, dword [edi + 0x6c]
mov dword [eax + 8], ecx
je 0x48516f
push str.wrong__of_entries_in_index
push 2
pop edx
mov ecx, edi
call fcn.00459236
mov eax, dword [ebp - 0x48]
pop ecx
mov eax, dword [eax + 8]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x485155
mov ecx, dword [ebp - 0x58]
push 8
pop esi
mov dword [ebp - 0x88], esi
cmp ecx, eax
je 0x485140
mov eax, dword [ebp - 0x80]
mov ecx, edi
push ebx
add eax, 0xfffffff8
push 3
add eax, esi
push eax
push 0x62
pop edx
call fcn.004591cc
add esp, 0xc
mov ecx, edi
push 3
push ebx
push esi
push 0x35
pop edx
call fcn.004591cc
add esp, 0xc
mov edx, 0x90
mov ecx, edi
mov esi, eax
call fcn.0045974e
mov eax, dword [ebp - 0x38]
push dword [eax]
push 4
pop edx
call fcn.00459236
pop ecx
push 3
push 2
push 4
push 0x6f
pop edx
mov ecx, edi
call fcn.004591cc
add esp, 0xc
mov ecx, edi
call fcn.00482be6
mov edx, esi
mov ecx, edi
call fcn.00459a36
mov ecx, dword [edi + 0x6c]
mov esi, dword [ebp - 0x88]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x58]
mov eax, dword [eax + 0x14]
inc esi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x88], esi
test eax, eax
jne 0x4850c1
mov eax, dword [ebp - 0x58]
test eax, eax
je 0x48516f
movzx eax, word [eax + 0x32]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x40]
push eax
call fcn.0046f412
add esp, 4
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
jmp 0x4846f0
mov esi, dword [ebp - 0x74]
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x50]
inc edx
mov dword [ebp - 0x64], edx
cmp edx, dword [esi + 0x14]
jl 0x4844fd
push ecx
push 0x4cd388
push 7
pop edx
mov ecx, edi
call fcn.004596aa
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x4851cb
xor eax, eax
inc eax
sub eax, dword [ebp - 0x24]
mov dword [esi + 8], eax
or eax, 0xffffffff
push 0xb
pop ecx
mov byte [esi + 0x29], al
mov dword [esi + 0x38], 0x4d662c
mov byte [esi + 0x65], al
call fcn.004a6d8c
mov dword [esi + 0x74], eax
mov esi, dword [edi + 0x6c]
xor edx, edx
mov ecx, edi
sub esi, 2
call fcn.00459a36
mov dword [eax + 0xc], esi
jmp 0x4856d7
test ecx, ecx
jne 0x48520a
mov ebx, dword [ebp - 0x40]
mov ecx, ebx
call fcn.004863f8
test eax, eax
jne 0x4856d7
mov eax, dword [ebx]
movzx edx, byte [eax + 0x54]
mov edx, dword [edx*8 + 0x4cd898]
jmp 0x48314b
test byte [esi + 0x18], 0x40
jne 0x4856d7
mov eax, dword [str.UTF8]
mov edi, 0x4cd898
test eax, eax
je 0x48525e
mov edx, eax
call fcn.00441c65
test eax, eax
je 0x48523b
mov ecx, dword [ebp - 0x5c]
add edi, 8
mov eax, dword [edi]
test eax, eax
jne 0x485222
jmp 0x48525b
mov cl, byte [edi + 4]
movzx eax, cl
test cl, cl
push 2
pop ecx
cmovne ecx, eax
mov eax, dword [esi + 0x10]
mov dl, cl
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], cl
mov ecx, esi
call fcn.00479ca1
mov ecx, dword [ebp - 0x5c]
cmp dword [edi], ebx
jne 0x4856d7
push ecx
push str.unsupported_encoding:__s
push dword [ebp - 0x40]
call fcn.00441b18
jmp 0x4830af
mov eax, dword [edx + 8]
mov ecx, edi
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x1c], eax
call fcn.00459cdb
cmp dword [ebp - 0x5c], ebx
je 0x4852ee
mov edx, dword [ebp - 0x4c]
test byte [edx + 5], 8
jne 0x4852ee
push ecx
push 0x4cc358
push 2
pop edx
mov ecx, edi
call fcn.004596aa
mov edi, eax
mov eax, dword [ebp - 0x50]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x5c]
mov dword [edi + 4], eax
mov dword [edi + 0x18], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x1c], eax
call fcn.0044273c
mov dword [edi + 0x20], eax
xor eax, eax
inc eax
mov word [edi + 0x16], ax
cmp dword [ebp - 0x1c], eax
jne 0x4856d7
mov eax, dword [esi + 0x20]
and eax, 0x10000000
or eax, ebx
je 0x4856d7
mov byte [edi + 0x14], 0xb8
jmp 0x4856d7
push ecx
push 0x4d0a30
push 3
pop edx
mov ecx, edi
call fcn.004596aa
pop ecx
pop ecx
mov ecx, dword [ebp - 0x50]
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [eax + 0x20], ecx
mov ecx, edi
call fcn.0045959f
jmp 0x4856d7
mov eax, dword [ebp - 0x40]
mov esi, ebx
push ebx
mov dword [eax + 0x2c], 1
jmp 0x485349
xor edx, edx
inc esi
push eax
inc edx
call fcn.00459236
pop ecx
push ebx
xor eax, eax
mov ecx, edi
inc eax
push eax
push eax
push 0x54
pop edx
call fcn.004591cc
add esp, 0xc
push esi
call fcn.004a8ec4
pop ecx
mov ecx, edi
test eax, eax
jne 0x48532a
jmp 0x485311
mov eax, dword [ebp - 0x54]
mov edx, ebx
push 0xc
cmp dword [eax], ebx
pop eax
cmovne eax, dword [ebp - 0x50]
mov dword [ebp - 0x2c], eax
push 3
pop esi
test ecx, ecx
je 0x4853b3
mov edx, str.full
call fcn.00441c65
test eax, eax
jne 0x485382
xor edx, edx
inc edx
jmp 0x4853b3
mov esi, dword [ebp - 0x5c]
mov edx, str.restart
mov ecx, esi
call fcn.00441c65
test eax, eax
jne 0x48539d
push 2
pop edx
push 3
pop esi
jmp 0x4853b3
mov edx, str.truncate
mov ecx, esi
call fcn.00441c65
push 3
test eax, eax
mov edx, ebx
pop esi
cmove edx, esi
mov eax, dword [ebp - 0x40]
mov ecx, edi
push 1
push edx
mov edx, esi
mov dword [eax + 0x2c], esi
mov eax, dword [ebp - 0x2c]
push eax
call fcn.004591cc
add esp, 0xc
push ebx
push esi
push 1
jmp 0x4830a5
test ecx, ecx
je 0x4853e7
call fcn.0044273c
push eax
push esi
call fcn.004a748d
pop ecx
pop ecx
cmp dword [esi + 0x110], 0x4a745b
jne 0x482f56
mov ebx, dword [esi + 0x114]
jmp 0x482f56
push esi
call fcn.004a65b0
jmp 0x4856d6
test ecx, ecx
je 0x485426
call fcn.0044273c
mov ecx, eax
mov dword [ebp - 0x1c], ecx
test cl, 2
je 0x4856d7
jmp 0x48542d
mov dword [ebp - 0x1c], 0xfffe
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x28]
mov dword [ebp - 0x80], eax
inc eax
mov dword [edx + 0x28], eax
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x48], ebx
je 0x485447
mov dword [ebp - 0x60], eax
jmp 0x485456
mov ecx, dword [esi + 0x14]
dec ecx
mov dword [ebp - 0x60], ecx
cmp eax, ecx
jg 0x4855b1
mov ecx, eax
shl ecx, 4
mov dword [ebp - 0x24], ecx
cmp eax, 1
je 0x48559e
cmp dword [edx + 0x78], ebx
mov ecx, edx
cmovne ecx, dword [edx + 0x78]
mov edx, eax
call fcn.004793c0
mov eax, dword [esi + 0x10]
mov ecx, dword [ebp - 0x24]
mov eax, dword [eax + ecx + 0xc]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x88], edx
test edx, edx
je 0x485598
mov edx, dword [edx + 8]
mov dword [ebp - 0x2c], edx
test dword [edx + 0x1c], 0x100
je 0x48558b
mov ax, word [edx + 0x26]
add ax, 0x2e
movzx eax, ax
mov dword [ebp - 0x20], eax
mov eax, dword [edx + 8]
jmp 0x4854c1
test byte [eax + 0x38], 0x80
je 0x485509
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x4854b8
cmp word [ebp - 0x20], bx
je 0x485509
mov ecx, dword [ebp - 0x40]
push 0x70
push edx
push dword [ebp - 0x50]
mov edx, dword [ebp - 0x80]
call fcn.0047ec81
mov eax, dword [ebp - 0x20]
add esp, 0xc
mov ecx, dword [ebp - 0x1c]
cwde
and ecx, 1
add ecx, 2
push eax
mov eax, dword [edi + 0x6c]
add eax, ecx
mov ecx, edi
push eax
push dword [ebp - 0x80]
push 0x21
pop edx
call fcn.004591cc
mov ecx, dword [ebp - 0x24]
add esp, 0xc
mov edx, dword [ebp - 0x2c]
push dword [edx]
mov eax, dword [esi + 0x10]
push dword [eax + ecx]
push str.ANALYZE___w_.__w_
push esi
call fcn.00440d10
add esp, 0x10
mov dword [ebp - 0x20], eax
test byte [ebp - 0x1c], 1
je 0x485566
mov ecx, dword [ebp - 0x40]
call fcn.0046f3a4
push ebx
mov esi, eax
mov ecx, edi
push esi
push ebx
push 0x75
pop edx
call fcn.004591cc
add esp, 0xc
mov edx, eax
mov ecx, edi
push 0xfffffffffffffffa
push dword [ebp - 0x20]
call fcn.00459979
push ebx
push 1
push esi
push 0x54
pop edx
mov ecx, edi
call fcn.004591cc
mov esi, dword [ebp - 0x74]
add esp, 0x14
jmp 0x485588
push ebx
push ebx
push ebx
mov edx, 0x94
mov ecx, edi
call fcn.004591cc
add esp, 0xc
mov edx, eax
mov ecx, edi
push 0xfffffffffffffffa
push dword [ebp - 0x20]
call fcn.00459979
pop ecx
pop ecx
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x88]
mov edx, dword [edx]
jmp 0x485484
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x40]
inc eax
add ecx, 0x10
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x24], ecx
cmp eax, dword [ebp - 0x60]
jle 0x48545e
push ebx
push ebx
push ebx
mov edx, 0xa6
jmp 0x4830a8
test ecx, ecx
je 0x4855db
lea edx, [ebp - 0x34]
call fcn.004424c1
test eax, eax
jne 0x4855db
push dword [ebp - 0x30]
push dword [ebp - 0x34]
call fcn.0043eb1f
pop ecx
pop ecx
or eax, 0xffffffff
push eax
push eax
call fcn.0043eb1f
push edx
push eax
mov ecx, edi
call fcn.00482a14
add esp, 0x10
jmp 0x4856d7
test ecx, ecx
je 0x48563f
lea edx, [ebp - 0x34]
call fcn.004424c1
test eax, eax
jne 0x48563f
or eax, 0xffffffff
push eax
push eax
call fcn.0043ebee
pop ecx
pop ecx
mov ecx, eax
cmp dword [ebp - 0x30], ebx
jl 0x48563f
jg 0x485620
cmp dword [ebp - 0x34], ebx
jbe 0x48563f
mov eax, ecx
or eax, edx
je 0x485632
cmp edx, dword [ebp - 0x30]
jl 0x48563f
jg 0x485632
cmp ecx, dword [ebp - 0x34]
jbe 0x48563f
push dword [ebp - 0x30]
push dword [ebp - 0x34]
call fcn.0043ebee
pop ecx
pop ecx
or ecx, 0xffffffff
push ecx
push ecx
call fcn.0043ebee
jmp 0x4855e5
test ecx, ecx
je 0x48567a
lea edx, [ebp - 0x34]
call fcn.004424c1
test eax, eax
jne 0x48567a
cmp dword [ebp - 0x30], ebx
jl 0x48567a
mov eax, dword [ebp - 0x34]
jg 0x485669
cmp eax, ebx
jb 0x48567a
and eax, 0x7fffffff
push eax
push 0xb
push esi
call fcn.004a78e3
add esp, 0xc
mov eax, dword [esi + 0xa4]
jmp 0x4856cb
test ecx, ecx
je 0x4856ab
lea edx, [ebp - 0x34]
call fcn.004424c1
test eax, eax
jne 0x4856ab
cmp dword [ebp - 0x30], ebx
jl 0x4856ab
mov eax, dword [ebp - 0x34]
jg 0x4856a0
cmp eax, ebx
jb 0x4856ab
and eax, 0x7fffffff
mov dword [esi + 0x1f0], eax
mov eax, dword [esi + 0x1f0]
jmp 0x4856cb
test ecx, ecx
je 0x4856c5
call fcn.0044273c
push eax
push esi
call fcn.004a6e8c
pop ecx
pop ecx
mov eax, dword [esi + 0x1f4]
cdq
push edx
push eax
mov ecx, edi
call fcn.00482a14
pop ecx
pop ecx
mov ebx, dword [ebp - 0x74]
mov ecx, ebx
mov edx, dword [ebp - 0x98]
call fcn.0043eeff
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x4856f7
mov edx, eax
mov ecx, ebx
call fcn.0043eeff
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004b0ce6
leave
ret