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

Disassembly:
sub esp, 0x68
push ebx
mov ebx, dword [esp + 0x70]
push ebp
mov ebp, dword [ebx + 8]
push edi
mov edi, dword [ebx]
mov dword [esp + 0xc], edi
test ebp, ebp
jne 0x47e4d9
cmp dword [ebx + 0x78], ebp
jne 0x47e4c6
test byte [edi + 0x44], 8
jne 0x47e4c6
mov byte [ebx + 0x17], 1
push ebx
call fcn.00437d10
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x4805b8
mov eax, dword [esp + 0x7c]
or dword [ebp + 0x94], 0x20
push eax
mov eax, dword [esp + 0x84]
push ebx
lea ecx, [esp + 0x54]
mov dword [ebx + 0x2c], 2
call fcn.00442630
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jl 0x4805b8
mov edx, dword [edi + 0x10]
mov ecx, eax
shl ecx, 4
add edx, ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x14], edx
cmp eax, 1
jne 0x47e532
mov eax, ebx
call fcn.0046e0f0
test eax, eax
jne 0x4805b8
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x4805b8
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push esi
push 0
push ecx
push edx
push edi
call fcn.00429ee0
mov esi, eax
add esp, 0x10
mov dword [esp + 0x28], esi
call fcn.0041cdd0
test esi, esi
je 0x4805b7
cmp dword [esp + 0x8c], 0
mov eax, dword [esp + 0x88]
je 0x47e58b
push eax
push 0x4be4f0
call fcn.0043d880
mov esi, eax
add esp, 8
mov dword [esp + 0x24], esi
jmp 0x47e59a
push edi
call fcn.0042f670
add esp, 4
mov dword [esp + 0x24], eax
mov esi, eax
mov ecx, dword [esp + 0x84]
cmp dword [ecx + 4], 0
jbe 0x47e5af
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
jmp 0x47e5b1
xor eax, eax
push eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x2c]
push esi
push eax
push 0x13
mov eax, ebx
call fcn.004424e0
add esp, 0x10
test eax, eax
jne 0x48059d
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x10]
lea edx, [esp + 0x68]
push edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], esi
mov dword [edi + 0x18c], eax
mov eax, dword [esp + 0x20]
push 0xe
push eax
push edi
call fcn.004375a0
add esp, 0x10
mov dword [esp + 0x40], eax
test eax, eax
jne 0x47e648
push 1
push ebp
call fcn.0042d730
mov ecx, dword [esp + 0x70]
push 0xffffffffffffffff
push ecx
push 0
push 0
mov ecx, ebp
call fcn.0043a0e0
mov eax, dword [esp + 0x80]
mov ecx, ebp
call fcn.00439150
mov edx, dword [esp + 0x80]
push edx
call fcn.0041c970
add esp, 0x1c
jmp 0x48059d
cmp dword [esp + 0x40], 0xc
je 0x47e680
mov eax, dword [esp + 0x68]
test eax, eax
je 0x47e671
push eax
push 0x4b5ab0
mov esi, ebx
call fcn.0043dbb0
mov eax, dword [esp + 0x70]
push eax
call fcn.0041c970
add esp, 0xc
mov ecx, dword [esp + 0x40]
inc dword [ebx + 0x24]
mov dword [ebx + 0xc], ecx
jmp 0x48059d
mov edx, dword [esp + 0x28]
push edx
call fcn.00430050
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
je 0x48059d
mov ecx, eax
test byte [ecx + 5], 1
je 0x47e6b8
mov edi, ebx
call fcn.00426b90
test eax, eax
jne 0x48059d
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov al, byte [ecx + 5]
test al, 2
jne 0x47e6d8
test al, 4
je 0x47e6c7
test esi, esi
jne 0x47e6d8
mov eax, dword [esp + 0x20]
push ebp
call fcn.0043bd00
mov ecx, dword [esp + 0x24]
add esp, 4
movzx eax, byte [ecx + 4]
cmp eax, 0x27
ja case.0x47e6e5.3
jmp dword [eax*4 + 0x4805c0]
mov edi, dword [esp + 0x14]
mov ecx, edi
mov eax, ebp
call fcn.00422820
test esi, esi
jne 0x47e728
add dword [ebx + 0x2c], 2
push 9
mov eax, 0x4b8a00
mov edi, ebp
call fcn.004329c0
mov ecx, dword [esp + 0x18]
add esp, 4
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x48059d
mov ecx, esi
call fcn.0042a530
call fcn.0041db20
push 0
mov ecx, edi
mov edx, ebx
mov esi, eax
call fcn.0046e220
push esi
push 3
push edi
push 0x68
push ebp
call fcn.00432730
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0xc]
mov dword [ecx + 0x50], esi
mov edx, dword [eax + 0xc]
mov ecx, dword [edx + 0x50]
mov eax, dword [eax + 4]
push ecx
call fcn.0042cd20
add esp, 0x1c
jmp 0x48059d
mov edx, dword [esp + 0x18]
mov ebx, dword [edx + 4]
test esi, esi
jne 0x47e78f
test ebx, ebx
je 0x47e788
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x20]
jmp 0x480590
xor eax, eax
jmp 0x480590
mov ecx, esi
call fcn.0042a530
push 0
push 0xffffffffffffffff
mov dword [edi + 0x54], eax
push eax
mov eax, ebx
call fcn.0046d7c0
add esp, 0xc
cmp eax, 7
jne 0x48059d
mov eax, edi
call fcn.0041caa0
jmp 0x48059d
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 4]
mov dword [esp + 0x54], edx
mov dword [esp + 0x7c], 0xffffffff
test esi, esi
je 0x47e808
push str.fast
push esi
call fcn.0042a290
add esp, 8
test eax, eax
jne 0x47e7f0
mov dword [esp + 0x7c], 2
jmp 0x47e808
push 0
push 1
push esi
call fcn.0042fe90
xor ecx, ecx
add esp, 0xc
test al, al
setne cl
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0x84]
cmp dword [edx + 4], 0
jne 0x47e842
cmp dword [esp + 0x7c], 0
jl 0x47e842
xor esi, esi
cmp dword [edi + 0x14], esi
jle 0x47e842
xor ebx, ebx
mov eax, dword [esp + 0x7c]
mov ecx, dword [edi + 0x10]
push eax
mov eax, dword [ebx + ecx + 4]
call fcn.0042cea0
inc esi
add esp, 4
add ebx, 0x10
cmp esi, dword [edi + 0x14]
jl 0x47e825
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x54]
push edx
call fcn.0042cea0
cdq
push edx
push eax
mov esi, ebp
call fcn.004351f0
add esp, 0xc
jmp 0x48059d
mov edi, dword [esp + 0x14]
mov ecx, edi
mov edx, ebx
call fcn.0046e180
inc dword [ebx + 0x2c]
mov eax, dword [esp + 0x28]
movzx ecx, byte [eax]
cmp byte [ecx + 0x4b7678], 0x70
mov ebx, dword [ebx + 0x2c]
jne 0x47e890
push 0
push ebx
push edi
push 0xa1
jmp 0x47e8a4
mov ecx, esi
call fcn.0042a530
call fcn.0041db20
push eax
push ebx
push edi
push 0xa2
push ebp
call fcn.00432730
add esp, 0x14
push 0
push 1
push ebx
push 0x4e
push ebp
call fcn.00432730
add esp, 0x14
jmp 0x48059d
mov esi, dword [esp + 0x24]
mov dword [esp + 0x7c], str.normal
call fcn.00426a20
mov edx, eax
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 4]
test eax, eax
jne 0x47e92d
cmp edx, 0xffffffff
jne 0x47e8f2
mov ecx, dword [esp + 0x10]
movzx eax, byte [ecx + 0x4b]
jmp 0x47e93e
test eax, eax
jne 0x47e92d
mov ebx, dword [esp + 0x10]
mov esi, 2
cmp dword [ebx + 0x14], esi
jle 0x47e92a
mov edi, 0x20
lea esp, [esp]
mov eax, dword [ebx + 0x10]
mov ecx, dword [edi + eax + 4]
mov eax, dword [ecx + 4]
mov eax, dword [eax]
call fcn.0042c170
inc esi
add edi, 0x10
cmp esi, dword [ebx + 0x14]
jl 0x47e910
mov byte [ebx + 0x4b], dl
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 4]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call fcn.0042c170
cmp eax, 1
jne 0x47e94b
mov dword [esp + 0x7c], str.exclusive
mov eax, dword [esp + 0x7c]
mov ecx, ebp
call fcn.00439150
jmp 0x48059d
test esi, esi
jne 0x47e969
mov dword [esp + 0x7c], 0xffffffff
jmp 0x47e9a5
mov eax, esi
call fcn.0041cd80
mov dword [esp + 0x54], eax
xor ebx, ebx
cmp ebx, 6
je 0x47e95f
mov eax, dword [ebx*4 + 0x4b89e4]
test eax, eax
je 0x47e95f
mov edx, dword [esp + 0x54]
push edx
push eax
push esi
call fcn.0041cea0
add esp, 0xc
test eax, eax
je 0x47e99c
inc ebx
jmp 0x47e976
mov dword [esp + 0x7c], ebx
cmp ebx, 0xffffffff
jne 0x47e9c1
mov eax, dword [esp + 0x84]
cmp dword [eax + 4], 0
jne 0x47e9c1
mov dword [esp + 0x14], 0
mov dword [eax + 4], 1
mov esi, dword [edi + 0x14]
sub esi, 1
js 0x47ea11
mov ebx, esi
shl ebx, 4
mov edi, edi
mov eax, dword [edi + 0x10]
cmp dword [ebx + eax + 4], 0
je 0x47ea09
cmp esi, dword [esp + 0x14]
je 0x47e9ed
mov ecx, dword [esp + 0x84]
cmp dword [ecx + 4], 0
jne 0x47ea09
mov ecx, esi
mov eax, ebp
call fcn.00422820
mov edx, dword [esp + 0x7c]
push edx
push 1
push esi
push 9
push ebp
call fcn.00432730
add esp, 0x14
dec esi
sub ebx, 0x10
test esi, esi
jge 0x47e9d0
push 0
push 1
push 1
push 0x4e
push ebp
call fcn.00432730
add esp, 0x14
jmp 0x48059d
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 4]
mov ebx, dword [edx]
or ecx, 0xffffffff
mov eax, 0xfffffffe
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ecx
test esi, esi
je 0x47ea75
lea eax, [esp + 0x5c]
push eax
mov edi, esi
call fcn.0042a2b0
mov ecx, dword [esp + 0x64]
add esp, 4
cmp ecx, 0xffffffff
jg 0x47ea71
jl 0x47ea6a
mov eax, dword [esp + 0x5c]
cmp eax, 0xffffffff
jae 0x47ea75
or eax, 0xffffffff
or ecx, eax
jmp 0x47ea75
mov eax, dword [esp + 0x5c]
push ecx
push eax
mov ecx, ebx
call fcn.0042c1a0
push edx
push eax
mov esi, ebp
call fcn.004351f0
add esp, 0x10
jmp 0x48059d
mov ecx, dword [esp + 0x18]
mov edi, dword [ecx + 4]
test esi, esi
jne 0x47eaa6
mov eax, edi
call fcn.0042cf90
jmp 0x480590
mov esi, dword [esp + 0x24]
call fcn.0042ff50
mov edx, dword [esp + 0x10]
mov ebx, eax
push ebx
mov eax, edi
mov byte [edx + 0x4c], bl
call fcn.0042cf10
add esp, 4
test eax, eax
jne 0x48059d
cmp ebx, 1
je 0x47ead9
cmp ebx, 2
jne 0x48059d
mov esi, dword [ebp + 0x88]
push 5
mov eax, 0x4b8a28
mov edi, ebp
call fcn.004329c0
mov ecx, dword [esp + 0x18]
add esi, 4
dec ebx
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x30], esi
mov dword [eax + 0x54], ecx
mov dword [eax + 0x5c], ebx
add esp, 4
mov eax, ebp
call fcn.00422820
jmp 0x48059d
test esi, esi
je 0x47eb31
lea eax, [esp + 0x7c]
push eax
push esi
call fcn.0042a3b0
add esp, 8
test eax, eax
je 0x47eb31
mov edi, dword [esp + 0x7c]
test edi, edi
jg 0x47eb36
mov edi, SysReAllocString
mov esi, dword [esp + 0x14]
push 0
mov ecx, esi
mov edx, ebx
call fcn.0046e220
push 0
push 1
push edi
push 0x43
push ebp
call fcn.00432730
push 0
push 0
push esi
push 0x3c
push ebp
call fcn.00432730
push 0
push 0
push 1
push 0x4e
push ebp
mov esi, eax
call fcn.00432730
add esp, 0x40
push 0
push 0xffffffffffffffff
push 1
push 0x50
push ebp
call fcn.00432730
push 0
push esi
push 1
push 0x30
push ebp
call fcn.00432730
add esp, 0x28
mov eax, esi
mov edx, ebp
call fcn.0042d3d0
jmp 0x48059d
test esi, esi
jne 0x47ebb1
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0x50]
jmp 0x480590
mov ecx, esi
call fcn.0042a530
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x50], eax
mov eax, dword [ecx + 0xc]
mov edx, dword [eax + 0x50]
mov eax, dword [ecx + 4]
push edx
call fcn.0042cd20
add esp, 4
jmp 0x48059d
test esi, esi
jne 0x47ebfc
test byte [edi + 0x1c], 0x20
je 0x47e788
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 4]
push esi
call fcn.0042cd70
add esp, 4
jmp 0x480590
lea ecx, [esp + 0x7c]
push ecx
push esi
mov dword [esp + 0x84], 1
call fcn.0042a3b0
mov ebx, dword [esp + 0x84]
add esp, 8
test eax, eax
je 0x47ec30
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 4]
push ebx
call fcn.0042cd70
add esp, 4
test ebx, ebx
setne al
mov ecx, esi
call fcn.0042ff30
test al, al
je 0x47ec52
or dword [edi + 0x1c], 0x20
push edi
call fcn.0042ffc0
add esp, 4
jmp 0x48059d
and dword [edi + 0x1c], 0xffffffdf
push edi
call fcn.0042ffc0
add esp, 4
jmp 0x48059d
test esi, esi
je 0x47ed0c
lea eax, [esp + 0x5c]
push eax
mov edi, esi
call fcn.0042a2b0
mov ecx, dword [esp + 0x64]
add esp, 4
test ecx, ecx
jg 0x47eca0
jl 0x47ec8c
cmp dword [esp + 0x5c], 0
jae 0x47eca0
mov ecx, dword [0x4c9168]
mov dword [esp + 0x5c], ecx
mov ecx, dword [0x4c916c]
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0x84]
cmp dword [edx + 4], 0
mov eax, dword [esp + 0x10]
jne 0x47ecbb
mov edx, dword [esp + 0x5c]
mov dword [eax + 0x28], edx
mov dword [eax + 0x2c], ecx
mov esi, dword [eax + 0x14]
sub esi, 1
js 0x47ed0c
mov edi, esi
shl edi, 4
jmp 0x47ecd0
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + edx + 4]
test eax, eax
je 0x47ed04
cmp esi, dword [esp + 0x14]
je 0x47ecf2
mov edx, dword [esp + 0x84]
cmp dword [edx + 4], 0
jne 0x47ed04
push ecx
mov ecx, dword [esp + 0x60]
push ecx
call fcn.0046d770
mov ecx, dword [esp + 0x68]
add esp, 8
dec esi
sub edi, 0x10
test esi, esi
jge 0x47ecd0
mov ecx, dword [esp + 0x10]
or eax, 0xffffffff
lea edx, [esp + 0x5c]
push edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x20]
push 0x12
push eax
push ecx
call fcn.004375a0
add esp, 0x10
test eax, eax
jne 0x47ed41
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
jmp 0x480591
cmp eax, 0xc
je 0x48059d
inc dword [ebx + 0x24]
mov dword [ebx + 0xc], eax
jmp 0x48059d
test esi, esi
jne 0x47ed66
mov ecx, dword [esp + 0x10]
movzx eax, byte [ecx + 0x48]
jmp 0x480590
mov eax, esi
mov edi, ebx
call fcn.0046ec80
jmp 0x48059d
test esi, esi
jne 0x47ed89
mov eax, dword [0x4d3db8]
mov ecx, ebp
call fcn.00439150
jmp 0x48059d
cmp byte [esi], 0
je 0x47edbf
mov eax, dword [edi]
lea edx, [esp + 0x7c]
push edx
push 1
push esi
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x47edab
cmp dword [esp + 0x7c], eax
jne 0x47edbf
push str.not_a_writable_directory
mov esi, ebx
call fcn.0043dbb0
add esp, 4
jmp 0x48059d
cmp byte [edi + 0x48], 1
ja 0x47edcc
mov eax, ebx
call fcn.0046ec30
mov ecx, dword [0x4d3db8]
push ecx
call fcn.0041c970
add esp, 4
cmp byte [esi], 0
je 0x47edf5
push esi
push 0x4b5ab0
call fcn.0043d950
mov dword [0x4d3db8], eax
jmp 0x48059a
mov dword [0x4d3db8], 0
jmp 0x48059d
test esi, esi
jne 0x47ee19
mov eax, dword [0x4d3dbc]
mov ecx, ebp
call fcn.00439150
jmp 0x48059d
cmp byte [esi], 0
je 0x47ee43
mov edi, dword [edi]
mov eax, dword [edi + 0x20]
lea edx, [esp + 0x7c]
push edx
push 1
push esi
push edi
call eax
add esp, 0x10
test eax, eax
jne 0x47edab
cmp dword [esp + 0x7c], eax
je 0x47edab
mov ecx, dword [0x4d3dbc]
push ecx
call fcn.0041c970
add esp, 4
cmp byte [esi], 0
je 0x47ee6c
push esi
push 0x4b5ab0
call fcn.0043d950
mov dword [0x4d3dbc], eax
jmp 0x48059a
mov dword [0x4d3dbc], 0
jmp 0x48059d
test esi, esi
jne 0x47ee8d
mov edx, dword [esp + 0x18]
movzx eax, byte [edx + 8]
dec eax
jmp 0x480590
cmp byte [edi + 0x47], 0
jne 0x47eea7
push str.Safety_level_may_not_be_changed_inside_a_transaction
mov esi, ebx
call fcn.0043dbb0
add esp, 4
jmp 0x48059d
cmp dword [esp + 0x14], 1
je 0x48059d
push 1
push 0
push esi
call fcn.0042fe90
add esp, 0xc
inc eax
and eax, 7
jne 0x47eeca
mov eax, 1
mov ecx, dword [esp + 0x18]
push edi
mov byte [ecx + 8], al
mov byte [ecx + 9], 1
call fcn.0042ffc0
add esp, 4
jmp 0x48059d
test esi, esi
jne 0x47ef15
mov esi, dword [esp + 0x20]
push ebp
mov eax, esi
call fcn.0043bd00
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x14]
and eax, dword [ecx + 0x1c]
mov esi, ebp
neg eax
sbb eax, eax
neg eax
cdq
push edx
push eax
call fcn.004351f0
add esp, 0xc
jmp 0x48059d
cmp byte [edi + 0x47], 0
mov ebx, dword [ecx + 8]
jne 0x47ef24
and ebx, 0xffffbfff
push 0
push 1
push esi
call fcn.0042fe90
add esp, 0xc
test al, al
je 0x47ef3a
or dword [edi + 0x1c], ebx
jmp 0x47ef57
mov edx, ebx
not edx
and dword [edi + 0x1c], edx
cmp ebx, 0x80000
jne 0x47ef57
xor eax, eax
mov dword [edi + 0x1d0], eax
mov dword [edi + 0x1d4], eax
push 0
push 0
push 0
push 0x99
push ebp
call fcn.00432730
push edi
call fcn.0042ffc0
add esp, 0x18
jmp 0x48059d
test esi, esi
je 0x48059d
mov eax, dword [esp + 0x1c]
push eax
push esi
push 2
push ebx
call fcn.00453890
mov edi, eax
add esp, 0x10
test edi, edi
je 0x48059d
mov dword [esp + 0x7c], 0
call fcn.004259b0
mov ecx, dword [esp + 0x14]
mov edx, ebx
mov dword [esp + 0x54], eax
mov dword [ebx + 0x2c], 6
call fcn.0046e180
push edi
mov eax, ebx
call fcn.00469070
movsx ecx, word [edi + 0x2a]
mov esi, dword [edi + 4]
xor ebx, ebx
add esp, 4
mov dword [esp + 0x34], ebx
test ecx, ecx
jle 0x48059d
lea esp, [esp]
mov al, byte [esi + 0xf]
test al, 2
je 0x47efed
inc dword [esp + 0x7c]
jmp 0x47f06c
test al, 1
jne 0x47eff5
xor eax, eax
jmp 0x47f021
mov edx, dword [esp + 0x54]
mov eax, 1
test edx, edx
je 0x47f021
cmp ecx, eax
jl 0x47f021
mov edx, dword [edx + 4]
lea esp, [esp]
movsx ebx, word [edx]
cmp ebx, dword [esp + 0x34]
je 0x47f021
inc eax
add edx, 2
cmp eax, ecx
jle 0x47f010
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x47f02d
mov ecx, dword [ecx + 8]
jmp 0x47f02f
xor ecx, ecx
push eax
push ecx
xor ecx, ecx
cmp byte [esi + 0xc], cl
mov eax, esi
setne cl
push ecx
push 0x4b4a4d
call fcn.0041cda0
mov ebx, dword [esp + 0x44]
mov edx, dword [esi]
add esp, 4
push eax
push edx
mov eax, ebx
sub eax, dword [esp + 0x90]
push eax
push str.issisi
push 1
mov eax, ebp
call fcn.00437df0
add esp, 0x20
movsx ecx, word [edi + 0x2a]
inc ebx
add esi, 0x10
cmp ebx, ecx
mov dword [esp + 0x34], ebx
jl 0x47efe0
jmp 0x48059d
test esi, esi
je 0x48059d
mov ecx, dword [esp + 0x1c]
push ecx
push esi
push edi
call fcn.004257e0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x48059d
mov edx, dword [esp + 0x20]
cmp dword [edx + 8], 0
je 0x47f0c1
movzx eax, word [edi + 0x34]
mov dword [esp + 0x7c], eax
mov dword [ebx + 0x2c], 6
jmp 0x47f0d0
movzx ecx, word [edi + 0x32]
mov dword [esp + 0x7c], ecx
mov dword [ebx + 0x2c], 3
mov edx, dword [edi + 0xc]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x54], edx
mov edx, ebx
call fcn.0046e180
xor esi, esi
cmp dword [esp + 0x7c], esi
jle 0x48059d
mov edi, edi
mov eax, dword [edi + 4]
movzx eax, word [eax + esi*2]
test ax, ax
jge 0x47f100
xor ecx, ecx
jmp 0x47f110
mov edx, dword [esp + 0x54]
mov edx, dword [edx + 4]
movsx ecx, ax
shl ecx, 4
mov ecx, dword [ecx + edx]
push ecx
cwde
push eax
push esi
push str.iisX
push 1
mov eax, ebp
call fcn.00437df0
mov ecx, dword [esp + 0x34]
add esp, 0x14
cmp dword [ecx + 8], 0
je 0x47f15b
movzx edx, word [edi + 0x32]
mov ecx, dword [edi + 0x20]
xor eax, eax
cmp esi, edx
mov edx, dword [ecx + esi*4]
setl al
push eax
mov eax, dword [edi + 0x1c]
movzx ecx, byte [eax + esi]
push edx
push ecx
push str.isiX
push 4
mov eax, ebp
call fcn.00437df0
add esp, 0x14
mov edx, dword [ebx + 0x2c]
push 0
push edx
push 1
push 0x4e
push ebp
call fcn.00432730
inc esi
add esp, 0x14
cmp esi, dword [esp + 0x7c]
jl 0x47f0f0
jmp 0x48059d
test esi, esi
je 0x48059d
mov eax, dword [esp + 0x1c]
push eax
push esi
push edi
call fcn.0042f270
mov esi, eax
add esp, 0xc
test esi, esi
je 0x48059d
mov ecx, dword [esp + 0x14]
mov edx, ebx
mov dword [ebx + 0x2c], 5
call fcn.0046e180
mov esi, dword [esi + 8]
xor edi, edi
test esi, esi
je 0x48059d
mov dword [esp + 0x5c], 0x4be478
mov dword [esp + 0x60], 0x4be474
mov dword [esp + 0x64], 0x4b66f0
mov edx, dword [esi + 0x38]
xor ecx, ecx
cmp dword [esi + 0x24], ecx
setne cl
and edx, 3
mov eax, dword [esp + edx*4 + 0x5c]
mov edx, dword [esi]
push ecx
xor ecx, ecx
cmp byte [esi + 0x36], cl
push eax
setne cl
mov eax, ebp
push ecx
push edx
push edi
push str.isisi
push 1
call fcn.00437df0
mov esi, dword [esi + 0x14]
add esp, 0x1c
inc edi
test esi, esi
jne 0x47f1d6
jmp 0x48059d
xor esi, esi
mov dword [ebx + 0x2c], 3
cmp dword [edi + 0x14], esi
jle 0x48059d
xor ebx, ebx
lea esp, [esp]
mov eax, dword [edi + 0x10]
lea edx, [ebx + eax]
mov eax, dword [edx + 4]
test eax, eax
je 0x47f258
call fcn.00421d00
mov ecx, dword [edx]
push eax
push ecx
push esi
push 0x4be468
push 1
mov eax, ebp
call fcn.00437df0
add esp, 0x14
inc esi
add ebx, 0x10
cmp esi, dword [edi + 0x14]
jl 0x47f230
jmp 0x48059d
mov dword [ebx + 0x2c], 2
mov edi, dword [edi + 0x17c]
xor esi, esi
test edi, edi
je 0x48059d
lea ecx, [ecx]
mov edx, dword [edi + 8]
mov eax, dword [edx]
push eax
push esi
push 0x4be464
push 1
mov eax, ebp
call fcn.00437df0
mov edi, dword [edi]
add esp, 0x10
inc esi
test edi, edi
jne 0x47f280
jmp 0x48059d
test esi, esi
je 0x48059d
mov ecx, dword [esp + 0x1c]
push ecx
push esi
push edi
call fcn.0042f270
add esp, 0xc
mov dword [esp + 0x40], eax
test eax, eax
je 0x48059d
mov edx, eax
mov edi, dword [edx + 0x10]
test edi, edi
je 0x48059d
mov ecx, dword [esp + 0x14]
mov edx, ebx
mov dword [esp + 0x7c], 0
mov dword [ebx + 0x2c], 8
call fcn.0046e180
mov edi, edi
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x47f352
lea esi, [edi + 0x24]
lea ebx, [ebx]
mov al, byte [edi + 0x19]
push str.NONE
call fcn.00426a50
push eax
mov al, byte [edi + 0x1a]
call fcn.00426a50
mov ecx, dword [esi]
mov edx, dword [esp + 0x48]
push eax
mov eax, dword [esi + 4]
push eax
mov eax, dword [edx + 4]
mov edx, dword [edi + 8]
shl ecx, 4
mov ecx, dword [ecx + eax]
mov eax, dword [esp + 0x8c]
push ecx
push edx
push ebx
push eax
push str.iissssss
push 1
mov eax, ebp
call fcn.00437df0
inc ebx
add esp, 0x28
add esi, 8
cmp ebx, dword [edi + 0x14]
jl 0x47f300
mov edi, dword [edi + 4]
inc dword [esp + 0x7c]
test edi, edi
jne 0x47f2f0
jmp 0x48059d
mov eax, dword [ebx + 0x2c]
lea ecx, [eax + 1]
add eax, 5
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x14]
inc eax
mov edx, ebx
mov dword [ebx + 0x2c], eax
call fcn.0046e180
mov eax, dword [esp + 0x54]
mov edx, dword [edi + 0x10]
mov ecx, dword [eax + edx + 0xc]
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x48059d
test esi, esi
je 0x47f3b3
mov edx, dword [esp + 0x1c]
push edx
push esi
push 0
push ebx
call fcn.00453890
add esp, 0x10
mov edi, eax
xor eax, eax
jmp 0x47f3b8
mov edi, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x44], eax
mov dword [esp + 0x30], edi
test edi, edi
je 0x47f6d6
cmp dword [edi + 0x10], 0
je 0x47f6d6
mov eax, dword [edi]
mov ecx, dword [edi + 0x1c]
mov edx, dword [esp + 0x14]
push eax
push 0
push ecx
push edx
mov eax, ebx
call fcn.00434380
movsx ecx, word [edi + 0x2a]
mov eax, dword [esp + 0x3c]
inc eax
add eax, ecx
add esp, 0x10
cmp eax, dword [ebx + 0x2c]
jle 0x47f3fd
mov dword [ebx + 0x2c], eax
mov edx, dword [esp + 0x14]
push 0x6a
push edx
push 0
mov eax, edi
mov ecx, ebx
call fcn.0045b920
mov eax, dword [edi]
push eax
mov eax, dword [esp + 0x4c]
mov esi, ebp
call fcn.00437d90
mov esi, dword [edi + 0x10]
add esp, 0x10
mov dword [esp + 0x18], 1
test esi, esi
je 0x47f4d8
mov ecx, dword [esp + 0x1c]
mov edx, dword [esi + 8]
mov eax, dword [esp + 0x10]
push ecx
push edx
push eax
call fcn.0042f270
mov edi, eax
add esp, 0xc
test edi, edi
je 0x47f4c9
mov ecx, dword [edi]
mov edx, dword [edi + 0x1c]
mov eax, dword [esp + 0x14]
push ecx
push 0
push edx
push eax
mov eax, ebx
mov dword [esp + 0x30], 0
call fcn.00434380
push 0
lea ecx, [esp + 0x34]
push ecx
push esi
push edi
push ebx
call fcn.00445050
add esp, 0x24
test eax, eax
jne 0x48059d
cmp dword [esp + 0x20], 0
mov eax, dword [esp + 0x18]
jne 0x47f4a7
mov edx, dword [esp + 0x14]
push 0x6a
push edx
push eax
mov eax, edi
mov ecx, ebx
call fcn.0045b920
add esp, 0xc
jmp 0x47f4c9
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
mov edx, dword [edi + 0x2c]
push ecx
push edx
push eax
push 0x6a
push ebp
call fcn.00432730
add esp, 0x14
mov ecx, edi
mov eax, ebx
call fcn.0045a880
mov esi, dword [esi + 4]
inc dword [esp + 0x18]
test esi, esi
jne 0x47f433
mov eax, dword [esp + 0x18]
cmp dword [ebx + 0x28], eax
jge 0x47f4e4
mov dword [ebx + 0x28], eax
push 0
push 0
push 0
push 0x25
push ebp
call fcn.00432730
mov ecx, dword [esp + 0x44]
mov ebx, dword [ecx + 0x10]
add esp, 0x14
mov dword [esp + 0x50], eax
mov dword [esp + 0x18], 1
test ebx, ebx
je 0x47f6aa
mov edx, dword [esp + 0x1c]
mov eax, dword [ebx + 8]
mov ecx, dword [esp + 0x10]
push edx
push eax
push ecx
call fcn.0042f270
xor esi, esi
add esp, 0xc
mov dword [esp + 0x54], eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x40], esi
cmp eax, esi
je 0x47f554
lea edx, [esp + 0x40]
push edx
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x24]
push ecx
push ebx
push eax
push edx
call fcn.00445050
add esp, 0x14
mov eax, ebp
call fcn.00432970
cmp dword [ebx + 0x14], esi
mov dword [esp + 0x34], eax
jle 0x47f5af
mov edi, dword [esp + 0x2c]
lea eax, [ebx + 0x24]
inc edi
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x40]
test eax, eax
je 0x47f57d
mov eax, dword [eax + esi*4]
jmp 0x47f583
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x30]
push edi
push 0
push ebp
call fcn.00452d10
mov edx, dword [esp + 0x40]
push 0
push edx
push edi
push 0x32
push ebp
call fcn.00432730
add dword [esp + 0x58], 8
inc esi
add esp, 0x20
inc edi
cmp esi, dword [ebx + 0x14]
jl 0x47f570
cmp dword [esp + 0x20], 0
je 0x47f5f9
mov eax, dword [ebx + 0x14]
mov esi, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x14]
call fcn.00434f80
push eax
mov eax, dword [esp + 0x34]
lea ecx, [eax + 1]
push ecx
mov ecx, dword [ebx + 0x14]
push 0x65
mov edi, ebp
call fcn.004327c0
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x3c]
push 0
push ecx
mov ecx, dword [esp + 0x4c]
push 0x1e
mov esi, ebp
call fcn.00432900
add esp, 0x1c
jmp 0x47f631
cmp dword [esp + 0x54], 0
je 0x47f631
mov eax, dword [esp + 0x2c]
mov edx, dword [ebp + 0x88]
inc eax
push eax
mov eax, dword [esp + 0x1c]
add edx, 2
push edx
push eax
push 0x1f
push ebp
call fcn.00432730
mov ecx, dword [esp + 0x48]
push 0
push ecx
push 0
push 0xd
push ebp
call fcn.00432730
add esp, 0x28
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x30]
test byte [edx + 0x24], 0x20
push 0
lea eax, [esi + 1]
push eax
push 0
jne 0x47f64b
push 0x7d
jmp 0x47f64d
push 0x46
push ebp
call fcn.00432730
mov edi, dword [esp + 0x2c]
mov ecx, dword [ebx + 8]
add esp, 0x14
lea eax, [edi - 1]
push eax
push ecx
lea eax, [esi + 2]
push 0x4be44c
push eax
mov eax, ebp
call fcn.00437df0
push 0
push 4
push esi
push 0x4e
push ebp
call fcn.00432730
mov edx, dword [esp + 0x58]
add esp, 0x24
mov ecx, ebp
call fcn.00422650
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
call fcn.0041ca60
mov ebx, dword [ebx + 4]
inc edi
mov dword [esp + 0x18], edi
test ebx, ebx
jne 0x47f510
mov esi, dword [esp + 0x50]
push 0
lea edx, [esi + 1]
push edx
push 0
push 7
push ebp
call fcn.00432730
add esp, 0x14
mov eax, esi
mov edx, ebp
call fcn.0042d3d0
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x7c]
mov esi, dword [esp + 0x24]
test eax, eax
jne 0x47f398
jmp 0x48059d
test esi, esi
je 0x48059d
mov eax, dword [esp + 0x24]
push 0
push 1
push eax
call fcn.0042fe90
mov esi, dword [esp + 0x1c]
xor ecx, ecx
test al, al
setne cl
push ecx
call fcn.0045b860
add esp, 0x10
jmp 0x48059d
mov edx, dword [esp + 0x28]
movzx eax, byte [edx]
mov edx, dword [esp + 0x84]
xor ecx, ecx
cmp byte [eax + 0x4b7678], 0x71
sete cl
cmp dword [edx], 0
mov dword [esp + 0x50], ecx
jne 0x47f73d
mov dword [esp + 0x14], 0xffffffff
mov dword [ebx + 0x2c], 6
mov ebx, 0x64
mov dword [esp + 0x1c], ebx
test esi, esi
je 0x47f76a
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.0042a3b0
add esp, 8
cmp dword [esp + 0x1c], 0
jg 0x47f76a
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x1c]
push 0
push 1
dec ecx
push ecx
push 0x43
push ebp
call fcn.00432730
xor esi, esi
add esp, 0x14
cmp dword [edi + 0x14], esi
mov dword [esp + 0x18], esi
jle 0x480087
mov edi, edi
mov eax, dword [esp + 0x14]
xor ebx, ebx
test eax, eax
jl 0x47f7a2
cmp esi, eax
jne 0x480075
mov edx, dword [esp + 0x7c]
mov ecx, esi
call fcn.0046e180
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x10]
shl esi, 4
mov dword [esp + 0x4c], esi
mov esi, dword [eax + esi + 0xc]
mov edi, dword [esi + 0x10]
add esi, 8
xor edx, edx
mov dword [esp + 0x48], esi
test edi, edi
je 0x47f7f8
nop
mov eax, dword [edi + 8]
test byte [eax + 0x24], 0x20
jne 0x47f7da
inc edx
mov eax, dword [eax + 8]
xor ecx, ecx
test eax, eax
je 0x47f7ec
mov eax, dword [eax + 0x14]
inc edx
inc ecx
test eax, eax
jne 0x47f7e3
cmp ecx, ebx
jle 0x47f7f2
mov ebx, ecx
mov edi, dword [edi]
test edi, edi
jne 0x47f7d0
mov eax, dword [esp + 0x10]
lea ecx, [edx*4 + 4]
push 0
push ecx
call fcn.00429db0
add esp, 8
test eax, eax
je 0x480087
mov edi, dword [esi + 8]
xor ecx, ecx
test edi, edi
je 0x47f84b
nop
mov edx, dword [edi + 8]
test byte [edx + 0x24], 0x20
jne 0x47f830
mov esi, dword [edx + 0x1c]
inc ecx
mov dword [eax + ecx*4], esi
mov edx, dword [edx + 8]
test edx, edx
je 0x47f845
mov esi, dword [edx + 0x2c]
inc ecx
mov dword [eax + ecx*4], esi
mov edx, dword [edx + 0x14]
test edx, edx
jne 0x47f837
mov edi, dword [edi]
test edi, edi
jne 0x47f820
mov edx, dword [esp + 0x7c]
mov dword [eax], ecx
mov edi, dword [edx + 0x2c]
add ebx, 8
cmp edi, ebx
jg 0x47f85d
mov edi, ebx
push 0xfffffffffffffff1
push eax
mov dword [edx + 0x2c], edi
push 2
push 0x90
mov eax, 1
mov edi, ebp
mov byte [edx + 0x13], 0
mov dword [edx + 0x1c], 0
call fcn.004327c0
movzx dx, byte [esp + 0x28]
mov ecx, ebp
call fcn.00422670
push 0
push 0
push 2
push 0x32
push ebp
call fcn.00432730
mov edi, dword [esp + 0x34]
mov edx, dword [edi + 0x10]
add esp, 0x24
mov ebx, eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [edx + eax]
push 0xfffffffffffffff9
push ecx
push str._in_database__s__n
call fcn.0043d880
add esp, 8
push eax
xor eax, eax
push 0
push 0x63
lea ecx, [eax + 3]
mov edi, ebp
call fcn.004327c0
push 3
push 3
push 2
push 0x5e
push ebp
call fcn.00432730
add esp, 0x24
mov esi, ebp
call fcn.004352b0
mov eax, ebx
mov edx, ebp
call fcn.0042d3d0
mov edx, dword [esp + 0x48]
mov eax, dword [edx + 8]
mov dword [esp + 0x38], eax
test eax, eax
je 0x480071
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 8]
cmp dword [eax + 0x1c], 1
mov dword [esp + 0x2c], eax
mov dword [esp + 0x4c], 0
mov dword [esp + 0x30], 0xffffffff
jl 0x48005f
mov ebx, eax
test byte [ebx + 0x24], 0x20
jne 0x47f93b
mov dword [esp + 0x3c], 0
jmp 0x47f946
mov eax, ebx
call fcn.004259b0
mov dword [esp + 0x3c], eax
mov edi, dword [esp + 0x7c]
mov eax, edi
call fcn.00425320
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x24]
push edx
push 0
push 1
push 0
push 0x6a
push ebx
push edi
call fcn.0045bce0
push 0
push 7
push 0
push 0x43
push ebp
call fcn.00432730
mov esi, dword [ebx + 8]
add esp, 0x34
test esi, esi
je 0x47f9af
mov dword [esp + 0x40], 8
lea ebx, [ebx]
mov eax, dword [esp + 0x40]
push 0
push eax
push 0
push 0x43
push ebp
call fcn.00432730
mov esi, dword [esi + 0x14]
inc dword [esp + 0x54]
add esp, 0x14
test esi, esi
jne 0x47f990
mov ecx, dword [esp + 0x20]
push 0
push 0
push ecx
push 0x25
push ebp
call fcn.00432730
push 0
push 1
push 7
push 0x50
push ebp
call fcn.00432730
mov dword [esp + 0x84], eax
xor eax, eax
xor edx, edx
add esp, 0x28
cmp dx, word [ebx + 0x2a]
mov dword [esp + 0x40], eax
jge 0x47fa9d
mov dword [esp + 0x34], edx
mov edi, edi
movsx ecx, word [ebx + 0x28]
cmp eax, ecx
je 0x47fa87
mov edx, dword [ebx + 4]
mov ecx, dword [esp + 0x34]
cmp byte [ecx + edx + 0xc], 0
je 0x47fa87
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x40]
push 3
push edx
push ebp
mov ecx, ebx
call fcn.00452d10
mov edx, 0x80
mov ecx, ebp
call fcn.00422670
push 0
push 0
push 3
push 0x33
push ebp
call fcn.00432730
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x68], eax
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax]
mov eax, dword [ebx]
push edx
push eax
push str.NULL_value_in__s._s
call fcn.0043d880
push 0xfffffffffffffff9
push eax
xor eax, eax
push 0
push 0x63
lea ecx, [eax + 3]
mov edi, ebp
call fcn.004327c0
add esp, 0x3c
mov esi, ebp
call fcn.004352b0
mov eax, dword [esp + 0x48]
mov edx, ebp
call fcn.0042d3d0
mov edi, dword [esp + 0x7c]
mov eax, dword [esp + 0x40]
movsx ecx, word [ebx + 0x2a]
add dword [esp + 0x34], 0x10
inc eax
cmp eax, ecx
mov dword [esp + 0x40], eax
jl 0x47f9f0
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x47fbfb
mov esi, dword [esp + 0x10]
test dword [esi + 0x1c], 0x200
jne 0x47fbfb
push 0
push eax
push esi
call fcn.00433bf0
add esp, 0xc
cmp byte [esi + 0x49], 0
mov dword [esp + 0x34], eax
jne 0x47fbe9
mov eax, ebp
call fcn.00432970
mov dword [esp + 0x44], eax
mov eax, ebp
call fcn.00432970
mov edx, dword [esp + 0x20]
inc dword [edi + 0x3c]
inc edx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x34]
mov dword [edi + 0x38], edx
mov esi, dword [eax]
dec esi
test esi, esi
jle 0x47fb31
lea ecx, [esi + esi*2]
mov edx, eax
lea eax, [edx + ecx*8 + 4]
mov dword [esp + 0x40], eax
lea esp, [esp]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov eax, dword [edx]
push 0
push ecx
push eax
push edi
call fcn.0047e150
sub dword [esp + 0x50], 0x18
dec esi
add esp, 0x10
test esi, esi
jg 0x47fb10
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 4]
push 0x10
push ecx
push eax
push edi
call fcn.0047de10
mov edx, dword [esp + 0x54]
mov ecx, ebp
call fcn.00422650
mov dword [edi + 0x38], 0
mov ecx, dword [ebx]
mov edi, dword [esp + 0x20]
push ecx
push str.CHECK_constraint_failed_in__s
call fcn.0043d880
push 0
push 3
push 0
push 0x63
push ebp
mov esi, eax
call fcn.00432730
mov ecx, dword [ebp]
add esp, 0x2c
cmp byte [ecx + 0x49], 0
je 0x47fb93
push 0xfffffffffffffff9
mov eax, esi
call fcn.0042d400
add esp, 4
jmp 0x47fbca
test eax, eax
jge 0x47fb9e
mov eax, dword [ebp + 0x88]
dec eax
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x58]
cmp byte [eax + edx*4 + 1], 0
lea ecx, [eax + edx*4]
je 0x47fbbf
push esi
push ebp
mov eax, 0xfffffff9
call fcn.0042d560
add esp, 8
jmp 0x47fbca
test esi, esi
je 0x47fbca
mov dword [ecx + 0x10], esi
mov byte [ecx + 1], 0xf9
mov esi, ebp
call fcn.004352b0
mov edx, dword [esp + 0x48]
mov ecx, ebp
call fcn.00422650
mov esi, dword [esp + 0x7c]
call fcn.004252e0
mov eax, dword [esp + 0x34]
test eax, eax
je 0x47fbfb
mov ecx, dword [esp + 0x10]
push eax
push ecx
call fcn.0042ed80
add esp, 8
cmp dword [esp + 0x50], 0
jne 0x47ff0a
mov edx, dword [esp + 0x2c]
movsx eax, word [edx + 0x2a]
mov ecx, dword [esp + 0x20]
push 3
dec eax
push eax
push ecx
push 0x62
push ebp
call fcn.00432730
mov eax, dword [ebp + 0x88]
add esp, 0x14
test eax, eax
jle 0x47fc3c
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x58]
mov ecx, 0x80
mov word [eax + edx*4 - 0x12], cx
mov edx, dword [esp + 0x2c]
mov ebx, dword [edx + 8]
test ebx, ebx
je 0x47ff0a
mov esi, dword [esp + 0x54]
mov eax, 8
sub eax, esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x48], eax
mov edi, edi
mov eax, ebp
call fcn.00432970
mov dword [esp + 0x44], eax
cmp dword [esp + 0x3c], ebx
je 0x47fef6
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x7c]
push eax
mov eax, dword [esp + 0x24]
push ecx
lea edx, [esp + 0x60]
push edx
push 0
push 0
push eax
push ebx
call fcn.0045b520
mov ecx, dword [esp + 0x64]
push 0
push 1
add ecx, esi
push ecx
mov edi, eax
push 0x50
push ebp
mov dword [esp + 0x60], edi
mov dword [esp + 0x7c], ebx
call fcn.00432730
mov eax, dword [esp + 0x74]
movzx edx, word [ebx + 0x34]
push edi
push eax
push esi
push 0x1e
push ebp
mov dword [esp + 0x84], edx
call fcn.00432730
mov ecx, dword [ebp]
add esp, 0x44
cmp byte [ecx + 0x49], 0
mov edi, eax
jne 0x47fcf0
mov eax, dword [ebp + 0x58]
mov ecx, dword [esp + 0x40]
lea edx, [edi + edi*4]
lea eax, [eax + edx*4]
mov byte [eax + 1], 0xfd
mov dword [eax + 0x10], ecx
push str.row
mov eax, 3
mov esi, ebp
call fcn.00437d90
push 3
push 3
push 7
push 0x5e
push ebp
call fcn.00432730
push str._missing_from_index
mov eax, 4
call fcn.00437d90
push 3
push 3
push 4
push 0x5e
push ebp
call fcn.00432730
mov edx, dword [ebx]
push edx
mov eax, 4
call fcn.00437d90
push 3
push 3
push 4
push 0x5e
push ebp
mov dword [esp + 0x8c], eax
call fcn.00432730
add esp, 0x48
call fcn.004352b0
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x88]
test edi, edi
jge 0x47fd67
lea edi, [eax - 1]
mov ecx, dword [ebp]
cmp byte [ecx + 0x49], 0
je 0x47fd77
mov ecx, 0x4d39f8
jmp 0x47fd80
mov ecx, dword [ebp + 0x58]
lea edx, [edi + edi*4]
lea ecx, [ecx + edx*4]
mov dword [ecx + 8], eax
cmp byte [ebx + 0x36], 0
je 0x47fe9a
mov eax, ebp
call fcn.00432970
xor edx, edx
xor esi, esi
mov edi, eax
cmp dx, word [ebx + 0x32]
jae 0x47fddb
mov eax, dword [ebx + 4]
movsx eax, word [eax + esi*2]
test eax, eax
jl 0x47fdbc
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 4]
shl eax, 4
cmp byte [eax + edx + 0xc], 0
jne 0x47fdd2
mov eax, dword [esp + 0x30]
push 0
push edi
lea ecx, [esi + eax]
push ecx
push 0x32
push ebp
call fcn.00432730
add esp, 0x14
movzx edx, word [ebx + 0x32]
inc esi
cmp esi, edx
jl 0x47fda0
mov eax, dword [esp + 0x34]
push 0
push 0
push eax
push 7
push ebp
call fcn.00432730
push 0
push edi
push 0
push 0xd
push ebp
mov esi, eax
call fcn.00432730
mov eax, dword [ebp + 0x88]
add esp, 0x28
test esi, esi
jge 0x47fe0b
lea esi, [eax - 1]
mov ecx, dword [ebp]
cmp byte [ecx + 0x49], 0
je 0x47fe1b
mov ecx, 0x4d39f8
jmp 0x47fe24
mov ecx, dword [ebp + 0x58]
lea edx, [esi + esi*4]
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0x30]
push edx
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x38]
movzx esi, word [ebx + 0x32]
push edi
push eax
push 0x27
push ebp
call fcn.00432730
mov ecx, dword [ebp]
add esp, 0x14
cmp byte [ecx + 0x49], 0
jne 0x47fe5a
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x58]
lea eax, [eax + edx*4]
mov byte [eax + 1], 0xfd
mov dword [eax + 0x10], esi
push str.non_unique_entry_in_index
mov eax, 3
mov esi, ebp
call fcn.00437d90
mov ecx, dword [esp + 0x48]
push 0
push ecx
push 0
push 0xd
push ebp
call fcn.00432730
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x48]
add esp, 0x18
test eax, eax
je 0x47fe9a
mov ecx, dword [ebp + 0x88]
lea edx, [edi*4 + 4]
sub eax, edx
mov dword [eax], ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [ebp + 0x88]
test eax, eax
jge 0x47feab
lea eax, [ecx - 1]
mov edx, dword [ebp]
cmp byte [edx + 0x49], 0
je 0x47febb
mov eax, 0x4d39f8
jmp 0x47fec4
mov edx, dword [ebp + 0x58]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x58]
mov dword [eax + 8], ecx
test edx, edx
je 0x47fef6
mov esi, dword [esp + 0x7c]
mov ecx, dword [esi + 8]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0x48]
test eax, eax
je 0x47fef1
mov ecx, dword [ecx + 0x88]
lea edx, [edx*4 + 4]
sub eax, edx
mov dword [eax], ecx
call fcn.004252e0
mov esi, dword [esp + 0x34]
mov ebx, dword [ebx + 0x14]
inc esi
mov dword [esp + 0x34], esi
test ebx, ebx
jne 0x47fc60
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x20]
push 0
push esi
push edx
push 7
push ebp
call fcn.00432730
mov ecx, dword [ebp + 0x88]
lea eax, [esi - 1]
add esp, 0x14
test eax, eax
jge 0x47ff31
lea eax, [ecx - 1]
mov edx, dword [ebp]
cmp byte [edx + 0x49], 0
je 0x47ff41
mov eax, 0x4d39f8
jmp 0x47ff4a
mov edx, dword [ebp + 0x58]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
cmp dword [esp + 0x50], 0
mov dword [eax + 8], ecx
jne 0x48005f
push str.wrong__of_entries_in_index
mov eax, 2
mov esi, ebp
call fcn.00437d90
mov eax, dword [esp + 0x30]
mov ebx, dword [eax + 8]
add esp, 4
test ebx, ebx
je 0x48005f
mov dword [esp + 0x40], 8
cmp dword [esp + 0x3c], ebx
je 0x480050
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x40]
push 0
push 3
lea edx, [ecx + esi - 8]
push edx
push 0x66
push ebp
call fcn.00432730
push 3
push 0
push esi
push 0x35
push ebp
call fcn.00432730
mov edi, eax
mov eax, dword [ebp + 0x88]
add esp, 0x28
test eax, eax
jle 0x47ffd2
mov ecx, dword [ebp + 0x58]
lea eax, [eax + eax*4]
mov edx, 0x90
mov word [ecx + eax*4 - 0x12], dx
mov eax, dword [ebx]
push eax
mov eax, 4
mov esi, ebp
call fcn.00437d90
push 3
push 2
push 4
push 0x5e
push ebp
call fcn.00432730
push 0
push 1
push 3
push 0x4e
push ebp
call fcn.00432730
mov ecx, dword [ebp + 0x88]
push 1
add ecx, 2
push ecx
push 1
push 0x30
push ebp
call fcn.00432730
add esp, 0x40
push 0
push 0
push 0
push 0x42
push ebp
call fcn.00432730
mov eax, dword [ebp + 0x88]
add esp, 0x14
test edi, edi
jge 0x480034
lea edi, [eax - 1]
mov edx, dword [ebp]
cmp byte [edx + 0x49], 0
je 0x480044
mov ecx, 0x4d39f8
jmp 0x48004d
mov edx, dword [ebp + 0x58]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*4]
mov dword [ecx + 8], eax
mov ebx, dword [ebx + 0x14]
inc dword [esp + 0x40]
test ebx, ebx
jne 0x47ff83
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov dword [esp + 0x38], eax
test eax, eax
jne 0x47f904
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
inc esi
cmp esi, dword [ecx + 0x14]
mov dword [esp + 0x18], esi
jl 0x47f790
push 7
mov eax, 0x4b8a40
mov edi, ebp
call fcn.004329c0
add esp, 4
test eax, eax
je 0x4800cb
mov edx, 1
sub edx, dword [esp + 0x1c]
mov byte [eax + 0x29], 0xff
mov dword [eax + 8], edx
mov dword [eax + 0x38], 0x4be3a0
mov byte [eax + 0x65], 0xff
mov edx, dword [str.database_disk_image_is_malformed]
mov ecx, str.unknown_error
test edx, edx
je 0x4800c8
mov ecx, edx
mov dword [eax + 0x74], ecx
mov ecx, dword [ebp]
cmp byte [ecx + 0x49], 0
mov eax, dword [ebp + 0x88]
je 0x4800ea
mov ebp, 0x4d39f8
add eax, 0xfffffffe
mov dword [ebp + 0xc], eax
jmp 0x48059d
mov ebp, dword [ebp + 0x58]
add eax, 0xfffffffe
mov dword [ebp + 0xc], eax
jmp 0x48059d
test esi, esi
jne 0x480124
mov edi, ebx
call fcn.00426b90
test eax, eax
jne 0x48059d
mov edx, dword [ebx]
movzx eax, byte [edx + 0x46]
mov eax, dword [eax*8 + 0x4b8a68]
mov ecx, ebp
call fcn.00439150
jmp 0x48059d
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + 0xc]
movzx eax, word [ecx + 0x4e]
test al, 1
je 0x48013a
test al, 4
je 0x48059d
mov eax, dword [str.UTF8]
mov ebp, 0x4b8a68
test eax, eax
je 0x480184
mov ecx, esi
call fcn.0041ce50
test eax, eax
je 0x48015f
mov eax, dword [ebp + 8]
add ebp, 8
test eax, eax
jne 0x480148
jmp 0x480184
mov al, byte [ebp + 4]
test al, al
movzx eax, al
jne 0x48016e
mov eax, 2
mov edx, dword [edi + 0x10]
mov byte [edi + 0x46], al
mov ecx, dword [edx + 0xc]
mov byte [ecx + 0x4d], al
cmp dword [ebp], 0
jne 0x48059d
mov edx, dword [esp + 0x24]
push edx
push str.unsupported_encoding:__s
mov esi, ebx
call fcn.0043dbb0
jmp 0x48059a
mov edi, dword [esp + 0x20]
mov eax, dword [edi + 8]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x7c], eax
mov ecx, ebx
mov eax, ebp
call fcn.00422820
test esi, esi
je 0x4801ee
test byte [edi + 5], 8
jne 0x4801ee
push 2
mov eax, 0x4b8ab0
mov edi, ebp
call fcn.004329c0
mov ecx, dword [esp + 0x80]
mov edi, eax
mov dword [edi + 0x1c], ecx
add esp, 4
mov ecx, esi
mov dword [edi + 4], ebx
mov dword [edi + 0x18], ebx
call fcn.0042a530
mov dword [edi + 0x20], eax
jmp 0x48059d
push 3
mov eax, 0x4b8a5c
mov edi, ebp
call fcn.004329c0
mov edx, dword [esp + 0x80]
add esp, 4
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x20], edx
and dword [ebp + 0x94], 0xffffffdf
jmp 0x48059d
xor edi, edi
push edi
mov dword [ebx + 0x2c], 1
call fcn.00429830
add esp, 4
test eax, eax
je 0x48025a
push eax
mov eax, 1
mov esi, ebp
inc edi
call fcn.00437d90
push 0
push 1
push 1
push 0x4e
push ebp
call fcn.00432730
push edi
call fcn.00429830
add esp, 0x1c
test eax, eax
jne 0x480231
and dword [ebp + 0x94], 0xffffffdf
jmp 0x48059d
mov eax, dword [esp + 0x84]
cmp dword [eax], 0
je 0x48027c
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x7c], ecx
jmp 0x480284
mov dword [esp + 0x7c], 0xa
xor edi, edi
test esi, esi
je 0x4802c9
mov eax, str.full
mov ecx, esi
call fcn.0041ce50
test eax, eax
jne 0x48029f
lea edi, [eax + 1]
jmp 0x4802c9
mov eax, str.restart
mov ecx, esi
call fcn.0041ce50
test eax, eax
jne 0x4802b4
lea edi, [eax + 2]
jmp 0x4802c9
mov eax, str.truncate
mov ecx, esi
call fcn.0041ce50
test eax, eax
jne 0x4802c9
mov edi, 3
mov edx, dword [esp + 0x7c]
push 1
push edi
push edx
push 8
push ebp
mov dword [ebx + 0x2c], 3
call fcn.00432730
push 0
push 3
push 1
push 0x4e
push ebp
call fcn.00432730
add esp, 0x28
jmp 0x48059d
test esi, esi
je 0x48030b
mov ecx, esi
call fcn.0042a530
push eax
push edi
call fcn.0046c560
add esp, 8
cmp dword [edi + 0xe8], 0x46c520
jne 0x47e788
mov eax, dword [edi + 0xec]
jmp 0x480590
push edi
call fcn.00431230
add esp, 4
jmp 0x48059d
test esi, esi
je 0x48034d
mov ecx, esi
call fcn.0042a530
mov dword [esp + 0x40], eax
test al, 2
je 0x48059d
jmp 0x480355
mov dword [esp + 0x40], 0xfffe
mov eax, dword [ebx + 0x28]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x50], eax
inc eax
cmp dword [esp + 0x1c], 0
mov dword [ebx + 0x28], eax
je 0x480371
mov dword [esp + 0x4c], esi
jmp 0x480381
mov eax, dword [edi + 0x14]
dec eax
cmp esi, eax
mov dword [esp + 0x4c], eax
jg 0x4804ca
mov eax, dword [esp + 0x54]
mov dword [esp + 0x7c], eax
lea esp, [esp]
cmp esi, 1
je 0x4804b6
mov ecx, esi
mov edx, ebx
call fcn.0046e180
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 0x7c]
mov eax, dword [edx + ecx + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x3c], eax
test eax, eax
je 0x4804b6
lea esp, [esp]
mov edi, dword [eax + 8]
test dword [edi + 0x24], 0x100
je 0x4804a0
mov cx, word [edi + 0x2c]
mov eax, dword [edi + 8]
add cx, 0x2e
movzx esi, cx
test eax, eax
je 0x4803ef
test byte [eax + 0x38], 0x80
je 0x48042f
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x4803e2
test si, si
je 0x48042f
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x50]
push 0x6a
push edx
push eax
mov eax, edi
mov ecx, ebx
call fcn.0045b920
mov edx, dword [esp + 0x4c]
mov eax, dword [ebp + 0x88]
movsx ecx, si
push ecx
and edx, 1
lea ecx, [edx + eax + 2]
mov edx, dword [esp + 0x60]
push ecx
push edx
push 0x22
push ebp
call fcn.00432730
add esp, 0x20
mov eax, dword [edi]
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 0x7c]
push eax
mov eax, dword [edx + ecx]
push eax
push str.ANALYZE___w_.__w_
call fcn.0043d880
add esp, 0xc
test byte [esp + 0x40], 1
mov edx, eax
je 0x480484
mov eax, ebx
call fcn.004255c0
push 0xfffffffffffffff9
push edx
mov esi, eax
push 0
push 0x63
xor eax, eax
mov ecx, esi
mov edi, ebp
call fcn.004327c0
push 0
push 1
push esi
push 0x4e
push ebp
call fcn.00432730
add esp, 0x24
jmp 0x48049c
push 0xfffffffffffffff9
push edx
push 0
push 0x8a
xor eax, eax
xor ecx, ecx
mov edi, ebp
call fcn.004327c0
add esp, 0x10
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x4803c0
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
add dword [esp + 0x7c], 0x10
inc esi
cmp esi, dword [esp + 0x4c]
mov dword [esp + 0x14], esi
jle 0x480390
push 0
push 0
push 0
push 0x99
push ebp
call fcn.00432730
add esp, 0x14
jmp 0x48059d
test esi, esi
je 0x48050c
lea ecx, [esp + 0x5c]
push ecx
mov edi, esi
call fcn.0042a2b0
add esp, 4
test eax, eax
jne 0x48050c
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
push edx
push eax
call fcn.0045ff50
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0045ff50
push edx
push eax
mov esi, ebp
call fcn.004351f0
add esp, 0x10
jmp 0x48059d
test esi, esi
je 0x480565
lea ecx, [esp + 0x5c]
push ecx
mov edi, esi
call fcn.0042a2b0
add esp, 4
test eax, eax
jne 0x480565
cmp dword [esp + 0x60], eax
jl 0x480565
mov eax, dword [esp + 0x5c]
jg 0x48054a
test eax, eax
jb 0x480565
and eax, 0x7fffffff
jl 0x480565
cmp eax, 8
jle 0x48055b
mov eax, 8
mov edx, dword [esp + 0x10]
mov dword [edx + 0x90], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x90]
jmp 0x480590
test esi, esi
je 0x480586
mov ecx, esi
call fcn.0042a530
push eax
push edi
call fcn.004292b0
add esp, 8
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x1b8]
cdq
push edx
push eax
mov esi, ebp
call fcn.004351f0
add esp, 8
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov ecx, esi
call fcn.0041ca60
mov eax, dword [esp + 0x24]
mov ecx, esi
call fcn.0041ca60
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x68
ret