Function at 0x439f4e
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2dc
mov eax, dword [0x531698]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
and dword [ebp - 0x170], 0
and dword [ebp - 0x1f4], 0
cmp dword [ecx + 0x50], 0xbdf20da3
push esi
mov esi, dword [ecx]
mov dword [ebp - 0x174], ecx
mov eax, dword [esi + 4]
mov dword [ebp - 0x188], esi
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x79]
mov byte [ebp - 0x1ac], al
je 0x439fa1
push 0x15
pop eax
jmp 0x43e122
push edi
mov edi, dword [ecx + 0x2c]
push 7
pop eax
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
cmp dword [ecx + 0x80], eax
je 0x43e0db
mov eax, dword [ecx + 0x22c]
and dword [ecx + 0x80], 0
test eax, eax
je 0x439ff9
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.00439f1d
mov edi, dword [ebp - 0x178]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x174]
mov dword [ebp - 0x180], edi
and dword [ecx + 0x22c], 0
mov byte [ecx + 0x234], 0
and dword [esi + 0x11c], 0
cmp dword [esi + 0x98], 0
jne 0x43e080
mov esi, dword [ecx + 0x7c]
mov dword [ebp - 0x19c], esi
call fcn.004395cb
mov ecx, dword [ebp - 0x174]
test eax, eax
jne 0x43e0db
mov eax, dword [ebp - 0x188]
imul esi, esi, 0x14
add esi, dword [ecx + 0x18]
cmp dword [eax + 0xa8], 0
mov dword [ebp - 0x198], esi
je 0x43a0bc
mov edx, dword [ebp - 0x1f4]
cmp dword [eax + 0xb0], edx
jne 0x43a0b6
push eax
call fcn.00439751
pop ecx
test eax, eax
jne 0x43d7e1
mov eax, dword [ebp - 0x188]
push dword [eax + 0xac]
call dword [eax + 0xa8]
pop ecx
push dword [ebp - 0x188]
test eax, eax
je 0x43a09b
call fcn.00439788
pop ecx
push 4
pop edx
mov eax, edx
mov dword [ebp - 0x170], eax
jmp 0x43de6f
and dword [ebp - 0x1f4], 0
call fcn.00439788
pop ecx
test eax, eax
jne 0x43d7e1
mov ecx, dword [ebp - 0x174]
inc dword [ebp - 0x1f4]
mov al, byte [esi]
movzx edx, al
mov byte [ebp - 0x1b1], al
lea eax, [edx - 1]
mov dword [ebp - 0x1a4], edx
cmp eax, 0x8e
ja case.0x43a0db.13
jmp dword [eax*4 + 0x43e132]
mov eax, dword [ebp - 0x188]
cmp dword [eax + 0x98], 0
jne 0x43e07e
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 0x19c], eax
jmp case.0x43a0db.13
mov edx, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x19c]
mov eax, dword [edx + 0x220]
inc ecx
mov dword [edx + eax*4 + 0x90], ecx
inc dword [edx + 0x220]
jmp 0x43a0f5
dec dword [ecx + 0x220]
mov eax, dword [ecx + 0x220]
mov eax, dword [ecx + eax*4 + 0x90]
jmp 0x43a0f8
push 4
add edi, 0x40
pop eax
mov word [edi + 0x18], ax
mov eax, dword [esi + 4]
cdq
mov dword [edi], eax
mov dword [ebp - 0x178], edi
mov dword [edi + 4], edx
jmp 0x43de63
add edi, 0x40
mov eax, 0xa2
mov word [edi + 0x18], ax
mov eax, dword [esi + 0xc]
push eax
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
mov dword [edi + 0x10], eax
call fcn.004bb070
mov dword [edi + 0x14], eax
push edi
mov byte [edi + 0x1b], 1
call fcn.0044125d
pop ecx
pop ecx
mov dword [edi], eax
push 4
pop eax
mov dword [edi + 4], edx
or word [edi + 0x18], ax
jmp case.0x43a0db.13
add edi, 0x40
mov eax, 0xa2
mov word [edi + 0x18], ax
mov eax, dword [esi + 0xc]
push eax
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
mov dword [edi + 0x10], eax
call fcn.004bb070
mov dword [edi + 0x14], eax
push edi
mov byte [edi + 0x1b], 1
call fcn.004418d5
fstp qword [edi + 8]
push 8
pop eax
or word [edi + 0x18], ax
movzx eax, byte [ebp - 0x1ac]
push eax
push edi
call fcn.00441237
add esp, 0x10
jmp case.0x43a0db.13
push dword [esi + 0xc]
mov byte [esi], 0x1a
call fcn.004bb070
mov dword [esi + 4], eax
xor eax, eax
inc eax
pop ecx
cmp byte [ebp - 0x1ac], al
je case.0x43a0db.26
push 0
push eax
or eax, 0xffffffff
push eax
push dword [esi + 0xc]
add edi, 0x40
push edi
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
call fcn.00441762
movzx eax, byte [ebp - 0x1ac]
push eax
push edi
call fcn.00441237
add esp, 0x1c
test eax, eax
jne 0x43e0d5
push edi
call fcn.00441342
pop ecx
test eax, eax
jne 0x43e0d5
mov ax, word [edi + 0x18]
mov ecx, 0xffbf
and ax, cx
mov ecx, 0x80
or ax, cx
mov word [edi + 0x18], ax
or eax, 0xffffffff
cmp dword [esi + 0x10], eax
jne 0x43a27f
push dword [esi + 0xc]
call fcn.004392e1
pop ecx
or eax, 0xffffffff
mov dword [esi + 0x10], eax
mov eax, dword [edi + 0x10]
mov dword [esi + 0xc], eax
mov eax, dword [edi + 0x14]
mov dword [esi + 4], eax
jmp case.0x43a0db.13
add edi, 0x40
mov eax, 0xa2
mov word [edi + 0x18], ax
mov eax, dword [esi + 0xc]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 4]
mov dword [edi + 0x14], eax
mov al, byte [ebp - 0x1ac]
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
mov byte [edi + 0x1b], al
jmp case.0x43a0db.13
add edi, 0x40
xor eax, eax
inc eax
mov word [edi + 0x18], ax
and dword [edi + 0x14], 0
mov dword [ebp - 0x178], edi
jmp 0x43de63
push dword [esi + 0xc]
mov byte [esi], 0x7a
call fcn.004bb070
shr eax, 1
pop ecx
mov dword [esi + 4], eax
je 0x43a32a
push dword [esi + 0xc]
call fcn.00439443
pop ecx
mov dword [ebp - 0x17c], eax
test eax, eax
je 0x43e0d5
or ecx, 0xffffffff
cmp dword [esi + 0x10], ecx
jne 0x43a31f
push dword [esi + 0xc]
call fcn.004392e1
mov eax, dword [ebp - 0x17c]
pop ecx
mov dword [esi + 0xc], eax
or eax, 0xffffffff
mov dword [esi + 0x10], eax
jmp case.0x43a0db.122
or eax, 0xffffffff
cmp dword [esi + 0x10], eax
jne 0x43a33b
push dword [esi + 0xc]
call fcn.004392e1
pop ecx
mov dword [esi + 0x10], 0xfffffffe
mov dword [esi + 0xc], 0x4e795c
push 0
push 0
push dword [esi + 4]
add edi, 0x40
push dword [esi + 0xc]
mov dword [ebp - 0x180], edi
push edi
mov dword [ebp - 0x178], edi
call fcn.00441762
add esp, 0x14
jmp case.0x43a0db.13
mov ecx, dword [esi + 4]
mov eax, 0x80
push eax
mov eax, dword [ebp - 0x174]
shl ecx, 6
mov eax, dword [eax + 0x44]
add eax, 0xffffffc0
add edi, 0x40
add eax, ecx
push eax
push edi
mov dword [ebp - 0x178], edi
mov dword [ebp - 0x180], edi
call fcn.00441841
add esp, 0xc
jmp case.0x43a0db.13
mov eax, dword [esi + 4]
shl eax, 6
mov ecx, edi
sub ecx, eax
mov eax, 0x100
push eax
add edi, 0x40
push ecx
push edi
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
call fcn.00441841
add esp, 0xc
cmp dword [esi + 8], 0
je case.0x43a0db.13
mov eax, 0x100
test word [edi + 0x18], ax
je case.0x43a0db.13
push edi
call fcn.0044151b
pop ecx
test eax, eax
jne 0x43e0d5
jmp case.0x43a0db.13
mov eax, dword [esi + 4]
mov edx, edi
shl eax, 6
sub edx, eax
push 0x10
pop eax
mov ecx, eax
mov esi, edx
lea edi, [ebp - 0x2dc]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x180]
mov ecx, 0x100
mov dword [ebp - 0x17c], edx
test word [edi + 0x18], cx
je 0x43a442
push edi
call fcn.0044151b
pop ecx
test eax, eax
jne 0x43e0d5
mov ecx, 0x100
mov edx, dword [ebp - 0x198]
xor eax, eax
mov dword [ebp - 0x184], eax
cmp dword [edx + 4], eax
jle 0x43a4ca
mov esi, dword [ebp - 0x17c]
add esi, 0x40
mov dword [ebp - 0x17c], esi
test word [esi + 0x18], cx
je 0x43a485
push esi
call fcn.0044151b
pop ecx
test eax, eax
jne 0x43e0cf
mov edx, dword [ebp - 0x198]
mov eax, dword [ebp - 0x184]
push 0x10
lea edi, [esi - 0x40]
pop ecx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x17c]
mov ecx, 0x200
test word [esi - 0x28], cx
je 0x43a4aa
lea eax, [esi - 0x20]
mov dword [esi - 0x30], eax
mov eax, dword [ebp - 0x184]
inc eax
add esi, 0x40
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x17c], esi
mov ecx, 0x100
cmp eax, dword [edx + 4]
jl 0x43a464
mov edi, dword [ebp - 0x180]
push 0x10
pop eax
mov ecx, eax
lea esi, [ebp - 0x2dc]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x180]
mov eax, 0x200
test word [edi + 0x18], ax
je case.0x43a0db.13
lea eax, [edi + 0x20]
mov dword [edi + 0x10], eax
jmp case.0x43a0db.13
mov ecx, dword [esi + 4]
shl ecx, 6
mov eax, edi
sub eax, ecx
push edi
push eax
call fcn.00441590
pop ecx
pop ecx
sub edi, 0x40
mov dword [ebp - 0x178], edi
jmp 0x43de63
mov edx, dword [esi + 4]
add edx, 2
mov ecx, edx
shl ecx, 6
mov eax, edi
sub eax, ecx
add eax, 0x40
mov ecx, eax
mov dword [ebp - 0x1b0], eax
xor eax, eax
and dword [ebp - 0x184], eax
mov dword [ebp - 0x194], edx
mov dword [ebp - 0x190], ecx
mov dword [ebp - 0x17c], eax
test edx, edx
jle 0x43a5fb
movzx edx, word [ecx + 0x18]
mov dword [ebp - 0x18c], edx
test dl, 1
mov edx, dword [ebp - 0x194]
jne 0x43a5be
test byte [ebp - 0x18c], 0x12
jne 0x43a59c
movzx eax, byte [ebp - 0x1ac]
push eax
push ecx
call fcn.00441871
pop ecx
pop ecx
test eax, eax
jne 0x43e0d5
mov edx, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x17c]
add eax, dword [ecx + 0x14]
inc dword [ebp - 0x184]
add ecx, 0x40
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x190], ecx
cmp dword [ebp - 0x184], edx
jl 0x43a554
jmp 0x43a5c1
or eax, 0xffffffff
test eax, eax
jns 0x43a5fb
cmp dword [esi + 8], 0
jne 0x43a5e0
push edx
lea eax, [ebp - 0x178]
push eax
call fcn.00439f1d
pop ecx
pop ecx
mov edi, dword [ebp - 0x178]
add edi, 0x40
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
xor eax, eax
inc eax
mov word [edi + 0x18], ax
jmp case.0x43a0db.13
add eax, 2
push 1
push eax
call fcn.004395e9
mov edx, eax
pop ecx
pop ecx
mov dword [ebp - 0x184], edx
test edx, edx
je 0x43e0d5
mov ecx, dword [ebp - 0x194]
xor eax, eax
mov dword [ebp - 0x18c], eax
test ecx, ecx
jle 0x43a694
mov eax, dword [ebp - 0x1b0]
mov edi, dword [ebp - 0x18c]
add eax, 0x10
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x190], ecx
mov esi, dword [eax + 4]
push esi
push dword [eax]
lea eax, [edi + edx]
push eax
call fcn.004baa20
mov eax, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x184]
add eax, 0x40
add esp, 0xc
add edi, esi
dec dword [ebp - 0x190]
mov dword [ebp - 0x17c], eax
jne 0x43a645
mov esi, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x194]
mov dword [ebp - 0x18c], edi
mov edi, dword [ebp - 0x180]
mov eax, dword [ebp - 0x18c]
mov word [eax + edx], 0
cmp dword [esi + 8], 0
jne 0x43a6c1
push ecx
lea eax, [ebp - 0x178]
push eax
call fcn.00439f1d
mov edi, dword [ebp - 0x178]
mov eax, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x184]
pop ecx
pop ecx
add edi, 0x40
push 0x62
mov dword [edi + 0x14], eax
pop eax
mov word [edi + 0x18], ax
and dword [edi + 0x1c], 0
mov al, byte [ebp - 0x1ac]
mov byte [edi + 0x1b], al
mov dword [ebp - 0x178], edi
mov dword [edi + 0x10], edx
jmp 0x43de63
lea eax, [edi - 0x40]
mov dword [ebp - 0x18c], eax
movzx ecx, word [eax + 0x18]
movzx eax, word [edi + 0x18]
mov esi, ecx
or esi, eax
movzx eax, word [edi + 0x18]
mov dword [ebp - 0x17c], esi
test byte [ebp - 0x17c], 1
mov esi, dword [ebp - 0x198]
je 0x43a74a
test al, 0x40
je 0x43a722
push edi
call fcn.004416a7
pop ecx
mov edi, dword [ebp - 0x18c]
mov dword [ebp - 0x180], edi
test byte [edi + 0x18], 0x40
mov dword [ebp - 0x178], edi
je 0x43a5ef
push edi
call fcn.004416a7
pop ecx
jmp 0x43a5ef
and cl, al
push 4
pop eax
test al, cl
je 0x43a80a
mov eax, dword [ebp - 0x18c]
mov esi, dword [eax]
mov ecx, dword [eax + 4]
sub edx, 0x4f
je 0x43a7bd
dec edx
je 0x43a7b6
dec edx
je 0x43a7a0
mov eax, dword [edi]
dec edx
je 0x43a789
or eax, dword [edi + 4]
je 0x43a887
push dword [edi + 4]
push dword [edi]
push ecx
push esi
call fcn.004c2c20
jmp 0x43a7ac
or eax, dword [edi + 4]
je 0x43a887
push dword [edi + 4]
push dword [edi]
push ecx
push esi
call fcn.004c2440
jmp 0x43a7ac
push dword [edi + 4]
push dword [edi]
push ecx
push esi
call fcn.004c2080
mov esi, eax
mov dword [ebp - 0x1b0], edx
jmp 0x43a7c8
sub esi, dword [edi]
sbb ecx, dword [edi + 4]
jmp 0x43a7c2
add esi, dword [edi]
adc ecx, dword [edi + 4]
mov dword [ebp - 0x1b0], ecx
movzx ecx, word [edi + 0x18]
test cl, 0x40
je 0x43a7d8
push edi
call fcn.004416a7
pop ecx
mov edi, dword [ebp - 0x18c]
mov dword [ebp - 0x180], edi
test byte [edi + 0x18], 0x40
mov dword [ebp - 0x178], edi
je 0x43a7f7
push edi
call fcn.004416a7
pop ecx
mov eax, dword [ebp - 0x1b0]
mov dword [edi], esi
mov dword [edi + 4], eax
push 4
pop eax
jmp 0x43a5f2
push edi
call fcn.004418d5
fstp qword [ebp - 0x1d0]
push dword [ebp - 0x18c]
call fcn.004418d5
fstp qword [ebp - 0x1a8]
movzx eax, byte [esi]
pop ecx
pop ecx
sub eax, 0x4f
je 0x43a8c2
dec eax
je 0x43a8b0
dec eax
je 0x43a89e
dec eax
je 0x43a871
cvttsd2si ecx, qword [ebp - 0x1d0]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm0, qword [0x4ef670]
lahf
test ah, 0x44
jnp 0x43a887
cvttsd2si eax, qword [ebp - 0x1a8]
cdq
idiv ecx
movd xmm0, edx
cvtdq2pd xmm0, xmm0
jmp 0x43a8d2
movsd xmm1, qword [ebp - 0x1d0]
ucomisd xmm1, qword [0x4ef670]
lahf
test ah, 0x44
jp 0x43a890
test byte [edi + 0x18], 0x40
jmp 0x43a719
movsd xmm0, qword [ebp - 0x1a8]
divsd xmm0, xmm1
jmp 0x43a8d2
movsd xmm0, qword [ebp - 0x1a8]
mulsd xmm0, qword [ebp - 0x1d0]
jmp 0x43a8d2
movsd xmm0, qword [ebp - 0x1a8]
subsd xmm0, qword [ebp - 0x1d0]
jmp 0x43a8d2
movsd xmm0, qword [ebp - 0x1a8]
addsd xmm0, qword [ebp - 0x1d0]
test byte [edi + 0x18], 0x40
movsd qword [ebp - 0x1a8], xmm0
je 0x43a8e7
push edi
call fcn.004416a7
pop ecx
mov edi, dword [ebp - 0x18c]
mov dword [ebp - 0x180], edi
test byte [edi + 0x18], 0x40
mov dword [ebp - 0x178], edi
je 0x43a906
push edi
call fcn.004416a7
pop ecx
movsd xmm0, qword [ebp - 0x1a8]
push 8
pop eax
movsd qword [edi + 8], xmm0
mov word [edi + 0x18], ax
test byte [ebp - 0x17c], al
jne case.0x43a0db.13
push edi
call fcn.004412bd
pop ecx
jmp case.0x43a0db.13
mov eax, dword [ebp - 0x174]
mov ecx, dword [esi + 8]
mov eax, dword [eax + 0x30]
and dword [ebp - 0x190], 0
mov dword [ebp - 0x17c], eax
mov eax, ecx
shl eax, 6
mov edx, edi
sub edx, eax
add edx, 0x40
mov dword [ebp - 0x184], ecx
test ecx, ecx
jle 0x43a98d
mov esi, dword [ebp - 0x190]
mov edi, ecx
mov eax, dword [ebp - 0x17c]
push edx
mov dword [eax + esi*4], edx
call fcn.00439ddc
inc esi
add edx, 0x40
pop ecx
cmp esi, edi
jl 0x43a969
mov edi, dword [ebp - 0x180]
mov esi, dword [ebp - 0x198]
cmp dword [esi + 0x10], 0xfffffffb
mov eax, dword [esi + 0xc]
jne 0x43a99f
and dword [ebp - 0xd0], 0
jmp 0x43a9a7
mov dword [ebp - 0xd0], eax
mov eax, dword [eax]
xor ecx, ecx
inc ecx
mov word [ebp - 0xb4], cx
xor ecx, ecx
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb0], ecx
mov byte [ebp - 0x88], cl
cmp byte [eax + 3], cl
je 0x43a9d9
mov eax, dword [esi - 8]
mov dword [ebp - 0x84], eax
push dword [ebp - 0x188]
call fcn.00439751
pop ecx
test eax, eax
jne 0x43d7e1
push dword [ebp - 0x17c]
lea eax, [ebp - 0xd4]
push dword [ebp - 0x184]
push eax
mov eax, dword [ebp - 0xd4]
call dword [eax + 0x10]
push dword [ebp - 0x188]
call fcn.00439788
add esp, 0x10
test eax, eax
jne 0x43d7e1
call fcn.004395cb
test eax, eax
jne 0x43e0d5
push dword [ebp - 0x184]
lea eax, [ebp - 0x178]
push eax
call fcn.00439f1d
cmp dword [ebp - 0xd0], 0
pop ecx
pop ecx
je 0x43aa69
push dword [esi + 4]
push dword [ebp - 0xd0]
call fcn.0043f8c6
mov eax, dword [ebp - 0xd0]
pop ecx
pop ecx
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], 0xfffffff9
cmp byte [ebp - 0x88], 0
je 0x43aaa0
lea eax, [ebp - 0xcc]
push 0
push eax
call fcn.0043eeff
pop ecx
push eax
mov eax, dword [ebp - 0x174]
add eax, 0x230
push eax
call fcn.004397bf
add esp, 0xc
mov dword [ebp - 0x170], 1
movzx eax, byte [ebp - 0x1ac]
push eax
lea eax, [ebp - 0xcc]
push eax
call fcn.00441237
mov edi, dword [ebp - 0x178]
add edi, 0x40
xor eax, eax
mov word [edi + 0x18], ax
lea eax, [ebp - 0xcc]
push eax
push edi
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
call fcn.00441590
jmp 0x43a1e6
lea ecx, [edi - 0x40]
mov dword [ebp - 0x190], ecx
mov al, byte [ecx + 0x18]
or al, byte [edi + 0x18]
test al, 1
je 0x43aafb
push 2
jmp 0x43a5cc
push ecx
call fcn.0044125d
push edi
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x198], edx
call fcn.0044125d
pop ecx
pop ecx
movzx ecx, byte [esi]
mov dword [ebp - 0x17c], eax
sub ecx, 0x4b
je 0x43ab76
dec ecx
je 0x43ab66
dec ecx
je 0x43ab45
dec ecx
jne 0x43ab86
mov eax, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x17c]
call fcn.004c2d00
jmp 0x43ab5c
mov eax, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x17c]
call fcn.004c2ce0
mov esi, eax
mov dword [ebp - 0x198], edx
jmp 0x43ab8c
mov esi, dword [ebp - 0x18c]
or esi, eax
or dword [ebp - 0x198], edx
jmp 0x43ab8c
mov esi, dword [ebp - 0x18c]
and esi, eax
and dword [ebp - 0x198], edx
jmp 0x43ab8c
mov esi, dword [ebp - 0x18c]
test byte [edi + 0x18], 0x40
je 0x43ab99
push edi
call fcn.004416a7
pop ecx
mov edi, dword [ebp - 0x190]
mov dword [ebp - 0x180], edi
test byte [edi + 0x18], 0x40
mov dword [ebp - 0x178], edi
je 0x43abb8
push edi
call fcn.004416a7
pop ecx
mov ecx, dword [ebp - 0x198]
mov dword [edi], esi
mov dword [edi + 4], ecx
jmp 0x43a802
push edi
call fcn.004414f5
mov eax, dword [esi + 4]
cdq
add dword [edi], eax
pop ecx
adc dword [edi + 4], edx
jmp case.0x43a0db.13
push dword [ebp - 0x1ac]
push 0x63
push edi
call fcn.00439e52
lea eax, [edi + 0x18]
mov dword [ebp - 0x17c], eax
movzx eax, word [eax]
add esp, 0xc
test al, 0xc
jne 0x43ac1d
test al, 0x40
je 0x43ac09
push edi
call fcn.004416a7
pop ecx
sub edi, 0x40
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
jmp 0x43a0f5
push 4
pop ecx
test cl, al
je 0x43ac62
cmp dword [esi + 4], 0
je 0x43ac31
xor eax, eax
inc eax
xor esi, esi
jmp 0x43ac48
xorps xmm0, xmm0
movlpd qword [ebp - 0x274], xmm0
mov esi, dword [ebp - 0x270]
mov eax, dword [ebp - 0x274]
mov ecx, dword [edi]
mov edx, dword [edi + 4]
add ecx, eax
adc edx, esi
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x18c], edx
jmp 0x43ad17
push edi
call fcn.00441683
movsd xmm0, qword [edi + 8]
cvttsd2si eax, xmm0
pop ecx
cdq
mov ecx, eax
mov dword [ebp - 0x224], ecx
mov dword [ebp - 0x220], edx
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x18c], edx
fild qword [ebp - 0x224]
fstp qword [ebp - 0x1a8]
fld qword [ebp - 0x1a8]
fstp qword [ebp - 0x1a8]
comisd xmm0, xmmword [ebp - 0x1a8]
jbe 0x43accd
add ecx, 1
adc edx, 0
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x224], ecx
mov dword [ebp - 0x18c], edx
mov dword [ebp - 0x220], edx
cmp dword [esi + 4], 0
je 0x43ad0b
fild qword [ebp - 0x224]
fstp qword [ebp - 0x1a8]
fld qword [ebp - 0x1a8]
fstp qword [ebp - 0x1a8]
ucomisd xmm0, qword [ebp - 0x1a8]
lahf
test ah, 0x44
jp 0x43ad0b
add ecx, 1
adc edx, 0
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x18c], edx
mov edi, dword [ebp - 0x178]
mov dword [ebp - 0x180], edi
mov esi, dword [ebp - 0x17c]
test byte [esi], 0x40
je 0x43ad29
push edi
call fcn.004416a7
pop ecx
mov eax, dword [ebp - 0x194]
mov dword [edi], eax
mov eax, dword [ebp - 0x18c]
mov dword [edi + 4], eax
push 4
pop eax
mov word [esi], ax
jmp case.0x43a0db.13
push dword [ebp - 0x1ac]
push 0x63
push edi
call fcn.00439e52
movzx eax, word [edi + 0x18]
add esp, 0xc
push 4
pop edx
test dl, al
jne 0x43ad96
cmp dword [esi + 8], 0
je 0x43de89
cmp dword [esi + 4], 0
je 0x43a0f5
lea eax, [ebp - 0x178]
push 1
push eax
call fcn.00439f1d
mov edi, dword [ebp - 0x178]
pop ecx
pop ecx
mov dword [ebp - 0x180], edi
jmp 0x43a0f5
test al, 0x40
je 0x43ada4
push edi
call fcn.004416a7
pop ecx
push 4
pop edx
mov word [edi + 0x18], dx
jmp case.0x43a0db.13
push 4
pop eax
test byte [edi + 0x18], al
je case.0x43a0db.13
push edi
call fcn.00441683
jmp 0x43a92c
movzx ecx, word [edi + 0x18]
test cl, 1
jne case.0x43a0db.13
push dword [ebp - 0x1ac]
mov eax, ecx
shr eax, 3
and eax, 2
or eax, ecx
push 0x61
push edi
mov word [edi + 0x18], ax
call fcn.00439e52
add esp, 0xc
mov eax, 0xffe3
and word [edi + 0x18], ax
jmp case.0x43a0db.13
movzx eax, word [edi + 0x18]
test al, 1
jne case.0x43a0db.13
test al, 0x10
jne 0x43ae26
push dword [ebp - 0x1ac]
push 0x61
push edi
call fcn.00439e52
add esp, 0xc
push 0x10
pop eax
or word [edi + 0x18], ax
mov eax, 0xfff1
jmp 0x43adf5
test byte [edi + 0x18], 1
jne case.0x43a0db.13
push edi
call fcn.0044166a
jmp 0x43a92c
test byte [edi + 0x18], 1
jne case.0x43a0db.13
push edi
call fcn.004414f5
jmp 0x43a92c
test byte [edi + 0x18], 1
jne case.0x43a0db.13
jmp 0x43adb9
movzx ecx, word [edi + 0x18]
lea edx, [edi - 0x40]
mov al, byte [edx + 0x18]
or al, cl
test al, 1
je 0x43aeaf
mov eax, 0x200
test dword [esi + 4], eax
je 0x43af12
not ecx
and ecx, 1
mov eax, ecx
cdq
push edx
push eax
push edi
call fcn.0044171b
lea ecx, [edi - 0x40]
movzx eax, word [ecx + 0x18]
not eax
and eax, 1
cdq
push edx
push eax
push ecx
call fcn.0044171b
add esp, 0x18
lea edx, [edi - 0x40]
mov al, byte [esi + 4]
mov byte [ebp - 0x21c], al
test al, al
je 0x43aee3
push dword [ebp - 0x1ac]
push dword [ebp - 0x21c]
push edx
call fcn.00439e52
push dword [ebp - 0x1ac]
push dword [ebp - 0x21c]
push edi
call fcn.00439e52
add esp, 0x18
push dword [esi + 0xc]
lea ecx, [edi - 0x40]
push edi
push ecx
call fcn.00440e1d
movzx ecx, byte [esi]
mov edx, eax
add esp, 0xc
xor eax, eax
sub ecx, 0x44
je 0x43af63
dec ecx
je 0x43af5c
dec ecx
je 0x43af55
dec ecx
je 0x43af4e
dec ecx
je 0x43af47
test edx, edx
setns al
jmp 0x43af68
lea eax, [ebp - 0x178]
push 2
push eax
call fcn.00439f1d
mov eax, dword [esi + 8]
pop ecx
pop ecx
test eax, eax
je 0x43a5da
mov ecx, 0x100
test dword [esi + 4], ecx
je 0x43de5d
dec eax
mov dword [ebp - 0x19c], eax
jmp 0x43de5d
test edx, edx
sets al
jmp 0x43af68
test edx, edx
setle al
jmp 0x43af68
test edx, edx
setg al
jmp 0x43af68
test edx, edx
sete al
jmp 0x43af68
test edx, edx
setne al
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x178]
push 2
push eax
call fcn.00439f1d
mov eax, dword [esi + 8]
pop ecx
pop ecx
test eax, eax
je 0x43af8e
cmp dword [ebp - 0x1a0], 0
jmp 0x43af35
mov edi, dword [ebp - 0x178]
push 4
add edi, 0x40
pop eax
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0x1a0]
jmp 0x43a148
test byte [edi + 0x18], 1
lea eax, [edi - 0x40]
mov dword [ebp - 0x184], eax
je 0x43afbd
push 2
pop edi
jmp 0x43afd8
push edi
call fcn.004414f5
mov eax, dword [edi]
or eax, dword [edi + 4]
mov eax, dword [ebp - 0x184]
pop ecx
jne 0x43afd6
xor edi, edi
inc edi
jmp 0x43afd8
xor edi, edi
test byte [eax + 0x18], 1
je 0x43afe3
push 2
pop eax
jmp 0x43affc
push eax
call fcn.004414f5
pop ecx
mov ecx, dword [ebp - 0x184]
mov eax, dword [ecx]
or eax, dword [ecx + 4]
jne 0x43affa
inc eax
jmp 0x43affc
xor eax, eax
imul edi, edi, 3
cmp byte [esi], 0x3e
jne 0x43b00e
movzx esi, byte [edi + eax + 0x4ef4b4]
jmp 0x43b016
movzx esi, byte [edi + eax + 0x4ef4c0]
lea eax, [ebp - 0x178]
push 2
push eax
call fcn.00439f1d
mov edi, dword [ebp - 0x178]
add edi, 0x40
pop ecx
xor eax, eax
pop ecx
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
cmp esi, 2
je 0x43a5f1
test esi, esi
sete al
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x43a802
movzx eax, word [edi + 0x18]
test al, 8
jne 0x43b0b2
push 4
pop edx
test dl, al
je 0x43b0a3
test al, 0x40
je 0x43b073
push edi
call fcn.004416a7
pop ecx
push 4
pop edx
cmp byte [esi], 0x56
je 0x43b08d
cmp dword [edi + 4], 0
jg 0x43ada4
jl 0x43b08d
cmp dword [edi], 0
jae 0x43ada4
mov ecx, dword [edi]
mov eax, dword [edi + 4]
neg ecx
adc eax, 0
neg eax
mov dword [edi], ecx
mov dword [edi + 4], eax
jmp 0x43ada4
test al, 1
jne case.0x43a0db.13
push edi
call fcn.0044166a
pop ecx
test byte [edi + 0x18], 0x40
je 0x43b0bf
push edi
call fcn.004416a7
pop ecx
cmp byte [esi], 0x56
je 0x43b0ce
xorps xmm0, xmm0
comisd xmm0, xmmword [edi + 8]
jbe 0x43b0e0
movsd xmm0, qword [edi + 8]
xorpd xmm0, xmmword [0x4e9c80]
movsd qword [edi + 8], xmm0
push 8
jmp 0x43a804
test byte [edi + 0x18], 1
jne case.0x43a0db.13
push edi
call fcn.004414f5
mov eax, dword [edi]
or eax, dword [edi + 4]
pop ecx
jne 0x43b105
inc eax
jmp 0x43b04b
xor eax, eax
jmp 0x43b04b
test byte [edi + 0x18], 1
jne case.0x43a0db.13
push edi
call fcn.004414f5
not dword [edi]
not dword [edi + 4]
pop ecx
jmp 0x43a802
test byte [edi + 0x18], 1
je 0x43b138
mov ecx, dword [esi + 4]
mov dword [ebp - 0x194], ecx
jmp 0x43b176
push edi
call fcn.004418d5
fstp qword [ebp - 0x1a8]
movsd xmm0, qword [ebp - 0x1a8]
ucomisd xmm0, qword [0x4ef670]
pop ecx
lahf
xor ecx, ecx
test ah, 0x44
jnp 0x43b15e
inc ecx
cmp byte [esi], 0x55
mov dword [ebp - 0x194], ecx
jne 0x43b176
xor eax, eax
test ecx, ecx
sete al
mov dword [ebp - 0x194], eax
test byte [edi + 0x18], 0x40
je 0x43b183
push edi
call fcn.004416a7
pop ecx
sub edi, 0x40
cmp dword [ebp - 0x194], 0
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
je case.0x43a0db.13
jmp 0x43a0f5
test byte [edi + 0x18], 1
je 0x43b1d8
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 0x19c], eax
mov eax, dword [esi + 4]
test eax, eax
jns 0x43b1d8
neg eax
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.00439f1d
mov edi, dword [ebp - 0x178]
pop ecx
pop ecx
mov dword [ebp - 0x180], edi
cmp dword [esi + 4], 0
jle case.0x43a0db.13
push dword [esi + 4]
jmp 0x43de4f
mov ecx, dword [esi + 4]
test ecx, ecx
jns 0x43b1f3
neg ecx
and dword [ebp - 0x17c], 0
test ecx, ecx
jle 0x43b221
mov eax, ecx
shl eax, 6
mov edx, edi
sub edx, eax
mov eax, dword [ebp - 0x17c]
add edx, 0x58
test byte [edx], 1
jne 0x43b21d
inc eax
add edx, 0x40
cmp eax, ecx
jl 0x43b210
cmp eax, ecx
jl 0x43b22b
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 0x19c], eax
cmp dword [esi + 4], 0
jle case.0x43a0db.13
push ecx
jmp 0x43de4f
mov eax, dword [ebp - 0x174]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esi + 8]
mov dword [ecx + 0x50], eax
jmp case.0x43a0db.13
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x17c], eax
xor eax, eax
mov word [ebp - 0x154], ax
add edi, 0x40
inc eax
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x180], edi
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x178], edi
mov edx, dword [eax + ecx*4]
xor eax, eax
mov dword [ebp - 0x1c0], edx
cmp dword [edx], eax
je 0x43b339
push edx
call fcn.0043f790
pop ecx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x43d7eb
mov edx, dword [ebp - 0x1c0]
and dword [ebp - 0x18c], eax
cmp byte [edx + 0x1c], 0
mov eax, dword [edx]
mov dword [ebp - 0x1a0], eax
je 0x43b2d2
and dword [ebp - 0x1c4], 0
jmp 0x43b334
mov ecx, dword [ebp - 0x174]
mov eax, dword [edx + 0x68]
cmp eax, dword [ecx + 0x60]
jne 0x43b2f4
mov eax, dword [edx + 0x6c]
mov dword [ebp - 0x1c4], eax
mov eax, dword [edx + 0x78]
mov dword [ebp - 0x18c], eax
jmp 0x43b334
cmp byte [edx + 0x21], 0
je 0x43b31a
lea eax, [ebp - 0x29c]
push eax
push dword [ebp - 0x1a0]
call fcn.004198c5
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x1c4], eax
jmp 0x43b32c
lea eax, [ebp - 0x1c4]
push eax
push dword [ebp - 0x1a0]
call fcn.00418f32
mov edx, dword [ebp - 0x1c0]
pop ecx
pop ecx
mov eax, dword [edx + 0x50]
jmp 0x43b372
cmp byte [edx + 0x1e], al
je 0x43b360
mov eax, dword [edx + 0x34]
mov dword [ebp - 0x1c4], eax
mov ecx, dword [edx + 0x38]
and dword [edx + 0x68], 0
mov eax, dword [edx + 0x50]
and dword [ebp - 0x1a0], 0
mov dword [ebp - 0x18c], ecx
jmp 0x43b372
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1a0], eax
cmp dword [ebp - 0x1c4], 0
mov dword [ebp - 0x1b0], eax
je case.0x43a0db.13
mov ecx, dword [ebp - 0x174]
mov eax, dword [edx + 0x68]
cmp eax, dword [ecx + 0x60]
jne 0x43b3aa
mov ecx, dword [edx + 0x70]
mov eax, dword [edx + 0x74]
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x184], eax
jmp 0x43b5f1
mov eax, dword [edx + 0x70]
mov dword [ebp - 0x194], eax
test eax, eax
jne 0x43b3e1
mov eax, dword [ebp - 0x1b0]
shl eax, 3
push 1
push eax
call fcn.004395e9
mov edx, dword [ebp - 0x1c0]
pop ecx
pop ecx
mov dword [ebp - 0x194], eax
mov dword [edx + 0x70], eax
test eax, eax
je 0x43e0d5
mov ecx, dword [ebp - 0x1b0]
lea eax, [eax + ecx*4]
mov dword [edx + 0x74], eax
mov ecx, dword [ebp - 0x1c4]
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x174]
mov dword [edx + 0x6c], ecx
mov eax, dword [eax + 0x60]
mov dword [edx + 0x68], eax
mov eax, dword [ebp - 0x18c]
test eax, eax
je 0x43b41c
mov edx, eax
mov dword [ebp - 0x170], edx
jmp 0x43b470
cmp byte [edx + 0x21], 0
lea eax, [ebp - 0x204]
push eax
push dword [ebp - 0x1a0]
je 0x43b43e
call fcn.004198a5
mov edx, eax
mov dword [ebp - 0x170], edx
jmp 0x43b44b
call fcn.00418f12
mov edx, eax
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x204]
cmp eax, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x1c0]
pop ecx
pop ecx
jb 0x43b46c
mov dword [ebp - 0x18c], edx
mov dword [eax + 0x78], edx
jmp 0x43b470
and dword [eax + 0x78], 0
movzx ecx, byte [edx]
mov dword [ebp - 0x1d4], ecx
cmp ecx, 0x7f
ja 0x43b48a
mov dword [ebp - 0x190], 1
jmp 0x43b4ab
lea eax, [ebp - 0x1d4]
push eax
push edx
call fcn.004393de
mov edx, dword [ebp - 0x170]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1d4]
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x18c], 0
jne 0x43b4f9
cmp dword [ebp - 0x204], ecx
jae 0x43b4f9
lea eax, [ebp - 0x16c]
push eax
mov eax, dword [ebp - 0x1c0]
movzx eax, byte [eax + 0x21]
push eax
push ecx
push 0
push dword [ebp - 0x1a0]
call fcn.00441432
add esp, 0x14
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x43de6f
mov edx, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x1d4]
add dword [ebp - 0x190], edx
cmp dword [ebp - 0x1b0], 0
lea eax, [ecx + edx]
mov dword [ebp - 0x170], eax
jbe 0x43b5a1
mov esi, dword [ebp - 0x194]
mov eax, dword [ebp - 0x184]
mov edi, dword [ebp - 0x190]
mov edx, dword [ebp - 0x170]
sub eax, esi
mov dword [ebp - 0x1fc], eax
cmp edi, edx
jae 0x43b57a
mov dword [eax + esi], ecx
movzx eax, byte [edi]
mov dword [esi], eax
cmp eax, 0x7f
ja 0x43b54b
xor eax, eax
inc eax
jmp 0x43b554
push esi
push edi
call fcn.004393de
pop ecx
pop ecx
push dword [esi]
add edi, eax
call fcn.004407af
mov edx, dword [ebp - 0x170]
pop ecx
mov ecx, dword [ebp - 0x1d4]
add ecx, eax
mov eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x1d4], ecx
jmp 0x43b584
and dword [eax + esi], 0
mov ecx, dword [ebp - 0x1d4]
add esi, 4
dec dword [ebp - 0x1b0]
jne 0x43b535
mov esi, dword [ebp - 0x198]
mov dword [ebp - 0x190], edi
mov edi, dword [ebp - 0x180]
test byte [ebp - 0x154], 0x40
je 0x43b5bd
lea eax, [ebp - 0x16c]
push eax
call fcn.004416a7
pop ecx
mov ecx, dword [ebp - 0x1d4]
xor eax, eax
inc eax
mov word [ebp - 0x154], ax
mov eax, dword [ebp - 0x170]
cmp dword [ebp - 0x190], eax
ja 0x43b6bf
cmp ecx, dword [ebp - 0x1c4]
ja 0x43b6bf
mov ecx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x17c]
mov eax, dword [eax + edx*4]
test eax, eax
je 0x43b676
mov edx, dword [ebp - 0x18c]
mov esi, dword [ebp - 0x17c]
test edx, edx
je 0x43b612
add eax, edx
jmp 0x43b658
push dword [ecx + esi*4]
call fcn.004407af
lea ecx, [ebp - 0x16c]
push ecx
mov ecx, dword [ebp - 0x1c0]
movzx ecx, byte [ecx + 0x21]
push ecx
push eax
mov eax, dword [ebp - 0x184]
push dword [eax + esi*4]
push dword [ebp - 0x1a0]
call fcn.00441432
add esp, 0x18
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x43de6f
mov eax, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x194]
push edi
push dword [edx + esi*4]
push eax
call fcn.00440482
mov al, byte [ebp - 0x1ac]
add esp, 0xc
mov byte [edi + 0x1b], al
jmp 0x43b697
cmp dword [esi + 0x10], 0xfffffff8
jne 0x43b690
mov eax, 0x80
push eax
push dword [esi + 0xc]
push edi
call fcn.00441841
add esp, 0xc
jmp 0x43b697
xor eax, eax
inc eax
mov word [edi + 0x18], ax
test byte [ebp - 0x154], 0x40
je 0x43b6b4
mov ax, word [edi + 0x18]
mov ecx, 0xfeff
and ax, cx
or ax, 0x60
mov word [edi + 0x18], ax
push edi
call fcn.0044151b
jmp 0x43ba5c
push 0xb
pop eax
jmp 0x43a090
and dword [ebp - 0x190], 0
and dword [ebp - 0x194], 0
xor eax, eax
xor ecx, ecx
cmp dword [esi + 4], eax
push 0xffffffffffffffff
setl al
xor edx, edx
inc edx
mov dword [ebp - 0x1a0], ecx
test eax, eax
mov dword [ebp - 0x1cc], eax
pop eax
cmovne edx, eax
mov eax, dword [esi + 8]
imul edx, dword [esi + 4]
mov dword [ebp - 0x1a4], eax
xor eax, eax
cmp byte [esi], 0x36
mov dword [ebp - 0x198], edx
mov edx, dword [esi + 0xc]
sete al
and dword [ebp - 0x1b0], ecx
mov esi, edi
mov dword [ebp - 0x180], edx
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x198]
shl eax, 6
sub esi, eax
mov dword [ebp - 0x1e4], esi
lea eax, [esi + 0x40]
mov esi, dword [ebp - 0x174]
mov dword [ebp - 0x18c], eax
movzx esi, byte [esi + 0x239]
mov dword [ebp - 0x17c], esi
mov esi, eax
mov dword [ebp - 0x1c0], eax
cmp eax, edi
ja 0x43b7fb
push 0xffffffffffffffe8
pop eax
sub eax, esi
mov dword [ebp - 0x1fc], eax
test edx, edx
je 0x43b790
push dword [ebp - 0x1ac]
add eax, 0x18
add eax, esi
sar eax, 6
movzx eax, byte [eax + edx]
push eax
push esi
call fcn.00439e52
add esp, 0xc
mov eax, dword [ebp - 0x1b0]
push dword [ebp - 0x17c]
xor ecx, ecx
inc ecx
test byte [esi + 0x18], cl
push esi
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
call fcn.004406de
mov esi, eax
push esi
call fcn.004407af
add dword [ebp - 0x194], eax
push 0
push esi
call fcn.0043996a
mov esi, dword [ebp - 0x1c0]
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ebp - 0x180]
add ecx, eax
mov eax, dword [ebp - 0x1fc]
add esi, 0x40
add esp, 0x14
mov dword [ebp - 0x1a0], ecx
mov dword [ebp - 0x1c0], esi
cmp esi, edi
jbe 0x43b770
cmp dword [ebp - 0x184], 0
je 0x43b845
mov esi, dword [ebp - 0x1e4]
push esi
mov dword [ebp - 0x190], esi
call fcn.004414f5
push 0
push esi
call fcn.004406de
mov esi, eax
push esi
call fcn.004407af
add dword [ebp - 0x194], eax
push 0
push esi
call fcn.0043996a
mov ecx, dword [ebp - 0x1a0]
add esp, 0x18
add ecx, eax
mov dword [ebp - 0x1a0], ecx
mov eax, ecx
cdq
push edx
push eax
call fcn.0043996a
mov esi, eax
mov eax, dword [ebp - 0x1a0]
add eax, esi
mov dword [ebp - 0x1a0], eax
cdq
push edx
push eax
call fcn.0043996a
add esp, 0x10
cmp esi, eax
mov esi, dword [ebp - 0x1a0]
jge 0x43b875
inc esi
mov eax, dword [ebp - 0x194]
add eax, esi
mov dword [ebp - 0x1e4], eax
cmp eax, 0x20
jbe 0x43b8a4
push 1
push eax
call fcn.004395e9
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x194], eax
test ecx, ecx
je 0x43e0d5
jmp 0x43b8ad
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x194], ecx
mov eax, esi
cdq
push edx
push eax
push ecx
call fcn.00439627
mov ecx, dword [ebp - 0x18c]
mov esi, eax
add esi, dword [ebp - 0x194]
add esp, 0xc
mov eax, ecx
mov dword [ebp - 0x1a0], ecx
cmp ecx, edi
ja 0x43b902
push dword [ebp - 0x17c]
push eax
call fcn.004406de
push 0
push eax
push esi
call fcn.00439627
add esi, eax
mov eax, dword [ebp - 0x1a0]
add eax, 0x40
add esp, 0x14
mov dword [ebp - 0x1a0], eax
cmp eax, edi
jbe 0x43b8d5
cmp dword [ebp - 0x184], 0
je 0x43b926
push 0
push dword [ebp - 0x190]
call fcn.004406de
push 0
push eax
push esi
call fcn.00439627
add esp, 0x14
add esi, eax
mov eax, dword [ebp - 0x18c]
jmp 0x43b94f
push dword [ebp - 0x17c]
push eax
push esi
call fcn.00440666
add esi, eax
mov eax, dword [ebp - 0x18c]
add esp, 0xc
add eax, 0x40
mov dword [ebp - 0x18c], eax
cmp eax, edi
jbe 0x43b92e
mov eax, dword [ebp - 0x184]
test eax, eax
je 0x43b974
push 0
push dword [ebp - 0x190]
push esi
call fcn.00440666
mov eax, dword [ebp - 0x184]
add esp, 0xc
cmp dword [ebp - 0x1cc], 0
jne 0x43b998
add eax, dword [ebp - 0x198]
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.00439f1d
mov edi, dword [ebp - 0x178]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1e4]
add edi, 0x40
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
mov dword [edi + 0x14], ecx
cmp ecx, 0x20
ja 0x43b9d4
push ecx
lea ecx, [ebp - 0x24]
lea eax, [edi + 0x20]
push ecx
push eax
mov dword [edi + 0x10], eax
call fcn.004baa20
mov eax, 0x210
add esp, 0xc
mov word [edi + 0x18], ax
jmp 0x43b9e8
mov eax, dword [ebp - 0x194]
mov dword [edi + 0x10], eax
push 0x50
pop eax
mov word [edi + 0x18], ax
and dword [edi + 0x1c], 0
mov eax, dword [ebp - 0x1a4]
mov byte [edi + 0x1b], 1
test eax, eax
je case.0x43a0db.13
cmp dword [ebp - 0x1b0], 0
je case.0x43a0db.13
jmp 0x43a0f8
mov ecx, dword [esi + 4]
test ecx, ecx
js case.0x43a0db.13
mov esi, dword [ebp - 0x188]
cmp ecx, dword [esi]
jge case.0x43a0db.13
mov eax, dword [esi + 4]
imul ecx, ecx, 0x18
mov esi, dword [ecx + eax + 4]
test esi, esi
je case.0x43a0db.13
mov eax, dword [ebp - 0x188]
cmp byte [eax + 0x14], 0
jne case.0x43a0db.13
push esi
call fcn.0041982c
pop ecx
test eax, eax
jne case.0x43a0db.13
push esi
call fcn.004187f1
pop ecx
jmp 0x43a090
mov eax, dword [ebp - 0x188]
mov dl, byte [esi + 4]
cmp dword [eax + 0x54], 1
mov dh, byte [esi + 8]
mov byte [ebp - 0x1b1], dl
jle 0x43bab1
test dl, dl
je 0x43bab1
cmp byte [eax + 0x14], 0
jne 0x43bab1
push 0
test dh, dh
push str._transaction___SQL_statements_in_progress
mov eax, str.rollback
mov esi, str.commit
cmove eax, esi
push eax
lea eax, [ecx + 0x230]
push str.cannot
push eax
call fcn.004397bf
add esp, 0x14
jmp 0x43baea
cmp dl, byte [eax + 0x14]
jne 0x43de98
test dh, dh
mov eax, str.cannot_commit___no_transaction_is_active
mov ecx, str.cannot_rollback___no_transaction_is_active
cmove ecx, eax
test dl, dl
mov eax, str.cannot_start_a_transaction_within_a_transaction
cmovne eax, ecx
push 0
push eax
mov eax, dword [ebp - 0x174]
add eax, 0x230
push eax
call fcn.004397bf
add esp, 0xc
xor eax, eax
inc eax
jmp 0x43a090
mov ecx, dword [esi + 4]
mov eax, dword [ebp - 0x188]
imul ecx, ecx, 0x18
mov eax, dword [eax + 4]
mov eax, dword [ecx + eax + 4]
test eax, eax
je case.0x43a0db.13
push dword [esi + 8]
push eax
call fcn.0041882f
pop ecx
pop ecx
push 5
pop esi
mov dword [ebp - 0x170], eax
cmp eax, esi
je 0x43def7
test eax, eax
je 0x43de6f
push 8
pop ecx
cmp eax, ecx
jne 0x43d7eb
jmp 0x43de6f
mov ecx, dword [esi + 4]
lea eax, [ebp - 0x244]
imul ecx, ecx, 0x18
push eax
mov eax, dword [esi + 8]
inc eax
push eax
mov eax, dword [ebp - 0x188]
mov eax, dword [eax + 4]
push dword [ecx + eax + 4]
call fcn.004193df
add esp, 0xc
add edi, 0x40
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
jmp 0x43b04b
mov eax, dword [esi + 4]
mov edx, dword [ebp - 0x188]
imul eax, eax, 0x18
add eax, dword [edx + 4]
push edi
mov dword [ebp - 0x17c], eax
call fcn.004414f5
push dword [edi]
mov eax, dword [esi + 8]
inc eax
push eax
mov eax, dword [ebp - 0x17c]
push dword [eax + 4]
call fcn.0041a1fe
mov edx, dword [ebp - 0x188]
add esp, 0x10
cmp dword [esi + 8], 0
mov dword [ebp - 0x170], eax
jne 0x43bbe2
mov eax, dword [ebp - 0x17c]
push 0x10
mov ecx, dword [eax + 0x14]
mov eax, dword [edi]
mov dword [ecx], eax
pop eax
or dword [edx + 8], eax
jmp 0x43bbf6
cmp dword [esi + 8], 1
jne 0x43bbfc
mov eax, dword [ebp - 0x17c]
mov ecx, dword [eax + 0x14]
mov al, byte [edi]
mov byte [ecx + 0x78], al
mov eax, dword [ebp - 0x170]
sub edi, 0x40
cmp dword [esi + 4], 1
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
jne 0x43de6f
push edx
call fcn.0043f481
jmp 0x43a92c
mov ecx, dword [esi + 4]
mov eax, dword [ebp - 0x188]
imul ecx, ecx, 0x18
mov eax, dword [eax + 4]
mov eax, dword [ecx + eax + 4]
test eax, eax
je 0x43bc57
lea ecx, [ebp - 0x218]
push ecx
push 1
push eax
call fcn.004193df
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x218]
add esp, 0xc
jmp 0x43bc66
and dword [ebp - 0x170], 0
xor eax, eax
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0x170]
test ecx, ecx
jne case.0x43a0db.13
cmp eax, dword [esi + 8]
je case.0x43a0db.13
mov eax, dword [ebp - 0x174]
push ecx
add eax, 0x230
push str.database_schema_has_changed
push eax
call fcn.004397bf
push dword [esi + 4]
mov esi, dword [ebp - 0x188]
push esi
call fcn.0041cca1
push esi
call fcn.0043f481
add esp, 0x18
push 0x11
jmp 0x43b6c1
mov eax, dword [esi + 4]
mov dword [ebp - 0x1cc], eax
mov eax, dword [esi + 8]
push edi
mov dword [ebp - 0x17c], eax
call fcn.004414f5
mov eax, dword [edi]
mov edx, dword [ebp - 0x188]
mov dword [ebp - 0x1a4], eax
imul eax, eax, 0x18
add eax, dword [edx + 4]
sub edi, 0x40
cmp byte [esi], 9
pop ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
mov dword [ebp - 0x1e4], ecx
jne 0x43bd23
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0x174]
mov al, byte [eax + 0x78]
mov dword [ebp - 0x184], 1
cmp al, byte [ecx + 0x239]
jae 0x43bd2a
mov byte [ecx + 0x239], al
jmp 0x43bd2a
and dword [ebp - 0x184], 0
cmp dword [ebp - 0x17c], 0
jg 0x43bd51
push edi
call fcn.004414f5
mov eax, dword [edi]
sub edi, 0x40
pop ecx
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
push dword [ebp - 0x1a4]
push dword [ebp - 0x1cc]
push dword [ebp - 0x174]
call fcn.00439e11
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x190], ecx
test ecx, ecx
je 0x43e0d5
mov eax, dword [ebp - 0x1e4]
mov byte [ecx + 0x1c], 1
test eax, eax
je case.0x43a0db.13
push ecx
push dword [esi + 0xc]
push fcn.004400c0
push dword [ebp - 0x184]
push dword [ebp - 0x17c]
push eax
call fcn.00418de4
mov edx, dword [ebp - 0x190]
add esp, 0x18
cmp dword [esi + 0x10], 0xfffffffa
mov dword [ebp - 0x170], eax
jne 0x43bddf
mov eax, dword [esi + 0xc]
mov dword [edx + 0x4c], eax
mov ecx, dword [edx + 0x4c]
inc eax
mov dword [edx + 0x48], eax
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x79]
mov byte [ecx], al
jmp 0x43bde9
and dword [edx + 0x4c], 0
lea eax, [edx + 0x22]
mov dword [edx + 0x48], eax
mov eax, dword [ebp - 0x170]
test eax, eax
je 0x43be20
cmp eax, 5
je 0x43df11
push 0x10
pop ecx
cmp eax, ecx
jne 0x43d7eb
cmp dword [esi + 0x10], 0xfffffffa
setne al
test al, al
mov byte [edx + 0x20], al
sete al
mov byte [edx + 0x21], al
xor eax, eax
jmp 0x43a090
push dword [edx]
call fcn.00419379
mov edx, eax
pop ecx
test dl, 0xf0
jne 0x43be6d
and eax, 7
cmp eax, 5
je 0x43be3c
cmp eax, 2
jne 0x43be6d
mov ecx, dword [ebp - 0x190]
mov al, dl
shr edx, 1
and al, 1
and dl, 1
mov byte [ecx + 0x20], al
mov byte [ecx + 0x21], dl
test al, al
je 0x43be5b
cmp dword [esi + 0x10], 0xfffffffa
je 0x43be6d
test dl, dl
je case.0x43a0db.13
cmp dword [esi + 0x10], 0xfffffffa
je case.0x43a0db.13
mov dword [ebp - 0x170], 0xb
jmp 0x43d7eb
or eax, 0xffffffff
push eax
push dword [esi + 4]
push ecx
call fcn.00439e11
add esp, 0xc
mov dword [ebp - 0x18c], eax
test eax, eax
je 0x43e0d5
xor ecx, ecx
inc ecx
mov byte [eax + 0x1c], cl
add eax, 0x30
push eax
push 0x1f4
push ecx
push 0
push dword [ebp - 0x188]
mov dword [ebp - 0x184], eax
call fcn.00429c55
add esp, 0x14
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x43bfae
mov eax, dword [ebp - 0x184]
push 1
push dword [eax]
call fcn.0041882f
pop ecx
pop ecx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x43bfae
cmp dword [esi + 0xc], eax
je 0x43bf79
push 2
lea eax, [ebp - 0x238]
push eax
mov eax, dword [ebp - 0x184]
push dword [eax]
call fcn.00418bf1
add esp, 0xc
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x43bf6d
push dword [ebp - 0x18c]
mov eax, dword [ebp - 0x184]
push dword [esi + 0xc]
push fcn.004400c0
push 1
push dword [ebp - 0x238]
push dword [eax]
call fcn.00418de4
mov edx, dword [ebp - 0x18c]
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x174]
mov dword [edx + 0x4c], ecx
mov eax, dword [eax]
add esp, 0x18
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x79]
mov byte [ecx], al
mov eax, dword [edx + 0x4c]
inc eax
mov dword [edx + 0x48], eax
jmp 0x43bf73
mov edx, dword [ebp - 0x18c]
mov byte [edx + 0x20], 0
jmp 0x43bfb4
push dword [ebp - 0x18c]
push eax
push eax
xor eax, eax
inc eax
push eax
push eax
mov eax, dword [ebp - 0x184]
push dword [eax]
call fcn.00418de4
mov edx, dword [ebp - 0x18c]
mov dword [ebp - 0x170], eax
lea eax, [edx + 0x22]
add esp, 0x18
mov byte [edx + 0x20], 1
mov dword [edx + 0x48], eax
jmp 0x43bfb4
mov edx, dword [ebp - 0x18c]
mov eax, dword [esi + 8]
cmp byte [edx + 0x20], 0
mov dword [edx + 0x50], eax
sete al
mov byte [edx + 0x21], al
jmp case.0x43a0db.13
or eax, 0xffffffff
push eax
push dword [esi + 4]
push ecx
call fcn.00439e11
add esp, 0xc
test eax, eax
je 0x43e0d5
xor ecx, ecx
inc ecx
mov byte [eax + 0x1c], cl
mov byte [eax + 0x1e], cl
lea ecx, [eax + 0x22]
mov dword [eax + 0x48], ecx
mov word [eax + 0x20], 1
jmp case.0x43a0db.13
mov esi, dword [esi + 4]
test esi, esi
js case.0x43a0db.13
cmp esi, dword [ecx + 0x38]
jge case.0x43a0db.13
mov eax, dword [ecx + 0x3c]
push dword [eax + esi*4]
push ecx
call fcn.0043f94c
mov eax, dword [ebp - 0x174]
pop ecx
mov eax, dword [eax + 0x3c]
pop ecx
and dword [eax + esi*4], 0
jmp case.0x43a0db.13
mov eax, dword [ebp - 0x174]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x18c], ecx
cmp dword [ecx], 0
je 0x43c1b6
mov byte [ecx + 0x1c], 0
cmp edx, 7
je 0x43c05f
cmp edx, 0x4a
je 0x43c05f
xor edx, edx
jmp 0x43c062
xor edx, edx
inc edx
mov eax, dword [ecx + 0x48]
mov byte [eax], dl
cmp byte [ecx + 0x20], 0
je 0x43c0e4
push edi
call fcn.004414f5
cmp dword [esi + 8], 0
mov edx, dword [edi + 4]
pop ecx
mov ecx, dword [edi]
jne 0x43c099
cmp byte [esi], 0x7d
jne 0x43c099
mov eax, dword [ebp - 0x18c]
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], edx
mov byte [eax + 0x1f], 1
jmp 0x43a50a
lea eax, [ebp - 0x1c8]
push eax
mov eax, dword [ebp - 0x18c]
push edx
push ecx
push 0
push dword [eax]
call fcn.0041997b
add esp, 0x14
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x43d7eb
mov eax, dword [edi]
mov ecx, dword [ebp - 0x18c]
cmp dword [ebp - 0x1c8], 0
mov dword [ecx + 8], eax
mov eax, dword [edi + 4]
mov dword [ecx + 0xc], eax
sete al
mov byte [ecx + 0x19], al
xor edx, edx
jmp 0x43c117
lea eax, [ebp - 0x1c8]
push eax
mov eax, dword [edi + 0x14]
cdq
push edx
push eax
push dword [edi + 0x10]
push dword [ecx]
call fcn.0041997b
add esp, 0x14
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x43d7eb
mov ecx, dword [ebp - 0x18c]
xor edx, edx
mov byte [ecx + 0x19], dl
mov eax, dword [ecx + 0x48]
mov byte [ecx + 0x1f], dl
mov dword [ecx + 0x68], edx
mov byte [eax], dl
mov eax, dword [ebp - 0x1a4]
cmp eax, 0x7d
je 0x43c161
cmp eax, 7
je 0x43c161
cmp dword [ebp - 0x1c8], 0
jl 0x43c14b
lea eax, [ebp - 0x1c8]
push eax
push dword [ecx]
call fcn.00419f08
jmp 0x43c178
push dword [ecx]
call fcn.00419336
pop ecx
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x1c8], eax
jmp 0x43c199
cmp dword [ebp - 0x1c8], 0
jge 0x43c193
lea eax, [ebp - 0x1c8]
push eax
push dword [ecx]
call fcn.00419bcc
pop ecx
pop ecx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x43d7eb
mov ecx, dword [ebp - 0x18c]
mov byte [ecx + 0x19], al
jmp 0x43c199
mov dword [ebp - 0x1c8], edx
cmp dword [ebp - 0x1c8], 0
je 0x43c1b6
mov eax, dword [esi + 8]
test eax, eax
jle 0x43c1b2
dec eax
mov dword [ebp - 0x19c], eax
jmp 0x43c1b6
mov byte [ecx + 0x1c], 1
test byte [edi + 0x18], 0x40
je 0x43a50a
push edi
call fcn.004416a7
jmp 0x43a509
mov eax, dword [ebp - 0x174]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
xor edx, edx
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x17c], eax
cmp dword [eax], edx
je 0x43c245
test byte [edi + 0x18], 0x12
jne 0x43c204
movzx eax, byte [ebp - 0x1ac]
push eax
push edi
call fcn.00441871
pop ecx
pop ecx
test eax, eax
jne 0x43e0d5
lea eax, [ebp - 0x240]
push eax
mov eax, dword [edi + 0x14]
cdq
push edx
push eax
push dword [edi + 0x10]
mov eax, dword [ebp - 0x17c]
push dword [eax]
call fcn.0041997b
add esp, 0x14
test eax, eax
jne 0x43c235
cmp dword [ebp - 0x240], eax
jne 0x43c235
xor edx, edx
inc edx
jmp 0x43c237
xor edx, edx
mov eax, dword [ebp - 0x17c]
and dword [eax + 0x68], 0
mov byte [eax + 0x1f], 0
mov al, byte [esi]
cmp al, 0x85
jne 0x43c251
test edx, edx
je 0x43c25f
jmp 0x43c255
test edx, edx
jne 0x43c25f
mov ecx, dword [esi + 8]
dec ecx
mov dword [ebp - 0x19c], ecx
cmp al, 0x6f
je case.0x43a0db.13
jmp 0x43c1b6
mov esi, dword [esi + 4]
lea eax, [edi - 0x40]
push edi
mov dword [ebp - 0x190], eax
call fcn.004414f5
mov eax, dword [edi]
mov dword [ebp - 0x1a4], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x174]
pop ecx
mov eax, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x190]
mov eax, dword [eax + esi*4]
mov dword [ebp - 0x184], eax
mov eax, dword [eax]
mov edi, ecx
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
mov dword [ebp - 0x17c], eax
test eax, eax
je case.0x43a0db.13
test byte [ecx + 0x18], 0x12
jne 0x43c2e6
movzx eax, byte [ebp - 0x1ac]
push eax
push ecx
call fcn.00441871
pop ecx
pop ecx
test eax, eax
jne 0x43e0d5
mov ecx, edi
mov eax, dword [ecx + 0x10]
mov esi, dword [ecx + 0x14]
push eax
mov dword [ebp - 0x190], eax
call fcn.0043fd4a
sub esi, eax
mov eax, dword [ebp - 0x184]
and dword [eax + 0x68], 0
lea eax, [ebp - 0x1e8]
push eax
mov eax, esi
cdq
push edx
push eax
push dword [ebp - 0x190]
push dword [ebp - 0x17c]
call fcn.0041997b
add esp, 0x18
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x43d7eb
cmp dword [ebp - 0x1e8], eax
jge 0x43c36b
lea eax, [ebp - 0x1e8]
push eax
push dword [ebp - 0x17c]
call fcn.00419bcc
cmp dword [ebp - 0x1e8], 0
pop ecx
pop ecx
mov dword [ebp - 0x170], eax
je 0x43c36b
mov eax, dword [ebp - 0x198]
mov eax, dword [eax + 8]
jmp 0x43a0f8
lea eax, [ebp - 0x1e8]
push eax
push dword [ebp - 0x190]
push esi
push dword [ebp - 0x184]
call fcn.0043fbfa
add esp, 0x10
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x43d7eb
cmp dword [ebp - 0x1e8], eax
jg 0x43c35d
lea eax, [ebp - 0x250]
push eax
push dword [ebp - 0x17c]
call fcn.0043fc89
pop ecx
pop ecx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x43d7eb
mov eax, dword [ebp - 0x250]
cmp eax, dword [ebp - 0x1a4]
jne 0x43c3db
mov ecx, dword [ebp - 0x1cc]
cmp dword [ebp - 0x24c], ecx
je 0x43c35d
add edi, 0x40
mov dword [ebp - 0x180], edi
mov dword [edi], eax
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x178], edi
jmp 0x43a7ff
mov eax, dword [ebp - 0x174]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x1a4], eax
cmp dword [eax], 0
je 0x43c1b6
lea ecx, [ebp - 0x248]
push ecx
push dword [edi + 4]
push dword [edi]
push 0
push dword [eax]
call fcn.0041997b
mov edx, dword [ebp - 0x1a4]
mov ecx, dword [ebp - 0x248]
mov dword [ebp - 0x170], eax
mov eax, dword [edi]
mov dword [edx + 8], eax
mov eax, dword [edi + 4]
add esp, 0x14
test ecx, ecx
mov dword [edx + 0xc], eax
sete al
and dword [edx + 0x68], 0
mov byte [edx + 0x19], al
mov byte [edx + 0x1c], 0
test ecx, ecx
je 0x43c1b6
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 0x19c], eax
mov byte [edx + 0x19], 0
jmp 0x43c1b6
mov edx, dword [esi + 4]
mov eax, dword [ecx + 0x3c]
add edi, 0x40
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x180], edi
mov eax, dword [ecx + 0x58]
mov dword [edi], eax
mov eax, dword [ecx + 0x5c]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x178], edi
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + edx*4]
add dword [eax + 0x58], 1
adc dword [eax + 0x5c], 0
jmp 0x43a802
mov eax, dword [ebp - 0x174]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
xorps xmm0, xmm0
movlpd qword [ebp - 0x1bc], xmm0
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x198], eax
cmp dword [eax], 0
je 0x43c7b5
push dword [eax]
and dword [ebp - 0x17c], 0
call fcn.00419379
and al, 3
pop ecx
cmp al, 1
jne 0x43be6d
mov edx, dword [ebp - 0x198]
cmp byte [edx + 0x1b], 0
jne 0x43c67d
cmp byte [edx + 0x1d], 0
je 0x43c51a
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x1bc], ecx
mov eax, dword [edx + 0x14]
jmp 0x43c59f
lea eax, [ebp - 0x200]
push eax
push dword [edx]
call fcn.00419912
pop ecx
pop ecx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x43d7eb
cmp dword [ebp - 0x200], eax
je 0x43c545
xor ecx, ecx
inc ecx
jmp 0x43c593
lea eax, [ebp - 0x1bc]
push eax
mov eax, dword [ebp - 0x198]
push dword [eax]
call fcn.004198c5
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1bc]
or eax, 0xffffffff
cmp ecx, eax
mov eax, dword [ebp - 0x1b8]
jne 0x43c58d
cmp eax, 0x7fffffff
jne 0x43c58d
mov edx, dword [ebp - 0x198]
mov byte [edx + 0x1b], 1
mov eax, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x1bc]
jmp 0x43c5a5
add ecx, 1
adc eax, 0
mov edx, dword [ebp - 0x198]
mov dword [ebp - 0x1bc], ecx
mov dword [ebp - 0x1b8], eax
mov esi, dword [esi + 8]
test esi, esi
je 0x43c640
mov eax, dword [ebp - 0x174]
shl esi, 6
add esi, dword [eax + 0x58]
push esi
call fcn.004414f5
mov eax, dword [esi]
or edx, 0xffffffff
pop ecx
mov ecx, dword [esi + 4]
cmp eax, edx
jne 0x43c5db
cmp ecx, 0x7fffffff
je 0x43df41
mov edx, dword [ebp - 0x198]
cmp byte [edx + 0x1b], 0
jne 0x43df41
add eax, 1
adc ecx, 0
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x1b8], ecx
jg 0x43c623
jl 0x43c615
mov eax, dword [ebp - 0x1bc]
cmp eax, dword [ebp - 0x190]
jae 0x43c629
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1b8], ecx
jmp 0x43c629
mov eax, dword [ebp - 0x1bc]
mov dword [esi], eax
mov eax, dword [ebp - 0x1b8]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x1bc]
cmp eax, 0x7fffffff
ja 0x43c66f
jb 0x43c650
or eax, 0xffffffff
cmp ecx, eax
jae 0x43c66f
xor eax, eax
inc eax
mov byte [edx + 0x1d], al
mov ecx, dword [ebp - 0x1bc]
add ecx, eax
mov eax, dword [ebp - 0x1b8]
adc eax, 0
mov dword [edx + 0x10], ecx
mov dword [edx + 0x14], eax
jmp 0x43c673
mov byte [edx + 0x1d], 0
cmp byte [edx + 0x1b], 0
je 0x43c7aa
mov eax, dword [ebp - 0x188]
mov edi, dword [ebp - 0x198]
mov ecx, dword [eax + 0x28]
mov esi, dword [eax + 0x2c]
xor edx, edx
mov dword [ebp - 0x1bc], ecx
mov dword [ebp - 0x1b8], esi
mov dword [ebp - 0x184], edx
or ecx, esi
je 0x43c6e9
cmp edx, 2
jg 0x43c6e9
lea eax, [ebp - 0x1d5]
push eax
push 1
call fcn.004327ca
movzx eax, byte [ebp - 0x1d5]
mov esi, dword [ebp - 0x1b8]
inc eax
pop ecx
cdq
pop ecx
mov ecx, dword [ebp - 0x1bc]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x184]
mov dword [ebp - 0x1bc], ecx
mov dword [ebp - 0x1b8], esi
jmp 0x43c728
lea eax, [ebp - 0x1bc]
push eax
push 8
pop eax
push eax
call fcn.004327ca
mov edx, dword [ebp - 0x184]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1bc]
cmp edx, 5
jge 0x43c722
and ecx, 0xffffff
xor esi, esi
mov dword [ebp - 0x1bc], ecx
mov dword [ebp - 0x1b8], esi
jmp 0x43c728
mov esi, dword [ebp - 0x1b8]
mov eax, ecx
or eax, esi
je 0x43c762
lea eax, [ebp - 0x200]
push eax
push esi
push ecx
push 0
push dword [edi]
call fcn.0041997b
mov edx, dword [ebp - 0x184]
mov esi, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x1bc]
add esp, 0x14
inc edx
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x184], edx
mov eax, dword [ebp - 0x200]
cmp edx, 0x3e8
jge 0x43c781
cmp dword [ebp - 0x17c], 0
jne 0x43c781
test eax, eax
je 0x43c6a3
cmp dword [ebp - 0x17c], 0
mov edx, dword [ebp - 0x188]
mov edi, dword [ebp - 0x180]
mov dword [edx + 0x28], ecx
mov dword [edx + 0x2c], esi
jne 0x43c7a4
test eax, eax
je 0x43df41
mov edx, dword [ebp - 0x198]
xor eax, eax
mov byte [edx + 0x19], al
mov byte [edx + 0x1f], al
mov dword [edx + 0x68], eax
mov eax, dword [ebp - 0x1bc]
add edi, 0x40
mov dword [ebp - 0x180], edi
mov dword [edi], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x178], edi
jmp 0x43a7ff
mov edx, dword [ebp - 0x174]
mov ecx, dword [esi + 4]
mov eax, dword [edx + 0x3c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x184], ecx
cmp dword [ecx], 0
jne 0x43c7fb
cmp byte [ecx + 0x1e], 0
je 0x43c97d
test byte [esi + 8], 1
mov eax, dword [edi - 0x40]
mov dword [ebp - 0x190], eax
mov eax, dword [edi - 0x3c]
mov dword [ebp - 0x17c], eax
je 0x43c819
inc dword [edx + 0x23c]
test byte [esi + 8], 2
je 0x43c831
mov eax, dword [edi - 0x40]
mov edx, dword [ebp - 0x188]
mov dword [edx + 0x20], eax
mov eax, dword [edi - 0x3c]
mov dword [edx + 0x24], eax
cmp byte [ecx + 0x1d], 0
je 0x43c84d
mov eax, dword [edi - 0x3c]
cmp eax, dword [ecx + 0x14]
jl 0x43c84d
jg 0x43c849
mov eax, dword [edi - 0x40]
cmp eax, dword [ecx + 0x10]
jb 0x43c84d
mov byte [ecx + 0x1d], 0
test byte [edi + 0x18], 1
je 0x43c85b
and dword [edi + 0x10], 0
and dword [edi + 0x14], 0
cmp byte [ecx + 0x1e], 0
je 0x43c8f5
push dword [ecx + 0x38]
call fcn.004392e1
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x190]
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0x17c]
mov dword [edx + 0x44], eax
mov eax, dword [edi + 0x14]
mov dword [edx + 0x34], eax
test byte [edi + 0x18], 0x40
pop ecx
je 0x43c8a1
mov eax, dword [edi + 0x10]
mov dword [edx + 0x38], eax
xor eax, eax
inc eax
mov word [edi + 0x18], ax
jmp 0x43c8e9
add eax, 2
push 1
push eax
call fcn.004395e9
pop ecx
pop ecx
mov ecx, dword [ebp - 0x184]
mov dword [ecx + 0x38], eax
test eax, eax
je 0x43e0d5
push dword [ecx + 0x34]
push dword [edi + 0x10]
push eax
call fcn.004baa20
mov edx, dword [ebp - 0x184]
add esp, 0xc
mov ecx, dword [edx + 0x34]
mov eax, dword [edx + 0x38]
mov byte [ecx + eax], 0
mov ecx, dword [edx + 0x34]
mov eax, dword [edx + 0x38]
mov byte [ecx + eax + 1], 0
mov eax, dword [ebp - 0x170]
mov byte [edx + 0x1c], 0
jmp 0x43c921
push dword [edi + 0x14]
mov eax, dword [ebp - 0x17c]
push dword [edi + 0x10]
push eax
mov eax, dword [ebp - 0x190]
push eax
push 0
push dword [ecx]
call fcn.00419461
mov edx, dword [ebp - 0x184]
add esp, 0x18
mov dword [ebp - 0x170], eax
and dword [edx + 0x68], 0
mov byte [edx + 0x19], 0
mov byte [edx + 0x1f], 0
test eax, eax
jne 0x43c97d
mov eax, dword [ebp - 0x188]
mov edi, dword [eax + 0x7c]
test edi, edi
je 0x43c97d
cmp dword [esi + 0xc], 0
je 0x43c97d
push dword [ebp - 0x17c]
mov ecx, dword [edx + 4]
push dword [ebp - 0x190]
imul ecx, ecx, 0x18
push dword [esi + 0xc]
mov eax, dword [eax + 4]
push dword [ecx + eax]
push 4
pop eax
test byte [esi + 8], al
push 0x12
pop eax
push 0x17
pop ecx
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0x188]
push dword [eax + 0x78]
call edi
add esp, 0x18
push 2
jmp 0x43de4f
mov edx, dword [ebp - 0x174]
mov ecx, dword [esi + 4]
mov eax, dword [edx + 0x3c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x17c], ecx
mov eax, dword [ecx]
test eax, eax
je 0x43ca79
mov edx, dword [ebp - 0x188]
cmp dword [edx + 0x7c], 0
je 0x43c9f2
cmp dword [esi + 0xc], 0
je 0x43c9f2
cmp byte [ecx + 0x19], 0
je 0x43c9cf
mov eax, dword [ecx + 8]
mov dword [ebp - 0x230], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x22c], eax
jmp 0x43c9f2
lea ecx, [ebp - 0x230]
push ecx
push eax
call fcn.004198c5
pop ecx
pop ecx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x43d7eb
mov ecx, dword [ebp - 0x17c]
push ecx
call fcn.0043f790
pop ecx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x43d7eb
mov eax, dword [ebp - 0x17c]
push dword [eax]
call fcn.00418f76
mov edx, eax
mov eax, dword [ebp - 0x17c]
pop ecx
and dword [eax + 0x68], 0
mov dword [ebp - 0x170], edx
mov byte [eax + 0x1d], 0
test edx, edx
jne 0x43ca73
mov ecx, dword [ebp - 0x188]
mov edx, dword [ecx + 0x7c]
test edx, edx
je 0x43ca73
cmp dword [esi + 0xc], 0
je 0x43ca73
mov ecx, dword [eax + 4]
push dword [ebp - 0x22c]
imul ecx, ecx, 0x18
push dword [ebp - 0x230]
mov eax, dword [ebp - 0x188]
push dword [esi + 0xc]
mov eax, dword [eax + 4]
push dword [ecx + eax]
mov eax, dword [ebp - 0x188]
push 9
push dword [eax + 0x78]
call edx
add esp, 0x18
mov edx, dword [ebp - 0x174]
test byte [esi + 8], 1
mov eax, dword [ebp - 0x170]
je 0x43de6f
inc dword [edx + 0x23c]
jmp 0x43de6f
cmp dword [esi + 4], 0
je 0x43caad
push dword [ecx + 0x23c]
push dword [ebp - 0x188]
call fcn.004407ca
pop ecx
pop ecx
mov eax, dword [ebp - 0x174]
and dword [eax + 0x23c], 0
jmp case.0x43a0db.13
mov eax, dword [ebp - 0x174]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
add edi, 0x40
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x180], edi
cmp byte [esi + 0x1c], 0
mov dword [ebp - 0x178], edi
jne 0x43cbe5
mov eax, dword [esi]
mov dword [ebp - 0x184], eax
test eax, eax
je 0x43cbc2
push esi
call fcn.0043f790
pop ecx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x43d7eb
cmp byte [esi + 0x1c], al
je 0x43cb1d
xor ecx, ecx
inc ecx
mov word [edi + 0x18], cx
jmp 0x43de6f
cmp byte [esi + 0x21], 0
je 0x43cb43
lea eax, [ebp - 0x294]
push eax
push dword [ebp - 0x184]
call fcn.004198c5
mov eax, dword [ebp - 0x294]
mov dword [ebp - 0x1dc], eax
jmp 0x43cb5b
lea eax, [ebp - 0x1dc]
push eax
push dword [ebp - 0x184]
call fcn.00418f32
mov eax, dword [ebp - 0x1dc]
pop ecx
mov dword [edi + 0x14], eax
cmp dword [ebp - 0x1dc], 0x20
pop ecx
ja 0x43cb77
mov eax, 0x210
mov word [edi + 0x18], ax
lea eax, [edi + 0x20]
jmp 0x43cb99
push 1
push dword [ebp - 0x1dc]
call fcn.004395e9
pop ecx
pop ecx
test eax, eax
je 0x43e0d5
push 0x50
pop ecx
mov word [edi + 0x18], cx
and dword [edi + 0x1c], 0
push eax
mov dword [edi + 0x10], eax
cmp byte [esi + 0x21], 0
push dword [ebp - 0x1dc]
push 0
push dword [ebp - 0x184]
je 0x43cbb8
call fcn.00419861
jmp 0x43cbbd
call fcn.00418edc
add esp, 0x10
jmp 0x43cbdd
cmp byte [esi + 0x1e], 0
je 0x43cbe5
mov eax, dword [esi + 0x34]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x38]
mov dword [edi + 0x10], eax
mov eax, pe_nt_image_headers32
mov word [edi + 0x18], ax
xor eax, eax
inc eax
jmp 0x43a2bd
xor eax, eax
inc eax
mov word [edi + 0x18], ax
jmp 0x43a2bd
mov eax, dword [ebp - 0x174]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov esi, dword [eax + ecx*4]
push esi
call fcn.0043f790
pop ecx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x43d7eb
add edi, 0x40
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
cmp byte [esi + 0x19], al
je 0x43cc37
mov ecx, dword [esi + 8]
mov dword [ebp - 0x214], ecx
mov eax, dword [esi + 0xc]
jmp 0x43cc49
cmp byte [esi + 0x1e], 0
je 0x43cc51
mov ecx, dword [esi + 0x40]
mov dword [ebp - 0x214], ecx
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x210], eax
jmp 0x43cc7a
cmp byte [esi + 0x1c], 0
jne 0x43cb11
cmp dword [esi], 0
je 0x43cb11
lea eax, [ebp - 0x214]
push eax
push dword [esi]
call fcn.004198c5
pop ecx
pop ecx
mov ecx, dword [ebp - 0x214]
mov dword [edi], ecx
mov eax, dword [ebp - 0x210]
jmp 0x43a7ff
mov eax, dword [ebp - 0x174]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + ecx*4]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x19], 0
jmp case.0x43a0db.13
mov eax, dword [ebp - 0x174]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x1a4], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x43cd02
lea eax, [ebp - 0x254]
push eax
push ecx
call fcn.00419912
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x254]
and dword [ecx + 0x68], 0
mov byte [ecx + 0x1c], al
mov byte [ecx + 0x1f], 0
test eax, eax
je case.0x43a0db.13
mov eax, dword [esi + 8]
test eax, eax
jle case.0x43a0db.13
jmp 0x43a0f8
mov byte [eax + 0x1c], 0
jmp case.0x43a0db.13
mov eax, dword [ebp - 0x174]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x1a4], ecx
mov eax, dword [ecx]
test eax, eax
je 0x43cd5e
lea ecx, [ebp - 0x1f0]
push ecx
push eax
call fcn.00419347
cmp dword [ebp - 0x1f0], 0
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x170], eax
sete al
and dword [ecx + 0x68], 0
mov byte [ecx + 0x1a], al
mov byte [ecx + 0x1f], 0
mov eax, dword [ebp - 0x1f0]
jmp 0x43cd67
xor eax, eax
inc eax
mov dword [ebp - 0x1f0], eax
mov byte [ecx + 0x1c], al
cmp dword [ebp - 0x1f0], 0
jmp 0x43ccec
mov eax, dword [ebp - 0x188]
cmp dword [eax + 0x98], 0
jne 0x43e07e
mov eax, dword [ebp - 0x174]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x1a4], ecx
mov eax, dword [ecx]
test eax, eax
je 0x43cdfe
cmp byte [ecx + 0x1c], 0
je 0x43cdb6
mov dword [ebp - 0x20c], 1
jmp 0x43ce02
cmp byte [ebp - 0x1b1], 0x6d
lea ecx, [ebp - 0x20c]
push ecx
push eax
jne 0x43cdce
call fcn.00419bcc
jmp 0x43cdd3
call fcn.00419f08
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x20c]
and dword [ecx + 0x68], 0
mov byte [ecx + 0x1c], al
test eax, eax
jne 0x43ce02
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 0x19c], eax
jmp 0x43ce02
mov byte [ecx + 0x1c], 1
mov byte [ecx + 0x19], 0
jmp case.0x43a0db.13
mov eax, dword [ebp - 0x174]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov esi, dword [eax + ecx*4]
cmp dword [esi], 0
je 0x43c1b6
mov eax, dword [edi + 0x14]
push 0
push 0x4e795c
cdq
push edx
push eax
push dword [edi + 0x10]
push dword [esi]
call fcn.00419461
add esp, 0x18
and dword [esi + 0x68], 0
mov dword [ebp - 0x170], eax
jmp 0x43c1b6
mov eax, dword [ebp - 0x174]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x1a4], eax
mov esi, dword [eax]
test esi, esi
je 0x43c1b6
lea eax, [ebp - 0x23c]
push eax
mov eax, dword [edi + 0x14]
cdq
push edx
push eax
push dword [edi + 0x10]
push esi
call fcn.0041997b
mov ecx, eax
add esp, 0x14
mov dword [ebp - 0x170], ecx
test ecx, ecx
jne 0x43cea5
cmp dword [ebp - 0x23c], eax
jne 0x43cea5
push esi
call fcn.00418f76
pop ecx
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x1a4]
and dword [eax + 0x68], 0
jmp 0x43c1b6
mov ecx, dword [esi + 4]
xor eax, eax
add edi, 0x40
inc eax
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x180], edi
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x178], edi
mov eax, dword [eax + ecx*4]
cmp dword [eax], 0
je case.0x43a0db.13
cmp byte [eax + 0x1c], 0
je 0x43cef4
xor ecx, ecx
inc ecx
mov word [edi + 0x18], cx
jmp case.0x43a0db.13
lea ecx, [ebp - 0x26c]
push ecx
push dword [eax]
call fcn.0043fc89
pop ecx
pop ecx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x43d7eb
push 4
pop eax
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0x26c]
mov dword [edi], eax
mov eax, dword [ebp - 0x268]
mov dword [edi + 4], eax
jmp case.0x43a0db.13
mov eax, dword [ebp - 0x174]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x17c], edx
cmp dword [edx], 0
je 0x43c1b6
test byte [edi + 0x18], 0x12
jne 0x43cf71
movzx eax, byte [ebp - 0x1ac]
push eax
push edi
call fcn.00441871
pop ecx
pop ecx
test eax, eax
jne 0x43e0d5
mov edx, dword [ebp - 0x17c]
cmp dword [esi + 0xc], 0
mov eax, dword [edx + 0x48]
setne cl
mov byte [eax], cl
lea eax, [ebp - 0x1ec]
push eax
push dword [edi + 0x10]
push dword [edi + 0x14]
push edx
call fcn.0043fbfa
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x17c]
add esp, 0x10
mov eax, dword [eax + 0x48]
mov byte [eax], 0
mov eax, dword [ebp - 0x170]
test eax, eax
jne 0x43de6f
mov al, byte [esi]
cmp al, 0x26
jne 0x43cfc3
mov eax, dword [ebp - 0x1ec]
neg eax
jmp 0x43cfce
cmp al, 0x3f
mov eax, dword [ebp - 0x1ec]
jne 0x43cfd4
inc eax
mov dword [ebp - 0x1ec], eax
test eax, eax
jle 0x43c1b6
mov eax, dword [esi + 8]
jmp 0x43c1a9
mov edx, dword [ebp - 0x188]
xor ecx, ecx
mov eax, dword [edx + 0x50]
test eax, eax
je 0x43d01f
cmp dword [eax + 0x50], 0xbdf20da3
jne 0x43d00c
cmp byte [eax + 0x23a], 2
jae 0x43d00c
cmp dword [eax + 0x7c], 0
jl 0x43d00c
inc ecx
mov eax, dword [eax + 8]
test eax, eax
jne 0x43cff3
cmp ecx, 1
jle 0x43d01f
push 6
jmp 0x43b6c1
mov ecx, dword [esi + 8]
imul ecx, ecx, 0x18
lea eax, [ebp - 0x208]
push eax
push dword [esi + 4]
mov eax, dword [edx + 4]
push dword [ecx + eax + 4]
call fcn.0041919b
add esp, 0xc
add edi, 0x40
mov dword [ebp - 0x170], eax
push 4
pop eax
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0x208]
cdq
mov dword [edi], eax
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
mov dword [edi + 4], edx
test eax, eax
jne 0x43de6f
cmp dword [ebp - 0x208], eax
je 0x43de6f
mov eax, dword [esi + 8]
push dword [esi + 4]
imul eax, eax, 0x18
mov ecx, dword [ebp - 0x188]
push dword [ebp - 0x208]
add eax, dword [ecx + 4]
push eax
call fcn.0041ce40
jmp 0x43a3a0
mov ecx, dword [esi + 8]
mov eax, dword [ebp - 0x188]
imul ecx, ecx, 0x18
push dword [esi + 4]
mov eax, dword [eax + 4]
push dword [ecx + eax + 4]
call fcn.0041890b
pop ecx
jmp 0x43ba5c
mov ecx, dword [esi + 4]
mov eax, dword [ebp - 0x188]
imul ecx, ecx, 0x18
add ecx, dword [eax + 4]
cmp byte [ebp - 0x1b1], 0x33
push 2
pop eax
push 5
pop edx
cmove eax, edx
push eax
lea eax, [ebp - 0x234]
push eax
push dword [ecx + 4]
call fcn.00418bf1
add edi, 0x40
add esp, 0xc
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
test eax, eax
jne 0x43cb11
mov eax, dword [ebp - 0x234]
jmp 0x43b04b
cmp dword [esi + 8], 0
mov edx, dword [esi + 4]
jne 0x43d143
mov eax, dword [ebp - 0x188]
mov ecx, edx
mov eax, dword [eax + 4]
imul ecx, ecx, 0x18
mov eax, dword [ecx + eax + 0x14]
test byte [eax + 0x7a], 1
je case.0x43a0db.13
push dword [esi + 0xc]
cmp edx, 1
mov eax, str.sqlite_master
mov ecx, str.sqlite_temp_master
cmovne ecx, eax
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x288], edx
imul edx, edx, 0x18
add eax, 0x230
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x188]
push ecx
mov eax, dword [eax + 4]
push dword [edx + eax]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
call fcn.004316ca
mov esi, eax
add esp, 0x10
test esi, esi
je 0x43e0d5
push dword [ebp - 0x188]
call fcn.00439751
mov eax, dword [ebp - 0x188]
push 0
lea ecx, [ebp - 0x28c]
push ecx
push fcn.00430c6f
push esi
push eax
mov byte [eax + 0x44], 1
call fcn.0042952f
push 4
pop ecx
cmp eax, ecx
cmove eax, dword [ebp - 0x280]
push esi
mov dword [ebp - 0x170], eax
call fcn.004392e1
mov eax, dword [ebp - 0x188]
push eax
mov byte [eax + 0x44], 0
call fcn.00439788
mov eax, dword [ebp - 0x170]
add esp, 0x20
cmp eax, 7
jne 0x43de6f
call fcn.0043922d
jmp 0x43e0d5
push dword [esi + 4]
push dword [ebp - 0x188]
call fcn.004142c4
pop ecx
jmp 0x43a92c
push dword [esi + 0xc]
push dword [esi + 4]
push dword [ebp - 0x188]
call fcn.0041d53c
jmp 0x43a3a0
push dword [esi + 0xc]
push dword [esi + 4]
push dword [ebp - 0x188]
call fcn.0041d4c5
jmp 0x43a3a0
push dword [esi + 0xc]
push dword [esi + 4]
push dword [ebp - 0x188]
call fcn.004378b3
jmp 0x43a3a0
xor eax, eax
mov dword [ebp - 0x194], eax
cmp edi, dword [ecx + 0x28]
jb 0x43d2a4
mov ecx, edi
mov esi, eax
push 4
pop eax
test byte [ecx + 0x18], al
je 0x43d292
inc esi
mov eax, esi
shl eax, 6
mov ecx, edi
sub ecx, eax
mov eax, dword [ebp - 0x174]
cmp ecx, dword [eax + 0x28]
jae 0x43d275
mov dword [ebp - 0x194], esi
mov esi, dword [ebp - 0x198]
mov eax, dword [ebp - 0x194]
lea eax, [eax*4 + 4]
push 1
push eax
call fcn.004395e9
pop ecx
pop ecx
mov ecx, dword [ebp - 0x174]
mov dword [ebp - 0x184], eax
test eax, eax
je 0x43e0db
mov eax, dword [esi + 4]
shl eax, 6
add eax, dword [ecx + 0x58]
mov ecx, dword [ebp - 0x194]
xor edx, edx
mov dword [ebp - 0x17c], eax
test ecx, ecx
jle 0x43d2fd
mov esi, dword [ebp - 0x184]
mov eax, dword [edi]
mov dword [esi + edx*4], eax
inc edx
lea edi, [edi - 0x40]
cmp edx, ecx
jl 0x43d2ea
mov esi, dword [ebp - 0x198]
mov eax, dword [ebp - 0x184]
push ecx
and dword [eax + edx*4], 0
lea eax, [ebp - 0x178]
push eax
call fcn.00439f1d
mov ecx, dword [esi + 8]
mov edi, dword [ebp - 0x178]
imul ecx, ecx, 0x18
lea eax, [ebp - 0x228]
push eax
mov eax, dword [ebp - 0x17c]
add edi, 0x40
push dword [eax]
mov eax, dword [ebp - 0x194]
push eax
mov eax, dword [ebp - 0x188]
push dword [ebp - 0x184]
mov eax, dword [eax + 4]
mov dword [ebp - 0x180], edi
push dword [ecx + eax + 4]
mov dword [ebp - 0x178], edi
call fcn.004195fd
mov ecx, dword [ebp - 0x17c]
mov esi, eax
mov eax, dword [ebp - 0x228]
cdq
add esp, 0x1c
sub dword [ecx], eax
sbb dword [ecx + 4], edx
cmp dword [ebp - 0x228], 0
jne 0x43d386
xor eax, eax
inc eax
mov word [edi + 0x18], ax
jmp 0x43d3a1
push esi
mov dword [edi + 0x10], esi
call fcn.004bb070
pop ecx
mov dword [edi + 0x14], eax
push 0x62
pop eax
mov word [edi + 0x18], ax
and dword [edi + 0x1c], 0
xor eax, eax
inc eax
mov byte [edi + 0x1b], al
movzx eax, byte [ebp - 0x1ac]
push eax
push edi
call fcn.00441237
push dword [ebp - 0x184]
call fcn.004392e1
jmp 0x43a3a0
push edi
call fcn.004414f5
push dword [edi + 4]
mov eax, dword [ebp - 0x174]
push dword [edi]
add eax, 0x64
push eax
call fcn.00440dbe
add esp, 0x10
jmp 0x43a50a
mov eax, dword [ebp - 0x188]
cmp dword [eax + 0x98], 0
jne 0x43e07e
lea eax, [ebp - 0x264]
push eax
lea eax, [ecx + 0x64]
push eax
call fcn.00440d6d
pop ecx
pop ecx
cmp eax, 0x65
je 0x43a0f5
mov eax, dword [ebp - 0x264]
add edi, 0x40
mov dword [ebp - 0x180], edi
mov dword [edi], eax
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x178], edi
jmp 0x43a7ff
mov ecx, dword [ecx + 0x70]
mov edx, dword [ebp - 0x174]
lea eax, [ecx + 1]
mov dword [ebp - 0x1a4], ecx
mov dword [edx + 0x70], eax
cmp ecx, dword [edx + 0x74]
jl 0x43d478
mov dword [edx + 0x74], eax
lea eax, [ecx + 1]
imul eax, eax, 0x18
lea esi, [edx + 0x78]
push eax
push esi
call fcn.004396f2
cmp dword [esi], 0
pop ecx
pop ecx
je 0x43e0d5
mov ecx, dword [ebp - 0x1a4]
mov edx, dword [ebp - 0x174]
mov esi, dword [ebp - 0x188]
imul ecx, ecx, 0x18
add ecx, dword [edx + 0x78]
mov eax, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x24]
mov dword [ecx + 4], eax
mov eax, dword [edx + 0x23c]
mov dword [ecx + 8], eax
lea eax, [edx + 0x64]
lea edi, [ecx + 0xc]
mov esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call fcn.00440d59
mov edi, dword [ebp - 0x180]
pop ecx
jmp case.0x43a0db.13
dec dword [ecx + 0x70]
mov esi, dword [ecx + 0x70]
mov edx, dword [ebp - 0x188]
imul esi, esi, 0x18
add esi, dword [ecx + 0x78]
lea edi, [ecx + 0x64]
push edi
mov eax, dword [esi]
mov dword [edx + 0x20], eax
mov eax, dword [esi + 4]
mov dword [edx + 0x24], eax
mov eax, dword [esi + 8]
mov dword [ecx + 0x23c], eax
call fcn.00440d2f
add esi, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x43d4a9
mov eax, dword [esi + 4]
shl eax, 6
add eax, dword [ecx + 0x58]
push edi
push eax
call fcn.00441590
sub edi, 0x40
cmp dword [esi + 8], 0
pop ecx
pop ecx
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
jne 0x43de6f
mov ecx, dword [ebp - 0x174]
mov eax, 0x100
push eax
mov eax, dword [esi + 4]
shl eax, 6
add edi, 0x40
add eax, dword [ecx + 0x58]
jmp 0x43a38d
mov esi, dword [esi + 4]
shl esi, 6
add esi, dword [ecx + 0x58]
push esi
call fcn.004414f5
push edi
call fcn.004414f5
mov eax, dword [edi]
pop ecx
pop ecx
mov ecx, dword [edi + 4]
cmp dword [esi + 4], ecx
jg case.0x43a0db.13
jl 0x43d569
cmp dword [esi], eax
jae case.0x43a0db.13
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp case.0x43a0db.13
mov ecx, dword [esi + 8]
mov eax, dword [ebp - 0x174]
shl ecx, 6
add ecx, dword [eax + 0x58]
mov eax, dword [esi + 4]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x43a0db.13
mov eax, dword [esi + 4]
mov ecx, dword [ecx + 0x58]
shl eax, 6
cmp dword [eax + ecx + 4], 0
jl case.0x43a0db.13
jg 0x43a0f5
cmp dword [eax + ecx], 0
jbe case.0x43a0db.13
jmp 0x43a0f5
mov eax, dword [esi + 4]
mov ecx, dword [ecx + 0x58]
shl eax, 6
cmp dword [eax + ecx + 4], 0
jg case.0x43a0db.13
jl 0x43a0f5
cmp dword [eax + ecx], 0
jae case.0x43a0db.13
jmp 0x43a0f5
mov edx, dword [esi + 4]
mov ecx, dword [ecx + 0x58]
shl edx, 6
mov eax, dword [edx + ecx]
or eax, dword [edx + ecx + 4]
jne case.0x43a0db.13
jmp 0x43a0f5
mov eax, dword [esi + 4]
shl eax, 6
add eax, dword [ecx + 0x58]
push eax
call fcn.00441742
jmp 0x43a92c
mov eax, dword [esi + 4]
cdq
push edx
push eax
mov eax, dword [esi + 8]
shl eax, 6
add eax, dword [ecx + 0x58]
push eax
call fcn.0044171b
jmp 0x43a3a0
mov eax, dword [esi + 8]
shl eax, 6
add eax, dword [ecx + 0x58]
push eax
mov eax, dword [esi + 4]
shl eax, 6
add eax, dword [ecx + 0x58]
push eax
call fcn.00441590
jmp 0x43d0be
mov ecx, dword [esi + 8]
mov eax, ecx
shl eax, 6
sub edi, eax
mov eax, dword [ebp - 0x174]
add edi, 0x40
mov eax, dword [eax + 0x30]
xor edx, edx
mov dword [ebp - 0x17c], ecx
mov dword [ebp - 0x190], eax
test ecx, ecx
jle 0x43d697
mov esi, ecx
push edi
mov dword [eax + edx*4], edi
call fcn.00439ddc
mov eax, dword [ebp - 0x190]
inc edx
add edi, 0x40
pop ecx
cmp edx, esi
jl 0x43d673
mov esi, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x17c]
mov eax, dword [esi + 0xc]
mov edi, dword [ebp - 0x174]
mov dword [ebp - 0x12c], eax
mov eax, dword [esi + 4]
shl eax, 6
add eax, dword [edi + 0x58]
mov dword [ebp - 0xe4], eax
inc dword [eax + 0x14]
mov edx, dword [ebp - 0x12c]
xor eax, eax
inc eax
mov word [ebp - 0x10c], ax
xor eax, eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x108], eax
mov byte [ebp - 0xe0], al
mov dword [ebp - 0xdc], eax
cmp byte [edx + 3], al
je 0x43d6f0
mov eax, dword [esi - 8]
mov dword [ebp - 0xdc], eax
push dword [ebp - 0x190]
lea eax, [ebp - 0x12c]
push ecx
push eax
call dword [edx + 0x14]
push dword [ebp - 0x17c]
lea eax, [ebp - 0x178]
push eax
call fcn.00439f1d
add esp, 0x14
cmp byte [ebp - 0xe0], 0
je 0x43d748
lea eax, [ebp - 0x124]
push 0
push eax
call fcn.0043eeff
pop ecx
push eax
lea eax, [edi + 0x230]
push eax
call fcn.004397bf
add esp, 0xc
mov dword [ebp - 0x170], 1
lea eax, [ebp - 0x124]
push eax
call fcn.004416a7
jmp 0x43de5c
mov eax, dword [esi + 4]
push dword [esi + 0xc]
shl eax, 6
add eax, dword [ecx + 0x58]
push eax
mov dword [ebp - 0x1a4], eax
call fcn.004413a4
pop ecx
pop ecx
mov dword [ebp - 0x170], eax
cmp eax, 1
jne 0x43de6f
push 0
push dword [ebp - 0x1a4]
call fcn.0043eeff
pop ecx
push eax
mov eax, dword [ebp - 0x174]
add eax, 0x230
push eax
call fcn.004397bf
jmp 0x43a3a0
mov esi, dword [ebp - 0x188]
push esi
call fcn.00439751
pop ecx
test eax, eax
jne 0x43d7e1
mov eax, dword [ebp - 0x174]
add eax, 0x230
push esi
push eax
call fcn.00439aed
push esi
mov dword [ebp - 0x170], eax
call fcn.00439788
add esp, 0xc
test eax, eax
je case.0x43a0db.13
mov dword [ebp - 0x170], 0x15
mov eax, dword [ebp - 0x174]
lea esi, [eax + 0x230]
cmp dword [esi], 0
jne 0x43e0c0
call fcn.004395cb
mov ecx, dword [ebp - 0x170]
push 7
test eax, eax
pop eax
cmovne ecx, eax
push 0
push ecx
mov dword [ebp - 0x170], ecx
call fcn.00429e15
pop ecx
push eax
push esi
jmp 0x43e0b2
cmp dword [esi + 4], 0
jne 0x43d83a
push dword [ebp - 0x188]
jmp 0x43bc16
mov byte [ecx + 0x238], 1
jmp case.0x43a0db.13
mov ecx, dword [esi + 4]
test ecx, ecx
sets al
mov byte [ebp - 0x1f8], al
test al, al
je 0x43d85f
or eax, 0xffffffff
sub eax, ecx
mov ecx, eax
push dword [ebp - 0x1f8]
imul ecx, ecx, 0x18
mov eax, dword [ebp - 0x188]
push dword [esi + 8]
mov eax, dword [eax + 4]
push dword [ecx + eax + 4]
call fcn.00419944
add esp, 0xc
mov dword [ebp - 0x170], eax
cmp eax, 6
jne 0x43de6f
mov eax, dword [ebp - 0x174]
push 0
push dword [esi + 0xc]
add eax, 0x230
push str.database_table_is_locked:
push eax
call fcn.004397bf
jmp 0x43a1e6
push dword [esi + 0xc]
push dword [ebp - 0x188]
call fcn.00441b32
jmp 0x43d0be
lea eax, [ecx + 0x230]
push eax
push dword [esi + 0xc]
push dword [esi + 4]
push dword [ebp - 0x188]
call fcn.00441ced
add esp, 0x10
jmp 0x43a090
mov byte [ecx + 0x23a], 2
push dword [esi + 0xc]
push dword [esi + 4]
push dword [ebp - 0x188]
call fcn.00441d5c
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x174]
add esp, 0xc
mov byte [eax + 0x23a], 0
jmp case.0x43a0db.13
mov eax, dword [esi + 0xc]
and dword [ebp - 0x1e0], 0
push dword [ebp - 0x188]
mov dword [ebp - 0x17c], eax
mov eax, dword [eax]
mov dword [ebp - 0x190], eax
call fcn.00439751
pop ecx
test eax, eax
jne 0x43d7e1
lea eax, [ebp - 0x1e0]
push eax
push dword [ebp - 0x17c]
mov eax, dword [ebp - 0x190]
call dword [eax + 0x18]
push dword [ebp - 0x188]
mov dword [ebp - 0x170], eax
call fcn.00439788
add esp, 0xc
test eax, eax
jne 0x43d7e1
mov eax, dword [ebp - 0x170]
test eax, eax
jne 0x43de6f
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x17c]
mov dword [eax], ecx
or eax, 0xffffffff
push eax
push dword [esi + 4]
push dword [ebp - 0x174]
call fcn.00439e11
add esp, 0xc
test eax, eax
je 0x43d9c3
mov ecx, dword [ebp - 0x1e0]
mov dword [eax + 0x60], ecx
mov ecx, dword [ebp - 0x1e0]
mov ecx, dword [ecx]
mov ecx, dword [ecx]
mov dword [eax + 0x64], ecx
jmp case.0x43a0db.13
push dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x190]
call dword [eax + 0x1c]
jmp 0x43a92c
mov edx, dword [ebp - 0x174]
mov ecx, dword [esi + 4]
mov eax, dword [edx + 0x3c]
and dword [ebp - 0x18c], 0
mov eax, dword [eax + ecx*4]
mov ecx, dword [edx + 0x30]
and dword [ebp - 0x1a4], 0
mov dword [ebp - 0x184], eax
mov eax, dword [eax + 0x60]
mov dword [ebp - 0x190], ecx
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x194], eax
mov eax, dword [edi - 0x40]
mov dword [ebp - 0x17c], eax
test eax, eax
jle 0x43da55
mov esi, dword [ebp - 0x1a4]
inc eax
mov edx, edi
mov edi, dword [ebp - 0x17c]
shl eax, 6
sub edx, eax
push edx
mov dword [ecx + esi*4], edx
call fcn.00439ddc
inc esi
add edx, 0x40
pop ecx
mov ecx, dword [ebp - 0x190]
cmp esi, edi
jl 0x43da31
mov edi, dword [ebp - 0x180]
mov esi, dword [ebp - 0x198]
push dword [ebp - 0x188]
call fcn.00439751
pop ecx
test eax, eax
jne 0x43d7e1
push dword [ebp - 0x190]
mov eax, dword [ebp - 0x174]
push dword [ebp - 0x17c]
mov byte [eax + 0x23a], 1
push dword [esi + 0xc]
mov eax, dword [ebp - 0x184]
push dword [edi]
push dword [eax + 0x60]
mov eax, dword [ebp - 0x194]
call dword [eax + 0x20]
mov ecx, eax
mov eax, dword [ebp - 0x174]
add esp, 0x14
mov dword [ebp - 0x170], ecx
mov byte [eax + 0x23a], 0
test ecx, ecx
jne 0x43dace
mov eax, dword [ebp - 0x184]
push dword [eax + 0x60]
mov eax, dword [ebp - 0x194]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0x18c], eax
push dword [ebp - 0x188]
call fcn.00439788
pop ecx
test eax, eax
jne 0x43d7e1
cmp dword [ebp - 0x18c], eax
je 0x43daf4
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x17c]
add eax, 2
push eax
jmp 0x43de4f
mov edx, dword [ebp - 0x174]
mov ecx, dword [esi + 4]
mov eax, dword [edx + 0x3c]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x1a4], eax
cmp dword [eax + 0x30], 0
jne 0x43db37
push 0
push str.Unsupported_module_operation:_xRowid
lea eax, [edx + 0x230]
jmp 0x43bae1
push dword [ebp - 0x188]
call fcn.00439751
pop ecx
test eax, eax
jne 0x43d7e1
lea eax, [ebp - 0x25c]
push eax
push dword [esi + 0x60]
mov eax, dword [ebp - 0x1a4]
call dword [eax + 0x30]
push dword [ebp - 0x188]
mov dword [ebp - 0x170], eax
call fcn.00439788
add esp, 0xc
test eax, eax
jne 0x43d7e1
add edi, 0x40
push 4
pop eax
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0x25c]
mov dword [edi], eax
mov eax, dword [ebp - 0x258]
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
jmp 0x43cf27
mov edx, dword [ebp - 0x174]
mov ecx, dword [esi + 4]
mov eax, dword [edx + 0x3c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x1a4], eax
mov eax, dword [eax + 0x60]
xor ecx, ecx
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x1cc], eax
cmp dword [eax + 0x2c], ecx
jne 0x43dbd7
push ecx
push str.Unsupported_module_operation:_xColumn
jmp 0x43db2c
push 0x58
push ecx
lea eax, [ebp - 0x7c]
push eax
call fcn.004bc640
push dword [ebp - 0x188]
xor eax, eax
inc eax
mov word [ebp - 0x5c], ax
call fcn.00439751
add esp, 0x10
test eax, eax
jne 0x43d7e1
push dword [esi + 8]
lea eax, [ebp - 0x7c]
push eax
mov eax, dword [ebp - 0x1a4]
push dword [eax + 0x60]
mov eax, dword [ebp - 0x1cc]
call dword [eax + 0x2c]
mov dword [ebp - 0x170], eax
movzx eax, byte [ebp - 0x1ac]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00441237
add edi, 0x40
xor eax, eax
mov word [edi + 0x18], ax
lea eax, [ebp - 0x74]
push eax
push edi
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
call fcn.00441590
push dword [ebp - 0x188]
call fcn.00439788
add esp, 0x20
jmp 0x43d7d9
mov edx, dword [ebp - 0x174]
mov ecx, dword [esi + 4]
mov eax, dword [edx + 0x3c]
and dword [ebp - 0x184], 0
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x17c], eax
mov eax, dword [eax + 0x60]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x190], eax
cmp dword [eax + 0x24], 0
jne 0x43dc9d
push 0
push str.Unsupported_module_operation:_xNext
jmp 0x43db2c
push dword [ebp - 0x188]
call fcn.00439751
pop ecx
test eax, eax
jne 0x43d7e1
mov eax, dword [ebp - 0x174]
mov byte [eax + 0x23a], 1
mov eax, dword [ebp - 0x17c]
push dword [eax + 0x60]
mov eax, dword [ebp - 0x190]
call dword [eax + 0x24]
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x170], ecx
mov byte [eax + 0x23a], 0
test ecx, ecx
jne 0x43dd03
mov eax, dword [ebp - 0x17c]
push dword [eax + 0x60]
mov eax, dword [ebp - 0x190]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0x184], eax
push dword [ebp - 0x188]
call fcn.00439788
pop ecx
test eax, eax
jne 0x43d7e1
cmp dword [ebp - 0x184], eax
jmp 0x43d5f2
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov dword [ebp - 0x17c], eax
mov eax, dword [eax]
mov dword [ebp - 0x1cc], eax
cmp dword [eax + 0x34], 0
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x190], ecx
jne 0x43dd6c
push 0
add eax, 0x230
push str.read_only_table
push eax
call fcn.004397bf
add esp, 0xc
mov dword [ebp - 0x170], 1
jmp 0x43de49
mov eax, dword [eax + 0x30]
and dword [ebp - 0x1a4], 0
mov dword [ebp - 0x184], eax
mov eax, ecx
shl eax, 6
mov edx, edi
sub edx, eax
add edx, 0x40
test ecx, ecx
jle 0x43ddbc
mov esi, dword [ebp - 0x1a4]
mov edi, dword [ebp - 0x190]
push edx
call fcn.00439ddc
mov eax, dword [ebp - 0x184]
pop ecx
mov dword [eax + esi*4], edx
inc esi
add edx, 0x40
cmp esi, edi
jl 0x43dd98
mov edi, dword [ebp - 0x180]
mov esi, dword [ebp - 0x198]
push dword [ebp - 0x188]
call fcn.00439751
pop ecx
test eax, eax
jne 0x43d7e1
push dword [ebp - 0x17c]
call fcn.00441f85
lea eax, [ebp - 0x27c]
push eax
push dword [ebp - 0x184]
mov eax, dword [ebp - 0x1cc]
push dword [ebp - 0x190]
push dword [ebp - 0x17c]
call dword [eax + 0x34]
push dword [ebp - 0x17c]
mov dword [ebp - 0x170], eax
call fcn.004420e9
push dword [ebp - 0x188]
call fcn.00439788
add esp, 0x1c
test eax, eax
jne 0x43d7e1
cmp dword [esi + 4], eax
je 0x43de49
cmp dword [ebp - 0x170], eax
jne 0x43de49
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x27c]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0x278]
mov dword [ecx + 0x24], eax
push dword [ebp - 0x190]
lea eax, [ebp - 0x178]
push eax
call fcn.00439f1d
pop ecx
pop ecx
mov edi, dword [ebp - 0x178]
mov dword [ebp - 0x180], edi
mov eax, dword [ebp - 0x170]
mov esi, dword [ebp - 0x19c]
inc esi
mov dword [ebp - 0x19c], esi
test eax, eax
je 0x43a01d
jmp 0x43e0ba
mov dword [ebp - 0x170], 0x14
jmp 0x43d7eb
cmp dword [esi + 8], 0
je 0x43deb7
push eax
call fcn.00429f8e
mov eax, dword [ebp - 0x188]
pop ecx
mov byte [eax + 0x14], 1
push 0x65
pop eax
jmp 0x43e121
push ecx
mov byte [eax + 0x14], dl
call fcn.0043f9e7
pop ecx
push 5
pop esi
cmp eax, esi
jne 0x43deaf
mov eax, dword [ebp - 0x174]
mov edx, dword [ebp - 0x19c]
xor ecx, ecx
mov dword [eax + 0x7c], edx
mov edx, dword [ebp - 0x188]
inc ecx
sub cl, byte [ebp - 0x1b1]
mov dword [eax + 0x2c], edi
mov byte [edx + 0x14], cl
mov dword [eax + 0x80], esi
jmp 0x43e11f
mov ecx, dword [ebp - 0x174]
mov edx, dword [ebp - 0x19c]
mov dword [ecx + 0x7c], edx
mov dword [ecx + 0x80], esi
jmp 0x43e11c
mov ecx, dword [ebp - 0x174]
mov edx, dword [ebp - 0x19c]
xor eax, eax
mov dword [ecx + 0x7c], edx
push 5
pop edx
mov dword [ecx + 0x80], edx
cmp dword [esi + 8], eax
setle al
inc eax
shl eax, 6
add eax, edi
mov dword [ecx + 0x2c], eax
mov eax, edx
jmp 0x43e121
mov dword [ebp - 0x170], 0xd
jmp 0x43d7eb
mov edx, dword [ebp - 0x19c]
mov dword [ecx + 0x2c], edi
mov eax, dword [esi + 4]
mov dword [ecx + 0x80], eax
mov dword [ecx + 0x7c], edx
mov eax, dword [esi + 8]
mov dword [ecx + 0x88], eax
cmp dword [esi + 0xc], 0
je 0x43df8e
push 0
push dword [esi + 0xc]
lea eax, [ecx + 0x230]
push eax
call fcn.004397bf
mov ecx, dword [ebp - 0x174]
add esp, 0xc
push ecx
call fcn.0043f9e7
pop ecx
push 5
pop ecx
cmp eax, ecx
mov eax, dword [ebp - 0x174]
jne 0x43dfaa
mov dword [eax + 0x80], ecx
jmp 0x43dfba
cmp dword [eax + 0x80], 0
push 1
pop eax
push 0x65
pop ecx
cmovne ecx, eax
mov eax, ecx
jmp 0x43e121
mov eax, dword [esi + 4]
shl eax, 6
mov ecx, edi
sub ecx, eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x1f8], ecx
mov edx, dword [eax + 0x28]
mov dword [ebp - 0x184], edx
cmp edx, ecx
jae 0x43e01c
mov eax, 0x100
test word [edx + 0x18], ax
je 0x43e00f
push edx
call fcn.0044151b
pop ecx
test eax, eax
jne 0x43e0d5
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x1f8]
mov eax, 0x100
add edx, 0x40
mov dword [ebp - 0x184], edx
cmp edx, ecx
jb 0x43dfe9
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + 0x60]
add eax, 2
or eax, 1
mov dword [ecx + 0x60], eax
cmp edx, edi
ja 0x43e059
push edx
call fcn.004415e7
mov edx, dword [ebp - 0x184]
push edx
call fcn.00439ddc
add edx, 0x40
pop ecx
pop ecx
mov dword [ebp - 0x184], edx
cmp edx, edi
jbe 0x43e032
mov ecx, dword [ebp - 0x174]
inc dword [ecx + 0x5c]
mov byte [ecx + 0x234], 1
mov eax, dword [esi + 4]
mov dword [ecx + 0x22c], eax
mov eax, dword [ebp - 0x19c]
inc eax
push 0x64
mov dword [ecx + 0x7c], eax
pop esi
jmp 0x43e11c
mov esi, eax
cmp dword [esi + 0x30], 0xf03b7906
push 9
pop eax
push 0x15
pop edx
cmovne eax, edx
push 0
push eax
mov dword [ebp - 0x170], eax
mov dword [ecx + 0x80], eax
call fcn.00429e15
pop ecx
push eax
mov eax, dword [ebp - 0x174]
add eax, 0x230
push eax
call fcn.004397bf
add esp, 0xc
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x170]
test ecx, ecx
jne 0x43e106
push 0x65
pop esi
jmp 0x43e10f
mov edi, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x174]
push 0
lea eax, [ecx + 0x230]
push 0x4e8d04
push eax
call fcn.004397bf
add esp, 0xc
push 7
pop eax
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x170]
xor esi, esi
mov dword [eax + 0x80], ecx
inc esi
push eax
call fcn.0043f9e7
pop ecx
mov ecx, dword [ebp - 0x174]
mov dword [ecx + 0x2c], edi
mov eax, esi
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.004bb744
leave
ret