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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xcc
mov eax, dword [0x51300c]
xor eax, esp
mov dword [esp + 0xc8], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ecx + 8]
mov dword [esp + 0x34], eax
mov eax, dword [ecx]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x44], ebx
mov dword [esp + 8], eax
mov dword [esp + 0x24], esi
push edi
test esi, esi
jne 0x479d66
cmp dword [ecx + 0x78], esi
jne 0x479d53
test byte [eax + 0x50], 8
jne 0x479d53
mov byte [ecx + 0x17], 1
call fcn.00436f50
mov esi, eax
mov dword [esp + 0x28], eax
test esi, esi
je 0x47fccb
mov ecx, dword [esi + 0x6c]
lea edi, [esi + 0x6c]
lea eax, [esi + 0x70]
mov dword [esp + 0x30], edi
mov dword [esp + 0x10], eax
cmp dword [eax], ecx
jg 0x479d92
push 0
push 1
push 1
mov edx, 0xa6
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x479dc4
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xa6
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
lea ecx, [eax + 0x2c]
mov dword [esp + 0x60], ecx
mov dword [ecx], 2
lea ecx, [esp + 0x44]
push ecx
push ebx
mov ecx, eax
call fcn.00460f70
mov ecx, eax
add esp, 8
mov dword [esp + 0x40], ecx
test ecx, ecx
js 0x47fccb
mov edx, dword [esp + 0xc]
shl eax, 4
mov dword [esp + 0x50], eax
mov ebx, dword [edx + 0x10]
add ebx, eax
mov dword [esp + 0x3c], ebx
cmp ecx, 1
jne 0x479e25
mov ecx, dword [esp + 0x14]
call fcn.004685d0
test eax, eax
jne 0x47fccb
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x44]
test eax, eax
je 0x47fccb
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
test eax, eax
je 0x479e7e
xor eax, eax
add ecx, 1
adc eax, eax
push eax
push ecx
mov ecx, edx
call fcn.00413890
add esp, 8
mov dword [esp + 0x7c], eax
test eax, eax
je 0x479e84
push dword [esp + 0x1c]
push dword [esp + 0x1c]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [esp + 0x7c]
mov byte [eax + ecx], 0
mov eax, ecx
jmp 0x479e84
xor eax, eax
mov dword [esp + 0x7c], eax
mov ecx, eax
call fcn.004178f0
cmp dword [esp + 0x7c], 0
je 0x47fccb
cmp dword [ebp + 0x10], 0
je 0x479eb5
push dword [esp + 0x38]
push 0x504914
push dword [esp + 0x14]
call fcn.00416840
add esp, 0xc
mov ecx, eax
jmp 0x479f2a
mov eax, dword [esp + 0x38]
test eax, eax
je 0x479f28
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
test eax, eax
je 0x479f15
xor eax, eax
add ecx, 1
adc eax, eax
push eax
push ecx
mov ecx, dword [esp + 0x14]
call fcn.00413890
add esp, 8
mov dword [esp + 0x34], eax
test eax, eax
je 0x479f1b
push dword [esp + 0x1c]
push dword [esp + 0x1c]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [esp + 0x40]
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov byte [ecx + eax], 0
mov eax, ecx
call fcn.004178f0
mov ecx, dword [esp + 0x34]
jmp 0x479f2e
xor eax, eax
mov dword [esp + 0x34], eax
mov ecx, eax
call fcn.004178f0
mov ecx, dword [esp + 0x34]
jmp 0x479f2e
xor ecx, ecx
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x48]
cmp dword [eax + 4], 0
jbe 0x479f3c
mov ebx, dword [ebx]
jmp 0x479f3e
xor ebx, ebx
push ebx
push ecx
push dword [esp + 0x84]
mov ecx, dword [esp + 0x20]
mov edx, 0x13
mov dword [esp + 0x38], ebx
call fcn.0045f5c0
add esp, 0xc
test eax, eax
jne 0x47fcac
mov ecx, dword [esp + 0x34]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xd0], 0
mov dword [ecx + 0x1c8], 0
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x24], 1
test eax, eax
je 0x479fb7
push eax
call dword [0x513150]
mov ecx, dword [esp + 0x10]
add esp, 4
test ebx, ebx
je 0x479fcd
mov edx, ebx
call fcn.00460e60
mov ebx, eax
test ebx, ebx
jns 0x479fcf
jmp 0x47a054
xor ebx, ebx
mov eax, dword [esp + 0xc]
add ebx, ebx
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + ebx*8 + 4]
test ebx, ebx
je 0x47a054
cmp byte [ebx + 9], 0
je 0x479ff6
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x479ff6
mov ecx, ebx
call fcn.004277e0
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x1c8]
mov dword [esp + 0x18], ecx
mov eax, dword [eax + 0x40]
mov ecx, dword [eax]
test ecx, ecx
jne 0x47a01c
mov dword [esp + 0x24], 0xc
jmp 0x47a033
lea edx, [esp + 0xc4]
push edx
push 0xe
push eax
mov eax, dword [ecx + 0x28]
call eax
add esp, 0xc
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x1c8], eax
cmp byte [ebx + 9], 0
je 0x47a054
add dword [ebx + 0xc], 0xffffffff
jne 0x47a054
mov ecx, ebx
call fcn.004277c0
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x47a069
push eax
call dword [0x513158]
add esp, 4
mov ebx, dword [esp + 0x24]
test ebx, ebx
jne 0x47a0be
lea edx, [ebx + 1]
mov ecx, esi
call fcn.00439100
mov eax, dword [esi]
cmp byte [eax + 0x57], bl
jne 0x47a09c
mov edx, dword [esp + 0xc4]
mov ecx, dword [esi + 0x74]
push 0xffffffffffffffff
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.00436380
add esp, 0x10
mov edx, dword [esp + 0xc4]
mov ecx, esi
call fcn.00479950
push dword [esp + 0xc4]
call fcn.00413450
add esp, 4
jmp 0x47fcac
cmp ebx, 0xc
je 0x47a0fe
mov eax, dword [esp + 0xc4]
test eax, eax
je 0x47a0ef
push eax
push 0x500ef4
push dword [esp + 0x1c]
call fcn.00417860
add esp, 0xc
push dword [esp + 0xc4]
call fcn.00413450
add esp, 4
mov eax, dword [esp + 0x14]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x47fcac
mov ecx, dword [esp + 0x7c]
call fcn.00479ad0
mov ebx, eax
mov dword [esp + 0x70], ebx
test ebx, ebx
je 0x47fcac
test byte [ebx + 5], 1
je 0x47a12c
mov ecx, dword [esp + 0x14]
call fcn.00480f80
test eax, eax
jne 0x47fcac
mov al, byte [ebx + 5]
test al, 2
jne 0x47a148
test al, 4
je 0x47a13f
mov ecx, dword [esp + 0x34]
test ecx, ecx
jne 0x47a14c
mov edx, ebx
mov ecx, esi
call fcn.004798b0
mov ecx, dword [esp + 0x34]
movzx eax, byte [ebx + 4]
dec eax
cmp eax, 0x2a
ja case.0x47a15a.5
jmp dword [eax*4 + 0x47fce0]
mov eax, dword [esi + 0x9c]
mov ebx, dword [esp + 0x40]
bts eax, ebx
mov dword [esi + 0x9c], eax
cmp ebx, 1
je 0x47a19b
mov eax, dword [esi]
mov ecx, dword [esp + 0x50]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x47a19b
mov eax, dword [esi + 0xa0]
bts eax, ebx
mov dword [esi + 0xa0], eax
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x47a1d1
mov eax, dword [esp + 0x60]
mov edx, 9
push ecx
push 0x4f8c64
mov ecx, esi
add dword [eax], 2
call fcn.00437940
add esp, 8
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x47fcac
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
mov ecx, eax
call fcn.004183e0
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x24], ebx
test ebx, ebx
jns 0x47a205
cmp ebx, 0x80000000
jne 0x47a1ff
mov ebx, accept
jmp 0x47a201
neg ebx
mov dword [esp + 0x24], ebx
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x78]
test eax, eax
cmovne ecx, eax
mov eax, 1
mov dword [esp + 0x14], ecx
mov edx, dword [ecx + 0x58]
mov ecx, dword [esp + 0x40]
shl eax, cl
mov ecx, dword [esp + 0x14]
test edx, eax
jne 0x47a243
mov eax, dword [esp + 0x40]
bts edx, eax
mov dword [ecx + 0x58], edx
cmp eax, 1
jne 0x47a243
call fcn.004685d0
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x54]
mov edx, dword [esp + 0x40]
bts eax, edx
mov dword [ecx + 0x54], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47a26f
push ebx
push 3
push edx
mov edx, 0x64
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47a299
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x64
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esp + 0x3c]
mov edx, dword [esp + 0x24]
mov eax, dword [ebx + 0xc]
mov dword [eax + 0x50], edx
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
mov edx, dword [edx + 0x50]
call fcn.00429f60
jmp 0x47fcac
mov ebx, dword [esp + 0x3c]
mov ebx, dword [ebx + 4]
test ecx, ecx
jne 0x47a327
test ebx, ebx
je 0x47a2d1
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x24]
jmp 0x47a2d3
xor eax, eax
cdq
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb0], eax
push 0xfffffffffffffff3
lea eax, [esp + 0xb4]
mov edx, 0x48
push eax
push ecx
push 1
push ecx
mov ecx, esi
call fcn.004374a0
add esp, 0x14
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47fc7a
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47fcac
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
call fcn.004183e0
mov eax, dword [esp + 0xc]
mov ecx, ebx
mov edx, dword [esp + 0x1c]
push 0
push 0
mov dword [eax + 0x64], edx
call fcn.0042a0c0
add esp, 8
cmp eax, 7
jne 0x47fcac
mov ecx, dword [esp + 0xc]
call fcn.00413c70
jmp 0x47fcac
mov ebx, dword [esp + 0x3c]
or ecx, 0xffffffff
mov eax, dword [esp + 0x34]
mov dword [esp + 0x20], ecx
mov ebx, dword [ebx + 4]
mov dword [esp + 0x80], ebx
test eax, eax
je 0x47a3e9
mov ecx, str.fast
mov edx, eax
sub ecx, eax
mov dword [esp + 0x44], ecx
movzx ecx, byte [edx + ecx]
movzx eax, byte [edx]
mov dword [esp + 0x18], ecx
cmp eax, ecx
jne 0x47a3aa
test eax, eax
jne 0x47a3c0
lea ecx, [eax + 2]
jmp 0x47a3e1
movzx ecx, byte [eax + 0x4fa530]
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 0x4fa530]
sub ecx, eax
jne 0x47a3c7
mov ecx, dword [esp + 0x44]
inc edx
jmp 0x47a392
mov ecx, dword [esp + 0x34]
mov edx, 1
push 0
call fcn.00479800
xor ecx, ecx
add esp, 4
test al, al
setne cl
mov dword [esp + 0x28], esi
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x48]
cmp dword [eax + 4], 0
jne 0x47a496
test ecx, ecx
js 0x47a496
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x14], 0
jle 0x47a496
mov esi, dword [esp + 0x20]
xor ecx, ecx
mov dword [esp + 0x24], ecx
xor edi, edi
nop dword [eax]
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + ecx + 4]
test ebx, ebx
je 0x47a476
cmp byte [ebx + 9], 0
je 0x47a445
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x47a445
mov ecx, ebx
call fcn.004277e0
mov ecx, dword [esp + 0x24]
mov eax, dword [ebx + 4]
mov edx, 0xfff3
and word [eax + 0x18], dx
lea eax, [esi*4]
mov edx, dword [ebx + 4]
or word [edx + 0x18], ax
cmp byte [ebx + 9], 0
je 0x47a476
add dword [ebx + 0xc], 0xffffffff
jne 0x47a476
mov ecx, ebx
call fcn.004277c0
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0xc]
inc edi
add ecx, 0x10
mov dword [esp + 0x24], ecx
cmp edi, dword [eax + 0x14]
jl 0x47a420
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x80]
test ebx, ebx
jne 0x47a4a8
xor eax, eax
mov dword [esp + 0xb4], eax
jmp 0x47a2db
cmp byte [ebx + 9], 0
je 0x47a4be
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x47a4be
mov ecx, ebx
call fcn.004277e0
mov edx, dword [esp + 0x20]
test edx, edx
js 0x47a4e0
mov eax, dword [ebx + 4]
mov ecx, 0xfff3
and word [eax + 0x18], cx
lea eax, [edx*4]
mov ecx, dword [ebx + 4]
or word [ecx + 0x18], ax
mov eax, dword [ebx + 4]
movzx eax, word [eax + 0x18]
shr eax, 2
and eax, 3
cmp byte [ebx + 9], 0
mov dword [esp + 0x18], eax
je 0x47a508
add dword [ebx + 0xc], 0xffffffff
jne 0x47a508
mov ecx, ebx
call fcn.004277c0
mov eax, dword [esp + 0x18]
mov dword [esp + 0xb4], 0
jmp 0x47a2db
mov ebx, dword [esp + 0x14]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x40]
movlpd qword [esp + 0xb0], xmm0
mov eax, dword [ebx + 0x78]
test eax, eax
cmovne ebx, eax
mov eax, 1
shl eax, cl
mov edx, dword [ebx + 0x58]
test edx, eax
jne 0x47a554
bts edx, ecx
mov dword [ebx + 0x58], edx
cmp ecx, 1
jne 0x47a554
mov ecx, ebx
call fcn.004685d0
mov eax, dword [esp + 0x60]
inc dword [eax]
mov ebx, dword [eax]
mov eax, dword [esp + 0x7c]
movzx eax, byte [eax]
cmp byte [eax + 0x4fa530], 0x70
jne 0x47a5bc
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47a591
push 0
push ebx
push dword [esp + 0x48]
mov edx, 0xb1
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47a66d
mov edx, dword [esp + 0x40]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xb1
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
jmp 0x47a665
mov eax, dword [esp + 0x34]
test eax, eax
je 0x47a60b
lea edx, [esp + 0xb0]
mov ecx, eax
call fcn.004182d0
test eax, eax
jne 0x47a60b
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0xb0]
test eax, eax
jg 0x47a5f9
jl 0x47a60b
test edx, edx
jb 0x47a60b
test eax, eax
jl 0x47a61e
jg 0x47a5f9
cmp edx, 0xfffffffe
jbe 0x47a61e
mov edx, 0xfffffffe
mov dword [esp + 0xb4], 0
jmp 0x47a61e
xorps xmm0, xmm0
movlpd qword [esp + 0xb0], xmm0
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47a63f
push edx
push ebx
push dword [esp + 0x48]
mov edx, 0xb2
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47a66d
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0xb2
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47a690
push 0
push 1
push ebx
mov edx, 0x54
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47fcac
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], ebx
jmp 0x47fc94
test ecx, ecx
je 0x47a71c
mov ebx, str.exclusive
mov edx, ecx
sub ebx, ecx
nop dword [eax + eax]
movzx eax, byte [edx]
movzx edi, byte [edx + ebx]
cmp eax, edi
jne 0x47a6d4
test eax, eax
jne 0x47a6e6
lea ecx, [eax + 1]
jmp 0x47a71f
movzx ecx, byte [eax + 0x4fa530]
movzx eax, byte [edi + 0x4fa530]
sub ecx, eax
jne 0x47a6e9
inc edx
jmp 0x47a6c0
mov edx, dword [esp + 0x34]
mov ebx, str.normal
sub ebx, edx
movzx eax, byte [edx]
movzx edi, byte [edx + ebx]
cmp eax, edi
jne 0x47a707
test eax, eax
jne 0x47a719
xor ecx, ecx
jmp 0x47a71f
movzx ecx, byte [eax + 0x4fa530]
movzx eax, byte [edi + 0x4fa530]
sub ecx, eax
jne 0x47a71c
inc edx
jmp 0x47a6f4
or ecx, 0xffffffff
mov eax, dword [esp + 0x48]
cmp dword [eax + 4], 0
jne 0x47a78d
mov eax, dword [esp + 0xc]
cmp ecx, 0xffffffff
jne 0x47a73a
mov al, byte [eax + 0x59]
jmp 0x47a7bb
mov edx, 2
cmp dword [eax + 0x14], edx
jle 0x47a78a
mov edi, 0x20
mov esi, eax
nop dword [eax + eax]
mov eax, dword [esi + 0x10]
mov eax, dword [eax + edi + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
js 0x47a779
cmp byte [eax + 0xc], 0
jne 0x47a779
mov ebx, dword [eax + 0xe8]
test ebx, ebx
je 0x47a776
cmp byte [ebx + 0x2b], 2
je 0x47a779
mov byte [eax + 4], cl
inc edx
add edi, 0x10
cmp edx, dword [esi + 0x14]
jl 0x47a750
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0xc]
mov byte [eax + 0x59], cl
mov ebx, dword [esp + 0x3c]
mov dl, cl
mov eax, dword [ebx + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
js 0x47a7b8
cmp byte [eax + 0xc], 0
jne 0x47a7b8
mov ecx, dword [eax + 0xe8]
test ecx, ecx
je 0x47a7b5
cmp byte [ecx + 0x2b], 2
je 0x47a7b8
mov byte [eax + 4], dl
mov al, byte [eax + 4]
cmp al, 1
mov ecx, str.exclusive
mov edx, str.normal
cmove edx, ecx
mov ecx, esi
call fcn.00479950
jmp 0x47fcac
test ecx, ecx
je 0x47a83c
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47a7e0
sub ecx, edx
and ecx, 0x3fffffff
xor ebx, ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x5c], ebx
cmp ebx, 6
je 0x47a83c
mov eax, dword [ebx*4 + 0x4f9420]
test eax, eax
je 0x47a83c
push ecx
push eax
push dword [esp + 0x3c]
call fcn.00417a30
add esp, 0xc
test eax, eax
je 0x47a822
mov ecx, dword [esp + 0x18]
inc ebx
jmp 0x47a7f5
cmp ebx, 2
jne 0x47a8fa
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x47a85d
mov dword [esp + 0x5c], 0xffffffff
mov eax, dword [esp + 0x48]
cmp dword [eax + 4], 0
jne 0x47a85d
mov dword [esp + 0x40], 0
mov dword [eax + 4], 1
mov eax, dword [esp + 0xc]
mov ebx, dword [eax + 0x14]
sub ebx, 1
js 0x47a2ff
mov edx, dword [esp + 0x5c]
mov ecx, ebx
shl ecx, 4
mov dword [esp + 0x24], ecx
nop word [eax + eax]
mov eax, dword [eax + 0x10]
cmp dword [eax + ecx + 4], 0
je 0x47a93a
cmp ebx, dword [esp + 0x40]
je 0x47a8a2
mov eax, dword [esp + 0x48]
cmp dword [eax + 4], 0
jne 0x47a93a
mov eax, dword [esi + 0x9c]
bts eax, ebx
mov dword [esi + 0x9c], eax
cmp ebx, 1
je 0x47a8d4
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x47a8d4
mov eax, dword [esi + 0xa0]
bts eax, ebx
mov dword [esi + 0xa0], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47a908
push dword [esp + 0x5c]
mov edx, 4
mov ecx, esi
push 1
push ebx
call fcn.00437140
mov edx, dword [esp + 0x68]
add esp, 0xc
jmp 0x47a936
cmp ebx, 0xffffffff
jne 0x47a85d
jmp 0x47a844
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4], 4
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0xc]
sub ecx, 0x10
sub ebx, 1
mov dword [esp + 0x24], ecx
jns 0x47a880
jmp 0x47a2ff
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0xb0], 0xfffffffe
mov dword [esp + 0xb4], 0xffffffff
mov eax, dword [ebx + 4]
mov eax, dword [eax + 4]
mov ebx, dword [eax]
test ecx, ecx
je 0x47a9c9
lea edx, [esp + 0xb0]
call fcn.004182d0
mov ecx, dword [esp + 0xb4]
cmp ecx, 0xffffffff
jg 0x47a9a6
jl 0x47a99f
mov eax, dword [esp + 0xb0]
cmp eax, 0xffffffff
jae 0x47a9ad
or eax, 0xffffffff
or ecx, eax
jmp 0x47a9ad
mov eax, dword [esp + 0xb0]
mov dword [ebx + 0xb0], eax
mov dword [ebx + 0xb4], ecx
mov edx, dword [ebx + 0xe8]
test edx, edx
je 0x47a9c9
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
mov ecx, dword [ebx + 0xb4]
mov eax, dword [ebx + 0xb0]
mov dword [esp + 0xb4], ecx
jmp 0x47a2db
mov ebx, dword [esp + 0x3c]
mov ebx, dword [ebx + 4]
mov dword [esp + 0x44], ebx
test ecx, ecx
jne 0x47aa4f
mov cl, byte [ebx + 9]
test cl, cl
je 0x47aa0a
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x47aa0a
mov ecx, ebx
call fcn.004277e0
mov cl, byte [ebx + 9]
mov edx, dword [ebx + 4]
cmp byte [edx + 0x11], 0
jne 0x47aa1d
mov dword [esp + 0x1c], 0
jmp 0x47aa2a
xor eax, eax
cmp byte [edx + 0x12], al
setne al
inc eax
mov dword [esp + 0x1c], eax
test cl, cl
je 0x47aa3b
add dword [ebx + 0xc], 0xffffffff
jne 0x47aa3b
mov ecx, ebx
call fcn.004277c0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xb4], 0
jmp 0x47a2db
mov edx, ecx
mov ecx, str.none
sub ecx, dword [esp + 0x34]
mov dword [esp + 0x18], ecx
nop
movzx eax, byte [edx]
movzx ebx, byte [edx + ecx]
cmp eax, ebx
jne 0x47aa76
test eax, eax
jne 0x47aa8c
xor ebx, ebx
jmp 0x47ab31
movzx ecx, byte [eax + 0x4fa530]
movzx eax, byte [ebx + 0x4fa530]
sub ecx, eax
jne 0x47aa8f
mov ecx, dword [esp + 0x18]
inc edx
jmp 0x47aa60
mov edx, dword [esp + 0x34]
mov ecx, str.full
sub ecx, edx
mov dword [esp + 0x18], ecx
nop
movzx eax, byte [edx]
movzx ebx, byte [edx + ecx]
cmp eax, ebx
jne 0x47aab7
test eax, eax
jne 0x47aacd
lea ebx, [eax + 1]
jmp 0x47ab31
movzx ecx, byte [eax + 0x4fa530]
movzx eax, byte [ebx + 0x4fa530]
sub ecx, eax
jne 0x47aad0
mov ecx, dword [esp + 0x18]
inc edx
jmp 0x47aaa0
mov edx, dword [esp + 0x34]
mov ecx, str.incremental
sub ecx, edx
mov dword [esp + 0x18], ecx
nop
movzx eax, byte [edx]
movzx ebx, byte [edx + ecx]
cmp eax, ebx
jne 0x47aaf4
test eax, eax
jne 0x47ab0a
lea ebx, [eax + 2]
jmp 0x47ab31
movzx ecx, byte [eax + 0x4fa530]
movzx eax, byte [ebx + 0x4fa530]
sub ecx, eax
jne 0x47ab0d
mov ecx, dword [esp + 0x18]
inc edx
jmp 0x47aae0
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
call fcn.004183e0
xor ecx, ecx
cmp dword [esp + 0x1c], 2
cmovbe ecx, dword [esp + 0x1c]
movzx ebx, cl
mov eax, dword [esp + 0xc]
mov edx, ebx
mov ecx, dword [esp + 0x44]
mov byte [eax + 0x5a], bl
call fcn.0042a200
test eax, eax
jne 0x47fcac
cmp ebx, 1
je 0x47ab59
cmp ebx, 2
jne 0x47fcac
mov edi, dword [edi]
mov edx, 5
push ecx
push 0x4f9ec4
mov ecx, esi
call fcn.00437940
mov edx, dword [esp + 0x48]
lea ecx, [edi + 4]
add esp, 8
mov dword [eax + 4], edx
mov dword [eax + 0x18], edx
mov dword [eax + 0x30], ecx
lea ecx, [ebx - 1]
mov dword [eax + 0x54], edx
mov dword [eax + 0x5c], ecx
mov eax, dword [esi + 0x9c]
bts eax, edx
mov dword [esi + 0x9c], eax
cmp edx, 1
je 0x47fcac
mov eax, dword [esi]
mov ecx, dword [esp + 0x50]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x47fcac
mov eax, dword [esi + 0xa0]
bts eax, edx
mov dword [esi + 0xa0], eax
jmp 0x47fcac
mov dword [esp + 0x1c], 0
test ecx, ecx
je 0x47abed
lea edx, [esp + 0x1c]
call fcn.004183e0
test eax, eax
je 0x47abed
mov ebx, dword [esp + 0x1c]
test ebx, ebx
jg 0x47abf2
mov ebx, accept
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x78]
test eax, eax
cmovne ecx, eax
mov eax, 1
mov dword [esp + 0x14], ecx
mov edx, dword [ecx + 0x58]
mov ecx, dword [esp + 0x40]
shl eax, cl
mov ecx, dword [esp + 0x14]
test edx, eax
jne 0x47ac30
mov eax, dword [esp + 0x40]
bts edx, eax
mov dword [ecx + 0x58], edx
cmp eax, 1
jne 0x47ac30
call fcn.004685d0
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x54]
mov edx, dword [esp + 0x40]
bts eax, edx
mov dword [ecx + 0x54], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47ac5d
push 0
push 1
push ebx
mov edx, 0x47
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47ac8b
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x10]
mov ebx, dword [edi]
mov edx, dword [esp + 0x40]
cmp dword [eax], ebx
jg 0x47acb1
push 0
push 0
push edx
mov edx, 0x3e
mov ecx, esi
call fcn.00437140
add esp, 0xc
mov ebx, eax
jmp 0x47ace3
lea eax, [ebx + 1]
mov dword [edi], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x3e
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47ad04
push 0
push 0
push 1
mov edx, 0x54
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47ad36
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47ad57
push 0
push 0xffffffffffffffff
push 1
mov edx, 0x56
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47ad89
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x56
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0xffffffff
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47ada9
push 0
push ebx
push 1
mov edx, 0x3b
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47add7
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x3b
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x47adee
mov eax, 0x5160d8
mov dword [eax + 8], edx
jmp 0x47fcac
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x47fcac
test ecx, ecx
jne 0x47ae13
mov ebx, dword [esp + 0x3c]
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x50]
jmp 0x47a2d3
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
call fcn.004183e0
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebx + 0xc]
mov dword [ecx + 0x50], eax
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
mov edx, dword [edx + 0x50]
call fcn.00429f60
jmp 0x47fcac
test ecx, ecx
jne 0x47ae6e
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x20]
and eax, 0x20
or eax, ecx
je 0x47a2d1
mov ebx, dword [esp + 0x3c]
xor edx, edx
mov ecx, dword [ebx + 4]
call fcn.0042a000
jmp 0x47a2d3
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 1
call fcn.004183e0
mov esi, dword [esp + 0x1c]
test eax, eax
je 0x47ae95
mov ebx, dword [esp + 0x3c]
mov edx, esi
mov ecx, dword [ebx + 4]
call fcn.0042a000
mov ecx, dword [esp + 0x34]
test esi, esi
mov edx, 1
setne al
movzx eax, al
push eax
call fcn.00479800
mov edx, dword [esp + 0x10]
add esp, 4
mov ecx, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
test al, al
je 0x47aec2
or ecx, 0x20
jmp 0x47aec5
and ecx, 0xffffffdf
mov eax, dword [esp + 0xc]
mov dword [eax + 0x20], ecx
mov ecx, eax
mov dword [eax + 0x24], edx
call fcn.00479a30
jmp 0x47fcac
test ecx, ecx
je 0x47b006
lea edx, [esp + 0x90]
call fcn.004182d0
cmp dword [esp + 0x94], 0
jg 0x47af1e
jl 0x47af05
cmp dword [esp + 0x90], 0
jae 0x47af1e
mov eax, dword [0x5131a8]
mov ecx, dword [0x5131ac]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0xc]
cmp dword [edx + 4], 0
jne 0x47af40
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x34], ecx
mov ecx, dword [ebx + 0x14]
sub ecx, 1
mov dword [esp + 0x20], ecx
js 0x47b006
mov esi, dword [esp + 0xc]
mov edi, ecx
shl edi, 4
nop dword [eax]
mov eax, dword [esi + 0x10]
mov ebx, dword [eax + edi + 4]
test ebx, ebx
je 0x47afee
cmp ecx, dword [esp + 0x40]
je 0x47af7b
cmp dword [edx + 4], 0
jne 0x47afee
cmp byte [ebx + 9], 0
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
mov dword [esp + 0x80], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 0x18], eax
mov dword [esp + 0x44], ecx
je 0x47afb9
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x47afb9
mov ecx, ebx
call fcn.004277e0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x44]
mov ecx, dword [ecx]
mov dword [ecx + 0x88], eax
mov eax, dword [esp + 0x80]
mov dword [ecx + 0x8c], eax
call fcn.00421690
cmp byte [ebx + 9], 0
je 0x47afe6
add dword [ebx + 0xc], 0xffffffff
jne 0x47afe6
mov ecx, ebx
call fcn.004277c0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x48]
dec ecx
sub edi, 0x10
mov dword [esp + 0x20], ecx
test ecx, ecx
jns 0x47af60
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0xc]
mov ebx, 1
mov dword [esp + 0x90], 0xffffffff
mov dword [esp + 0x94], 0xffffffff
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x47b03a
push eax
call dword [0x513150]
mov ecx, dword [esp + 0x10]
add esp, 4
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x47b054
mov edx, eax
call fcn.00460e60
mov ecx, eax
test ecx, ecx
jns 0x47b056
jmp 0x47b0e3
xor ecx, ecx
mov eax, dword [esp + 0xc]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + ecx*8 + 4]
test ebx, ebx
je 0x47b116
cmp byte [ebx + 9], 0
je 0x47b081
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x47b081
mov ecx, ebx
call fcn.004277e0
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x1c8]
mov dword [esp + 0x18], ecx
mov eax, dword [eax + 0x40]
mov ecx, dword [eax]
test ecx, ecx
jne 0x47b0a7
mov dword [esp + 0x20], 0xc
jmp 0x47b0be
lea edx, [esp + 0x90]
push edx
push 0x12
push eax
mov eax, dword [ecx + 0x28]
call eax
add esp, 0xc
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x1c8], eax
cmp byte [ebx + 9], 0
je 0x47b0df
add dword [ebx + 0xc], 0xffffffff
jne 0x47b0df
mov ecx, ebx
call fcn.004277c0
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x47b0f8
push eax
call dword [0x513158]
add esp, 4
test ebx, ebx
jne 0x47b11d
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
mov dword [esp + 0xb4], ecx
jmp 0x47a2db
mov ebx, 1
jmp 0x47b0e3
cmp ebx, 0xc
je 0x47fcac
mov eax, dword [esp + 0x14]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x47fcac
test ecx, ecx
jne 0x47b146
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + 0x56]
jmp 0x47a2d3
mov cl, byte [ecx]
mov al, cl
sub al, 0x30
cmp al, 2
ja 0x47b158
movsx ebx, cl
sub ebx, 0x30
jmp 0x47b1cb
mov ebx, dword [esp + 0x34]
mov esi, str.file
mov edx, ebx
movzx edi, byte [esi]
movzx eax, cl
cmp eax, edi
jne 0x47b178
test cl, cl
jne 0x47b18a
mov ebx, 1
jmp 0x47b1cb
movzx ecx, byte [eax + 0x4fa530]
movzx eax, byte [edi + 0x4fa530]
sub ecx, eax
jne 0x47b191
mov cl, byte [edx + 1]
inc edx
inc esi
jmp 0x47b163
mov edi, str.memory
mov edx, ebx
sub edi, ebx
nop word [eax + eax]
movzx eax, byte [edx]
movzx esi, byte [edx + edi]
cmp eax, esi
jne 0x47b1b4
test eax, eax
jne 0x47b1c6
lea ebx, [eax + 2]
jmp 0x47b1cb
movzx ecx, byte [eax + 0x4fa530]
movzx eax, byte [esi + 0x4fa530]
sub ecx, eax
jne 0x47b1c9
inc edx
jmp 0x47b1a0
xor ebx, ebx
mov edx, dword [esp + 0x14]
mov esi, dword [edx]
movzx eax, byte [esi + 0x56]
cmp eax, ebx
je 0x47fcac
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x47b209
cmp byte [esi + 0x55], 0
je 0x47b211
cmp byte [ecx + 8], 0
jne 0x47b211
call fcn.00429e00
mov eax, dword [esi + 0x10]
mov ecx, esi
mov dword [eax + 0x14], 0
call fcn.00460830
mov byte [esi + 0x56], bl
jmp 0x47fcac
push str.temporary_storage_cannot_be_changed_from_within_a_transaction
push edx
call fcn.00417860
add esp, 8
jmp 0x47fcac
cmp byte [0x513104], 0
je 0x47b246
push 0xb
call dword [0x513148]
add esp, 4
test eax, eax
je 0x47b246
push eax
call dword [0x513150]
add esp, 4
mov ecx, dword [esp + 0x34]
test ecx, ecx
jne 0x47b25d
mov edx, dword [0x515e28]
mov ecx, esi
call fcn.00479950
jmp 0x47b29a
cmp byte [ecx], 0
je 0x47b2c9
mov eax, dword [esp + 0xc]
lea edx, [esp + 0xa4]
push edx
push 1
push ecx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x47b289
cmp dword [esp + 0xa4], eax
jne 0x47b2c9
push str.not_a_writable_directory
push dword [esp + 0x18]
call fcn.00417860
add esp, 8
cmp byte [0x513104], 0
je 0x47fcac
push 0xb
call dword [0x513148]
add esp, 4
test eax, eax
je 0x47fcac
push eax
call dword [0x513158]
add esp, 4
jmp 0x47fcac
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x56], 1
ja 0x47b315
mov edx, dword [esp + 0x14]
mov esi, dword [edx]
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x47b315
cmp byte [esi + 0x55], 0
je 0x47b307
cmp byte [ecx + 8], 0
jne 0x47b307
call fcn.00429e00
mov eax, dword [esi + 0x10]
mov ecx, esi
mov dword [eax + 0x14], 0
call fcn.00460830
jmp 0x47b315
push str.temporary_storage_cannot_be_changed_from_within_a_transaction
push edx
call fcn.00417860
add esp, 8
push dword [0x515e28]
call fcn.00413450
mov eax, dword [esp + 0x38]
add esp, 4
cmp byte [eax], 0
je 0x47b341
push eax
push 0x500ef4
call fcn.00416930
mov dword [0x515e28], eax
jmp 0x47b297
mov dword [0x515e28], 0
jmp 0x47b29a
cmp byte [0x513104], 0
je 0x47b372
push 0xb
call dword [0x513148]
add esp, 4
test eax, eax
je 0x47b372
push eax
call dword [0x513150]
add esp, 4
mov ecx, dword [esp + 0x34]
test ecx, ecx
jne 0x47b38c
mov edx, dword [0x515e24]
mov ecx, esi
call fcn.00479950
jmp 0x47b29a
cmp byte [ecx], 0
je 0x47b3c0
mov eax, dword [esp + 0xc]
lea edx, [esp + 0xa8]
push edx
push 1
push ecx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x47b289
cmp dword [esp + 0xa8], eax
je 0x47b289
push dword [0x515e24]
call fcn.00413450
mov eax, dword [esp + 0x38]
add esp, 4
cmp byte [eax], 0
je 0x47b3ec
push eax
push 0x500ef4
call fcn.00416930
mov dword [0x515e24], eax
jmp 0x47b297
mov dword [0x515e24], 0
jmp 0x47b29a
test ecx, ecx
jne 0x47b412
mov ebx, dword [esp + 0x3c]
movzx eax, byte [ebx + 8]
cdq
sub eax, 1
sbb edx, ecx
jmp 0x47a2d4
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x55], 0
jne 0x47b432
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x18]
call fcn.00417860
add esp, 8
jmp 0x47fcac
cmp dword [esp + 0x40], 1
je 0x47fcb0
push 1
xor edx, edx
call fcn.00479800
mov ebx, dword [esp + 0x40]
inc eax
add esp, 4
mov ecx, 1
and eax, 7
cmove eax, ecx
mov byte [ebx + 8], al
mov byte [ebx + 9], cl
mov ecx, dword [esp + 0xc]
call fcn.00479a30
jmp 0x47fcac
test ecx, ecx
jne 0x47b4c7
mov edx, ebx
mov ecx, esi
call fcn.004798b0
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
and ecx, dword [ebx + 8]
and eax, dword [ebx + 0xc]
or ecx, eax
je 0x47b4a1
xor ecx, ecx
mov eax, 1
mov dword [esp + 0xb4], ecx
jmp 0x47a2db
xorps xmm0, xmm0
movlpd qword [esp + 0xb0], xmm0
mov ecx, dword [esp + 0xb4]
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xb4], ecx
jmp 0x47a2db
mov ecx, dword [esp + 0xc]
mov eax, dword [ebx + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0xc]
cmp byte [ecx + 0x55], 0
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
jne 0x47b4ed
and ebx, 0xffffbfff
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x34]
mov edx, 1
push 0
call fcn.00479800
mov edx, dword [esp + 0x10]
add esp, 4
mov ecx, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
test al, al
je 0x47b52a
mov eax, edx
or ecx, ebx
mov edx, dword [esp + 0xc]
or eax, dword [esp + 0x24]
mov dword [edx + 0x20], ecx
mov dword [edx + 0x24], eax
jmp 0x47b598
mov edi, dword [esp + 0xc]
mov ecx, ebx
mov edx, dword [esp + 0x24]
not ecx
and ecx, dword [esp + 0x18]
mov eax, edx
not eax
and eax, dword [esp + 0x1c]
mov dword [edi + 0x20], ecx
mov ecx, edi
mov edi, dword [esp + 0x30]
mov dword [ecx + 0x24], eax
cmp ebx, 0x80000
jne 0x47b568
test edx, edx
jne 0x47b568
mov dword [ecx + 0x208], edx
mov dword [ecx + 0x20c], edx
jmp 0x47b598
and ebx, 1
or ebx, 0
je 0x47b598
mov edx, dword [esp + 0x34]
mov ebx, str.reset
sub ebx, edx
nop dword [eax + eax]
movzx ecx, byte [edx]
movzx eax, byte [ebx + edx]
cmp ecx, eax
jne 0x47b5c5
test ecx, ecx
jne 0x47b5d7
mov ecx, dword [esp + 0xc]
call fcn.00460830
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47b5da
push 0
push 0
push 0
mov edx, 0xa6
mov ecx, esi
call fcn.00437140
mov ecx, dword [esp + 0x18]
add esp, 0xc
call fcn.00479a30
jmp 0x47fcac
movzx eax, byte [eax + 0x4fa530]
movzx ecx, byte [ecx + 0x4fa530]
sub ecx, eax
jne 0x47b598
inc edx
jmp 0x47b580
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xa6
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0xc]
call fcn.00479a30
jmp 0x47fcac
test ecx, ecx
je 0x47fcac
mov edi, dword [esp + 0x2c]
mov edx, edi
mov ecx, dword [esp + 0x14]
call fcn.00468670
mov ecx, dword [esp + 0x14]
mov edx, 2
push edi
push dword [esp + 0x38]
call fcn.00460440
mov edi, eax
add esp, 8
mov dword [esp + 0x64], edi
test edi, edi
je 0x47fcac
mov ecx, dword [edi + 8]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x1c], ecx
test ecx, ecx
je 0x47b67c
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x47b678
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x47b668
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x60]
mov dword [eax], 7
cmp byte [edi + 0x2b], 1
je 0x47b69b
movzx eax, word [edi + 0x22]
mov ecx, eax
mov dword [esp + 0x18], ecx
test ax, ax
jg 0x47b6ac
mov ecx, dword [esp + 0x14]
mov edx, edi
call fcn.004645a0
movzx eax, word [edi + 0x22]
jmp 0x47b6b0
mov eax, dword [esp + 0x18]
mov edx, dword [edi + 4]
xor ecx, ecx
xor edi, edi
mov dword [esp + 0x74], ecx
mov dword [esp + 0x20], edx
cmp di, ax
jge 0x47fcac
movzx eax, ax
mov dword [esp + 0x24], eax
nop
movzx eax, word [edx + 0xe]
xor edi, edi
mov dword [esp + 0x18], eax
test al, 0x62
je 0x47b711
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
jne 0x47b6f6
mov eax, dword [esp + 0x24]
inc dword [esp + 0x4c]
movzx eax, ax
jmp 0x47b88a
mov eax, dword [esp + 0x18]
test al, 0x20
je 0x47b705
mov edi, 2
jmp 0x47b711
movzx edi, al
and edi, 0x40
or edi, 0x20
shr edi, 5
test al, 1
jne 0x47b719
xor edx, edx
jmp 0x47b749
mov ecx, dword [esp + 0x1c]
mov edx, 1
test ecx, ecx
je 0x47b749
mov eax, dword [esp + 0x24]
cwde
cmp eax, edx
jl 0x47b749
mov ecx, dword [ecx + 4]
mov esi, eax
movsx eax, word [ecx]
cmp eax, dword [esp + 0x74]
je 0x47b745
inc edx
add ecx, 2
cmp edx, esi
jle 0x47b734
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
movzx eax, word [ecx + 0xc]
mov dword [esp + 0x38], eax
test ax, ax
jne 0x47b75e
xor eax, eax
jmp 0x47b7a3
mov eax, dword [esp + 0x64]
cmp byte [eax + 0x2b], 0
je 0x47b76c
xor eax, eax
jmp 0x47b7a3
mov eax, dword [eax + 0x34]
test eax, eax
je 0x47b7a3
mov ebx, dword [esp + 0x38]
movzx ebx, bx
cmp dword [eax], ebx
mov ebx, dword [esp + 0x70]
jge 0x47b786
xor eax, eax
jmp 0x47b7a3
mov ecx, dword [esp + 0x38]
movzx eax, cx
mov ecx, dword [esp + 0x64]
lea eax, [eax + eax*4]
mov esi, dword [ecx + 0x34]
mov ecx, dword [esp + 0x20]
mov eax, dword [esi + eax*4 - 0xc]
mov esi, dword [esp + 0x28]
cmp edi, 2
jae 0x47b7b8
test eax, eax
je 0x47b7b8
mov eax, dword [eax + 8]
mov dword [esp + 0x84], eax
jmp 0x47b7c3
mov dword [esp + 0x84], 0
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
mov dword [esp + 0x8c], str.issisii
jne 0x47b7e1
mov dword [esp + 0x8c], str.issisi
movzx eax, word [ecx + 0xe]
test al, 4
je 0x47b817
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x44], eax
lea eax, [ecx + 1]
mov dword [esp + 0x18], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47b7f8
mov eax, dword [esp + 0x44]
sub ecx, dword [esp + 0x18]
inc eax
add eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov eax, dword [ecx + 4]
jmp 0x47b83f
mov eax, dword [ecx + 4]
mov dword [esp + 0x38], eax
shr eax, 4
and eax, 0xf
je 0x47b833
mov eax, dword [eax*4 + 0x514174]
mov dword [esp + 0x24], eax
jmp 0x47b83b
mov dword [esp + 0x24], 0x4ff790
mov eax, dword [esp + 0x38]
push edi
push edx
push dword [esp + 0x8c]
test al, 0xf
mov eax, 0
setne al
push eax
push dword [esp + 0x34]
mov eax, dword [esp + 0x88]
push dword [ecx]
sub eax, dword [esp + 0x64]
push eax
push dword [esp + 0xa8]
push 1
push esi
call fcn.004371f0
mov eax, dword [esp + 0x8c]
add esp, 0x28
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x20]
movzx eax, word [eax + 0x22]
movzx edi, ax
inc ecx
add edx, 0x10
cwde
mov dword [esp + 0x74], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edi
cmp ecx, eax
jl 0x47b6d0
jmp 0x47fcac
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x2c]
mov edx, ebx
mov ecx, dword [esp + 0x14]
mov dword [eax], 6
call fcn.00468670
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1c], 0
cmp dword [eax + 0x14], 0
jle 0x47fcb0
xor edi, edi
mov dword [esp + 0x64], edi
test ebx, ebx
je 0x47b8fb
mov eax, dword [eax + 0x10]
push dword [edi + eax]
push ebx
call fcn.004179a0
add esp, 8
test eax, eax
jne 0x47bb4f
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx + 0x10]
mov edx, dword [edi + eax + 0xc]
add edx, 8
mov ebx, dword [edx + 4]
test ebx, ebx
je 0x47b9cf
mov esi, dword [esp + 0xc]
mov eax, dword [edx + 8]
dec ebx
test eax, eax
je 0x47b9cb
mov ecx, dword [eax + 8]
cmp word [ecx + 0x22], 0
je 0x47b939
mov eax, dword [eax]
test eax, eax
jne 0x47b924
jmp 0x47b9cb
push dword [ecx]
push str.SELECTFROM__w_
push esi
call fcn.00416840
mov edi, eax
add esp, 0xc
test edi, edi
je 0x47b98f
push 0
lea eax, [esp + 0x9c]
mov dword [esp + 0x9c], 0
push eax
push 0
push 0
push 0xffffffffffffffff
mov edx, edi
mov ecx, esi
call fcn.00481750
add esp, 0x14
push dword [esp + 0x98]
call fcn.0043c010
add esp, 4
push edi
push esi
call fcn.00413560
add esp, 8
cmp byte [esi + 0x57], 0
je 0x47b9b5
push str.out_of_memory
push dword [esi + 0x10c]
call fcn.00417860
mov eax, dword [esi + 0x10c]
add esp, 8
mov dword [eax + 0xc], 7
mov eax, dword [esi + 0x10]
mov edi, dword [esp + 0x64]
mov edx, dword [edi + eax + 0xc]
add edx, 8
test ebx, ebx
jne 0x47b918
mov esi, dword [esp + 0x28]
mov eax, dword [edx + 8]
mov dword [esp + 0x4c], eax
test eax, eax
je 0x47bb4b
nop
mov ebx, dword [eax + 8]
mov eax, dword [esp + 0x34]
test eax, eax
je 0x47b9fe
push dword [ebx]
push eax
call fcn.004179a0
add esp, 8
test eax, eax
jne 0x47bb39
mov al, byte [ebx + 0x2b]
cmp al, 2
jne 0x47ba0f
mov dword [esp + 0x24], str.view
jmp 0x47ba35
cmp al, 1
jne 0x47ba1d
mov dword [esp + 0x24], str.virtual
jmp 0x47ba35
test dword [ebx + 0x1c], 0x1000
mov ecx, str.shadow
mov eax, str.table
cmove ecx, eax
mov dword [esp + 0x24], ecx
mov eax, dword [ebx]
mov edx, 7
mov dword [esp + 0x20], eax
test eax, eax
je 0x47baf4
mov edi, eax
mov ebx, str.sqlite_
nop
mov al, byte [edi]
dec edx
test al, al
je 0x47ba72
movzx ecx, byte [ebx]
movzx eax, al
mov al, byte [eax + 0x4fa530]
cmp al, byte [ecx + 0x4fa530]
jne 0x47ba72
inc edi
inc ebx
test edx, edx
jg 0x47ba50
dec edx
test edx, edx
js 0x47ba8e
movzx eax, byte [ebx]
movzx ecx, byte [eax + 0x4fa530]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x4fa530]
sub eax, ecx
jne 0x47baf4
mov edx, dword [esp + 0x20]
mov ebx, 0x501a1b
add edx, 7
mov edi, edx
sub ebx, edx
nop
movzx ecx, byte [edi]
movzx eax, byte [ebx + edi]
cmp ecx, eax
jne 0x47bab9
test ecx, ecx
jne 0x47bacb
mov dword [esp + 0x20], str.sqlite_schema
jmp 0x47baf4
movzx eax, byte [eax + 0x4fa530]
movzx ecx, byte [ecx + 0x4fa530]
sub ecx, eax
jne 0x47bace
inc edi
jmp 0x47baa0
mov edi, 0x501c0f
sub edi, edx
movzx ecx, byte [edx]
movzx eax, byte [edi + edx]
cmp ecx, eax
jne 0x47bb73
test ecx, ecx
jne 0x47bb89
mov dword [esp + 0x20], str.sqlite_temp_schema
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x64]
mov edx, dword [ecx + 8]
mov ecx, dword [edx + 0x1c]
mov eax, ecx
shr eax, 0x10
and eax, 1
shr ecx, 7
push eax
movsx eax, word [edx + 0x22]
and ecx, 1
push ecx
push eax
push dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
push dword [esp + 0x30]
mov eax, dword [eax + 0x10]
push dword [edi + eax]
push str.sssiii
push 1
push esi
call fcn.004371f0
add esp, 0x24
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x47b9e0
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0xc]
add edi, 0x10
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x64], edi
mov dword [esp + 0x1c], eax
cmp eax, dword [ecx + 0x14]
mov eax, ecx
jl 0x47b8e0
jmp 0x47fcb0
movzx eax, byte [eax + 0x4fa530]
movzx ecx, byte [ecx + 0x4fa530]
sub ecx, eax
jne 0x47baf4
inc edx
jmp 0x47bad5
test ecx, ecx
je 0x47fcac
push dword [esp + 0x2c]
mov edx, ecx
mov ecx, dword [esp + 0x10]
call fcn.00460600
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x47bbfb
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
lea edx, [eax + 2]
push dword [esp + 0x38]
call fcn.00460440
add esp, 8
test eax, eax
je 0x47fcac
test byte [eax + 0x1c], 0x80
je 0x47fcac
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x47fcac
mov eax, dword [ebx + 0x38]
and al, 3
cmp al, 2
je 0x47bbf3
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x47bbe3
test ebx, ebx
je 0x47fcac
mov ecx, dword [ebx + 0x18]
mov edx, 0xffff8000
test ecx, ecx
je 0x47bc1f
mov eax, dword [esp + 0xc]
xor edx, edx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x47bc1f
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x47bc17
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 8]
or eax, dword [ecx + 0xc]
je 0x47bc36
movzx eax, word [ebx + 0x34]
mov ecx, 6
jmp 0x47bc3f
movzx eax, word [ebx + 0x32]
mov ecx, 3
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x14]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x44], eax
mov eax, dword [ecx + 0x78]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x14], ecx
mov eax, dword [ecx + 0x58]
mov ecx, edx
mov dword [esp + 0x18], eax
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x18]
test ecx, eax
jne 0x47bc8f
mov eax, dword [esp + 0x14]
bts ecx, edx
mov dword [eax + 0x58], ecx
cmp edx, 1
jne 0x47bc8f
mov ecx, eax
call fcn.004685d0
xor edx, edx
mov dword [esp + 0x24], edx
cmp word [esp + 0x4c], dx
je 0x47fcac
mov eax, dword [ebx + 4]
movzx eax, word [eax + edx*2]
movsx ecx, ax
mov dword [esp + 0x18], ecx
test ax, ax
jns 0x47bcb7
xor eax, eax
jmp 0x47bcc7
mov eax, dword [esp + 0x44]
add ecx, ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8]
mov ecx, dword [esp + 0x18]
push eax
push ecx
push edx
push str.iisX
push 1
push esi
call fcn.004371f0
mov ecx, dword [esp + 0x88]
add esp, 0x18
mov eax, dword [ecx + 8]
or eax, dword [ecx + 0xc]
je 0x47bd16
movzx eax, word [ebx + 0x32]
mov ecx, dword [esp + 0x24]
cmp ecx, eax
sbb eax, eax
neg eax
push eax
mov eax, dword [ebx + 0x20]
push dword [eax + ecx*4]
mov eax, dword [ebx + 0x1c]
movzx eax, byte [eax + ecx]
push eax
push str.isiX
push 4
push esi
call fcn.004371f0
add esp, 0x18
mov eax, dword [esp + 0x60]
mov ecx, dword [edi]
mov edx, dword [eax]
mov eax, dword [esp + 0x10]
cmp dword [eax], ecx
jg 0x47bd3c
push 0
push edx
push 1
mov edx, 0x54
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47bd6e
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x4c]
inc edx
movzx eax, cx
mov dword [esp + 0x24], edx
cmp edx, eax
jl 0x47bca0
jmp 0x47fcac
test ecx, ecx
je 0x47fcac
push dword [esp + 0x2c]
mov edx, ecx
mov ecx, dword [esp + 0x10]
call fcn.00460060
mov edi, eax
add esp, 4
test edi, edi
je 0x47fcac
mov edx, dword [edi + 0x3c]
mov ecx, 0xffff8000
test edx, edx
je 0x47bdd8
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x47bdd8
nop dword [eax + eax]
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x47bdd0
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x14]
mov dword [eax], 5
mov eax, dword [ebx + 0x78]
test eax, eax
cmovne ebx, eax
mov eax, 1
shl eax, cl
mov edx, dword [ebx + 0x58]
test edx, eax
jne 0x47be0e
bts edx, ecx
mov dword [ebx + 0x58], edx
cmp ecx, 1
jne 0x47be0e
mov ecx, ebx
call fcn.004685d0
mov edi, dword [edi + 8]
xor ebx, ebx
test edi, edi
je 0x47fcac
mov dword [esp + 0xb0], 0x5049bc
mov dword [esp + 0xb4], 0x5049c0
mov dword [esp + 0xb8], 0x50430c
nop dword [eax]
xor eax, eax
cmp dword [edi + 0x24], eax
setne al
push eax
mov eax, dword [edi + 0x38]
and eax, 3
push dword [esp + eax*4 + 0xb4]
xor eax, eax
cmp byte [edi + 0x36], al
setne al
push eax
push dword [edi]
push ebx
push str.isisi
push 1
push esi
call fcn.004371f0
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x47be40
jmp 0x47fcac
mov eax, dword [esp + 0x60]
xor edi, edi
mov dword [eax], 3
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x14], edi
jle 0x47fcb0
xor ebx, ebx
nop word [eax + eax]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + ebx + 4]
test eax, eax
je 0x47bee0
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xf], 0
jne 0x47bec6
cmp dword [eax], 0x514cf8
je 0x47bec6
mov eax, dword [eax + 0xb8]
jmp 0x47becb
mov eax, 0x4f8dbc
push eax
push dword [ecx + ebx]
push edi
push 0x5049cc
push 1
push esi
call fcn.004371f0
add esp, 0x18
mov eax, dword [esp + 0xc]
inc edi
add ebx, 0x10
cmp edi, dword [eax + 0x14]
jl 0x47bea0
jmp 0x47fcb0
mov eax, dword [esp + 0x60]
xor ebx, ebx
mov edi, dword [esp + 0xc]
mov dword [eax], 2
mov edi, dword [edi + 0x1b8]
test edi, edi
je 0x47fcac
mov eax, dword [edi + 8]
push dword [eax]
push ebx
push 0x5049d0
push 1
push esi
call fcn.004371f0
mov edi, dword [edi]
add esp, 0x14
inc ebx
test edi, edi
jne 0x47bf10
jmp 0x47fcac
mov eax, dword [esp + 0xc]
mov ebx, dword [eax + 0x18]
mov eax, dword [esp + 0x60]
shr ebx, 5
and ebx, 1
mov dword [eax], 6
mov eax, 0x516108
mov dword [esp + 0x1c], eax
mov edi, dword [eax]
test edi, edi
je 0x47bf72
push ebx
push 1
mov edx, edi
mov ecx, esi
call fcn.00479b40
mov edi, dword [edi + 0x24]
add esp, 8
test edi, edi
jne 0x47bf58
mov eax, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x1c], eax
cmp eax, 0x516164
jl 0x47bf52
mov edi, dword [esp + 0xc]
mov edi, dword [edi + 0x1a8]
test edi, edi
je 0x47fcac
mov edx, dword [edi + 8]
mov ecx, esi
push ebx
push 0
call fcn.00479b40
mov edi, dword [edi]
add esp, 8
test edi, edi
jne 0x47bf92
jmp 0x47fcac
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0xc]
mov dword [eax], 1
mov edi, dword [edi + 0x18c]
test edi, edi
je 0x47fcac
nop dword [eax]
mov eax, dword [edi + 8]
push dword [eax + 4]
push 0x502080
push 1
push esi
call fcn.004371f0
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x47bfd0
jmp 0x47fcac
mov edi, 0x4fa9b8
push dword [edi]
push 0x502080
push 1
push esi
call fcn.004371f0
add edi, 0x10
add esp, 0x10
cmp edi, str.0123456789ABCDEF
jl 0x47bff6
jmp 0x47fcac
test ecx, ecx
je 0x47fcac
push dword [esp + 0x2c]
mov edx, ecx
mov ecx, dword [esp + 0x10]
call fcn.00460060
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x47fcac
cmp byte [eax + 0x2b], 0
jne 0x47fcac
mov edi, dword [eax + 0x30]
test edi, edi
je 0x47fcac
mov edx, dword [eax + 0x3c]
mov ecx, 0xffff8000
test edx, edx
je 0x47c078
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x47c078
nop
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x47c070
mov eax, dword [esp + 0x60]
xor edx, edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x24], edx
mov dword [eax], 8
mov eax, dword [ebx + 0x78]
test eax, eax
cmovne ebx, eax
mov eax, 1
mov dword [esp + 0x14], ebx
shl eax, cl
mov ebx, dword [ebx + 0x58]
test ebx, eax
jne 0x47c0c0
mov eax, dword [esp + 0x14]
bts ebx, ecx
mov dword [eax + 0x58], ebx
cmp ecx, 1
jne 0x47c0c0
mov ecx, eax
call fcn.004685d0
xor edx, edx
nop
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x47c183
lea edx, [edi + 0x24]
mov dword [esp + 0x1c], edx
movzx eax, byte [edi + 0x19]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x47c0de
jmp dword [eax*4 + 0x47fd8c]
mov ecx, str.SET_NULL
jmp 0x47c106
mov ecx, str.SET_DEFAULT
jmp 0x47c106
mov ecx, str.CASCADE
jmp 0x47c106
mov ecx, str.RESTRICT
jmp 0x47c106
mov ecx, str.NO_ACTION
movzx eax, byte [edi + 0x1a]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x47c112
jmp dword [eax*4 + 0x47fd9c]
mov eax, str.SET_NULL
jmp 0x47c13a
mov eax, str.SET_DEFAULT
jmp 0x47c13a
mov eax, str.CASCADE
jmp 0x47c13a
mov eax, str.RESTRICT
jmp 0x47c13a
mov eax, str.NO_ACTION
push str.NONE
push ecx
mov ecx, dword [edx]
push eax
push dword [edx + 4]
mov eax, dword [esp + 0x28]
add ecx, ecx
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push dword [edi + 8]
push ebx
push dword [esp + 0x40]
push str.iissssss
push 1
push esi
call fcn.004371f0
mov edx, dword [esp + 0x48]
inc ebx
add edx, 8
add esp, 0x2c
mov dword [esp + 0x1c], edx
cmp ebx, dword [edi + 0x14]
jl 0x47c0d2
mov edx, dword [esp + 0x24]
mov edi, dword [edi + 4]
inc edx
mov dword [esp + 0x24], edx
test edi, edi
jne 0x47c0c0
jmp 0x47fcac
mov edx, dword [esp + 0x60]
mov eax, dword [edx]
lea ecx, [eax + 1]
add eax, 5
mov dword [edx], eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x50]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 0xc]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x47fcac
mov eax, dword [esp + 0x34]
test eax, eax
je 0x47c1e7
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
xor edx, edx
push eax
call fcn.00460440
add esp, 8
xor ecx, ecx
jmp 0x47c1ec
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x6c], eax
test eax, eax
je 0x47ca39
cmp byte [eax + 0x2b], 0
jne 0x47ca39
cmp dword [eax + 0x30], 0
je 0x47ca39
mov ecx, dword [eax + 0x3c]
mov ebx, 0xffff8000
test ecx, ecx
je 0x47c238
mov eax, dword [esp + 0xc]
xor ebx, ebx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x47c238
nop
lea eax, [eax + 0x10]
inc ebx
cmp dword [eax], ecx
jne 0x47c230
mov eax, dword [esp + 0xc]
mov ecx, ebx
shl ecx, 4
mov dword [esp + 0x1c], ecx
mov eax, dword [eax + 0x10]
mov eax, dword [ecx + eax]
mov ecx, dword [esp + 0x14]
mov edx, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [ecx + 0x78]
test eax, eax
mov ecx, ebx
cmovne edx, eax
mov eax, 1
shl eax, cl
mov ecx, dword [edx + 0x58]
test ecx, eax
jne 0x47c281
bts ecx, ebx
mov dword [edx + 0x58], ecx
cmp ebx, 1
jne 0x47c286
mov ecx, edx
call fcn.004685d0
jmp 0x47c2b6
cmp ebx, 1
je 0x47c2b6
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x47c2b6
mov eax, dword [esp + 0x6c]
mov edx, ebx
mov ecx, dword [esp + 0x14]
push dword [eax]
push 0
push dword [eax + 0x14]
call fcn.0045f660
add esp, 0xc
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x60]
movsx eax, word [ecx + 0x22]
add eax, dword [esp + 0x48]
cmp dword [edx], eax
jge 0x47c2cc
mov dword [edx], eax
push 0x70
push ecx
mov ecx, dword [esp + 0x1c]
xor edx, edx
push ebx
call fcn.004728d0
mov eax, dword [esp + 0x78]
add esp, 0xc
mov edx, dword [edi]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
cmp dword [eax], edx
jg 0x47c30d
push 0
push dword [esp + 0x40]
mov edx, 0x75
mov ecx, esi
push 0
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47c343
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x3c]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push dword [esp + 0x1c]
mov ecx, esi
call fcn.00437de0
mov ecx, dword [esp + 0x74]
add esp, 8
mov eax, 1
mov dword [esp + 0x20], eax
mov ecx, dword [ecx + 0x30]
mov dword [esp + 0x24], ecx
test ecx, ecx
je 0x47c4ce
nop
mov edx, dword [ecx + 8]
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
call fcn.00460060
mov edx, eax
add esp, 4
mov dword [esp + 0x38], edx
test edx, edx
je 0x47c4b2
mov dword [esp + 0x70], 0
cmp ebx, 1
je 0x47c3ce
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x10]
mov eax, dword [ecx + eax + 4]
cmp byte [eax + 9], 0
je 0x47c3ce
push dword [edx]
mov ecx, dword [esp + 0x18]
push 0
push dword [edx + 0x14]
mov edx, ebx
call fcn.0045f660
mov edx, dword [esp + 0x44]
add esp, 0xc
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x70]
push 0
push eax
push dword [esp + 0x2c]
call fcn.0046fed0
add esp, 0xc
test eax, eax
jne 0x47fcac
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x47c411
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
push 0x70
push dword [esp + 0x3c]
push ebx
call fcn.004728d0
add esp, 0xc
jmp 0x47c4b2
mov edx, dword [esp + 0x10]
mov ecx, dword [edi]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x18], eax
cmp dword [edx], ecx
mov edx, dword [esp + 0x20]
jg 0x47c43a
push ebx
push eax
push edx
mov edx, 0x70
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47c464
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x70
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x18]
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x70]
mov eax, dword [ecx + 8]
mov dword [esp + 0x18], eax
call fcn.00468e70
mov dword [esp + 0x44], eax
test eax, eax
je 0x47c4b2
mov edx, dword [esp + 0x18]
mov ecx, dword [edx]
cmp byte [ecx + 0x57], 0
je 0x47c49c
push eax
mov edx, 0xfffffff8
call fcn.00437b50
add esp, 4
jmp 0x47c4b2
mov eax, dword [edx + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x68]
mov edx, dword [esp + 0x44]
mov byte [eax + ecx*4 - 0x13], 0xf8
mov dword [eax + ecx*4 - 4], edx
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
mov ecx, dword [ecx + 4]
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x47c370
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x28], eax
jge 0x47c4da
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x10]
mov edx, dword [edi]
mov dword [esp + 0x64], edx
cmp dword [eax], edx
jg 0x47c503
push 0
push 0
push 0
mov edx, 0x24
mov ecx, esi
call fcn.00437140
add esp, 0xc
mov dword [esp + 0x64], eax
jmp 0x47c535
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x5c], 1
mov ebx, dword [eax + 0x30]
mov dword [esp + 0x50], ebx
test ebx, ebx
je 0x47c9bc
push dword [esp + 0x2c]
mov edx, dword [ebx + 8]
mov ecx, dword [esp + 0x10]
call fcn.00460060
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x70], 0
mov dword [esp + 0x4c], 0
test eax, eax
je 0x47c594
lea ecx, [esp + 0x4c]
mov edx, eax
push ecx
lea ecx, [esp + 0x74]
push ecx
mov ecx, dword [esp + 0x1c]
push ebx
call fcn.0046fed0
add esp, 0xc
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x60]
dec dword [eax + 0x38]
mov ebx, dword [eax + 0x38]
mov edx, dword [ecx + 0x14]
mov eax, dword [esp + 0x48]
add eax, edx
mov dword [esp + 0x24], ebx
cmp dword [edi], eax
mov edi, dword [esp + 0x30]
mov dword [esp + 0x20], edx
jge 0x47c5cc
mov edx, dword [esp + 0x60]
mov dword [edx], eax
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x20], edx
xor eax, eax
mov dword [esp + 0x1c], eax
test edx, edx
jle 0x47c682
mov ebx, dword [esp + 0x48]
add ecx, 0x24
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x4c]
lea eax, [edx + eax*4]
test edx, edx
jne 0x47c5f2
mov eax, ecx
mov eax, dword [eax]
mov ecx, esi
mov edx, dword [esp + 0x6c]
push ebx
push eax
push 0
call fcn.004536c0
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47c628
push 0
push dword [esp + 0x28]
mov edx, 0x32
mov ecx, esi
push ebx
call fcn.00437140
add esp, 0xc
jmp 0x47c656
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x50]
inc ebx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
inc eax
add ecx, 8
mov dword [esp + 0x1c], eax
mov edx, dword [edx + 0x14]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x20], edx
cmp eax, edx
jl 0x47c5e5
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x47c7ab
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x47c6b3
mov edx, ecx
mov ecx, dword [esp + 0xc]
call fcn.00472a80
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x50]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
mov dword [esp + 0x18], ecx
cmp dword [eax], ecx
jg 0x47c6dd
push 0
push edx
push dword [esp + 0x50]
mov edx, 0x60
mov ecx, esi
call fcn.00437140
mov edx, dword [esp + 0x2c]
add esp, 0xc
jmp 0x47c713
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x48]
mov dword [eax + ecx*4], 0x60
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x18]
push edx
push dword [esp + 0x20]
mov edx, eax
mov ecx, esi
call fcn.00437de0
mov eax, dword [esp + 0x58]
add esp, 8
mov edx, dword [edi]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
cmp dword [eax], edx
jg 0x47c755
push dword [esp + 0x48]
mov edx, 0x1d
mov ecx, esi
push ebx
push dword [esp + 0x64]
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47c787
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x5c]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x48]
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x47c85d
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x18]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
jmp 0x47c85d
cmp dword [esp + 0x18], 0
je 0x47c85d
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
lea edx, [ecx + 2]
cmp dword [eax], ecx
jg 0x47c7dd
push dword [esp + 0x48]
mov ecx, esi
push edx
push dword [esp + 0x64]
mov edx, 0x1e
call fcn.00437140
add esp, 0xc
jmp 0x47c80f
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x5c]
mov dword [eax + ecx*4], 0x1e
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47c82f
push 0
push ebx
push 0
mov edx, 9
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47c85d
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
test byte [edx + 0x1c], 0x80
mov eax, dword [eax]
jne 0x47c8a5
cmp eax, ecx
jg 0x47c891
mov eax, dword [esp + 0x3c]
mov edx, 0x87
push 0
inc eax
mov ecx, esi
push eax
push 0
call fcn.00437140
add esp, 0xc
jmp 0x47c8fb
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x87
jmp 0x47c8d6
cmp eax, ecx
jg 0x47c8c4
mov eax, dword [esp + 0x3c]
mov edx, 0x4b
push 0
inc eax
mov ecx, esi
push eax
push 0
call fcn.00437140
add esp, 0xc
jmp 0x47c8fb
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x4b
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x30]
inc edx
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x5c]
dec eax
push eax
mov eax, dword [esp + 0x54]
push dword [eax + 8]
mov eax, dword [esp + 0x44]
push 0x5049e8
add eax, 2
push eax
push esi
call fcn.004371f0
mov eax, dword [esp + 0x24]
add esp, 0x14
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47c941
push 0
push 4
push dword [esp + 0x44]
mov edx, 0x54
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47c973
mov edx, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x47c98d
push ebx
mov edx, esi
call fcn.004376f0
add esp, 4
jmp 0x47c995
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + ebx*4], eax
push dword [esp + 0x4c]
push dword [esp + 0x10]
call fcn.00413560
mov ebx, dword [esp + 0x58]
add esp, 8
inc dword [esp + 0x5c]
mov ebx, dword [ebx + 4]
mov dword [esp + 0x50], ebx
test ebx, ebx
jne 0x47c550
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x64]
mov ecx, dword [edi]
lea edx, [ebx + 1]
cmp dword [eax], ecx
jg 0x47c9e3
push 0
push edx
push 0
mov edx, 0x27
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47ca15
mov ebx, dword [esp + 0x64]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x47ca26
mov eax, 0x5160d8
jmp 0x47ca2f
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x84]
mov dword [eax + 8], edx
test ecx, ecx
jne 0x47c1c8
jmp 0x47fcac
test ecx, ecx
je 0x47fcac
push 0
mov edx, 1
call fcn.00479800
mov ecx, dword [esp + 0x10]
xor edx, edx
add esp, 4
test al, al
setne dl
call fcn.0046fbd0
jmp 0x47fcac
mov eax, dword [esp + 0x7c]
or edx, 0xffffffff
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x88], 0
movzx eax, byte [eax]
mov al, byte [eax + 0x4fa530]
mov byte [esp + 0x6b], al
mov eax, dword [esp + 0x48]
cmp dword [eax], 0
mov eax, dword [esp + 0x60]
cmove ebx, edx
mov dword [esp + 0x40], ebx
mov dword [eax], 6
mov eax, 0x64
mov dword [esp + 0x24], eax
mov dword [esp + 0x4c], eax
test ecx, ecx
je 0x47cb26
lea edx, [esp + 0x4c]
call fcn.004183e0
test eax, eax
je 0x47caea
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x24], eax
test eax, eax
jg 0x47cb2a
mov eax, 0x64
mov dword [esp + 0x24], eax
jmp 0x47cb2a
test ebx, ebx
js 0x47cafe
mov eax, dword [esp + 0xc]
mov ecx, ebx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
jmp 0x47cb00
xor eax, eax
mov ebx, dword [esp + 0x14]
xor edx, edx
push eax
push dword [esp + 0x38]
mov ecx, ebx
call fcn.00460440
mov dword [esp + 0x90], eax
add esp, 8
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x24], eax
jmp 0x47cb2a
mov ebx, dword [esp + 0x14]
mov ecx, dword [edi]
lea edx, [eax - 1]
mov eax, dword [esp + 0x10]
cmp dword [eax], ecx
jg 0x47cb4d
push 0
push 1
push edx
mov edx, 0x47
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47cb7f
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov dword [esp + 0x70], ecx
cmp dword [eax + 0x14], ecx
jle 0x47cf31
mov dword [esp + 0xac], 0x10
nop dword [eax]
xor eax, eax
mov eax, dword [esp + 0x40]
test eax, eax
js 0x47cbb2
cmp ecx, eax
jne 0x47cf1f
mov eax, dword [ebx + 0x78]
mov edx, ebx
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov ebx, dword [edx + 0x58]
test ebx, eax
jne 0x47cbe0
bts ebx, ecx
mov dword [edx + 0x58], ebx
cmp ecx, 1
jne 0x47cbe0
mov ecx, edx
call fcn.004685d0
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x14]
mov edx, ecx
mov eax, dword [esp + 0xc]
xor ecx, ecx
shl edx, 4
mov dword [esp + 0x44], edx
mov byte [ebx + 0x17], 0
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edx + 0xc]
mov dword [esp + 0x38], eax
mov eax, dword [eax + 0x10]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x47cf1b
mov edx, dword [esp + 0x88]
mov esi, ecx
nop word [eax + eax]
mov ebx, dword [eax + 8]
test edx, edx
je 0x47cc2b
cmp edx, ebx
jne 0x47cc59
test byte [ebx + 0x1c], 0x80
lea eax, [ecx + 1]
cmovne eax, ecx
xor edx, edx
mov ecx, eax
mov eax, dword [ebx + 8]
test eax, eax
je 0x47cc49
mov eax, dword [eax + 0x14]
inc ecx
inc edx
test eax, eax
jne 0x47cc40
mov eax, dword [esp + 0x1c]
cmp edx, esi
cmovg esi, edx
mov edx, dword [esp + 0x88]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x47cc20
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x28]
test ecx, ecx
je 0x47cf17
lea eax, [ecx + 1]
test edx, edx
push 0
cmove eax, ecx
mov ecx, dword [esp + 0x10]
lea eax, [eax*4 + 4]
push eax
call fcn.00413890
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x47cf31
xor edx, edx
cmp dword [esp + 0x88], edx
je 0x47ccb2
mov edx, 1
mov dword [ebx + 4], 0
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x4c], eax
test eax, eax
je 0x47cd0c
cmp dword [esp + 0x88], 0
mov ecx, dword [eax + 8]
je 0x47ccd7
cmp dword [esp + 0x88], ecx
jne 0x47cd02
test byte [ecx + 0x1c], 0x80
jne 0x47cce8
mov eax, dword [ecx + 0x14]
inc edx
mov dword [ebx + edx*4], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x47cd02
nop
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [ebx + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x47ccf0
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x47ccc1
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
add eax, 8
mov dword [ebx], edx
cmp dword [ecx], eax
jge 0x47cd1f
mov dword [ecx], eax
mov eax, dword [esp + 0x14]
mov byte [eax + 0x13], 0
mov dword [eax + 0x1c], 0
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
mov dword [esp + 0x18], ecx
cmp dword [eax], ecx
jg 0x47cd52
push 1
push edx
push 2
mov edx, 0x9b
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47cd88
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x9b
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x18]
push 0xfffffffffffffff2
push ebx
mov edx, eax
mov ecx, esi
call fcn.00437de0
mov ebx, dword [edi]
add esp, 8
test ebx, ebx
jle 0x47cdb1
mov eax, dword [esp + 0x70]
lea ecx, [ebx + ebx*4]
movzx edx, al
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov ebx, dword [edi]
mov eax, dword [esp + 0x10]
cmp dword [eax], ebx
jg 0x47cdd2
push 0
push 0
push 2
mov edx, 0x32
mov ecx, esi
call fcn.00437140
add esp, 0xc
mov ebx, eax
jmp 0x47ce04
lea eax, [ebx + 1]
mov dword [edi], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x44]
mov eax, dword [edx + 0x10]
push dword [eax + ecx]
push str._in_database__s__n
push edx
call fcn.00416840
mov edx, dword [edi]
add esp, 0xc
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
cmp dword [eax], edx
jg 0x47ce47
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47ce7d
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0xfffffffffffffffa
push dword [esp + 0x1c]
mov ecx, esi
call fcn.00437de0
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47ceae
push 3
push 3
push 2
mov edx, 0x6f
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47cee0
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, esi
call fcn.00479be0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x47cef8
mov eax, 0x5160d8
jmp 0x47cf01
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x38]
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x1c], ebx
test ebx, ebx
jne 0x47cfa4
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0xc]
inc ecx
mov dword [esp + 0x70], ecx
cmp ecx, dword [eax + 0x14]
jl 0x47cba0
push ecx
push 0x4fd2f8
mov edx, 7
mov ecx, esi
call fcn.00437940
mov edx, eax
add esp, 8
test edx, edx
je 0x47cf79
mov eax, 1
mov ecx, str.unknown_error
sub eax, dword [esp + 0x24]
mov dword [edx + 8], eax
mov eax, dword [str.database_disk_image_is_malformed]
test eax, eax
mov byte [edx + 0x29], 0xff
mov dword [edx + 0x38], 0x504b4c
cmovne ecx, eax
mov byte [edx + 0x65], 0xff
mov dword [edx + 0x74], ecx
mov eax, dword [esi]
mov ecx, dword [edi]
sub ecx, 2
cmp byte [eax + 0x57], 0
mov eax, 0x5160d8
jne 0x47cf8e
mov eax, dword [esi + 0x68]
mov dword [eax + 0xc], ecx
jmp 0x47fcac
mov ebx, dword [esp + 0x1c]
mov ebx, dword [ebx + 8]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x18], 0
mov dword [esp + 0x6c], 0xffffffff
cmp byte [ebx + 0x2b], 0
jne 0x47f067
mov eax, dword [esp + 0x88]
test eax, eax
je 0x47cfd8
cmp eax, ebx
jne 0x47f067
cmp byte [esp + 0x6b], 0x71
je 0x47d0d6
test byte [ebx + 0x1c], 0x80
je 0x47d0d6
mov ecx, dword [ebx + 8]
mov dword [esp + 0x3c], ecx
test ecx, ecx
je 0x47d00c
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x47d008
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x47cff8
mov dword [esp + 0x3c], ecx
movzx ecx, word [ecx + 0x32]
mov ebx, dword [esp + 0x14]
cmp ecx, 1
jne 0x47d043
mov al, byte [ebx + 0x13]
test al, al
jne 0x47d02e
mov eax, dword [esp + 0x60]
inc dword [eax]
mov eax, dword [eax]
mov dword [esp + 0x50], eax
jmp 0x47d06e
dec al
mov byte [ebx + 0x13], al
movzx eax, al
mov eax, dword [ebx + eax*4 + 0xa0]
mov dword [esp + 0x50], eax
jmp 0x47d06e
mov edx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x50], eax
cmp ecx, edx
jg 0x47d05d
add eax, ecx
sub edx, ecx
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x1c], edx
jmp 0x47d06e
mov ebx, dword [esp + 0x60]
mov eax, dword [ebx]
lea edx, [eax + 1]
add eax, ecx
mov dword [esp + 0x50], edx
mov dword [ebx], eax
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x50]
mov ecx, dword [edi]
movzx eax, word [eax + 0x32]
lea edx, [ebx - 1]
add edx, eax
mov eax, dword [esp + 0x10]
cmp dword [eax], ecx
jg 0x47d0a2
push edx
push ebx
push 1
mov edx, 0x4b
mov ecx, esi
call fcn.00437140
mov ebx, dword [esp + 0x60]
add esp, 0xc
jmp 0x47d0e6
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x54]
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x47d0e6
mov dword [esp + 0x3c], 0
mov dword [esp + 0x50], 0
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x7c]
mov edx, ebx
push eax
push 0
push 1
push 0
push 0x70
call fcn.00477600
mov edx, dword [esp + 0x28]
add esp, 0x18
mov ecx, dword [edi]
cmp dword [edx], ecx
jg 0x47d12b
push 0
push 7
push 0
mov edx, 0x47
mov ecx, esi
call fcn.00437140
mov edx, dword [esp + 0x1c]
add esp, 0xc
jmp 0x47d161
mov ebx, dword [esp + 0x54]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 7
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx + 8]
mov dword [esp + 0x38], eax
test eax, eax
je 0x47d1db
mov ebx, 8
mov ecx, dword [edi]
cmp dword [edx], ecx
jg 0x47d195
push 0
push ebx
push 0
mov edx, 0x47
mov ecx, esi
call fcn.00437140
mov edx, dword [esp + 0x1c]
add esp, 0xc
jmp 0x47d1c7
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x38]
inc ebx
mov eax, dword [eax + 0x14]
mov dword [esp + 0x38], eax
test eax, eax
jne 0x47d175
mov ebx, dword [esp + 0x54]
mov ecx, dword [edi]
cmp dword [edx], ecx
jg 0x47d201
push 0
push 0
push dword [esp + 0x80]
mov edx, 0x24
mov ecx, esi
call fcn.00437140
mov edx, dword [esp + 0x1c]
add esp, 0xc
jmp 0x47d237
mov ebx, dword [esp + 0x78]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x54]
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi]
mov dword [esp + 0x4c], ecx
cmp dword [edx], ecx
jg 0x47d25c
push 0
push 1
push 7
mov edx, 0x56
mov ecx, esi
call fcn.00437140
add esp, 0xc
mov dword [esp + 0x4c], eax
jmp 0x47d28e
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x56
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
test byte [ebx + 0x1c], 0x80
jne 0x47d2d5
movsx ebx, word [ebx + 0x22]
or ecx, 0xffffffff
test ebx, ebx
jle 0x47d2c3
mov edx, dword [esp + 0x54]
mov edx, dword [edx + 4]
add edx, 0xe
nop dword [eax]
test byte [edx], 0x20
lea eax, [ecx + 1]
lea edx, [edx + 0x10]
cmovne eax, ecx
mov ecx, eax
sub ebx, 1
jne 0x47d2b0
mov eax, dword [esp + 0x54]
lea edx, [ecx - 1]
movsx eax, word [eax + 0x20]
cmp ecx, eax
cmovne edx, ecx
jmp 0x47d2f5
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x47d2f0
nop dword [eax]
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x47d2f0
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x47d2e0
movzx edx, word [ecx + 0x34]
dec edx
mov ebx, dword [esp + 0x10]
test edx, edx
js 0x47d385
mov ecx, dword [edi]
cmp dword [ebx], ecx
jg 0x47d322
push 3
push edx
push dword [esp + 0x80]
mov edx, 0x5e
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47d354
mov ebx, dword [esp + 0x78]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x10]
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x47d363
mov eax, 0x5160d8
jmp 0x47d371
mov eax, dword [edi]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
add eax, 0xffffffec
cmp dword [eax + 0xc], 3
jne 0x47d385
cmp byte [eax], 0x5e
jne 0x47d385
mov ecx, 0x80
or word [eax + 2], cx
cmp byte [esp + 0x6b], 0x71
je 0x47d56e
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x47d56e
movzx eax, word [ecx + 0x32]
mov edx, dword [edi]
mov dword [esp + 0x44], eax
cmp dword [ebx], edx
jg 0x47d3ca
push dword [esp + 0x50]
mov edx, 0x29
mov ecx, esi
push 0
push dword [esp + 0x80]
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47d3fc
mov ebx, dword [esp + 0x78]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x29
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x50]
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
lea ebx, [edx + edx*4]
shl ebx, 2
cmp byte [eax + 0x57], 0
jne 0x47d41a
mov eax, dword [esi + 0x68]
mov ecx, dword [esp + 0x44]
mov byte [eax + ebx + 1], 0xfd
mov dword [eax + ebx + 0x10], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47d43d
push 0
push 0
push dword [esp + 0x58]
mov edx, 0x32
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47d46f
mov edx, dword [esp + 0x50]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x54]
push dword [eax]
push str.row_not_in_PRIMARY_KEY_order_for__s
push dword [esp + 0x14]
call fcn.00416840
mov edx, dword [edi]
add esp, 0xc
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x10]
cmp dword [eax], edx
jg 0x47d4ad
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47d4e3
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0xfffffffffffffffa
push dword [esp + 0x48]
mov ecx, esi
call fcn.00437de0
add esp, 8
mov ecx, esi
call fcn.00479be0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x47d50b
mov eax, 0x5160d8
jmp 0x47d510
mov eax, dword [esi + 0x68]
add eax, ebx
mov dword [eax + 8], ecx
mov eax, dword [esi]
mov ecx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x47d524
mov eax, 0x5160e0
jmp 0x47d52c
mov eax, dword [esi + 0x68]
add eax, 0x1c
add eax, ebx
mov dword [eax], ecx
xor ebx, ebx
mov ecx, dword [esp + 0x3c]
xor eax, eax
cmp ax, word [ecx + 0x32]
jae 0x47d56e
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x78]
mov eax, dword [esp + 0x50]
mov edx, ecx
add eax, ebx
mov ecx, edi
push eax
push ebx
push esi
call fcn.00453470
mov ecx, dword [esp + 0x48]
inc ebx
add esp, 0xc
movzx eax, word [ecx + 0x32]
cmp ebx, eax
jl 0x47d544
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x54]
xor edx, edx
mov dword [esp + 0x5c], edx
movzx eax, word [ebx + 0x1e]
and eax, 1
mov dword [esp + 0x44], eax
xor eax, eax
cmp ax, word [ebx + 0x22]
jge 0x47dea8
nop
mov eax, dword [esp + 0x54]
mov ecx, edx
mov ebx, dword [ebx + 4]
shl ecx, 4
add ebx, ecx
mov dword [esp + 0x84], ecx
movsx eax, word [eax + 0x20]
mov dword [esp + 0x74], ebx
cmp edx, eax
je 0x47de8f
cmp dword [esp + 0x44], 0
mov ecx, dword [ebx + 4]
je 0x47d5d3
mov eax, ecx
and eax, 0xf0
cmp dword [esp + 0xac], eax
sbb eax, eax
neg eax
jmp 0x47d5dc
xor eax, eax
cmp byte [ebx + 8], 0x41
setg al
mov dword [esp + 0x64], eax
test cl, 0xf
jne 0x47d5ed
test eax, eax
je 0x47de8f
test byte [ebx + 0xe], 0x20
mov dword [esp + 0x20], 5
je 0x47d625
push 3
push edx
push dword [esp + 0x80]
mov edx, dword [esp + 0x60]
mov ecx, esi
call fcn.004536c0
add esp, 0xc
mov dword [esp + 0x2c], 0xffffffff
mov ecx, 3
jmp 0x47d6f2
cmp word [ebx + 0xc], 0
je 0x47d6a9
mov dword [esp + 0x9c], 0
movzx eax, word [ebx + 0xc]
test ax, ax
je 0x47d6a9
mov ecx, dword [esp + 0x54]
cmp byte [ecx + 0x2b], 0
jne 0x47d6a9
mov ecx, dword [ecx + 0x34]
test ecx, ecx
je 0x47d6a9
cmp dword [ecx], eax
jl 0x47d6a9
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 - 0xc]
test edx, edx
je 0x47d6a5
push ecx
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0xa0]
push eax
movzx eax, byte [ebx + 8]
push eax
movzx eax, byte [ecx + 0x54]
push eax
call fcn.00436940
mov ecx, dword [esp + 0xac]
add esp, 0x10
test ecx, ecx
je 0x47d6a5
movzx eax, word [ecx + 0x10]
and eax, 0x3f
movzx eax, byte [eax + 0x4fd318]
mov dword [esp + 0x20], eax
call fcn.00436eb0
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x54]
mov ecx, eax
test byte [eax + 0x1c], 0x80
je 0x47d6ea
call fcn.004611b0
xor ecx, ecx
movzx edx, word [eax + 0x34]
test edx, edx
je 0x47d6e0
mov eax, dword [eax + 4]
mov ebx, dword [esp + 0x5c]
cmp bx, word [eax]
je 0x47d6e5
inc ecx
add eax, 2
cmp ecx, edx
jl 0x47d6d3
or eax, 0xffffffff
jmp 0x47d6ef
movzx eax, cx
jmp 0x47d6ef
call fcn.00461200
movsx ecx, ax
mov edx, dword [esp + 0x14]
mov ebx, esi
mov dword [esp + 0x58], ecx
mov dword [esp + 0x80], ebx
mov eax, dword [edx + 0x38]
dec eax
mov dword [esp + 0x38], eax
dec eax
mov dword [edx + 0x38], eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x74]
test byte [eax + 4], 0xf
je 0x47d9d2
mov eax, dword [esp + 0x10]
mov edx, dword [edi]
mov dword [esp + 0xa0], edx
cmp dword [eax], edx
jg 0x47d759
push ecx
push dword [esp + 0x2c]
mov edx, 0x12
mov ecx, esi
push dword [esp + 0x34]
call fcn.00437140
mov ebx, dword [esp + 0x64]
add esp, 0xc
mov edx, eax
mov dword [esp + 0xa0], eax
jmp 0x47d78b
mov ebx, dword [esp + 0x2c]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x12
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x28]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x58]
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x47d7aa
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov edi, dword [esp + 0x20]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edi
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov ecx, dword [edi]
test eax, eax
jns 0x47d7d4
test ecx, ecx
jle 0x47d7c8
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
mov ebx, 0xf
mov word [eax + ecx*4 - 0x12], bx
mov dword [esp + 0x8c], edx
jmp 0x47d89c
test ecx, ecx
jle 0x47d7ee
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
mov edx, 0xd
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [edi]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
cmp dword [edx], ecx
jg 0x47d80b
push 3
push ebx
push eax
mov edx, 0x5e
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47d839
mov edx, dword [esp + 0x2c]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x10]
mov edx, dword [edi]
mov dword [esp + 0x8c], edx
cmp dword [eax], edx
jg 0x47d86a
push 0
push dword [esp + 0x2c]
mov edx, 0x33
mov ecx, esi
push 3
call fcn.00437140
add esp, 0xc
mov dword [esp + 0x8c], eax
jmp 0x47d89c
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edx, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x33
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esp + 0x74]
mov eax, dword [esp + 0x54]
push dword [ebx]
push dword [eax]
push str.NULL_value_in__s._s
push dword [esp + 0x18]
call fcn.00416840
mov edx, dword [edi]
mov ebx, eax
mov eax, dword [esp + 0x20]
add esp, 0x10
cmp dword [eax], edx
jg 0x47d8de
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47d914
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0xfffffffffffffffa
push ebx
mov ecx, esi
call fcn.00437de0
mov ecx, dword [esp + 0x6c]
add esp, 8
test ecx, ecx
je 0x47da12
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
mov edx, dword [esp + 0x38]
cmp dword [eax], ecx
jg 0x47d951
push 0
push edx
push 0
mov edx, 9
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47d97f
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x47d990
mov eax, 0x5160d8
jmp 0x47d9a0
mov eax, dword [esp + 0xa0]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x47d9b4
mov eax, 0x5160d8
jmp 0x47d9c4
mov eax, dword [esp + 0x8c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov ebx, dword [esp + 0x80]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x64]
cmp dword [esp + 0x44], 0
je 0x47dad1
test ecx, ecx
je 0x47daca
mov eax, dword [esp + 0x10]
mov edx, dword [edi]
cmp dword [eax], edx
jg 0x47da1f
push dword [esp + 0x58]
mov edx, 0x12
mov ecx, esi
push dword [esp + 0x2c]
push dword [esp + 0x34]
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47da51
mov ebx, dword [esp + 0x80]
mov eax, dword [esp + 0x74]
jmp 0x47d9d6
mov ebx, dword [esp + 0x2c]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x12
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x28]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x58]
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x47da6c
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x20]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov ecx, dword [edi]
mov ebx, dword [esp + 0x74]
test ecx, ecx
jle 0x47da91
mov eax, dword [ebx + 4]
lea ecx, [ecx + ecx*4]
shr eax, 4
and eax, 0xf
movzx edx, byte [eax + 0x4f889f]
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x84]
mov eax, dword [edx + 4]
push dword [eax + ecx]
mov eax, dword [ebx + 4]
push dword [edx]
shr eax, 4
and eax, 0xf
push dword [eax*4 + 0x514174]
push str.non__s_value_in__s._s
push dword [esp + 0x1c]
call fcn.00416840
add esp, 0x14
jmp 0x47ddd0
mov esi, ebx
jmp 0x47de38
cmp byte [eax + 8], 0x42
mov esi, ebx
jne 0x47dc08
mov eax, dword [esp + 0x10]
mov edx, dword [edi]
cmp dword [eax], edx
jg 0x47db06
push dword [esp + 0x58]
mov edx, 0x12
mov ecx, ebx
push dword [esp + 0x2c]
push dword [esp + 0x34]
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47db38
mov esi, dword [esp + 0x2c]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0x12
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x58]
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
jne 0x47db53
mov eax, dword [ebx + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x20]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [edi]
test eax, eax
jle 0x47db69
lea ecx, [eax + eax*4]
mov edx, 0x1c
mov eax, dword [ebx + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x84]
mov eax, dword [edx + 4]
push dword [eax + ecx]
push dword [edx]
push str.NUMERIC_value_in__s._s
push dword [esp + 0x18]
call fcn.00416840
mov edx, dword [edi]
mov esi, eax
mov eax, dword [esp + 0x20]
add esp, 0x10
cmp dword [eax], edx
jg 0x47dbc1
push 0
push 3
push 0
mov edx, 0x75
mov ecx, ebx
call fcn.00437140
add esp, 0xc
mov edx, eax
mov ecx, ebx
push 0xfffffffffffffffa
push esi
call fcn.00437de0
mov esi, ebx
jmp 0x47de35
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [ebx + 0x68]
mov edi, dword [esp + 0x30]
push 0xfffffffffffffffa
push esi
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, ebx
call fcn.00437de0
mov esi, ebx
jmp 0x47de35
cmp byte [eax + 8], 0x43
jl 0x47de38
mov eax, dword [esp + 0x10]
mov edx, dword [edi]
mov ebx, dword [esp + 0x2c]
cmp dword [eax], edx
jg 0x47dc3c
push dword [esp + 0x58]
mov edx, 0x12
mov ecx, esi
push dword [esp + 0x2c]
push ebx
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47dc6e
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x12
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x28]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x58]
mov dword [eax + ecx*4 + 0xc], ebx
mov ebx, dword [esp + 0x2c]
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x47dc89
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x20]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [edi]
test eax, eax
jle 0x47dc9f
lea ecx, [eax + eax*4]
mov edx, 0x1b
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
test ebx, ebx
js 0x47dcbe
mov edx, dword [esp + 0x54]
mov ecx, esi
push 3
push dword [esp + 0x60]
push dword [esp + 0x80]
call fcn.004536c0
add esp, 0xc
mov ebx, dword [esp + 0x10]
mov edx, dword [edi]
cmp dword [ebx], edx
jg 0x47dce1
push 0
push 1
push 3
mov edx, 0x60
mov ecx, esi
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47dd17
mov ebx, dword [esp + 0x10]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x60
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0xffffffffffffffff
push 0x504a6c
mov ecx, esi
call fcn.00437de0
mov edx, dword [edi]
add esp, 8
cmp dword [ebx], edx
jg 0x47dd49
push 3
push dword [esp + 0x2c]
mov edx, 0x12
mov ecx, esi
push 0xffffffffffffffff
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47dd7b
mov ebx, dword [esp + 0x28]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x12
mov dword [eax + ecx*4 + 4], 0xffffffff
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x47dd96
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x20]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [edi]
test eax, eax
jle 0x47ddac
lea ecx, [eax + eax*4]
mov edx, 0x1c
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x84]
mov eax, dword [edx + 4]
push dword [eax + ecx]
push dword [edx]
push str.TEXT_value_in__s._s
push dword [esp + 0x18]
call fcn.00416840
add esp, 0x10
mov edx, dword [edi]
mov ebx, eax
mov eax, dword [esp + 0x10]
cmp dword [eax], edx
jg 0x47ddf5
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47de2b
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0xfffffffffffffffa
push ebx
mov ecx, esi
call fcn.00437de0
add esp, 8
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x38]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x47de56
push edx
mov edx, esi
call fcn.004376f0
add esp, 4
jmp 0x47de5e
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + edx*4], eax
mov ecx, esi
call fcn.00479be0
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x28]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x47de83
push edx
mov edx, esi
call fcn.004376f0
add esp, 4
jmp 0x47de8b
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + edx*4], eax
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x54]
inc edx
mov dword [esp + 0x5c], edx
movsx eax, word [ebx + 0x22]
cmp edx, eax
jl 0x47d590
mov dword [esp + 0x28], esi
mov edx, dword [ebx + 0x10]
test edx, edx
je 0x47e04f
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x20]
and eax, 0x200
or eax, 0
jne 0x47e04f
push eax
call fcn.0044f3f0
mov ecx, dword [esp + 0x10]
add esp, 4
mov edx, eax
mov dword [esp + 0x38], edx
cmp byte [ecx + 0x57], 0
jne 0x47e046
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x38]
dec ecx
mov dword [esp + 0x44], ecx
dec ecx
mov dword [eax + 0x38], ecx
mov eax, dword [esp + 0x78]
mov dword [esp + 0x80], ecx
inc eax
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x34], eax
mov ebx, dword [edx]
dec ebx
test ebx, ebx
jle 0x47df46
mov esi, dword [esp + 0x44]
lea edi, [ebx*4 + 2]
add edi, ebx
lea edi, [edx + edi*4]
nop
push 0
push esi
push dword [edi]
push ecx
call fcn.00456af0
mov ecx, dword [esp + 0x24]
lea edi, [edi - 0x14]
dec ebx
add esp, 0x10
test ebx, ebx
jg 0x47df20
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x80]
push 0x10
push ebx
push dword [edx + 8]
push ecx
call fcn.00456580
mov ecx, dword [esi + 0xc]
add esp, 0x10
mov edx, dword [esp + 0x44]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x47df7a
push edx
mov edx, esi
call fcn.004376f0
add esp, 4
jmp 0x47df82
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x14]
mov dword [eax + 0x34], 0
mov eax, dword [esp + 0x54]
push dword [eax]
push str.CHECK_constraint_failed_in__s
push dword [esp + 0x14]
call fcn.00416840
mov edx, dword [edi]
add esp, 0xc
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x10]
cmp dword [eax], edx
jg 0x47dfcb
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47e001
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0xfffffffffffffffa
push dword [esp + 0x48]
mov ecx, esi
call fcn.00437de0
add esp, 8
mov ecx, esi
call fcn.00479be0
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x47e032
push ebx
mov edx, esi
call fcn.004376f0
add esp, 4
jmp 0x47e03a
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + ebx*4], eax
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x54]
mov edx, dword [esp + 0x38]
test edx, edx
je 0x47e04f
call fcn.00450000
cmp byte [esp + 0x6b], 0x71
je 0x47ed3e
mov eax, dword [ebx + 8]
mov dword [esp + 0x58], 0
mov dword [esp + 0x2c], eax
test eax, eax
je 0x47ed3e
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x3c]
nop dword [eax]
dec dword [ecx + 0x38]
mov ebx, dword [ecx + 0x38]
cmp edx, eax
je 0x47ed2b
push dword [esp + 0x6c]
lea edx, [esp + 0xb4]
push dword [esp + 0x1c]
push edx
push 0
push 0
push dword [esp + 0x8c]
mov edx, eax
call fcn.0046b8d0
mov edx, dword [esp + 0x70]
add esp, 0x18
mov ecx, dword [edi]
add edx, 8
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
cmp dword [eax], ecx
jg 0x47e0e6
push 0
push 1
push edx
mov edx, 0x56
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47e118
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x56
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x10]
mov ecx, dword [edi]
mov dword [esp + 0x38], ecx
movzx edx, word [eax + 0x34]
mov eax, dword [esp + 0x58]
add eax, dword [esp + 0x48]
cmp dword [esi], ecx
mov esi, dword [esp + 0x28]
mov dword [esp + 0x44], edx
jg 0x47e15b
push dword [esp + 0x6c]
mov edx, 0x1d
mov ecx, esi
push ebx
push eax
call fcn.00437140
add esp, 0xc
mov dword [esp + 0x38], eax
mov ecx, eax
jmp 0x47e199
mov edx, dword [esp + 0x58]
lea eax, [ecx + 1]
add edx, dword [esp + 0x48]
lea ecx, [ecx + ecx*4]
mov dword [edi], eax
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x6c]
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x38]
mov eax, dword [esi]
mov edx, dword [esp + 0x44]
cmp byte [eax + 0x57], 0
jne 0x47e1b4
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov ebx, dword [esp + 0x10]
mov edx, dword [edi]
cmp dword [ebx], edx
jg 0x47e1d7
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47e20d
mov ebx, dword [esp + 0x10]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str.row
mov ecx, esi
call fcn.00437de0
mov ecx, dword [edi]
add esp, 8
cmp dword [ebx], ecx
jg 0x47e23b
push 3
push 3
push 7
mov edx, 0x6f
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47e26d
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [edi]
cmp dword [ebx], edx
jg 0x47e28c
push 0
push 4
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47e2c2
mov ebx, dword [esp + 0x10]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str._missing_from_index
mov ecx, esi
call fcn.00437de0
mov ecx, dword [edi]
add esp, 8
cmp dword [ebx], ecx
jg 0x47e2f0
push 3
push 3
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47e322
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x2c]
mov edx, dword [edi]
mov dword [esp + 0x74], edx
mov ebx, dword [eax]
mov eax, dword [esp + 0x10]
cmp dword [eax], edx
jg 0x47e353
push 0
push 4
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00437140
mov edx, eax
add esp, 0xc
mov dword [esp + 0x74], edx
jmp 0x47e389
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push ebx
mov ecx, esi
call fcn.00437de0
mov ebx, dword [esp + 0x18]
add esp, 8
mov ecx, dword [edi]
cmp dword [ebx], ecx
jg 0x47e3b7
push 3
push 3
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47e3e9
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, esi
call fcn.00479be0
mov ecx, dword [esi]
mov edx, dword [edi]
mov dword [esp + 0x80], eax
cmp byte [ecx + 0x57], 0
je 0x47e408
mov ecx, 0x5160d8
jmp 0x47e415
mov eax, dword [esp + 0x38]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x54]
mov dword [ecx + 8], edx
test byte [eax + 0x1c], 0x80
jne 0x47e682
mov ecx, dword [edi]
cmp dword [ebx], ecx
jg 0x47e44a
mov eax, dword [esp + 0x58]
mov edx, 0x8e
add eax, dword [esp + 0x48]
mov ecx, esi
push 0
push 3
push eax
call fcn.00437140
add esp, 0xc
jmp 0x47e484
mov edx, dword [esp + 0x58]
lea eax, [ecx + 1]
add edx, dword [esp + 0x48]
lea ecx, [ecx + ecx*4]
mov dword [edi], eax
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x8e
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x6c]
mov ebx, dword [edi]
dec edx
movzx eax, word [eax + 0x34]
add edx, eax
mov eax, dword [esp + 0x10]
cmp dword [eax], ebx
jg 0x47e4b5
push edx
push 0
push 3
mov edx, 0x35
mov ecx, esi
call fcn.00437140
add esp, 0xc
mov ebx, eax
jmp 0x47e4e7
lea eax, [ebx + 1]
mov dword [edi], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x10]
mov edx, dword [edi]
cmp dword [eax], edx
jg 0x47e50a
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47e540
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str.rowid_not_at_end_of_record_for_row
mov ecx, esi
call fcn.00437de0
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47e572
push 3
push 3
push 7
mov edx, 0x6f
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47e5a4
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x10]
mov edx, dword [edi]
cmp dword [eax], edx
jg 0x47e5c7
push 0
push 4
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47e5fd
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str._of_index
mov ecx, esi
call fcn.00437de0
mov eax, dword [esp + 0x18]
add esp, 8
mov edx, dword [esp + 0x74]
mov ecx, dword [edi]
dec edx
cmp dword [eax], ecx
jg 0x47e633
push 0
push edx
push 0
mov edx, 9
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47e665
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x47e676
mov eax, 0x5160d8
jmp 0x47e67f
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x2c]
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x20], edx
xor ebx, ebx
cmp cx, word [eax + 0x32]
jae 0x47e9bc
nop word [eax + eax]
mov eax, dword [eax + 0x20]
cmp dword [eax + ebx*4], 0x4f9ed8
je 0x47e781
test edx, edx
jne 0x47e6c2
mov eax, dword [esp + 0x14]
dec dword [eax + 0x38]
mov eax, dword [eax + 0x38]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47e6e9
mov eax, dword [esp + 0x58]
mov edx, 0x5e
add eax, dword [esp + 0x48]
mov ecx, esi
push 3
push ebx
push eax
call fcn.00437140
add esp, 0xc
jmp 0x47e723
mov edx, dword [esp + 0x58]
lea eax, [ecx + 1]
add edx, dword [esp + 0x48]
lea ecx, [ecx + ecx*4]
mov dword [edi], eax
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x6c]
mov ecx, dword [edi]
add edx, ebx
cmp dword [eax], ecx
jg 0x47e74b
push edx
push dword [esp + 0x24]
mov edx, 0x34
mov ecx, esi
push 3
call fcn.00437140
add esp, 0xc
jmp 0x47e77d
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x20]
mov dword [eax + ecx*4], 0x34
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
inc ebx
movzx eax, word [eax + 0x32]
cmp ebx, eax
mov eax, dword [esp + 0x2c]
jl 0x47e6a0
test edx, edx
je 0x47e9b8
mov eax, dword [esp + 0x10]
mov ebx, dword [edi]
cmp dword [eax], ebx
jg 0x47e7c5
push 0
push 0
push 0
mov edx, 9
mov ecx, esi
call fcn.00437140
mov edx, dword [esp + 0x2c]
add esp, 0xc
mov ebx, eax
jmp 0x47e7fb
lea eax, [ebx + 1]
mov dword [edi], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x47e815
push edx
mov edx, esi
call fcn.004376f0
add esp, 4
jmp 0x47e81d
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x10]
mov edx, dword [edi]
cmp dword [eax], edx
jg 0x47e840
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47e876
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str.row
mov ecx, esi
call fcn.00437de0
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47e8a8
push 3
push 3
push 7
mov edx, 0x6f
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47e8da
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x10]
mov edx, dword [edi]
cmp dword [eax], edx
jg 0x47e8fd
push 0
push 4
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47e933
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str._values_differ_from_index
mov ecx, esi
call fcn.00437de0
mov eax, dword [esp + 0x18]
add esp, 8
mov edx, dword [esp + 0x74]
mov ecx, dword [edi]
dec edx
cmp dword [eax], ecx
jg 0x47e969
push 0
push edx
push 0
mov edx, 9
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47e99b
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x47e9ac
mov eax, 0x5160d8
jmp 0x47e9b5
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x36], 0
je 0x47ecc6
mov ecx, dword [esp + 0x14]
xor ebx, ebx
dec dword [ecx + 0x38]
mov edx, dword [ecx + 0x38]
xor ecx, ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x44], ecx
cmp bx, word [eax + 0x32]
jae 0x47ea7a
mov ebx, dword [esp + 0x6c]
jmp 0x47e9f4
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 4]
movsx ecx, word [eax + ecx*2]
test ecx, ecx
js 0x47ea0f
mov eax, dword [esp + 0x54]
add ecx, ecx
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 4], 0xf
jne 0x47ea60
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47ea32
push 0
push edx
push ebx
mov edx, 0x32
mov ecx, esi
call fcn.00437140
mov edx, dword [esp + 0x2c]
add esp, 0xc
jmp 0x47ea60
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x2c]
inc ebx
mov ecx, dword [esp + 0x44]
inc ecx
mov dword [esp + 0x44], ecx
movzx eax, word [eax + 0x32]
cmp ecx, eax
jl 0x47e9f0
mov eax, dword [esp + 0x10]
mov ebx, dword [edi]
cmp dword [eax], ebx
jg 0x47eaa4
mov eax, dword [esp + 0x58]
mov edx, 0x27
add eax, dword [esp + 0x48]
mov ecx, esi
push 0
push 0
push eax
call fcn.00437140
add esp, 0xc
mov ebx, eax
jmp 0x47eae2
mov edx, dword [esp + 0x58]
lea eax, [ebx + 1]
add edx, dword [esp + 0x48]
lea ecx, [ebx + ebx*4]
mov dword [edi], eax
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
mov edx, dword [esp + 0x20]
cmp dword [eax], ecx
jg 0x47eb06
push 0
push edx
push 0
mov edx, 9
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47eb34
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x47eb45
mov eax, 0x5160d8
jmp 0x47eb4e
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x2c]
mov edx, dword [edi]
movzx eax, word [eax + 0x32]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x10]
cmp dword [eax], edx
jg 0x47eb8c
push dword [esp + 0x6c]
mov eax, dword [esp + 0x5c]
mov edx, 0x29
mov ebx, dword [esp + 0x24]
mov ecx, esi
add eax, dword [esp + 0x4c]
push ebx
push eax
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47ebca
mov ebx, dword [esp + 0x58]
lea eax, [edx + 1]
add ebx, dword [esp + 0x48]
lea ecx, [edx + edx*4]
mov dword [edi], eax
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x29
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x20]
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x47ebe5
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x44]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [esp + 0x10]
mov edx, dword [edi]
cmp dword [eax], edx
jg 0x47ec08
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47ec3e
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str.non_unique_entry_in_index
mov ecx, esi
call fcn.00437de0
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47ec72
push 0
push dword [esp + 0x78]
mov edx, 9
mov ecx, esi
push 0
call fcn.00437140
add esp, 0xc
jmp 0x47eca4
mov edx, dword [esp + 0x74]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x47ecbe
push ebx
mov edx, esi
call fcn.004376f0
add esp, 4
jmp 0x47ecc6
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + ebx*4], eax
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x47ecd7
mov eax, 0x5160d8
jmp 0x47ece7
mov eax, dword [esp + 0x80]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x47ed1f
mov eax, dword [esp + 0x14]
not edx
mov ebx, dword [eax + 8]
mov ecx, dword [ebx + 0xc]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x47ed16
push edx
mov edx, ebx
call fcn.004376f0
add esp, 4
jmp 0x47ed1f
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x3c]
mov eax, dword [eax + 0x14]
inc dword [esp + 0x58]
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x47e080
mov ebx, dword [esp + 0x10]
mov ecx, dword [edi]
cmp dword [ebx], ecx
jg 0x47ed67
mov edx, dword [esp + 0x4c]
mov ecx, esi
push 0
push edx
push dword [esp + 0x80]
mov edx, 0x27
call fcn.00437140
add esp, 0xc
jmp 0x47ed99
mov edx, dword [esp + 0x78]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x4c]
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x47edaa
mov eax, 0x5160e0
jmp 0x47edba
mov eax, dword [esp + 0x4c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
add eax, 0xfffffff4
cmp byte [esp + 0x6b], 0x71
mov dword [eax], edx
je 0x47f067
mov edx, dword [edi]
cmp dword [ebx], edx
jg 0x47ede6
push 0
push 2
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47ee1c
mov ebx, dword [esp + 0x10]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str.wrong__of_entries_in_index
mov ecx, esi
call fcn.00437de0
mov eax, dword [esp + 0x5c]
add esp, 8
mov eax, dword [eax + 8]
mov dword [esp + 0x38], eax
test eax, eax
je 0x47f023
mov ecx, dword [esp + 0x3c]
mov edx, 8
mov dword [esp + 0x4c], edx
nop dword [eax]
cmp ecx, eax
je 0x47f00f
mov eax, dword [esp + 0x48]
mov ecx, dword [edi]
add eax, 0xfffffff8
add edx, eax
cmp dword [ebx], ecx
jg 0x47ee7d
push 0
push 3
push edx
mov edx, 0x62
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47eeab
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x62
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x10]
mov ebx, dword [edi]
mov edx, dword [esp + 0x4c]
cmp dword [eax], ebx
jg 0x47eed1
push 3
push 0
push edx
mov edx, 0x35
mov ecx, esi
call fcn.00437140
add esp, 0xc
mov ebx, eax
jmp 0x47eeff
lea eax, [ebx + 1]
mov dword [edi], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [edi]
test edx, edx
jle 0x47ef17
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov edx, 0x90
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [edi]
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
cmp dword [eax], edx
jg 0x47ef42
push 0
push 4
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47ef78
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push dword [esp + 0x1c]
mov ecx, esi
call fcn.00437de0
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47efa9
push 3
push 2
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47efdb
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, esi
call fcn.00479be0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x47eff3
mov eax, 0x5160d8
jmp 0x47effc
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x3c]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x4c]
mov eax, dword [eax + 0x14]
inc edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x4c], edx
test eax, eax
jne 0x47ee50
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x47f067
movzx eax, word [eax + 0x32]
mov ebx, dword [esp + 0x14]
cmp eax, 1
jne 0x47f056
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x47f06b
mov al, byte [ebx + 0x13]
cmp al, 8
jae 0x47f06b
movzx eax, al
mov dword [ebx + eax*4 + 0xa0], ecx
inc byte [ebx + 0x13]
jmp 0x47f06b
cmp eax, dword [ebx + 0x1c]
jle 0x47f06b
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x50]
mov dword [ebx + 0x20], eax
jmp 0x47f06b
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x47cfa0
jmp 0x47cf1b
test ecx, ecx
jne 0x47f0b2
mov ebx, dword [esp + 0x14]
mov ecx, ebx
call fcn.00480f80
test eax, eax
jne 0x47fcac
mov eax, dword [ebx]
mov ecx, esi
movzx edx, byte [eax + 0x54]
mov edx, dword [edx*8 + 0x4fda10]
call fcn.00479950
jmp 0x47fcac
mov eax, dword [esp + 0xc]
test byte [eax + 0x18], 0x40
jne 0x47fcb0
mov esi, dword [str.UTF8]
mov edi, 0x4fda10
test esi, esi
je 0x47f111
mov edx, ecx
sub esi, ecx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x47f128
test ecx, ecx
jne 0x47f13a
mov cl, byte [edi + 4]
mov edx, 2
movzx eax, cl
test cl, cl
mov ecx, dword [esp + 0xc]
cmovne edx, eax
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], dl
call fcn.004693c0
cmp dword [edi], 0
jne 0x47fcac
mov ecx, dword [esp + 0x34]
push ecx
push str.unsupported_encoding:__s
push dword [esp + 0x1c]
call fcn.00417860
add esp, 0xc
jmp 0x47fcac
movzx eax, byte [eax + 0x4fa530]
movzx ecx, byte [ecx + 0x4fa530]
sub ecx, eax
jne 0x47f13d
inc edx
jmp 0x47f0d3
mov esi, dword [edi + 8]
add edi, 8
mov ecx, dword [esp + 0x34]
jmp 0x47f0cb
mov eax, dword [ebx + 8]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x9c]
bts eax, edx
mov dword [esi + 0x9c], eax
cmp edx, 1
je 0x47f18a
mov eax, dword [esi]
mov ecx, dword [esp + 0x50]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x47f18a
mov eax, dword [esi + 0xa0]
bts eax, edx
mov dword [esi + 0xa0], eax
cmp dword [esp + 0x34], 0
je 0x47f217
test byte [ebx + 5], 8
jne 0x47f217
push ecx
push 0x4f8da8
mov edx, 2
mov ecx, esi
call fcn.00437940
mov ebx, dword [esp + 0x20]
lea edx, [esp + 0x20]
mov ecx, dword [esp + 0x3c]
mov esi, eax
mov eax, dword [esp + 0x48]
add esp, 8
mov dword [esp + 0x18], 0
mov dword [esi + 4], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ebx
call fcn.004183e0
mov ecx, dword [esp + 0x18]
mov eax, 1
mov dword [esi + 0x20], ecx
mov word [esi + 0x16], ax
mov eax, dword [esp + 0xc]
cmp ebx, 1
jne 0x47fcb0
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
mov eax, dword [esp + 0xc]
je 0x47fcb0
mov byte [esi + 0x14], 0xb8
jmp 0x47fcb0
push ecx
push 0x4fdb90
mov edx, 3
mov ecx, esi
call fcn.00437940
mov ecx, dword [esp + 0x48]
add esp, 8
mov ebx, dword [esp + 0x18]
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov ecx, 1
mov dword [eax + 0x20], ebx
mov edx, dword [edi]
cmp edx, ecx
jle 0x47fcac
mov esi, dword [esi + 0x68]
lea eax, [esi + 0x14]
cmp byte [eax], 0xa6
je 0x47f264
inc ecx
add eax, 0x14
cmp ecx, edx
jl 0x47f252
jmp 0x47fcac
mov byte [esi + 0x14], 0xb8
jmp 0x47fcac
mov eax, dword [esp + 0x60]
xor ebx, ebx
mov dword [eax], 1
nop dword [eax]
mov edx, dword [edi]
cmp ebx, 0x24
ja 0x47f367
mov eax, dword [ebx*4 + 0x4fbea8]
inc ebx
mov dword [esp + 0xb0], eax
test eax, eax
je 0x47f367
mov eax, dword [esp + 0x10]
cmp dword [eax], edx
jg 0x47f2c3
push 0
push 1
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47f2f9
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push dword [esp + 0xb4]
mov ecx, esi
call fcn.00437de0
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47f330
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47f280
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x47f280
mov ecx, 1
cmp edx, ecx
jle 0x47fcac
mov esi, dword [esi + 0x68]
lea eax, [esi + 0x14]
nop word [eax + eax]
cmp byte [eax], 0xa6
je 0x47f264
inc ecx
add eax, 0x14
cmp ecx, edx
jl 0x47f380
jmp 0x47fcac
mov eax, dword [esp + 0x48]
mov ebx, 0xc
cmp dword [eax], 0
cmovne ebx, dword [esp + 0x40]
xor edx, edx
mov dword [esp + 0x24], ebx
test ecx, ecx
je 0x47f45f
mov ebx, str.full
mov edx, ecx
sub ebx, ecx
nop
movzx ecx, byte [edx]
movzx eax, byte [ebx + edx]
cmp ecx, eax
jne 0x47f3d7
test ecx, ecx
jne 0x47f3e9
lea edx, [ecx + 1]
jmp 0x47f45b
movzx eax, byte [eax + 0x4fa530]
movzx ecx, byte [ecx + 0x4fa530]
sub ecx, eax
jne 0x47f3ec
inc edx
jmp 0x47f3c0
mov edx, dword [esp + 0x34]
mov ebx, str.restart
sub ebx, edx
movzx ecx, byte [edx]
movzx eax, byte [ebx + edx]
cmp ecx, eax
jne 0x47f40b
test ecx, ecx
jne 0x47f41d
lea edx, [ecx + 2]
jmp 0x47f45b
movzx eax, byte [eax + 0x4fa530]
movzx ecx, byte [ecx + 0x4fa530]
sub ecx, eax
jne 0x47f420
inc edx
jmp 0x47f3f7
mov edx, dword [esp + 0x34]
mov ebx, str.truncate
sub ebx, edx
nop dword [eax + eax]
movzx ecx, byte [edx]
movzx eax, byte [ebx + edx]
cmp ecx, eax
jne 0x47f444
test ecx, ecx
jne 0x47f456
lea edx, [ecx + 3]
jmp 0x47f45b
movzx eax, byte [eax + 0x4fa530]
movzx ecx, byte [ecx + 0x4fa530]
sub ecx, eax
jne 0x47f459
inc edx
jmp 0x47f430
xor edx, edx
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x60]
mov dword [eax], 3
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47f488
push 1
push edx
push ebx
mov edx, 3
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47f4b6
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4], 3
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47f4c9
push 0
push 3
jmp 0x47a311
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 3
jmp 0x47fc9c
test ecx, ecx
je 0x47f515
lea edx, [esp + 0x18]
mov dword [esp + 0x18], 0
call fcn.004183e0
push dword [esp + 0x18]
push dword [esp + 0x10]
call fcn.004b8140
add esp, 8
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x110], 0x4b8050
jne 0x47a2d1
mov eax, dword [eax + 0x114]
jmp 0x47a2d3
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x47f549
push eax
call dword [0x513150]
add esp, 4
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x5f], 0
jne 0x47f55e
mov ecx, eax
call fcn.00427880
mov eax, dword [esp + 0xc]
xor esi, esi
cmp dword [eax + 0x14], esi
jle 0x47f596
xor edi, edi
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edi + 4]
test eax, eax
je 0x47f589
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0xe4]
push dword [eax + 0x34]
call dword [0x513194]
add esp, 4
mov eax, dword [esp + 0xc]
inc esi
add edi, 0x10
cmp esi, dword [eax + 0x14]
jl 0x47f567
cmp byte [eax + 0x5f], 0
jne 0x47f5a7
mov ecx, eax
call fcn.004278d0
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
jmp 0x47b2b2
test ecx, ecx
je 0x47f5d7
lea edx, [esp + 0x18]
mov dword [esp + 0x18], 0
call fcn.004183e0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
test cl, 2
je 0x47fcac
jmp 0x47f5df
mov dword [esp + 0x1c], 0xfffe
cmp dword [esp + 0x2c], 0
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x28]
mov dword [esp + 0x20], edx
lea eax, [edx + 1]
mov dword [ecx + 0x28], eax
je 0x47f601
mov eax, dword [esp + 0x40]
mov dword [esp + 0x24], eax
jmp 0x47f61b
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x14]
dec eax
mov dword [esp + 0x24], eax
cmp dword [esp + 0x40], eax
jg 0x47f907
mov eax, dword [esp + 0x40]
mov ecx, eax
mov ebx, 1
mov eax, dword [esp + 0x50]
rol ebx, cl
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x38], ebx
cmp dword [esp + 0x40], 1
je 0x47f8ec
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x78]
test eax, eax
cmovne ecx, eax
mov eax, dword [ecx + 0x58]
test eax, ebx
jne 0x47f658
mov ebx, dword [esp + 0x40]
bts eax, ebx
mov dword [ecx + 0x58], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x50]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 0xc]
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x18], ebx
test ebx, ebx
je 0x47f8e0
nop word [eax + eax]
mov ebx, dword [ebx + 8]
test dword [ebx + 0x1c], 0x100
je 0x47f8ce
mov ax, word [ebx + 0x26]
add ax, 0x2e
movzx ecx, ax
mov eax, dword [ebx + 8]
mov dword [esp + 0xb0], ecx
test eax, eax
je 0x47f6c1
nop dword [eax]
test byte [eax + 0x38], 0x80
je 0x47f754
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x47f6b0
test cx, cx
je 0x47f754
mov ecx, dword [esp + 0x14]
push 0x70
push ebx
push dword [esp + 0x48]
call fcn.004728d0
mov eax, dword [esp + 0xbc]
add esp, 0xc
mov esi, dword [esp + 0x10]
mov ecx, dword [edi]
movsx edx, ax
mov eax, dword [esp + 0x1c]
and eax, 1
add eax, 2
add eax, ecx
cmp dword [esi], ecx
mov esi, dword [esp + 0x28]
mov dword [esp + 0xb0], eax
jg 0x47f71f
push edx
push eax
push dword [esp + 0x28]
mov edx, 0x21
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47f754
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x20]
mov dword [eax + ecx*4], 0x21
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0xb0]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0xc]
push dword [ebx]
mov ecx, dword [esp + 0x54]
mov eax, dword [edx + 0x10]
push dword [eax + ecx]
push str.ANALYZE___w_.__w_
push edx
call fcn.00416840
add esp, 0x10
mov ebx, eax
test byte [esp + 0x1c], 1
mov dword [esp + 0xb0], ebx
je 0x47f864
mov edx, dword [esp + 0x14]
mov cl, byte [edx + 0x13]
test cl, cl
jne 0x47f79b
mov eax, dword [esp + 0x60]
inc dword [eax]
mov ebx, dword [eax]
jmp 0x47f7aa
dec cl
movzx eax, cl
mov byte [edx + 0x13], cl
mov ebx, dword [edx + eax*4 + 0xa0]
mov eax, dword [esp + 0x10]
mov edx, dword [edi]
cmp dword [eax], edx
jg 0x47f7cc
push 0
push ebx
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47f7fe
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0xfffffffffffffffa
push dword [esp + 0xb4]
mov ecx, esi
call fcn.00437de0
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47f834
push 0
push 1
push ebx
mov edx, 0x54
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47f8ca
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x47f8ca
mov eax, dword [esp + 0x10]
mov edx, dword [edi]
cmp dword [eax], edx
jg 0x47f887
push 0
push 0
push 0
mov edx, 0x94
mov ecx, esi
call fcn.00437140
add esp, 0xc
mov edx, eax
jmp 0x47f8bd
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x94
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0xfffffffffffffffa
push ebx
mov ecx, esi
call fcn.00437de0
add esp, 8
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
mov ebx, dword [ebx]
mov dword [esp + 0x18], ebx
test ebx, ebx
jne 0x47f680
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x50]
inc dword [esp + 0x40]
add eax, 0x10
rol ebx, 1
mov dword [esp + 0x50], eax
mov dword [esp + 0x38], ebx
cmp dword [esp + 0x40], ecx
jle 0x47f630
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x47f92b
push 0
push 0
push 0
mov edx, 0xa6
mov ecx, esi
call fcn.00437140
add esp, 0xc
jmp 0x47fcac
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xa6
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
jmp 0x47fc9c
test ecx, ecx
je 0x47f97c
lea edx, [esp + 0xb0]
call fcn.004182d0
test eax, eax
jne 0x47f97c
push dword [esp + 0xb4]
push dword [esp + 0xb4]
call fcn.00412fb0
add esp, 8
call fcn.004b5db0
test eax, eax
je 0x47f99d
or ebx, 0xffffffff
or ecx, ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ecx
jmp 0x47a2e2
mov eax, dword [0x516200]
test eax, eax
je 0x47f9b5
push eax
call dword [0x513150]
mov eax, dword [0x516200]
add esp, 4
mov ebx, dword [0x516208]
mov ecx, dword [0x51620c]
mov dword [esp + 0xb0], ecx
test eax, eax
je 0x47f9dd
push eax
call dword [0x513158]
mov ecx, dword [esp + 0xb4]
add esp, 4
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ecx
jmp 0x47a2e2
test ecx, ecx
je 0x47fa8c
lea edx, [esp + 0xb0]
call fcn.004182d0
test eax, eax
jne 0x47fa8c
call fcn.004b5db0
test eax, eax
je 0x47fa20
or eax, 0xffffffff
mov dword [esp + 0x1c], eax
or ebx, eax
jmp 0x47fa5a
mov eax, dword [0x516200]
test eax, eax
je 0x47fa38
push eax
call dword [0x513150]
mov eax, dword [0x516200]
add esp, 4
mov ebx, dword [0x516210]
mov dword [esp + 0x1c], ebx
mov ebx, dword [0x516214]
test eax, eax
je 0x47fa56
push eax
call dword [0x513158]
add esp, 4
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0xb4]
test edx, edx
jl 0x47fa8c
mov ecx, dword [esp + 0xb0]
jg 0x47fa72
test ecx, ecx
je 0x47fa8c
or eax, ebx
je 0x47fa82
cmp ebx, edx
jl 0x47fa8c
jg 0x47fa82
cmp dword [esp + 0x1c], ecx
jbe 0x47fa8c
push edx
push ecx
call fcn.004130f0
add esp, 8
call fcn.004b5db0
test eax, eax
je 0x47faad
or ebx, 0xffffffff
or ecx, ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ecx
jmp 0x47a2e2
mov eax, dword [0x516200]
test eax, eax
je 0x47fac5
push eax
call dword [0x513150]
mov eax, dword [0x516200]
add esp, 4
mov ebx, dword [0x516210]
mov ecx, dword [0x516214]
jmp 0x47f9c1
test ecx, ecx
je 0x47fb19
lea edx, [esp + 0xb0]
call fcn.004182d0
test eax, eax
jne 0x47fb19
cmp dword [esp + 0xb4], eax
jl 0x47fb19
mov eax, dword [esp + 0xb0]
jg 0x47fb00
test eax, eax
jb 0x47fb19
mov ecx, 8
and eax, 0x7fffffff
cmp eax, ecx
cmova eax, ecx
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0xa4], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xa4]
jmp 0x47a2d3
test ecx, ecx
je 0x47fb61
lea edx, [esp + 0xb0]
call fcn.004182d0
test eax, eax
jne 0x47fb61
cmp dword [esp + 0xb4], eax
jl 0x47fb61
mov eax, dword [esp + 0xb0]
jg 0x47fb52
test eax, eax
jb 0x47fb61
mov ecx, dword [esp + 0xc]
and eax, 0x7fffffff
mov dword [ecx + 0x1f0], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x1f0]
jmp 0x47fc40
test ecx, ecx
je 0x47fc36
lea edx, [esp + 0x18]
mov dword [esp + 0x18], 0
call fcn.004183e0
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x18]
mov eax, dword [ecx + 0xc]
test ebx, ebx
jle 0x47fbeb
test eax, eax
je 0x47fbad
push eax
call dword [0x513150]
mov ecx, dword [esp + 0x10]
add esp, 4
mov eax, dword [ecx + 0xc]
mov dword [ecx + 0x1c0], 0x4b7610
mov dword [ecx + 0x1c4], ecx
mov dword [ecx + 0x1c8], 0
mov dword [ecx + 0x1f4], 0
test eax, eax
je 0x47fbe3
push eax
call dword [0x513158]
mov ecx, dword [esp + 0x10]
add esp, 4
mov dword [ecx + 0x1f4], ebx
jmp 0x47fc3a
test eax, eax
je 0x47fc00
push eax
call dword [0x513150]
mov ecx, dword [esp + 0x10]
add esp, 4
mov eax, dword [ecx + 0xc]
mov dword [ecx + 0x1c0], 0
mov dword [ecx + 0x1c4], 0
mov dword [ecx + 0x1c8], 0
mov dword [ecx + 0x1f4], 0
test eax, eax
je 0x47fc3a
push eax
call dword [0x513158]
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x1f4]
cdq
push 0xfffffffffffffff3
mov dword [esp + 0xb4], eax
lea eax, [esp + 0xb4]
push eax
push ecx
push 1
mov dword [esp + 0xc4], edx
mov edx, 0x48
push ecx
mov ecx, esi
call fcn.004374a0
mov eax, dword [esp + 0x24]
add esp, 0x14
mov ecx, dword [edi]
cmp dword [eax], ecx
jle 0x47a30d
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x7c]
push ecx
push eax
call fcn.00413560
push dword [esp + 0x3c]
push dword [esp + 0x18]
call fcn.00413560
add esp, 0x10
mov ecx, dword [esp + 0xd4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004f1f57
mov esp, ebp
pop ebp
ret