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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2dc
mov eax, dword [0x540698]
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 0x43d261
push 0x15
pop eax
jmp 0x4413e2
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 0x44139b
mov eax, dword [ecx + 0x22c]
and dword [ecx + 0x80], 0
test eax, eax
je 0x43d2b9
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.0043d1dd
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 0x441340
mov esi, dword [ecx + 0x7c]
mov dword [ebp - 0x19c], esi
call fcn.0043c88b
mov ecx, dword [ebp - 0x174]
test eax, eax
jne 0x44139b
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 0x43d37c
mov edx, dword [ebp - 0x1f4]
cmp dword [eax + 0xb0], edx
jne 0x43d376
push eax
call fcn.0043ca11
pop ecx
test eax, eax
jne 0x440aa1
mov eax, dword [ebp - 0x188]
push dword [eax + 0xac]
call dword [eax + 0xa8]
pop ecx
push dword [ebp - 0x188]
test eax, eax
je 0x43d35b
call fcn.0043ca48
pop ecx
push 4
pop edx
mov eax, edx
mov dword [ebp - 0x170], eax
jmp 0x44112f
and dword [ebp - 0x1f4], 0
call fcn.0043ca48
pop ecx
test eax, eax
jne 0x440aa1
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.0x43d39b.13
jmp dword [eax*4 + 0x4413f2]
mov eax, dword [ebp - 0x188]
cmp dword [eax + 0x98], 0
jne 0x44133e
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 0x19c], eax
jmp case.0x43d39b.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 0x43d3b5
dec dword [ecx + 0x220]
mov eax, dword [ecx + 0x220]
mov eax, dword [ecx + eax*4 + 0x90]
jmp 0x43d3b8
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 0x441123
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.004c22f0
mov dword [edi + 0x14], eax
push edi
mov byte [edi + 0x1b], 1
call fcn.00444527
pop ecx
pop ecx
mov dword [edi], eax
push 4
pop eax
mov dword [edi + 4], edx
or word [edi + 0x18], ax
jmp case.0x43d39b.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.004c22f0
mov dword [edi + 0x14], eax
push edi
mov byte [edi + 0x1b], 1
call fcn.00444b9f
fstp qword [edi + 8]
push 8
pop eax
or word [edi + 0x18], ax
movzx eax, byte [ebp - 0x1ac]
push eax
push edi
call fcn.00444501
add esp, 0x10
jmp case.0x43d39b.13
push dword [esi + 0xc]
mov byte [esi], 0x1a
call fcn.004c22f0
mov dword [esi + 4], eax
xor eax, eax
inc eax
pop ecx
cmp byte [ebp - 0x1ac], al
je case.0x43d39b.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.00444a2c
movzx eax, byte [ebp - 0x1ac]
push eax
push edi
call fcn.00444501
add esp, 0x1c
test eax, eax
jne 0x441395
push edi
call fcn.0044460c
pop ecx
test eax, eax
jne 0x441395
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 0x43d53f
push dword [esi + 0xc]
call fcn.0043c5a1
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.0x43d39b.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.0x43d39b.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 0x441123
push dword [esi + 0xc]
mov byte [esi], 0x7a
call fcn.004c22f0
shr eax, 1
pop ecx
mov dword [esi + 4], eax
je 0x43d5ea
push dword [esi + 0xc]
call fcn.0043c703
pop ecx
mov dword [ebp - 0x17c], eax
test eax, eax
je 0x441395
or ecx, 0xffffffff
cmp dword [esi + 0x10], ecx
jne 0x43d5df
push dword [esi + 0xc]
call fcn.0043c5a1
mov eax, dword [ebp - 0x17c]
pop ecx
mov dword [esi + 0xc], eax
or eax, 0xffffffff
mov dword [esi + 0x10], eax
jmp case.0x43d39b.122
or eax, 0xffffffff
cmp dword [esi + 0x10], eax
jne 0x43d5fb
push dword [esi + 0xc]
call fcn.0043c5a1
pop ecx
mov dword [esi + 0x10], 0xfffffffe
mov dword [esi + 0xc], 0x4f6a98
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.00444a2c
add esp, 0x14
jmp case.0x43d39b.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.00444b0b
add esp, 0xc
jmp case.0x43d39b.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.00444b0b
add esp, 0xc
cmp dword [esi + 8], 0
je case.0x43d39b.13
mov eax, 0x100
test word [edi + 0x18], ax
je case.0x43d39b.13
push edi
call fcn.004447e5
pop ecx
test eax, eax
jne 0x441395
jmp case.0x43d39b.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 0x43d702
push edi
call fcn.004447e5
pop ecx
test eax, eax
jne 0x441395
mov ecx, 0x100
mov edx, dword [ebp - 0x198]
xor eax, eax
mov dword [ebp - 0x184], eax
cmp dword [edx + 4], eax
jle 0x43d78a
mov esi, dword [ebp - 0x17c]
add esi, 0x40
mov dword [ebp - 0x17c], esi
test word [esi + 0x18], cx
je 0x43d745
push esi
call fcn.004447e5
pop ecx
test eax, eax
jne 0x44138f
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 0x43d76a
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 0x43d724
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.0x43d39b.13
lea eax, [edi + 0x20]
mov dword [edi + 0x10], eax
jmp case.0x43d39b.13
mov ecx, dword [esi + 4]
shl ecx, 6
mov eax, edi
sub eax, ecx
push edi
push eax
call fcn.0044485a
pop ecx
pop ecx
sub edi, 0x40
mov dword [ebp - 0x178], edi
jmp 0x441123
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 0x43d8bb
movzx edx, word [ecx + 0x18]
mov dword [ebp - 0x18c], edx
test dl, 1
mov edx, dword [ebp - 0x194]
jne 0x43d87e
test byte [ebp - 0x18c], 0x12
jne 0x43d85c
movzx eax, byte [ebp - 0x1ac]
push eax
push ecx
call fcn.00444b3b
pop ecx
pop ecx
test eax, eax
jne 0x441395
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 0x43d814
jmp 0x43d881
or eax, 0xffffffff
test eax, eax
jns 0x43d8bb
cmp dword [esi + 8], 0
jne 0x43d8a0
push edx
lea eax, [ebp - 0x178]
push eax
call fcn.0043d1dd
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.0x43d39b.13
add eax, 2
push 1
push eax
call fcn.0043c8a9
mov edx, eax
pop ecx
pop ecx
mov dword [ebp - 0x184], edx
test edx, edx
je 0x441395
mov ecx, dword [ebp - 0x194]
xor eax, eax
mov dword [ebp - 0x18c], eax
test ecx, ecx
jle 0x43d954
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.004c1ca0
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 0x43d905
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 0x43d981
push ecx
lea eax, [ebp - 0x178]
push eax
call fcn.0043d1dd
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 0x441123
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 0x43da0a
test al, 0x40
je 0x43d9e2
push edi
call fcn.00444971
pop ecx
mov edi, dword [ebp - 0x18c]
mov dword [ebp - 0x180], edi
test byte [edi + 0x18], 0x40
mov dword [ebp - 0x178], edi
je 0x43d8af
push edi
call fcn.00444971
pop ecx
jmp 0x43d8af
and cl, al
push 4
pop eax
test al, cl
je 0x43daca
mov eax, dword [ebp - 0x18c]
mov esi, dword [eax]
mov ecx, dword [eax + 4]
sub edx, 0x4f
je 0x43da7d
dec edx
je 0x43da76
dec edx
je 0x43da60
mov eax, dword [edi]
dec edx
je 0x43da49
or eax, dword [edi + 4]
je 0x43db47
push dword [edi + 4]
push dword [edi]
push ecx
push esi
call fcn.004c9eb0
jmp 0x43da6c
or eax, dword [edi + 4]
je 0x43db47
push dword [edi + 4]
push dword [edi]
push ecx
push esi
call fcn.004c96d0
jmp 0x43da6c
push dword [edi + 4]
push dword [edi]
push ecx
push esi
call fcn.004c9310
mov esi, eax
mov dword [ebp - 0x1b0], edx
jmp 0x43da88
sub esi, dword [edi]
sbb ecx, dword [edi + 4]
jmp 0x43da82
add esi, dword [edi]
adc ecx, dword [edi + 4]
mov dword [ebp - 0x1b0], ecx
movzx ecx, word [edi + 0x18]
test cl, 0x40
je 0x43da98
push edi
call fcn.00444971
pop ecx
mov edi, dword [ebp - 0x18c]
mov dword [ebp - 0x180], edi
test byte [edi + 0x18], 0x40
mov dword [ebp - 0x178], edi
je 0x43dab7
push edi
call fcn.00444971
pop ecx
mov eax, dword [ebp - 0x1b0]
mov dword [edi], esi
mov dword [edi + 4], eax
push 4
pop eax
jmp 0x43d8b2
push edi
call fcn.00444b9f
fstp qword [ebp - 0x1d0]
push dword [ebp - 0x18c]
call fcn.00444b9f
fstp qword [ebp - 0x1a8]
movzx eax, byte [esi]
pop ecx
pop ecx
sub eax, 0x4f
je 0x43db82
dec eax
je 0x43db70
dec eax
je 0x43db5e
dec eax
je 0x43db31
cvttsd2si ecx, qword [ebp - 0x1d0]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm0, qword [0x4fe7c0]
lahf
test ah, 0x44
jnp 0x43db47
cvttsd2si eax, qword [ebp - 0x1a8]
cdq
idiv ecx
movd xmm0, edx
cvtdq2pd xmm0, xmm0
jmp 0x43db92
movsd xmm1, qword [ebp - 0x1d0]
ucomisd xmm1, qword [0x4fe7c0]
lahf
test ah, 0x44
jp 0x43db50
test byte [edi + 0x18], 0x40
jmp 0x43d9d9
movsd xmm0, qword [ebp - 0x1a8]
divsd xmm0, xmm1
jmp 0x43db92
movsd xmm0, qword [ebp - 0x1a8]
mulsd xmm0, qword [ebp - 0x1d0]
jmp 0x43db92
movsd xmm0, qword [ebp - 0x1a8]
subsd xmm0, qword [ebp - 0x1d0]
jmp 0x43db92
movsd xmm0, qword [ebp - 0x1a8]
addsd xmm0, qword [ebp - 0x1d0]
test byte [edi + 0x18], 0x40
movsd qword [ebp - 0x1a8], xmm0
je 0x43dba7
push edi
call fcn.00444971
pop ecx
mov edi, dword [ebp - 0x18c]
mov dword [ebp - 0x180], edi
test byte [edi + 0x18], 0x40
mov dword [ebp - 0x178], edi
je 0x43dbc6
push edi
call fcn.00444971
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.0x43d39b.13
push edi
call fcn.00444587
pop ecx
jmp case.0x43d39b.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 0x43dc4d
mov esi, dword [ebp - 0x190]
mov edi, ecx
mov eax, dword [ebp - 0x17c]
push edx
mov dword [eax + esi*4], edx
call fcn.0043d09c
inc esi
add edx, 0x40
pop ecx
cmp esi, edi
jl 0x43dc29
mov edi, dword [ebp - 0x180]
mov esi, dword [ebp - 0x198]
cmp dword [esi + 0x10], 0xfffffffb
mov eax, dword [esi + 0xc]
jne 0x43dc5f
and dword [ebp - 0xd0], 0
jmp 0x43dc67
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 0x43dc99
mov eax, dword [esi - 8]
mov dword [ebp - 0x84], eax
push dword [ebp - 0x188]
call fcn.0043ca11
pop ecx
test eax, eax
jne 0x440aa1
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.0043ca48
add esp, 0x10
test eax, eax
jne 0x440aa1
call fcn.0043c88b
test eax, eax
jne 0x441395
push dword [ebp - 0x184]
lea eax, [ebp - 0x178]
push eax
call fcn.0043d1dd
cmp dword [ebp - 0xd0], 0
pop ecx
pop ecx
je 0x43dd29
push dword [esi + 4]
push dword [ebp - 0xd0]
call fcn.00442b90
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 0x43dd60
lea eax, [ebp - 0xcc]
push 0
push eax
call fcn.004421bf
pop ecx
push eax
mov eax, dword [ebp - 0x174]
add eax, 0x230
push eax
call fcn.0043ca7f
add esp, 0xc
mov dword [ebp - 0x170], 1
movzx eax, byte [ebp - 0x1ac]
push eax
lea eax, [ebp - 0xcc]
push eax
call fcn.00444501
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.0044485a
jmp 0x43d4a6
lea ecx, [edi - 0x40]
mov dword [ebp - 0x190], ecx
mov al, byte [ecx + 0x18]
or al, byte [edi + 0x18]
test al, 1
je 0x43ddbb
push 2
jmp 0x43d88c
push ecx
call fcn.00444527
push edi
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x198], edx
call fcn.00444527
pop ecx
pop ecx
movzx ecx, byte [esi]
mov dword [ebp - 0x17c], eax
sub ecx, 0x4b
je 0x43de36
dec ecx
je 0x43de26
dec ecx
je 0x43de05
dec ecx
jne 0x43de46
mov eax, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x17c]
call fcn.004c9f90
jmp 0x43de1c
mov eax, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x17c]
call fcn.004c9f70
mov esi, eax
mov dword [ebp - 0x198], edx
jmp 0x43de4c
mov esi, dword [ebp - 0x18c]
or esi, eax
or dword [ebp - 0x198], edx
jmp 0x43de4c
mov esi, dword [ebp - 0x18c]
and esi, eax
and dword [ebp - 0x198], edx
jmp 0x43de4c
mov esi, dword [ebp - 0x18c]
test byte [edi + 0x18], 0x40
je 0x43de59
push edi
call fcn.00444971
pop ecx
mov edi, dword [ebp - 0x190]
mov dword [ebp - 0x180], edi
test byte [edi + 0x18], 0x40
mov dword [ebp - 0x178], edi
je 0x43de78
push edi
call fcn.00444971
pop ecx
mov ecx, dword [ebp - 0x198]
mov dword [edi], esi
mov dword [edi + 4], ecx
jmp 0x43dac2
push edi
call fcn.004447bf
mov eax, dword [esi + 4]
cdq
add dword [edi], eax
pop ecx
adc dword [edi + 4], edx
jmp case.0x43d39b.13
push dword [ebp - 0x1ac]
push 0x63
push edi
call fcn.0043d112
lea eax, [edi + 0x18]
mov dword [ebp - 0x17c], eax
movzx eax, word [eax]
add esp, 0xc
test al, 0xc
jne 0x43dedd
test al, 0x40
je 0x43dec9
push edi
call fcn.00444971
pop ecx
sub edi, 0x40
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
jmp 0x43d3b5
push 4
pop ecx
test cl, al
je 0x43df22
cmp dword [esi + 4], 0
je 0x43def1
xor eax, eax
inc eax
xor esi, esi
jmp 0x43df08
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 0x43dfd7
push edi
call fcn.0044494d
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 0x43df8d
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 0x43dfcb
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 0x43dfcb
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 0x43dfe9
push edi
call fcn.00444971
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.0x43d39b.13
push dword [ebp - 0x1ac]
push 0x63
push edi
call fcn.0043d112
movzx eax, word [edi + 0x18]
add esp, 0xc
push 4
pop edx
test dl, al
jne 0x43e056
cmp dword [esi + 8], 0
je 0x441149
cmp dword [esi + 4], 0
je 0x43d3b5
lea eax, [ebp - 0x178]
push 1
push eax
call fcn.0043d1dd
mov edi, dword [ebp - 0x178]
pop ecx
pop ecx
mov dword [ebp - 0x180], edi
jmp 0x43d3b5
test al, 0x40
je 0x43e064
push edi
call fcn.00444971
pop ecx
push 4
pop edx
mov word [edi + 0x18], dx
jmp case.0x43d39b.13
push 4
pop eax
test byte [edi + 0x18], al
je case.0x43d39b.13
push edi
call fcn.0044494d
jmp 0x43dbec
movzx ecx, word [edi + 0x18]
test cl, 1
jne case.0x43d39b.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.0043d112
add esp, 0xc
mov eax, 0xffe3
and word [edi + 0x18], ax
jmp case.0x43d39b.13
movzx eax, word [edi + 0x18]
test al, 1
jne case.0x43d39b.13
test al, 0x10
jne 0x43e0e6
push dword [ebp - 0x1ac]
push 0x61
push edi
call fcn.0043d112
add esp, 0xc
push 0x10
pop eax
or word [edi + 0x18], ax
mov eax, 0xfff1
jmp 0x43e0b5
test byte [edi + 0x18], 1
jne case.0x43d39b.13
push edi
call fcn.00444934
jmp 0x43dbec
test byte [edi + 0x18], 1
jne case.0x43d39b.13
push edi
call fcn.004447bf
jmp 0x43dbec
test byte [edi + 0x18], 1
jne case.0x43d39b.13
jmp 0x43e079
movzx ecx, word [edi + 0x18]
lea edx, [edi - 0x40]
mov al, byte [edx + 0x18]
or al, cl
test al, 1
je 0x43e16f
mov eax, 0x200
test dword [esi + 4], eax
je 0x43e1d2
not ecx
and ecx, 1
mov eax, ecx
cdq
push edx
push eax
push edi
call fcn.004449e5
lea ecx, [edi - 0x40]
movzx eax, word [ecx + 0x18]
not eax
and eax, 1
cdq
push edx
push eax
push ecx
call fcn.004449e5
add esp, 0x18
lea edx, [edi - 0x40]
mov al, byte [esi + 4]
mov byte [ebp - 0x21c], al
test al, al
je 0x43e1a3
push dword [ebp - 0x1ac]
push dword [ebp - 0x21c]
push edx
call fcn.0043d112
push dword [ebp - 0x1ac]
push dword [ebp - 0x21c]
push edi
call fcn.0043d112
add esp, 0x18
push dword [esi + 0xc]
lea ecx, [edi - 0x40]
push edi
push ecx
call fcn.004440e7
movzx ecx, byte [esi]
mov edx, eax
add esp, 0xc
xor eax, eax
sub ecx, 0x44
je 0x43e223
dec ecx
je 0x43e21c
dec ecx
je 0x43e215
dec ecx
je 0x43e20e
dec ecx
je 0x43e207
test edx, edx
setns al
jmp 0x43e228
lea eax, [ebp - 0x178]
push 2
push eax
call fcn.0043d1dd
mov eax, dword [esi + 8]
pop ecx
pop ecx
test eax, eax
je 0x43d89a
mov ecx, 0x100
test dword [esi + 4], ecx
je 0x44111d
dec eax
mov dword [ebp - 0x19c], eax
jmp 0x44111d
test edx, edx
sets al
jmp 0x43e228
test edx, edx
setle al
jmp 0x43e228
test edx, edx
setg al
jmp 0x43e228
test edx, edx
sete al
jmp 0x43e228
test edx, edx
setne al
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x178]
push 2
push eax
call fcn.0043d1dd
mov eax, dword [esi + 8]
pop ecx
pop ecx
test eax, eax
je 0x43e24e
cmp dword [ebp - 0x1a0], 0
jmp 0x43e1f5
mov edi, dword [ebp - 0x178]
push 4
add edi, 0x40
pop eax
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0x1a0]
jmp 0x43d408
test byte [edi + 0x18], 1
lea eax, [edi - 0x40]
mov dword [ebp - 0x184], eax
je 0x43e27d
push 2
pop edi
jmp 0x43e298
push edi
call fcn.004447bf
mov eax, dword [edi]
or eax, dword [edi + 4]
mov eax, dword [ebp - 0x184]
pop ecx
jne 0x43e296
xor edi, edi
inc edi
jmp 0x43e298
xor edi, edi
test byte [eax + 0x18], 1
je 0x43e2a3
push 2
pop eax
jmp 0x43e2bc
push eax
call fcn.004447bf
pop ecx
mov ecx, dword [ebp - 0x184]
mov eax, dword [ecx]
or eax, dword [ecx + 4]
jne 0x43e2ba
inc eax
jmp 0x43e2bc
xor eax, eax
imul edi, edi, 3
cmp byte [esi], 0x3e
jne 0x43e2ce
movzx esi, byte [edi + eax + 0x4fe604]
jmp 0x43e2d6
movzx esi, byte [edi + eax + 0x4fe610]
lea eax, [ebp - 0x178]
push 2
push eax
call fcn.0043d1dd
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 0x43d8b1
test esi, esi
sete al
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x43dac2
movzx eax, word [edi + 0x18]
test al, 8
jne 0x43e372
push 4
pop edx
test dl, al
je 0x43e363
test al, 0x40
je 0x43e333
push edi
call fcn.00444971
pop ecx
push 4
pop edx
cmp byte [esi], 0x56
je 0x43e34d
cmp dword [edi + 4], 0
jg 0x43e064
jl 0x43e34d
cmp dword [edi], 0
jae 0x43e064
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 0x43e064
test al, 1
jne case.0x43d39b.13
push edi
call fcn.00444934
pop ecx
test byte [edi + 0x18], 0x40
je 0x43e37f
push edi
call fcn.00444971
pop ecx
cmp byte [esi], 0x56
je 0x43e38e
xorps xmm0, xmm0
comisd xmm0, xmmword [edi + 8]
jbe 0x43e3a0
movsd xmm0, qword [edi + 8]
xorpd xmm0, xmmword [0x4f8dd0]
movsd qword [edi + 8], xmm0
push 8
jmp 0x43dac4
test byte [edi + 0x18], 1
jne case.0x43d39b.13
push edi
call fcn.004447bf
mov eax, dword [edi]
or eax, dword [edi + 4]
pop ecx
jne 0x43e3c5
inc eax
jmp 0x43e30b
xor eax, eax
jmp 0x43e30b
test byte [edi + 0x18], 1
jne case.0x43d39b.13
push edi
call fcn.004447bf
not dword [edi]
not dword [edi + 4]
pop ecx
jmp 0x43dac2
test byte [edi + 0x18], 1
je 0x43e3f8
mov ecx, dword [esi + 4]
mov dword [ebp - 0x194], ecx
jmp 0x43e436
push edi
call fcn.00444b9f
fstp qword [ebp - 0x1a8]
movsd xmm0, qword [ebp - 0x1a8]
ucomisd xmm0, qword [0x4fe7c0]
pop ecx
lahf
xor ecx, ecx
test ah, 0x44
jnp 0x43e41e
inc ecx
cmp byte [esi], 0x55
mov dword [ebp - 0x194], ecx
jne 0x43e436
xor eax, eax
test ecx, ecx
sete al
mov dword [ebp - 0x194], eax
test byte [edi + 0x18], 0x40
je 0x43e443
push edi
call fcn.00444971
pop ecx
sub edi, 0x40
cmp dword [ebp - 0x194], 0
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
je case.0x43d39b.13
jmp 0x43d3b5
test byte [edi + 0x18], 1
je 0x43e498
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 0x19c], eax
mov eax, dword [esi + 4]
test eax, eax
jns 0x43e498
neg eax
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.0043d1dd
mov edi, dword [ebp - 0x178]
pop ecx
pop ecx
mov dword [ebp - 0x180], edi
cmp dword [esi + 4], 0
jle case.0x43d39b.13
push dword [esi + 4]
jmp 0x44110f
mov ecx, dword [esi + 4]
test ecx, ecx
jns 0x43e4b3
neg ecx
and dword [ebp - 0x17c], 0
test ecx, ecx
jle 0x43e4e1
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 0x43e4dd
inc eax
add edx, 0x40
cmp eax, ecx
jl 0x43e4d0
cmp eax, ecx
jl 0x43e4eb
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 0x19c], eax
cmp dword [esi + 4], 0
jle case.0x43d39b.13
push ecx
jmp 0x44110f
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.0x43d39b.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 0x43e5f9
push edx
call fcn.00442a50
pop ecx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x440aab
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 0x43e592
and dword [ebp - 0x1c4], 0
jmp 0x43e5f4
mov ecx, dword [ebp - 0x174]
mov eax, dword [edx + 0x68]
cmp eax, dword [ecx + 0x60]
jne 0x43e5b4
mov eax, dword [edx + 0x6c]
mov dword [ebp - 0x1c4], eax
mov eax, dword [edx + 0x78]
mov dword [ebp - 0x18c], eax
jmp 0x43e5f4
cmp byte [edx + 0x21], 0
je 0x43e5da
lea eax, [ebp - 0x29c]
push eax
push dword [ebp - 0x1a0]
call fcn.0041cb8d
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x1c4], eax
jmp 0x43e5ec
lea eax, [ebp - 0x1c4]
push eax
push dword [ebp - 0x1a0]
call fcn.0041c1fa
mov edx, dword [ebp - 0x1c0]
pop ecx
pop ecx
mov eax, dword [edx + 0x50]
jmp 0x43e632
cmp byte [edx + 0x1e], al
je 0x43e620
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 0x43e632
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.0x43d39b.13
mov ecx, dword [ebp - 0x174]
mov eax, dword [edx + 0x68]
cmp eax, dword [ecx + 0x60]
jne 0x43e66a
mov ecx, dword [edx + 0x70]
mov eax, dword [edx + 0x74]
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x184], eax
jmp 0x43e8b1
mov eax, dword [edx + 0x70]
mov dword [ebp - 0x194], eax
test eax, eax
jne 0x43e6a1
mov eax, dword [ebp - 0x1b0]
shl eax, 3
push 1
push eax
call fcn.0043c8a9
mov edx, dword [ebp - 0x1c0]
pop ecx
pop ecx
mov dword [ebp - 0x194], eax
mov dword [edx + 0x70], eax
test eax, eax
je 0x441395
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 0x43e6dc
mov edx, eax
mov dword [ebp - 0x170], edx
jmp 0x43e730
cmp byte [edx + 0x21], 0
lea eax, [ebp - 0x204]
push eax
push dword [ebp - 0x1a0]
je 0x43e6fe
call fcn.0041cb6d
mov edx, eax
mov dword [ebp - 0x170], edx
jmp 0x43e70b
call fcn.0041c1da
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 0x43e72c
mov dword [ebp - 0x18c], edx
mov dword [eax + 0x78], edx
jmp 0x43e730
and dword [eax + 0x78], 0
movzx ecx, byte [edx]
mov dword [ebp - 0x1d4], ecx
cmp ecx, 0x7f
ja 0x43e74a
mov dword [ebp - 0x190], 1
jmp 0x43e76b
lea eax, [ebp - 0x1d4]
push eax
push edx
call fcn.0043c69e
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 0x43e7b9
cmp dword [ebp - 0x204], ecx
jae 0x43e7b9
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.004446fc
add esp, 0x14
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x44112f
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 0x43e861
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 0x43e83a
mov dword [eax + esi], ecx
movzx eax, byte [edi]
mov dword [esi], eax
cmp eax, 0x7f
ja 0x43e80b
xor eax, eax
inc eax
jmp 0x43e814
push esi
push edi
call fcn.0043c69e
pop ecx
pop ecx
push dword [esi]
add edi, eax
call fcn.00443a79
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 0x43e844
and dword [eax + esi], 0
mov ecx, dword [ebp - 0x1d4]
add esi, 4
dec dword [ebp - 0x1b0]
jne 0x43e7f5
mov esi, dword [ebp - 0x198]
mov dword [ebp - 0x190], edi
mov edi, dword [ebp - 0x180]
test byte [ebp - 0x154], 0x40
je 0x43e87d
lea eax, [ebp - 0x16c]
push eax
call fcn.00444971
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 0x43e97f
cmp ecx, dword [ebp - 0x1c4]
ja 0x43e97f
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 0x43e936
mov edx, dword [ebp - 0x18c]
mov esi, dword [ebp - 0x17c]
test edx, edx
je 0x43e8d2
add eax, edx
jmp 0x43e918
push dword [ecx + esi*4]
call fcn.00443a79
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.004446fc
add esp, 0x18
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x44112f
mov eax, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x194]
push edi
push dword [edx + esi*4]
push eax
call fcn.0044374c
mov al, byte [ebp - 0x1ac]
add esp, 0xc
mov byte [edi + 0x1b], al
jmp 0x43e957
cmp dword [esi + 0x10], 0xfffffff8
jne 0x43e950
mov eax, 0x80
push eax
push dword [esi + 0xc]
push edi
call fcn.00444b0b
add esp, 0xc
jmp 0x43e957
xor eax, eax
inc eax
mov word [edi + 0x18], ax
test byte [ebp - 0x154], 0x40
je 0x43e974
mov ax, word [edi + 0x18]
mov ecx, 0xfeff
and ax, cx
or ax, 0x60
mov word [edi + 0x18], ax
push edi
call fcn.004447e5
jmp 0x43ed1c
push 0xb
pop eax
jmp 0x43d350
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 0x43eabb
push 0xffffffffffffffe8
pop eax
sub eax, esi
mov dword [ebp - 0x1fc], eax
test edx, edx
je 0x43ea50
push dword [ebp - 0x1ac]
add eax, 0x18
add eax, esi
sar eax, 6
movzx eax, byte [eax + edx]
push eax
push esi
call fcn.0043d112
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.004439a8
mov esi, eax
push esi
call fcn.00443a79
add dword [ebp - 0x194], eax
push 0
push esi
call fcn.0043cc2a
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 0x43ea30
cmp dword [ebp - 0x184], 0
je 0x43eb05
mov esi, dword [ebp - 0x1e4]
push esi
mov dword [ebp - 0x190], esi
call fcn.004447bf
push 0
push esi
call fcn.004439a8
mov esi, eax
push esi
call fcn.00443a79
add dword [ebp - 0x194], eax
push 0
push esi
call fcn.0043cc2a
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.0043cc2a
mov esi, eax
mov eax, dword [ebp - 0x1a0]
add eax, esi
mov dword [ebp - 0x1a0], eax
cdq
push edx
push eax
call fcn.0043cc2a
add esp, 0x10
cmp esi, eax
mov esi, dword [ebp - 0x1a0]
jge 0x43eb35
inc esi
mov eax, dword [ebp - 0x194]
add eax, esi
mov dword [ebp - 0x1e4], eax
cmp eax, 0x20
jbe 0x43eb64
push 1
push eax
call fcn.0043c8a9
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x194], eax
test ecx, ecx
je 0x441395
jmp 0x43eb6d
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x194], ecx
mov eax, esi
cdq
push edx
push eax
push ecx
call fcn.0043c8e7
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 0x43ebc2
push dword [ebp - 0x17c]
push eax
call fcn.004439a8
push 0
push eax
push esi
call fcn.0043c8e7
add esi, eax
mov eax, dword [ebp - 0x1a0]
add eax, 0x40
add esp, 0x14
mov dword [ebp - 0x1a0], eax
cmp eax, edi
jbe 0x43eb95
cmp dword [ebp - 0x184], 0
je 0x43ebe6
push 0
push dword [ebp - 0x190]
call fcn.004439a8
push 0
push eax
push esi
call fcn.0043c8e7
add esp, 0x14
add esi, eax
mov eax, dword [ebp - 0x18c]
jmp 0x43ec0f
push dword [ebp - 0x17c]
push eax
push esi
call fcn.00443930
add esi, eax
mov eax, dword [ebp - 0x18c]
add esp, 0xc
add eax, 0x40
mov dword [ebp - 0x18c], eax
cmp eax, edi
jbe 0x43ebee
mov eax, dword [ebp - 0x184]
test eax, eax
je 0x43ec34
push 0
push dword [ebp - 0x190]
push esi
call fcn.00443930
mov eax, dword [ebp - 0x184]
add esp, 0xc
cmp dword [ebp - 0x1cc], 0
jne 0x43ec58
add eax, dword [ebp - 0x198]
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.0043d1dd
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 0x43ec94
push ecx
lea ecx, [ebp - 0x24]
lea eax, [edi + 0x20]
push ecx
push eax
mov dword [edi + 0x10], eax
call fcn.004c1ca0
mov eax, 0x210
add esp, 0xc
mov word [edi + 0x18], ax
jmp 0x43eca8
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.0x43d39b.13
cmp dword [ebp - 0x1b0], 0
je case.0x43d39b.13
jmp 0x43d3b8
mov ecx, dword [esi + 4]
test ecx, ecx
js case.0x43d39b.13
mov esi, dword [ebp - 0x188]
cmp ecx, dword [esi]
jge case.0x43d39b.13
mov eax, dword [esi + 4]
imul ecx, ecx, 0x18
mov esi, dword [ecx + eax + 4]
test esi, esi
je case.0x43d39b.13
mov eax, dword [ebp - 0x188]
cmp byte [eax + 0x14], 0
jne case.0x43d39b.13
push esi
call fcn.0041caf4
pop ecx
test eax, eax
jne case.0x43d39b.13
push esi
call fcn.0041bab9
pop ecx
jmp 0x43d350
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 0x43ed71
test dl, dl
je 0x43ed71
cmp byte [eax + 0x14], 0
jne 0x43ed71
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.0043ca7f
add esp, 0x14
jmp 0x43edaa
cmp dl, byte [eax + 0x14]
jne 0x441158
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.0043ca7f
add esp, 0xc
xor eax, eax
inc eax
jmp 0x43d350
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.0x43d39b.13
push dword [esi + 8]
push eax
call fcn.0041baf7
pop ecx
pop ecx
push 5
pop esi
mov dword [ebp - 0x170], eax
cmp eax, esi
je 0x4411b7
test eax, eax
je 0x44112f
push 8
pop ecx
cmp eax, ecx
jne 0x440aab
jmp 0x44112f
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.0041c6a7
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 0x43e30b
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.004447bf
push dword [edi]
mov eax, dword [esi + 8]
inc eax
push eax
mov eax, dword [ebp - 0x17c]
push dword [eax + 4]
call fcn.0041d4c6
mov edx, dword [ebp - 0x188]
add esp, 0x10
cmp dword [esi + 8], 0
mov dword [ebp - 0x170], eax
jne 0x43eea2
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 0x43eeb6
cmp dword [esi + 8], 1
jne 0x43eebc
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 0x44112f
push edx
call fcn.00442741
jmp 0x43dbec
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 0x43ef17
lea ecx, [ebp - 0x218]
push ecx
push 1
push eax
call fcn.0041c6a7
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x218]
add esp, 0xc
jmp 0x43ef26
and dword [ebp - 0x170], 0
xor eax, eax
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0x170]
test ecx, ecx
jne case.0x43d39b.13
cmp eax, dword [esi + 8]
je case.0x43d39b.13
mov eax, dword [ebp - 0x174]
push ecx
add eax, 0x230
push str.database_schema_has_changed
push eax
call fcn.0043ca7f
push dword [esi + 4]
mov esi, dword [ebp - 0x188]
push esi
call fcn.0041ff69
push esi
call fcn.00442741
add esp, 0x18
push 0x11
jmp 0x43e981
mov eax, dword [esi + 4]
mov dword [ebp - 0x1cc], eax
mov eax, dword [esi + 8]
push edi
mov dword [ebp - 0x17c], eax
call fcn.004447bf
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 0x43efe3
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 0x43efea
mov byte [ecx + 0x239], al
jmp 0x43efea
and dword [ebp - 0x184], 0
cmp dword [ebp - 0x17c], 0
jg 0x43f011
push edi
call fcn.004447bf
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.0043d0d1
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x190], ecx
test ecx, ecx
je 0x441395
mov eax, dword [ebp - 0x1e4]
mov byte [ecx + 0x1c], 1
test eax, eax
je case.0x43d39b.13
push ecx
push dword [esi + 0xc]
push fcn.0044338a
push dword [ebp - 0x184]
push dword [ebp - 0x17c]
push eax
call fcn.0041c0ac
mov edx, dword [ebp - 0x190]
add esp, 0x18
cmp dword [esi + 0x10], 0xfffffffa
mov dword [ebp - 0x170], eax
jne 0x43f09f
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 0x43f0a9
and dword [edx + 0x4c], 0
lea eax, [edx + 0x22]
mov dword [edx + 0x48], eax
mov eax, dword [ebp - 0x170]
test eax, eax
je 0x43f0e0
cmp eax, 5
je 0x4411d1
push 0x10
pop ecx
cmp eax, ecx
jne 0x440aab
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 0x43d350
push dword [edx]
call fcn.0041c641
mov edx, eax
pop ecx
test dl, 0xf0
jne 0x43f12d
and eax, 7
cmp eax, 5
je 0x43f0fc
cmp eax, 2
jne 0x43f12d
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 0x43f11b
cmp dword [esi + 0x10], 0xfffffffa
je 0x43f12d
test dl, dl
je case.0x43d39b.13
cmp dword [esi + 0x10], 0xfffffffa
je case.0x43d39b.13
mov dword [ebp - 0x170], 0xb
jmp 0x440aab
or eax, 0xffffffff
push eax
push dword [esi + 4]
push ecx
call fcn.0043d0d1
add esp, 0xc
mov dword [ebp - 0x18c], eax
test eax, eax
je 0x441395
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.0042cea4
add esp, 0x14
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x43f26e
mov eax, dword [ebp - 0x184]
push 1
push dword [eax]
call fcn.0041baf7
pop ecx
pop ecx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x43f26e
cmp dword [esi + 0xc], eax
je 0x43f239
push 2
lea eax, [ebp - 0x238]
push eax
mov eax, dword [ebp - 0x184]
push dword [eax]
call fcn.0041beb9
add esp, 0xc
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x43f22d
push dword [ebp - 0x18c]
mov eax, dword [ebp - 0x184]
push dword [esi + 0xc]
push fcn.0044338a
push 1
push dword [ebp - 0x238]
push dword [eax]
call fcn.0041c0ac
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 0x43f233
mov edx, dword [ebp - 0x18c]
mov byte [edx + 0x20], 0
jmp 0x43f274
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.0041c0ac
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 0x43f274
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.0x43d39b.13
or eax, 0xffffffff
push eax
push dword [esi + 4]
push ecx
call fcn.0043d0d1
add esp, 0xc
test eax, eax
je 0x441395
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.0x43d39b.13
mov esi, dword [esi + 4]
test esi, esi
js case.0x43d39b.13
cmp esi, dword [ecx + 0x38]
jge case.0x43d39b.13
mov eax, dword [ecx + 0x3c]
push dword [eax + esi*4]
push ecx
call fcn.00442c16
mov eax, dword [ebp - 0x174]
pop ecx
mov eax, dword [eax + 0x3c]
pop ecx
and dword [eax + esi*4], 0
jmp case.0x43d39b.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 0x43f476
mov byte [ecx + 0x1c], 0
cmp edx, 7
je 0x43f31f
cmp edx, 0x4a
je 0x43f31f
xor edx, edx
jmp 0x43f322
xor edx, edx
inc edx
mov eax, dword [ecx + 0x48]
mov byte [eax], dl
cmp byte [ecx + 0x20], 0
je 0x43f3a4
push edi
call fcn.004447bf
cmp dword [esi + 8], 0
mov edx, dword [edi + 4]
pop ecx
mov ecx, dword [edi]
jne 0x43f359
cmp byte [esi], 0x7d
jne 0x43f359
mov eax, dword [ebp - 0x18c]
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], edx
mov byte [eax + 0x1f], 1
jmp 0x43d7ca
lea eax, [ebp - 0x1c8]
push eax
mov eax, dword [ebp - 0x18c]
push edx
push ecx
push 0
push dword [eax]
call fcn.0041cc43
add esp, 0x14
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x440aab
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 0x43f3d7
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.0041cc43
add esp, 0x14
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x440aab
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 0x43f421
cmp eax, 7
je 0x43f421
cmp dword [ebp - 0x1c8], 0
jl 0x43f40b
lea eax, [ebp - 0x1c8]
push eax
push dword [ecx]
call fcn.0041d1d0
jmp 0x43f438
push dword [ecx]
call fcn.0041c5fe
pop ecx
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x1c8], eax
jmp 0x43f459
cmp dword [ebp - 0x1c8], 0
jge 0x43f453
lea eax, [ebp - 0x1c8]
push eax
push dword [ecx]
call fcn.0041ce94
pop ecx
pop ecx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x440aab
mov ecx, dword [ebp - 0x18c]
mov byte [ecx + 0x19], al
jmp 0x43f459
mov dword [ebp - 0x1c8], edx
cmp dword [ebp - 0x1c8], 0
je 0x43f476
mov eax, dword [esi + 8]
test eax, eax
jle 0x43f472
dec eax
mov dword [ebp - 0x19c], eax
jmp 0x43f476
mov byte [ecx + 0x1c], 1
test byte [edi + 0x18], 0x40
je 0x43d7ca
push edi
call fcn.00444971
jmp 0x43d7c9
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 0x43f505
test byte [edi + 0x18], 0x12
jne 0x43f4c4
movzx eax, byte [ebp - 0x1ac]
push eax
push edi
call fcn.00444b3b
pop ecx
pop ecx
test eax, eax
jne 0x441395
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.0041cc43
add esp, 0x14
test eax, eax
jne 0x43f4f5
cmp dword [ebp - 0x240], eax
jne 0x43f4f5
xor edx, edx
inc edx
jmp 0x43f4f7
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 0x43f511
test edx, edx
je 0x43f51f
jmp 0x43f515
test edx, edx
jne 0x43f51f
mov ecx, dword [esi + 8]
dec ecx
mov dword [ebp - 0x19c], ecx
cmp al, 0x6f
je case.0x43d39b.13
jmp 0x43f476
mov esi, dword [esi + 4]
lea eax, [edi - 0x40]
push edi
mov dword [ebp - 0x190], eax
call fcn.004447bf
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.0x43d39b.13
test byte [ecx + 0x18], 0x12
jne 0x43f5a6
movzx eax, byte [ebp - 0x1ac]
push eax
push ecx
call fcn.00444b3b
pop ecx
pop ecx
test eax, eax
jne 0x441395
mov ecx, edi
mov eax, dword [ecx + 0x10]
mov esi, dword [ecx + 0x14]
push eax
mov dword [ebp - 0x190], eax
call fcn.00443014
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.0041cc43
add esp, 0x18
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x440aab
cmp dword [ebp - 0x1e8], eax
jge 0x43f62b
lea eax, [ebp - 0x1e8]
push eax
push dword [ebp - 0x17c]
call fcn.0041ce94
cmp dword [ebp - 0x1e8], 0
pop ecx
pop ecx
mov dword [ebp - 0x170], eax
je 0x43f62b
mov eax, dword [ebp - 0x198]
mov eax, dword [eax + 8]
jmp 0x43d3b8
lea eax, [ebp - 0x1e8]
push eax
push dword [ebp - 0x190]
push esi
push dword [ebp - 0x184]
call fcn.00442ec4
add esp, 0x10
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x440aab
cmp dword [ebp - 0x1e8], eax
jg 0x43f61d
lea eax, [ebp - 0x250]
push eax
push dword [ebp - 0x17c]
call fcn.00442f53
pop ecx
pop ecx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x440aab
mov eax, dword [ebp - 0x250]
cmp eax, dword [ebp - 0x1a4]
jne 0x43f69b
mov ecx, dword [ebp - 0x1cc]
cmp dword [ebp - 0x24c], ecx
je 0x43f61d
add edi, 0x40
mov dword [ebp - 0x180], edi
mov dword [edi], eax
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x178], edi
jmp 0x43dabf
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 0x43f476
lea ecx, [ebp - 0x248]
push ecx
push dword [edi + 4]
push dword [edi]
push 0
push dword [eax]
call fcn.0041cc43
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 0x43f476
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 0x19c], eax
mov byte [edx + 0x19], 0
jmp 0x43f476
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 0x43dac2
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 0x43fa75
push dword [eax]
and dword [ebp - 0x17c], 0
call fcn.0041c641
and al, 3
pop ecx
cmp al, 1
jne 0x43f12d
mov edx, dword [ebp - 0x198]
cmp byte [edx + 0x1b], 0
jne 0x43f93d
cmp byte [edx + 0x1d], 0
je 0x43f7da
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x1bc], ecx
mov eax, dword [edx + 0x14]
jmp 0x43f85f
lea eax, [ebp - 0x200]
push eax
push dword [edx]
call fcn.0041cbda
pop ecx
pop ecx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x440aab
cmp dword [ebp - 0x200], eax
je 0x43f805
xor ecx, ecx
inc ecx
jmp 0x43f853
lea eax, [ebp - 0x1bc]
push eax
mov eax, dword [ebp - 0x198]
push dword [eax]
call fcn.0041cb8d
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1bc]
or eax, 0xffffffff
cmp ecx, eax
mov eax, dword [ebp - 0x1b8]
jne 0x43f84d
cmp eax, 0x7fffffff
jne 0x43f84d
mov edx, dword [ebp - 0x198]
mov byte [edx + 0x1b], 1
mov eax, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x1bc]
jmp 0x43f865
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 0x43f900
mov eax, dword [ebp - 0x174]
shl esi, 6
add esi, dword [eax + 0x58]
push esi
call fcn.004447bf
mov eax, dword [esi]
or edx, 0xffffffff
pop ecx
mov ecx, dword [esi + 4]
cmp eax, edx
jne 0x43f89b
cmp ecx, 0x7fffffff
je 0x441201
mov edx, dword [ebp - 0x198]
cmp byte [edx + 0x1b], 0
jne 0x441201
add eax, 1
adc ecx, 0
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x1b8], ecx
jg 0x43f8e3
jl 0x43f8d5
mov eax, dword [ebp - 0x1bc]
cmp eax, dword [ebp - 0x190]
jae 0x43f8e9
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1b8], ecx
jmp 0x43f8e9
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 0x43f92f
jb 0x43f910
or eax, 0xffffffff
cmp ecx, eax
jae 0x43f92f
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 0x43f933
mov byte [edx + 0x1d], 0
cmp byte [edx + 0x1b], 0
je 0x43fa6a
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 0x43f9a9
cmp edx, 2
jg 0x43f9a9
lea eax, [ebp - 0x1d5]
push eax
push 1
call fcn.00435a26
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 0x43f9e8
lea eax, [ebp - 0x1bc]
push eax
push 8
pop eax
push eax
call fcn.00435a26
mov edx, dword [ebp - 0x184]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1bc]
cmp edx, 5
jge 0x43f9e2
and ecx, 0xffffff
xor esi, esi
mov dword [ebp - 0x1bc], ecx
mov dword [ebp - 0x1b8], esi
jmp 0x43f9e8
mov esi, dword [ebp - 0x1b8]
mov eax, ecx
or eax, esi
je 0x43fa22
lea eax, [ebp - 0x200]
push eax
push esi
push ecx
push 0
push dword [edi]
call fcn.0041cc43
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 0x43fa41
cmp dword [ebp - 0x17c], 0
jne 0x43fa41
test eax, eax
je 0x43f963
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 0x43fa64
test eax, eax
je 0x441201
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 0x43dabf
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 0x43fabb
cmp byte [ecx + 0x1e], 0
je 0x43fc3d
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 0x43fad9
inc dword [edx + 0x23c]
test byte [esi + 8], 2
je 0x43faf1
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 0x43fb0d
mov eax, dword [edi - 0x3c]
cmp eax, dword [ecx + 0x14]
jl 0x43fb0d
jg 0x43fb09
mov eax, dword [edi - 0x40]
cmp eax, dword [ecx + 0x10]
jb 0x43fb0d
mov byte [ecx + 0x1d], 0
test byte [edi + 0x18], 1
je 0x43fb1b
and dword [edi + 0x10], 0
and dword [edi + 0x14], 0
cmp byte [ecx + 0x1e], 0
je 0x43fbb5
push dword [ecx + 0x38]
call fcn.0043c5a1
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 0x43fb61
mov eax, dword [edi + 0x10]
mov dword [edx + 0x38], eax
xor eax, eax
inc eax
mov word [edi + 0x18], ax
jmp 0x43fba9
add eax, 2
push 1
push eax
call fcn.0043c8a9
pop ecx
pop ecx
mov ecx, dword [ebp - 0x184]
mov dword [ecx + 0x38], eax
test eax, eax
je 0x441395
push dword [ecx + 0x34]
push dword [edi + 0x10]
push eax
call fcn.004c1ca0
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 0x43fbe1
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.0041c729
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 0x43fc3d
mov eax, dword [ebp - 0x188]
mov edi, dword [eax + 0x7c]
test edi, edi
je 0x43fc3d
cmp dword [esi + 0xc], 0
je 0x43fc3d
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 0x44110f
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 0x43fd39
mov edx, dword [ebp - 0x188]
cmp dword [edx + 0x7c], 0
je 0x43fcb2
cmp dword [esi + 0xc], 0
je 0x43fcb2
cmp byte [ecx + 0x19], 0
je 0x43fc8f
mov eax, dword [ecx + 8]
mov dword [ebp - 0x230], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x22c], eax
jmp 0x43fcb2
lea ecx, [ebp - 0x230]
push ecx
push eax
call fcn.0041cb8d
pop ecx
pop ecx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x440aab
mov ecx, dword [ebp - 0x17c]
push ecx
call fcn.00442a50
pop ecx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x440aab
mov eax, dword [ebp - 0x17c]
push dword [eax]
call fcn.0041c23e
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 0x43fd33
mov ecx, dword [ebp - 0x188]
mov edx, dword [ecx + 0x7c]
test edx, edx
je 0x43fd33
cmp dword [esi + 0xc], 0
je 0x43fd33
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 0x44112f
inc dword [edx + 0x23c]
jmp 0x44112f
cmp dword [esi + 4], 0
je 0x43fd6d
push dword [ecx + 0x23c]
push dword [ebp - 0x188]
call fcn.00443a94
pop ecx
pop ecx
mov eax, dword [ebp - 0x174]
and dword [eax + 0x23c], 0
jmp case.0x43d39b.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 0x43fea5
mov eax, dword [esi]
mov dword [ebp - 0x184], eax
test eax, eax
je 0x43fe82
push esi
call fcn.00442a50
pop ecx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x440aab
cmp byte [esi + 0x1c], al
je 0x43fddd
xor ecx, ecx
inc ecx
mov word [edi + 0x18], cx
jmp 0x44112f
cmp byte [esi + 0x21], 0
je 0x43fe03
lea eax, [ebp - 0x294]
push eax
push dword [ebp - 0x184]
call fcn.0041cb8d
mov eax, dword [ebp - 0x294]
mov dword [ebp - 0x1dc], eax
jmp 0x43fe1b
lea eax, [ebp - 0x1dc]
push eax
push dword [ebp - 0x184]
call fcn.0041c1fa
mov eax, dword [ebp - 0x1dc]
pop ecx
mov dword [edi + 0x14], eax
cmp dword [ebp - 0x1dc], 0x20
pop ecx
ja 0x43fe37
mov eax, 0x210
mov word [edi + 0x18], ax
lea eax, [edi + 0x20]
jmp 0x43fe59
push 1
push dword [ebp - 0x1dc]
call fcn.0043c8a9
pop ecx
pop ecx
test eax, eax
je 0x441395
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 0x43fe78
call fcn.0041cb29
jmp 0x43fe7d
call fcn.0041c1a4
add esp, 0x10
jmp 0x43fe9d
cmp byte [esi + 0x1e], 0
je 0x43fea5
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 0x43d57d
xor eax, eax
inc eax
mov word [edi + 0x18], ax
jmp 0x43d57d
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.00442a50
pop ecx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x440aab
add edi, 0x40
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], edi
cmp byte [esi + 0x19], al
je 0x43fef7
mov ecx, dword [esi + 8]
mov dword [ebp - 0x214], ecx
mov eax, dword [esi + 0xc]
jmp 0x43ff09
cmp byte [esi + 0x1e], 0
je 0x43ff11
mov ecx, dword [esi + 0x40]
mov dword [ebp - 0x214], ecx
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x210], eax
jmp 0x43ff3a
cmp byte [esi + 0x1c], 0
jne 0x43fdd1
cmp dword [esi], 0
je 0x43fdd1
lea eax, [ebp - 0x214]
push eax
push dword [esi]
call fcn.0041cb8d
pop ecx
pop ecx
mov ecx, dword [ebp - 0x214]
mov dword [edi], ecx
mov eax, dword [ebp - 0x210]
jmp 0x43dabf
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.0x43d39b.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 0x43ffc2
lea eax, [ebp - 0x254]
push eax
push ecx
call fcn.0041cbda
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.0x43d39b.13
mov eax, dword [esi + 8]
test eax, eax
jle case.0x43d39b.13
jmp 0x43d3b8
mov byte [eax + 0x1c], 0
jmp case.0x43d39b.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 0x44001e
lea ecx, [ebp - 0x1f0]
push ecx
push eax
call fcn.0041c60f
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 0x440027
xor eax, eax
inc eax
mov dword [ebp - 0x1f0], eax
mov byte [ecx + 0x1c], al
cmp dword [ebp - 0x1f0], 0
jmp 0x43ffac
mov eax, dword [ebp - 0x188]
cmp dword [eax + 0x98], 0
jne 0x44133e
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 0x4400be
cmp byte [ecx + 0x1c], 0
je 0x440076
mov dword [ebp - 0x20c], 1
jmp 0x4400c2
cmp byte [ebp - 0x1b1], 0x6d
lea ecx, [ebp - 0x20c]
push ecx
push eax
jne 0x44008e
call fcn.0041ce94
jmp 0x440093
call fcn.0041d1d0
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 0x4400c2
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 0x19c], eax
jmp 0x4400c2
mov byte [ecx + 0x1c], 1
mov byte [ecx + 0x19], 0
jmp case.0x43d39b.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 0x43f476
mov eax, dword [edi + 0x14]
push 0
push 0x4f6a98
cdq
push edx
push eax
push dword [edi + 0x10]
push dword [esi]
call fcn.0041c729
add esp, 0x18
and dword [esi + 0x68], 0
mov dword [ebp - 0x170], eax
jmp 0x43f476
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 0x43f476
lea eax, [ebp - 0x23c]
push eax
mov eax, dword [edi + 0x14]
cdq
push edx
push eax
push dword [edi + 0x10]
push esi
call fcn.0041cc43
mov ecx, eax
add esp, 0x14
mov dword [ebp - 0x170], ecx
test ecx, ecx
jne 0x440165
cmp dword [ebp - 0x23c], eax
jne 0x440165
push esi
call fcn.0041c23e
pop ecx
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x1a4]
and dword [eax + 0x68], 0
jmp 0x43f476
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.0x43d39b.13
cmp byte [eax + 0x1c], 0
je 0x4401b4
xor ecx, ecx
inc ecx
mov word [edi + 0x18], cx
jmp case.0x43d39b.13
lea ecx, [ebp - 0x26c]
push ecx
push dword [eax]
call fcn.00442f53
pop ecx
pop ecx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x440aab
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.0x43d39b.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 0x43f476
test byte [edi + 0x18], 0x12
jne 0x440231
movzx eax, byte [ebp - 0x1ac]
push eax
push edi
call fcn.00444b3b
pop ecx
pop ecx
test eax, eax
jne 0x441395
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.00442ec4
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 0x44112f
mov al, byte [esi]
cmp al, 0x26
jne 0x440283
mov eax, dword [ebp - 0x1ec]
neg eax
jmp 0x44028e
cmp al, 0x3f
mov eax, dword [ebp - 0x1ec]
jne 0x440294
inc eax
mov dword [ebp - 0x1ec], eax
test eax, eax
jle 0x43f476
mov eax, dword [esi + 8]
jmp 0x43f469
mov edx, dword [ebp - 0x188]
xor ecx, ecx
mov eax, dword [edx + 0x50]
test eax, eax
je 0x4402df
cmp dword [eax + 0x50], 0xbdf20da3
jne 0x4402cc
cmp byte [eax + 0x23a], 2
jae 0x4402cc
cmp dword [eax + 0x7c], 0
jl 0x4402cc
inc ecx
mov eax, dword [eax + 8]
test eax, eax
jne 0x4402b3
cmp ecx, 1
jle 0x4402df
push 6
jmp 0x43e981
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.0041c463
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 0x44112f
cmp dword [ebp - 0x208], eax
je 0x44112f
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.00420108
jmp 0x43d660
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.0041bbd3
pop ecx
jmp 0x43ed1c
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.0041beb9
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 0x43fdd1
mov eax, dword [ebp - 0x234]
jmp 0x43e30b
cmp dword [esi + 8], 0
mov edx, dword [esi + 4]
jne 0x440403
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.0x43d39b.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.00434926
mov esi, eax
add esp, 0x10
test esi, esi
je 0x441395
push dword [ebp - 0x188]
call fcn.0043ca11
mov eax, dword [ebp - 0x188]
push 0
lea ecx, [ebp - 0x28c]
push ecx
push fcn.00433ecb
push esi
push eax
mov byte [eax + 0x44], 1
call fcn.0042c77e
push 4
pop ecx
cmp eax, ecx
cmove eax, dword [ebp - 0x280]
push esi
mov dword [ebp - 0x170], eax
call fcn.0043c5a1
mov eax, dword [ebp - 0x188]
push eax
mov byte [eax + 0x44], 0
call fcn.0043ca48
mov eax, dword [ebp - 0x170]
add esp, 0x20
cmp eax, 7
jne 0x44112f
call fcn.0043c4ed
jmp 0x441395
push dword [esi + 4]
push dword [ebp - 0x188]
call fcn.0041758c
pop ecx
jmp 0x43dbec
push dword [esi + 0xc]
push dword [esi + 4]
push dword [ebp - 0x188]
call fcn.00420804
jmp 0x43d660
push dword [esi + 0xc]
push dword [esi + 4]
push dword [ebp - 0x188]
call fcn.0042078d
jmp 0x43d660
push dword [esi + 0xc]
push dword [esi + 4]
push dword [ebp - 0x188]
call fcn.0043ab0f
jmp 0x43d660
xor eax, eax
mov dword [ebp - 0x194], eax
cmp edi, dword [ecx + 0x28]
jb 0x440564
mov ecx, edi
mov esi, eax
push 4
pop eax
test byte [ecx + 0x18], al
je 0x440552
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 0x440535
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.0043c8a9
pop ecx
pop ecx
mov ecx, dword [ebp - 0x174]
mov dword [ebp - 0x184], eax
test eax, eax
je 0x44139b
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 0x4405bd
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 0x4405aa
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.0043d1dd
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.0041c8c5
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 0x440646
xor eax, eax
inc eax
mov word [edi + 0x18], ax
jmp 0x440661
push esi
mov dword [edi + 0x10], esi
call fcn.004c22f0
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.00444501
push dword [ebp - 0x184]
call fcn.0043c5a1
jmp 0x43d660
push edi
call fcn.004447bf
push dword [edi + 4]
mov eax, dword [ebp - 0x174]
push dword [edi]
add eax, 0x64
push eax
call fcn.00444088
add esp, 0x10
jmp 0x43d7ca
mov eax, dword [ebp - 0x188]
cmp dword [eax + 0x98], 0
jne 0x44133e
lea eax, [ebp - 0x264]
push eax
lea eax, [ecx + 0x64]
push eax
call fcn.00444037
pop ecx
pop ecx
cmp eax, 0x65
je 0x43d3b5
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 0x43dabf
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 0x440738
mov dword [edx + 0x74], eax
lea eax, [ecx + 1]
imul eax, eax, 0x18
lea esi, [edx + 0x78]
push eax
push esi
call fcn.0043c9b2
cmp dword [esi], 0
pop ecx
pop ecx
je 0x441395
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.00444023
mov edi, dword [ebp - 0x180]
pop ecx
jmp case.0x43d39b.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.00443ff9
add esi, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x440769
mov eax, dword [esi + 4]
shl eax, 6
add eax, dword [ecx + 0x58]
push edi
push eax
call fcn.0044485a
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 0x44112f
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 0x43d64d
mov esi, dword [esi + 4]
shl esi, 6
add esi, dword [ecx + 0x58]
push esi
call fcn.004447bf
push edi
call fcn.004447bf
mov eax, dword [edi]
pop ecx
pop ecx
mov ecx, dword [edi + 4]
cmp dword [esi + 4], ecx
jg case.0x43d39b.13
jl 0x440829
cmp dword [esi], eax
jae case.0x43d39b.13
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp case.0x43d39b.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.0x43d39b.13
mov eax, dword [esi + 4]
mov ecx, dword [ecx + 0x58]
shl eax, 6
cmp dword [eax + ecx + 4], 0
jl case.0x43d39b.13
jg 0x43d3b5
cmp dword [eax + ecx], 0
jbe case.0x43d39b.13
jmp 0x43d3b5
mov eax, dword [esi + 4]
mov ecx, dword [ecx + 0x58]
shl eax, 6
cmp dword [eax + ecx + 4], 0
jg case.0x43d39b.13
jl 0x43d3b5
cmp dword [eax + ecx], 0
jae case.0x43d39b.13
jmp 0x43d3b5
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.0x43d39b.13
jmp 0x43d3b5
mov eax, dword [esi + 4]
shl eax, 6
add eax, dword [ecx + 0x58]
push eax
call fcn.00444a0c
jmp 0x43dbec
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.004449e5
jmp 0x43d660
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.0044485a
jmp 0x44037e
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 0x440957
mov esi, ecx
push edi
mov dword [eax + edx*4], edi
call fcn.0043d09c
mov eax, dword [ebp - 0x190]
inc edx
add edi, 0x40
pop ecx
cmp edx, esi
jl 0x440933
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 0x4409b0
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.0043d1dd
add esp, 0x14
cmp byte [ebp - 0xe0], 0
je 0x440a08
lea eax, [ebp - 0x124]
push 0
push eax
call fcn.004421bf
pop ecx
push eax
lea eax, [edi + 0x230]
push eax
call fcn.0043ca7f
add esp, 0xc
mov dword [ebp - 0x170], 1
lea eax, [ebp - 0x124]
push eax
call fcn.00444971
jmp 0x44111c
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.0044466e
pop ecx
pop ecx
mov dword [ebp - 0x170], eax
cmp eax, 1
jne 0x44112f
push 0
push dword [ebp - 0x1a4]
call fcn.004421bf
pop ecx
push eax
mov eax, dword [ebp - 0x174]
add eax, 0x230
push eax
call fcn.0043ca7f
jmp 0x43d660
mov esi, dword [ebp - 0x188]
push esi
call fcn.0043ca11
pop ecx
test eax, eax
jne 0x440aa1
mov eax, dword [ebp - 0x174]
add eax, 0x230
push esi
push eax
call fcn.0043cdad
push esi
mov dword [ebp - 0x170], eax
call fcn.0043ca48
add esp, 0xc
test eax, eax
je case.0x43d39b.13
mov dword [ebp - 0x170], 0x15
mov eax, dword [ebp - 0x174]
lea esi, [eax + 0x230]
cmp dword [esi], 0
jne 0x441380
call fcn.0043c88b
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.0042d064
pop ecx
push eax
push esi
jmp 0x441372
cmp dword [esi + 4], 0
jne 0x440afa
push dword [ebp - 0x188]
jmp 0x43eed6
mov byte [ecx + 0x238], 1
jmp case.0x43d39b.13
mov ecx, dword [esi + 4]
test ecx, ecx
sets al
mov byte [ebp - 0x1f8], al
test al, al
je 0x440b1f
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.0041cc0c
add esp, 0xc
mov dword [ebp - 0x170], eax
cmp eax, 6
jne 0x44112f
mov eax, dword [ebp - 0x174]
push 0
push dword [esi + 0xc]
add eax, 0x230
push str.database_table_is_locked:
push eax
call fcn.0043ca7f
jmp 0x43d4a6
push dword [esi + 0xc]
push dword [ebp - 0x188]
call fcn.00444dfc
jmp 0x44037e
lea eax, [ecx + 0x230]
push eax
push dword [esi + 0xc]
push dword [esi + 4]
push dword [ebp - 0x188]
call fcn.00444fb7
add esp, 0x10
jmp 0x43d350
mov byte [ecx + 0x23a], 2
push dword [esi + 0xc]
push dword [esi + 4]
push dword [ebp - 0x188]
call fcn.00445026
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x174]
add esp, 0xc
mov byte [eax + 0x23a], 0
jmp case.0x43d39b.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.0043ca11
pop ecx
test eax, eax
jne 0x440aa1
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.0043ca48
add esp, 0xc
test eax, eax
jne 0x440aa1
mov eax, dword [ebp - 0x170]
test eax, eax
jne 0x44112f
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.0043d0d1
add esp, 0xc
test eax, eax
je 0x440c83
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.0x43d39b.13
push dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x190]
call dword [eax + 0x1c]
jmp 0x43dbec
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 0x440d15
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.0043d09c
inc esi
add edx, 0x40
pop ecx
mov ecx, dword [ebp - 0x190]
cmp esi, edi
jl 0x440cf1
mov edi, dword [ebp - 0x180]
mov esi, dword [ebp - 0x198]
push dword [ebp - 0x188]
call fcn.0043ca11
pop ecx
test eax, eax
jne 0x440aa1
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 0x440d8e
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.0043ca48
pop ecx
test eax, eax
jne 0x440aa1
cmp dword [ebp - 0x18c], eax
je 0x440db4
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x17c]
add eax, 2
push eax
jmp 0x44110f
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 0x440df7
push 0
push str.Unsupported_module_operation:_xRowid
lea eax, [edx + 0x230]
jmp 0x43eda1
push dword [ebp - 0x188]
call fcn.0043ca11
pop ecx
test eax, eax
jne 0x440aa1
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.0043ca48
add esp, 0xc
test eax, eax
jne 0x440aa1
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 0x4401e7
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 0x440e97
push ecx
push str.Unsupported_module_operation:_xColumn
jmp 0x440dec
push 0x58
push ecx
lea eax, [ebp - 0x7c]
push eax
call fcn.004c3990
push dword [ebp - 0x188]
xor eax, eax
inc eax
mov word [ebp - 0x5c], ax
call fcn.0043ca11
add esp, 0x10
test eax, eax
jne 0x440aa1
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.00444501
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.0044485a
push dword [ebp - 0x188]
call fcn.0043ca48
add esp, 0x20
jmp 0x440a99
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 0x440f5d
push 0
push str.Unsupported_module_operation:_xNext
jmp 0x440dec
push dword [ebp - 0x188]
call fcn.0043ca11
pop ecx
test eax, eax
jne 0x440aa1
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 0x440fc3
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.0043ca48
pop ecx
test eax, eax
jne 0x440aa1
cmp dword [ebp - 0x184], eax
jmp 0x4408b2
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 0x44102c
push 0
add eax, 0x230
push str.read_only_table
push eax
call fcn.0043ca7f
add esp, 0xc
mov dword [ebp - 0x170], 1
jmp 0x441109
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 0x44107c
mov esi, dword [ebp - 0x1a4]
mov edi, dword [ebp - 0x190]
push edx
call fcn.0043d09c
mov eax, dword [ebp - 0x184]
pop ecx
mov dword [eax + esi*4], edx
inc esi
add edx, 0x40
cmp esi, edi
jl 0x441058
mov edi, dword [ebp - 0x180]
mov esi, dword [ebp - 0x198]
push dword [ebp - 0x188]
call fcn.0043ca11
pop ecx
test eax, eax
jne 0x440aa1
push dword [ebp - 0x17c]
call fcn.0044524f
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.004453b3
push dword [ebp - 0x188]
call fcn.0043ca48
add esp, 0x1c
test eax, eax
jne 0x440aa1
cmp dword [esi + 4], eax
je 0x441109
cmp dword [ebp - 0x170], eax
jne 0x441109
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.0043d1dd
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 0x43d2dd
jmp 0x44137a
mov dword [ebp - 0x170], 0x14
jmp 0x440aab
cmp dword [esi + 8], 0
je 0x441177
push eax
call fcn.0042d1dd
mov eax, dword [ebp - 0x188]
pop ecx
mov byte [eax + 0x14], 1
push 0x65
pop eax
jmp 0x4413e1
push ecx
mov byte [eax + 0x14], dl
call fcn.00442cb1
pop ecx
push 5
pop esi
cmp eax, esi
jne 0x44116f
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 0x4413df
mov ecx, dword [ebp - 0x174]
mov edx, dword [ebp - 0x19c]
mov dword [ecx + 0x7c], edx
mov dword [ecx + 0x80], esi
jmp 0x4413dc
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 0x4413e1
mov dword [ebp - 0x170], 0xd
jmp 0x440aab
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 0x44124e
push 0
push dword [esi + 0xc]
lea eax, [ecx + 0x230]
push eax
call fcn.0043ca7f
mov ecx, dword [ebp - 0x174]
add esp, 0xc
push ecx
call fcn.00442cb1
pop ecx
push 5
pop ecx
cmp eax, ecx
mov eax, dword [ebp - 0x174]
jne 0x44126a
mov dword [eax + 0x80], ecx
jmp 0x44127a
cmp dword [eax + 0x80], 0
push 1
pop eax
push 0x65
pop ecx
cmovne ecx, eax
mov eax, ecx
jmp 0x4413e1
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 0x4412dc
mov eax, 0x100
test word [edx + 0x18], ax
je 0x4412cf
push edx
call fcn.004447e5
pop ecx
test eax, eax
jne 0x441395
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 0x4412a9
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 0x441319
push edx
call fcn.004448b1
mov edx, dword [ebp - 0x184]
push edx
call fcn.0043d09c
add edx, 0x40
pop ecx
pop ecx
mov dword [ebp - 0x184], edx
cmp edx, edi
jbe 0x4412f2
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 0x4413dc
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.0042d064
pop ecx
push eax
mov eax, dword [ebp - 0x174]
add eax, 0x230
push eax
call fcn.0043ca7f
add esp, 0xc
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x170]
test ecx, ecx
jne 0x4413c6
push 0x65
pop esi
jmp 0x4413cf
mov edi, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x174]
push 0
lea eax, [ecx + 0x230]
push 0x4f7e54
push eax
call fcn.0043ca7f
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.00442cb1
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.004c29c4
leave
ret