Function at 0x43d460
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x32c
mov eax, dword [0x529748]
xor eax, ebp
mov dword [ebp - 4], eax
mov edx, ecx
mov dword [ebp - 0x268], 0
push ebx
push esi
push edi
mov ecx, dword [edx]
xor edi, edi
mov eax, dword [edx + 4]
mov ebx, dword [edx + 8]
mov dword [ebp - 0x260], eax
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x264], ecx
mov dword [ebp - 0x26c], edx
mov dword [ebp - 0x270], 0
mov eax, dword [eax + 0xc]
mov byte [ebp - 0x2a1], 0
mov dword [ebp - 0x2d4], 0
mov dword [ebp - 0x2b4], 0
mov al, byte [eax + 0x4d]
mov byte [ebp - 0x298], al
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ecx + 0x24]
mov ecx, edx
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x278], ebx
mov dword [ebp - 0x274], edi
mov dword [ebp - 0x2b8], edi
mov dword [ebp - 0x2a8], eax
call fcn.00437690
mov ecx, dword [ebp - 0x26c]
cmp dword [ecx + 0x50], 7
je 0x4433d8
mov dword [ecx + 0x50], edi
mov dword [ecx + 0x88], edi
mov dword [ecx + 0x8c], edi
mov dword [ecx + 0x14], edi
mov ecx, dword [ebp - 0x264]
mov dword [ecx + 0x1bc], edi
cmp dword [ecx + 0xe8], edi
jne 0x443393
cmp dword [ecx + 0x11c], edi
je 0x43d56c
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 0x7c]
test eax, eax
jne 0x43d55e
mov edx, dword [ecx + 0x124]
jmp 0x43d566
xor edx, edx
div dword [ecx + 0x124]
mov dword [ebp - 0x2b0], edx
mov eax, dword [ebp - 0x26c]
mov esi, dword [eax + 0x4c]
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x268], esi
cmp byte [ecx + 0x40], 0
jne 0x4433de
inc dword [ebp - 0x2b4]
lea ebx, [esi + esi*4]
test byte [edx + ebx*4 + 2], 2
mov dword [ebp - 0x27c], ebx
je 0x43d5de
mov eax, dword [edx + ebx*4 + 8]
mov edi, dword [ebp - 0x278]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, 0x2460
mov dword [ebp - 0x274], edi
test word [edi + 0x1c], ax
je 0x43d5d5
mov ecx, edi
call fcn.00435bf0
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x260]
mov eax, 4
mov word [edi + 0x1c], ax
mov dl, byte [edx + ebx*4]
movzx eax, dl
dec eax
cmp eax, 0x9b
ja case.default.0x43d5f0
jmp dword [eax*4 + 0x44340c]
mov ecx, dword [ebp - 0x260]
mov ecx, dword [ecx + ebx*4 + 8]
jmp 0x442b7f
mov ecx, dword [ebp - 0x260]
mov edx, 4
mov eax, dword [ebp - 0x278]
mov ecx, dword [ecx + ebx*4 + 4]
lea ecx, [ecx + ecx*4]
mov word [eax + ecx*8 + 0x1c], dx
mov eax, esi
mov esi, dword [ebp - 0x278]
cdq
mov dword [esi + ecx*8 + 0x10], eax
mov eax, esi
mov dword [eax + ecx*8 + 0x14], edx
mov edx, dword [ebp - 0x260]
mov ecx, dword [edx + ebx*4 + 8]
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x43d581
mov edx, dword [ebp - 0x260]
mov ecx, 0x80
mov eax, dword [edx + ebx*4 + 4]
mov ebx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
mov esi, dword [ebx + eax*8 + 0x10]
mov word [ebx + eax*8 + 0x1c], cx
inc esi
mov ecx, dword [ebp - 0x264]
jmp 0x43d57b
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 0xc]
dec eax
mov dword [ebp - 0x274], edi
cdq
mov dword [edi + 0x14], edx
mov edx, dword [ebp - 0x260]
mov dword [edi + 0x10], eax
mov eax, 4
mov word [edi + 0x1c], ax
mov eax, dword [edx + ebx*4 + 8]
test eax, eax
je 0x43d6c6
lea esi, [eax - 1]
inc esi
jmp 0x43d57b
mov edx, dword [ebp - 0x260]
mov eax, dword [edx + ebx*4 + 4]
mov ebx, dword [ebp - 0x278]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + ecx*8 + 0x10]
lea eax, [eax + eax*4]
mov esi, dword [edx + eax*4 + 8]
mov eax, 0x80
mov word [ebx + ecx*8 + 0x1c], ax
mov ecx, dword [ebp - 0x264]
jmp 0x43d57b
mov ecx, dword [ebp - 0x260]
mov eax, dword [ecx + ebx*4 + 4]
mov ebx, dword [ebp - 0x278]
lea esi, [eax + eax*4]
mov eax, 4
mov ecx, dword [ebx + esi*8 + 0x10]
mov word [ebx + esi*8 + 0x1c], ax
inc ecx
mov eax, dword [ebp - 0x268]
cdq
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov dword [ebx + esi*8 + 0x14], edx
mov edx, dword [ebp - 0x260]
mov dword [ebx + esi*8 + 0x10], eax
mov esi, dword [ebp - 0x268]
jmp 0x43d581
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
mov ecx, dword [ebp - 0x264]
je 0x44011d
jmp 0x43d779
mov edx, dword [ebp - 0x260]
cmp dword [edx + ebx*4 + 4], 0
jne 0x442f17
mov eax, dword [ebp - 0x26c]
mov ecx, dword [eax + 0xb0]
test ecx, ecx
je 0x442f17
mov edx, dword [ebp - 0x26c]
mov eax, dword [ecx + 4]
dec dword [edx + 0xb8]
mov dword [edx + 0xb0], eax
mov eax, dword [edx + 0x5c]
mov edx, dword [ebp - 0x264]
add dword [edx + 0x54], eax
mov dword [edx + 0x50], eax
call fcn.00438020
mov ecx, dword [ebp - 0x264]
mov esi, eax
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x2a8], eax
mov eax, dword [ebp - 0x260]
cmp dword [eax + ebx*4 + 8], 4
jne 0x43d80b
mov eax, dword [ebp - 0x26c]
lea ecx, [esi + esi*4]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ecx*4 + 8]
dec ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
mov eax, dword [ebp - 0x26c]
inc esi
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x260], edx
mov dword [ebp - 0x278], eax
jmp 0x43d57b
mov eax, dword [ebp - 0x260]
inc esi
mov eax, dword [eax + ebx*4 + 4]
cdq
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
jmp 0x43d575
mov edx, dword [ebp - 0x260]
inc esi
mov ecx, dword [edx + ebx*4 + 0x10]
mov eax, dword [ecx]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x264]
mov dword [edi + 0x14], eax
jmp 0x43d57b
mov edx, dword [ebp - 0x260]
mov eax, 8
mov word [edi + 0x1c], ax
inc esi
mov eax, dword [edx + ebx*4 + 0x10]
movsd xmm0, qword [eax]
movsd qword [edi + 8], xmm0
jmp 0x43d57b
mov edx, dword [ebp - 0x260]
mov ecx, dword [edx + ebx*4 + 0x10]
mov byte [edx + ebx*4], 0x1b
call fcn.0041c360
cmp byte [ebp - 0x298], 1
mov dword [edx + ebx*4 + 4], eax
je 0x43d91b
push 0
push 1
mov edx, ecx
mov ecx, edi
push 0xffffffffffffffff
call fcn.00436320
add esp, 0xc
mov dword [ebp - 0x270], eax
cmp eax, 0x12
je 0x443224
movzx edx, byte [ebp - 0x298]
mov ecx, edi
call fcn.00435830
test eax, eax
jne 0x4433d8
mov edx, dword [ebp - 0x260]
mov dword [edi + 0x24], eax
mov eax, 0x800
or word [edi + 0x1c], ax
cmp byte [edx + ebx*4 + 1], 0xff
jne 0x43d908
mov edx, dword [edx + ebx*4 + 0x10]
mov ecx, dword [ebp - 0x264]
call fcn.00419d00
mov edx, dword [ebp - 0x260]
mov byte [edx + ebx*4 + 1], 0xff
mov eax, dword [edi + 4]
mov dword [edx + ebx*4 + 0x10], eax
mov eax, dword [edi + 0x18]
mov dword [edx + ebx*4 + 4], eax
mov ecx, dword [ebp - 0x264]
mov eax, dword [edx + ebx*4 + 4]
cmp eax, dword [ecx + 0x58]
jg 0x44322a
jmp 0x43d936
mov edx, dword [ebp - 0x260]
mov eax, 0xa02
mov word [edi + 0x1c], ax
mov eax, dword [edx + ebx*4 + 0x10]
mov dword [edi + 4], eax
mov eax, dword [edx + ebx*4 + 4]
mov dword [edi + 0x18], eax
mov al, byte [ebp - 0x298]
mov byte [edi + 0x1e], al
jmp 0x44011d
mov edx, dword [ebp - 0x260]
mov eax, 1
mov ecx, 0x101
mov esi, dword [edx + ebx*4 + 0xc]
sub esi, dword [edx + ebx*4 + 8]
cmp dword [edx + ebx*4 + 4], 0
mov ebx, dword [ebp - 0x274]
cmovne eax, ecx
movzx edi, ax
mov word [ebx + 0x1c], di
test esi, esi
jle 0x43d9bb
mov eax, 0x2460
add ebx, 0x28
test word [ebx + 0x1c], ax
je 0x43d9a6
mov ecx, ebx
call fcn.00435bf0
mov eax, 0x2460
dec esi
mov word [ebx + 0x1c], di
test esi, esi
jg 0x43d991
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x274], ebx
mov edi, dword [ebp - 0x274]
mov esi, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
inc esi
jmp 0x43d57b
mov edx, dword [ebp - 0x260]
mov eax, dword [edx + ebx*4 + 4]
mov ebx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov ebx, 0xff7f
mov ax, word [edi + 0x1c]
and ax, bx
mov dword [ebp - 0x274], edi
or ax, 1
inc esi
mov word [edi + 0x1c], ax
jmp 0x43d57b
mov eax, dword [ebp - 0x260]
mov ecx, edi
push 0
push 0
push dword [eax + ebx*4 + 4]
mov edx, dword [eax + ebx*4 + 0x10]
call fcn.00436320
mov al, byte [ebp - 0x298]
add esp, 0xc
mov ecx, dword [ebp - 0x264]
inc esi
mov byte [edi + 0x1e], al
jmp 0x43d575
mov eax, dword [ebp - 0x260]
mov eax, dword [eax + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 0x3c]
lea esi, [eax + ecx*8]
lea ecx, [esi - 0x28]
call fcn.00436130
test eax, eax
jne 0x443224
push 0x800
lea edx, [esi - 0x28]
mov ecx, edi
call fcn.00436160
mov esi, dword [ebp - 0x268]
add esp, 4
mov ecx, dword [ebp - 0x264]
inc esi
jmp 0x43d575
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
mov eax, dword [ecx + ebx*4 + 4]
mov edi, dword [ecx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
mov ecx, 0x80
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov eax, 0x2460
test word [ebx + 0x1c], ax
je 0x43dac7
mov ecx, ebx
call fcn.00435bf0
mov ecx, 0x80
movdqu xmm0, xmmword [esi]
mov eax, dword [ebx + 0x24]
movdqu xmmword [ebx], xmm0
movdqu xmm0, xmmword [esi + 0x10]
movdqu xmmword [ebx + 0x10], xmm0
movq xmm0, qword [esi + 0x20]
movq qword [ebx + 0x20], xmm0
add ebx, 0x28
mov word [esi + 0x1c], cx
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], eax
add esi, 0x28
dec edi
jne 0x43dab0
mov dword [ebp - 0x274], ebx
mov esi, dword [ebp - 0x268]
mov edi, dword [ebp - 0x274]
inc esi
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x268], esi
jmp 0x43d581
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
mov eax, dword [ecx + ebx*4 + 4]
mov edi, dword [ecx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
push 0x1000
mov edx, esi
mov dword [ebp - 0x274], ebx
mov ecx, ebx
call fcn.00436160
mov eax, 0x1000
add esp, 4
test word [ebx + 0x1c], ax
je 0x43db7c
mov ecx, ebx
call fcn.00435980
test eax, eax
jne 0x4433d8
mov eax, edi
dec edi
test eax, eax
je 0x43db03
add ebx, 0x28
add esi, 0x28
jmp 0x43db4b
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
push 0x1000
mov eax, dword [ecx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 4]
mov ecx, edi
mov dword [ebp - 0x274], edi
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
call fcn.00436160
mov ecx, dword [ebp - 0x264]
add esp, 4
inc esi
jmp 0x43d575
mov eax, dword [ecx + 0x11c]
test eax, eax
je 0x43dbf7
mov edx, dword [ebp - 0x2b4]
cmp edx, dword [ebp - 0x2b0]
jb 0x43dbf7
push dword [ecx + 0x120]
call eax
add esp, 4
test eax, eax
jne 0x442ff9
mov ecx, dword [ebp - 0x26c]
xor edx, edx
call fcn.00438dd0
mov ecx, eax
mov dword [ebp - 0x270], ecx
test ecx, ecx
jne 0x440111
mov ecx, dword [ebp - 0x26c]
lea edx, [eax + 1]
call fcn.00438ca0
mov ecx, eax
mov dword [ebp - 0x270], ecx
test ecx, ecx
jne 0x440111
mov edx, dword [ebp - 0x26c]
xor edi, edi
mov ecx, dword [ebp - 0x260]
mov esi, dword [ebp - 0x278]
mov eax, dword [edx + 0x48]
add eax, 2
or eax, 1
mov dword [edx + 0x48], eax
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov dword [edx + 0x14], esi
cmp dword [ecx + ebx*4 + 8], edi
jle 0x43dc9c
mov eax, 0x1000
test word [esi + 0x1c], ax
je 0x43dc7f
mov ecx, esi
call fcn.00435980
test eax, eax
jne 0x4433d8
mov ecx, esi
call fcn.00435a40
mov eax, dword [ebp - 0x260]
inc edi
add esi, 0x28
cmp edi, dword [eax + ebx*4 + 8]
jl 0x43dc65
mov edx, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x264]
cmp byte [ecx + 0x40], 0
jne 0x4433de
mov eax, dword [ebp - 0x268]
mov edi, 0x64
inc eax
mov dword [edx + 0x4c], eax
jmp 0x4401bf
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x27c], eax
mov eax, dword [ecx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 0xc]
mov ebx, dword [ebp - 0x27c]
lea eax, [eax + eax*4]
movzx ecx, word [ebx + 0x1c]
lea edi, [edx + eax*8]
mov al, byte [esi + 0x1c]
or al, cl
mov dword [ebp - 0x274], edi
test al, 1
je 0x43dd22
mov ecx, edi
call fcn.00436000
mov esi, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
inc esi
jmp 0x43d575
test ecx, 0x4000
je 0x43dd39
mov ecx, ebx
call fcn.004359e0
test eax, eax
jne 0x4433d8
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x43dd53
mov ecx, esi
call fcn.004359e0
test eax, eax
jne 0x4433d8
test byte [ebx + 0x1c], 0x12
jne 0x43dd6f
movzx edx, byte [ebp - 0x298]
mov ecx, ebx
call fcn.00435a90
test eax, eax
jne 0x4433d8
test byte [esi + 0x1c], 0x12
jne 0x43dd8b
movzx edx, byte [ebp - 0x298]
mov ecx, esi
call fcn.00435a90
test eax, eax
jne 0x4433d8
mov eax, dword [esi + 0x18]
add eax, dword [ebx + 0x18]
cdq
mov edi, eax
mov ecx, edx
mov eax, dword [ebp - 0x264]
mov eax, dword [eax + 0x58]
cdq
cmp ecx, edx
jg 0x443224
jl 0x43ddb2
cmp edi, eax
ja 0x443224
mov ecx, dword [ebp - 0x274]
lea edx, [edi + 2]
xor eax, eax
cmp ecx, esi
sete al
push eax
call fcn.00435850
add esp, 4
test eax, eax
jne 0x4433d8
mov ecx, dword [ebp - 0x274]
mov edx, 0xbe02
mov ax, word [ecx + 0x1c]
and ax, dx
or ax, 2
mov word [ecx + 0x1c], ax
cmp ecx, esi
je 0x43de02
push dword [esi + 0x18]
push dword [esi + 4]
push dword [ecx + 4]
call fcn.004c1c20
add esp, 0xc
push dword [ebx + 0x18]
mov eax, dword [esi + 0x18]
push dword [ebx + 4]
mov ebx, dword [ebp - 0x274]
add eax, dword [ebx + 4]
push eax
call fcn.004c1c20
mov eax, dword [ebx + 4]
add esp, 0xc
mov esi, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
mov byte [edi + eax], 0
mov eax, dword [ebx + 4]
mov byte [eax + edi + 1], 0
mov eax, 0x200
or word [ebx + 0x1c], ax
inc esi
mov al, byte [ebp - 0x298]
mov dword [ebx + 0x18], edi
mov edi, ebx
mov byte [edi + 0x1e], al
jmp 0x43d575
mov esi, dword [ebp - 0x260]
mov edi, dword [ebp - 0x278]
mov eax, dword [esi + ebx*4 + 4]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [ebp - 0x294], eax
call fcn.0043d400
movzx eax, ax
mov dword [ebp - 0x280], eax
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [ebp - 0x2a0], eax
call fcn.0043d400
mov ecx, dword [ebp - 0x294]
movzx edx, ax
mov eax, dword [esi + ebx*4 + 0xc]
mov esi, dword [ebp - 0x2a0]
mov dword [ebp - 0x27c], edx
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0x274], eax
mov al, byte [esi + 0x1c]
or al, byte [ecx + 0x1c]
test al, 1
jne 0x43e109
mov al, dl
and al, byte [ebp - 0x280]
test al, 4
je 0x43dfda
mov eax, ecx
mov byte [ebp - 0x289], 1
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov eax, esi
mov esi, dword [eax + 0x10]
mov edi, dword [eax + 0x14]
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x2c0], esi
mov dword [ebp - 0x2bc], edi
movzx eax, byte [eax + ebx*4]
add eax, 0xffffffa7
cmp eax, 3
ja case.default.0x43df10
jmp dword [eax*4 + 0x44367c]
push edx
push ecx
lea ecx, [ebp - 0x2c0]
call fcn.0041d610
add esp, 8
test eax, eax
jne 0x43dfe3
mov edx, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c0]
jmp 0x43dfa8
push edx
push ecx
lea ecx, [ebp - 0x2c0]
call fcn.0041d6b0
jmp 0x43df24
push edx
push ecx
lea ecx, [ebp - 0x2c0]
call fcn.0041d700
jmp 0x43df24
mov eax, ecx
or eax, edx
je 0x43e109
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x43df7a
test esi, esi
jne 0x43df7a
cmp edi, 0x80000000
je 0x43dfe3
push edx
push ecx
push edi
push esi
call fcn.004cd400
jmp 0x43dfa8
mov eax, ecx
or eax, edx
je 0x43e109
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x43df9f
mov ecx, 1
xor edx, edx
push edx
push ecx
push edi
push esi
call fcn.004cd4b0
mov edi, dword [ebp - 0x274]
mov ecx, 0xbe04
mov esi, dword [ebp - 0x268]
mov dword [edi + 0x10], eax
mov ax, word [edi + 0x1c]
and ax, cx
mov dword [edi + 0x14], edx
mov ecx, dword [ebp - 0x264]
or ax, 4
mov word [edi + 0x1c], ax
inc esi
jmp 0x43d575
mov byte [ebp - 0x289], 0
jmp 0x43dfef
mov esi, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x294]
call fcn.00435d70
mov ecx, esi
movsd qword [ebp - 0xe0], xmm0
call fcn.00435d70
mov eax, dword [ebp - 0x260]
movapd xmm1, xmm0
movsd qword [ebp - 0x2c8], xmm1
movzx eax, byte [eax + ebx*4]
add eax, 0xffffffa7
cmp eax, 3
ja case.default.0x43e021
jmp dword [eax*4 + 0x44368c]
addsd xmm1, qword [ebp - 0xe0]
jmp 0x43e0b0
subsd xmm1, qword [ebp - 0xe0]
jmp 0x43e0b0
mulsd xmm1, qword [ebp - 0xe0]
jmp 0x43e0b0
movsd xmm0, qword [ebp - 0xe0]
xorps xmm2, xmm2
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jnp 0x43e109
divsd xmm1, xmm0
jmp 0x43e0b0
movsd xmm0, qword [ebp - 0xe0]
call fcn.004f34bf
movsd xmm0, qword [ebp - 0x2c8]
mov esi, eax
mov edi, edx
call fcn.004f34bf
mov ecx, esi
or ecx, edi
je 0x43e109
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x43e09c
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.004cd4b0
mov ecx, eax
call fcn.004f365f
movapd xmm1, xmm0
movapd xmm0, xmm1
call fcn.0041c320
test eax, eax
jne 0x43e109
mov ebx, dword [ebp - 0x274]
mov ecx, 0xbe08
mov ax, word [ebx + 0x1c]
and ax, cx
movsd qword [ebx + 8], xmm1
or ax, 8
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x27c]
or al, byte [ebp - 0x280]
test al, 8
jne 0x43db03
cmp byte [ebp - 0x289], 0
jne 0x43db03
mov ecx, ebx
call fcn.00435dd0
jmp 0x43db03
mov edi, dword [ebp - 0x274]
mov ecx, edi
call fcn.00436000
mov esi, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
inc esi
jmp 0x43d575
mov edx, dword [ebp - 0x260]
mov eax, dword [edx + ebx*4 + 4]
test eax, eax
je 0x43e154
mov ecx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
push 0
push 0
lea ecx, [ecx + eax*8]
call fcn.00436050
mov edx, dword [ebp - 0x260]
add esp, 8
mov ecx, dword [ebp - 0x264]
inc esi
jmp 0x43d57b
mov esi, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov edi, dword [ebp - 0x278]
movzx ecx, byte [esi + ebx*4 + 3]
mov edx, dword [eax + 0xc]
mov eax, dword [esi + ebx*4 + 0xc]
mov dword [ebp - 0x27c], ecx
mov dword [ebp - 0xd8], edx
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0x274], eax
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
xor edi, edi
test ecx, ecx
jle 0x43e1e1
mov eax, 0x1000
jmp 0x43e1b0
mov dword [edx + edi*4], esi
test word [esi + 0x1c], ax
je 0x43e1d9
mov ecx, esi
call fcn.00435980
test eax, eax
jne 0x4433d8
mov ecx, dword [ebp - 0x27c]
mov eax, 0x1000
mov edx, dword [ebp - 0xd8]
inc edi
add esi, 0x28
cmp edi, ecx
jl 0x43e1b0
mov eax, dword [ebp - 0x260]
mov edi, dword [ebp - 0x274]
mov eax, dword [eax + ebx*4 + 0x10]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x1b0], eax
mov eax, 1
movdqu xmm0, xmmword [edi]
movdqu xmmword [ebp - 0x1e0], xmm0
movdqu xmm0, xmmword [edi + 0x10]
movdqu xmmword [ebp - 0x1d0], xmm0
movq xmm0, qword [edi + 0x20]
movq qword [ebp - 0x1c0], xmm0
mov word [edi + 0x1c], ax
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov eax, dword [ebp - 0x1c4]
mov esi, dword [ebp - 0x1e8]
and eax, 0xbe01
or eax, 1
mov byte [ebp - 0x1a3], 0
mov word [ebp - 0x1c4], ax
test byte [esi + 2], 0x20
je 0x43e284
mov eax, dword [ebp - 0x260]
mov eax, dword [eax + ebx*4 - 4]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x264]
mov edi, dword [ebp - 0x2ac]
push edx
push ecx
mov dword [eax + 0x20], edi
mov edi, dword [ebp - 0x2a8]
mov dword [eax + 0x24], edi
lea eax, [ebp - 0x1e8]
push eax
mov eax, dword [esi + 0xc]
call eax
mov esi, dword [ebp - 0x264]
add esp, 0xc
mov edi, dword [ebp - 0x274]
cmp byte [esi + 0x40], 0
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x2ac], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x2a8], eax
jne 0x443009
cmp byte [ebp - 0x1a3], 0
je 0x43e33b
cmp dword [ebp - 0x1a8], 0
je 0x43e319
mov dl, 1
lea ecx, [ebp - 0x1e0]
call fcn.004365a0
push eax
mov eax, dword [ebp - 0x26c]
push 0x50ddc4
add eax, 0x2c
push esi
push eax
call fcn.0041a100
mov eax, dword [ebp - 0x1a8]
add esp, 0x10
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x260]
mov esi, dword [ebp - 0x268]
mov edx, esi
mov ecx, dword [ebp - 0x26c]
push dword [eax + ebx*4 + 4]
call fcn.004392f0
add esp, 4
jmp 0x43e341
mov esi, dword [ebp - 0x268]
movzx edx, byte [ebp - 0x298]
lea ecx, [ebp - 0x1e0]
call fcn.00435830
movdqu xmm0, xmmword [ebp - 0x1e0]
mov ecx, edi
movdqu xmmword [edi], xmm0
movdqu xmm0, xmmword [ebp - 0x1d0]
movdqu xmmword [edi + 0x10], xmm0
movq xmm0, qword [ebp - 0x1c0]
movq qword [edi + 0x20], xmm0
call fcn.00436130
mov ecx, dword [ebp - 0x264]
test eax, eax
jne 0x44322a
jmp case.default.0x43d5f0
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov al, byte [ecx + 0x1c]
or al, byte [esi + 0x1c]
mov dword [ebp - 0x274], edi
test al, 1
je 0x43e3f2
mov ecx, edi
call fcn.00436000
mov esi, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
inc esi
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x268], esi
jmp 0x43d581
call fcn.00435cc0
mov edi, edx
mov dword [ebp - 0x284], eax
mov ecx, esi
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x2e4], edi
call fcn.00435cc0
mov esi, eax
mov eax, dword [ebp - 0x260]
mov cl, byte [eax + ebx*4]
cmp cl, 0x55
jne 0x43e431
mov ecx, dword [ebp - 0x284]
and ecx, esi
and edi, edx
jmp 0x43e517
cmp cl, 0x56
jne 0x43e445
mov ecx, dword [ebp - 0x284]
or ecx, esi
or edi, edx
jmp 0x43e517
mov eax, esi
or eax, edx
je 0x43e511
test edx, edx
jg 0x43e47d
jl 0x43e459
test esi, esi
jae 0x43e472
mov al, 0xaf
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x43e47d
jg 0x43e46b
cmp esi, 0xffffffc0
jbe 0x43e47d
neg esi
adc edx, 0
neg edx
test edx, edx
jl 0x43e4a7
jg 0x43e47d
cmp esi, 0x40
jb 0x43e4a7
test edi, edi
jg 0x43e49e
jl 0x43e48c
cmp dword [ebp - 0x284], 0
jae 0x43e49e
cmp cl, 0x57
je 0x43e49e
or eax, 0xffffffff
cdq
mov ecx, eax
mov edi, edx
jmp 0x43e517
xor eax, eax
cdq
mov ecx, eax
mov edi, edx
jmp 0x43e517
movq xmm1, qword [ebp - 0x2e8]
movd xmm0, esi
cmp cl, 0x57
jne 0x43e4d2
psllq xmm1, xmm0
movq qword [ebp - 0xe0], xmm1
mov edi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe0]
jmp 0x43e517
psrlq xmm1, xmm0
movq qword [ebp - 0xe0], xmm1
test edi, edi
jg 0x43e4c4
jl 0x43e4ed
cmp dword [ebp - 0x284], 0
jae 0x43e4c4
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, esi
or edx, 0xffffffff
call fcn.004f32a0
mov ecx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xdc]
or ecx, eax
or edi, edx
jmp 0x43e517
mov ecx, dword [ebp - 0x284]
mov eax, dword [ebp - 0x274]
mov esi, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
mov dword [eax + 0x14], edi
mov edi, eax
mov dword [eax + 0x10], ecx
mov ecx, 0xbe04
mov ax, word [edi + 0x1c]
and ax, cx
mov ecx, dword [ebp - 0x264]
or ax, 4
inc esi
mov word [edi + 0x1c], ax
mov dword [ebp - 0x268], esi
jmp 0x43d581
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [eax + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00435e70
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x264]
mov eax, dword [eax + ebx*4 + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
mov esi, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
inc esi
mov dword [ebp - 0x268], esi
jmp 0x43d581
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x43e606
test al, 0xc
jne 0x43e5cc
mov ecx, esi
call fcn.0043d2f0
test byte [esi + 0x1c], 8
je 0x43e5d9
mov ecx, esi
call fcn.00435dd0
movzx eax, word [esi + 0x1c]
mov edx, dword [ebp - 0x260]
test al, 4
jne 0x43e606
mov eax, dword [edx + ebx*4 + 8]
mov ecx, dword [ebp - 0x264]
test eax, eax
je 0x44301b
mov dword [ebp - 0x268], eax
mov esi, eax
jmp 0x43d581
mov ecx, dword [ebp - 0x264]
and eax, 0xbe04
or eax, 4
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0x268]
inc esi
jmp 0x43d57b
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 4
lea ecx, [ecx + eax*8]
je 0x43e154
call fcn.00435ea0
mov ecx, dword [ebp - 0x264]
inc esi
jmp 0x43d575
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx ecx, word [esi + 0x1c]
test cl, 1
jne 0x43ff81
mov eax, ecx
shr eax, 3
and eax, 2
or eax, ecx
mov word [esi + 0x1c], ax
test al, 2
jne 0x43e69d
test al, 0xc
je 0x43e69d
movzx edx, byte [ebp - 0x298]
mov ecx, esi
call fcn.00435a90
mov eax, 0xfff3
and word [esi + 0x1c], ax
movzx eax, word [esi + 0x1c]
test eax, 0x4000
je 0x43e6d8
mov ecx, esi
call fcn.004359e0
mov ecx, dword [ebp - 0x264]
mov dword [ebp - 0x270], eax
mov eax, 0xbfe3
and word [esi + 0x1c], ax
mov esi, dword [ebp - 0x268]
jmp case.default.0x43d5f0
mov eax, 0xbfe3
mov dword [ebp - 0x270], 0
and word [esi + 0x1c], ax
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp case.default.0x43d5f0
mov edx, dword [ebp - 0x260]
mov eax, dword [edx + ebx*4 + 4]
mov ebx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
movzx eax, word [esi + 0x1c]
test al, 1
jne 0x43fde6
test al, 0x10
jne 0x43e764
test al, 2
jne 0x43e73e
test al, 0xc
je 0x43e73e
movzx edx, byte [ebp - 0x298]
mov ecx, esi
call fcn.00435a90
mov edx, dword [ebp - 0x260]
mov ax, word [esi + 0x1c]
mov ecx, 0xbe10
and ax, cx
mov ecx, dword [ebp - 0x264]
or ax, 0x10
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0x268]
inc esi
jmp 0x43d57b
and eax, 0xfe10
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0x268]
inc esi
jmp 0x43d57b
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [eax + ebx*4 + 4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00435f20
mov ecx, dword [ebp - 0x264]
inc esi
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x268], esi
jmp 0x43d581
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
jne 0x43e154
call fcn.00435e70
mov ecx, dword [ebp - 0x264]
inc esi
jmp 0x43d575
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
jne 0x43e154
call fcn.00435ea0
mov ecx, dword [ebp - 0x264]
inc esi
jmp 0x43d575
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
movzx ecx, word [edx + eax*8 + 0x1c]
lea edi, [edx + eax*8]
movzx edx, word [esi + 0x1c]
mov al, cl
or al, dl
mov dword [ebp - 0x27c], edx
test al, 1
mov dword [ebp - 0xd8], ecx
mov eax, dword [ebp - 0x260]
mov al, byte [eax + ebx*4 + 3]
je 0x43e8f9
test al, al
jns 0x43e882
test dl, 1
je 0x43e878
test cl, 1
je 0x43e878
test ecx, 0x100
jne 0x43e878
xor edx, edx
jmp 0x43e977
mov edx, 1
jmp 0x43e977
test al, 0x10
je 0x43e8c8
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov esi, dword [ebp - 0x268]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, 0xbe01
mov ax, word [edi + 0x1c]
and ax, cx
mov dword [ebp - 0x274], edi
mov ecx, dword [ebp - 0x264]
or ax, 1
mov word [edi + 0x1c], ax
inc esi
jmp 0x43d57b
test al, 8
je 0x44045b
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x274]
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
inc ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x43d581
and al, 0x67
mov byte [ebp - 0x289], al
je 0x43e93b
push dword [ebp - 0x298]
mov dl, al
mov ecx, esi
call fcn.0043d370
mov dl, byte [ebp - 0x289]
add esp, 4
mov ecx, edi
push dword [ebp - 0x298]
call fcn.0043d370
mov ecx, dword [ebp - 0x264]
add esp, 4
cmp byte [ecx + 0x40], 0
jne 0x4433de
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x43e952
mov ecx, esi
call fcn.004359e0
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x43e95f
mov ecx, edi
call fcn.004359e0
mov eax, dword [ebp - 0x260]
mov edx, esi
mov ecx, edi
push dword [eax + ebx*4 + 0x10]
call fcn.00439f70
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0x260]
movzx ecx, byte [eax + ebx*4]
add ecx, 0xffffffb2
cmp ecx, 4
ja case.default.0x43e989
jmp dword [ecx*4 + 0x44369c]
xor eax, eax
test edx, edx
sete al
jmp 0x43e9c4
xor eax, eax
test edx, edx
setne al
jmp 0x43e9c4
xor eax, eax
test edx, edx
sets al
jmp 0x43e9c4
xor eax, eax
test edx, edx
setle al
jmp 0x43e9c4
xor eax, eax
test edx, edx
setg al
jmp 0x43e9c4
xor eax, eax
test edx, edx
setns al
mov edx, dword [ebp - 0x260]
test byte [edx + ebx*4 + 3], 0x10
je 0x43ea0a
mov ecx, dword [edx + ebx*4 + 8]
mov edx, dword [ebp - 0x278]
lea ecx, [ecx + ecx*4]
lea ebx, [edx + ecx*8]
mov edx, 0xbe04
mov cx, word [ebx + 0x1c]
and cx, dx
mov dword [ebp - 0x274], ebx
cdq
or cx, 4
mov dword [ebx + 0x14], edx
mov edx, dword [ebp - 0x260]
mov word [ebx + 0x1c], cx
mov dword [ebx + 0x10], eax
jmp 0x43ea19
test eax, eax
je 0x43ea19
mov eax, dword [edx + ebx*4 + 8]
dec eax
mov dword [ebp - 0x268], eax
movzx eax, word [esi + 0x1c]
mov ebx, 0x1ff
xor ax, word [ebp - 0x27c]
mov ecx, dword [ebp - 0x264]
and ax, bx
xor word [esi + 0x1c], ax
movzx eax, word [edi + 0x1c]
xor ax, word [ebp - 0xd8]
mov esi, dword [ebp - 0x268]
and ax, bx
xor word [edi + 0x1c], ax
inc esi
mov edi, dword [ebp - 0x274]
jmp 0x43d57b
mov edx, dword [ebp - 0x260]
inc esi
mov eax, dword [edx + ebx*4 + 0x10]
mov dword [ebp - 0x2b8], eax
jmp 0x43d57b
mov esi, dword [ebp - 0x260]
mov ecx, 0
mov eax, dword [ebp - 0x2b8]
test byte [esi + ebx*4 + 3], 1
mov edx, dword [esi + ebx*4 + 0x10]
cmove eax, ecx
mov dword [ebp - 0x280], edx
mov ecx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0x2b8], eax
mov eax, dword [esi + ebx*4 + 0xc]
mov dword [ebp - 0xd8], ecx
mov ecx, dword [esi + ebx*4 + 8]
xor esi, esi
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x27c], ecx
test eax, eax
jle 0x43eb41
lea edi, [edx + 0x14]
mov eax, dword [ebp - 0x2b8]
test eax, eax
je 0x43ead3
mov ecx, dword [eax + esi*4]
jmp 0x43ead5
mov ecx, esi
mov eax, dword [edx + 0x10]
mov edx, dword [ebp - 0x278]
push dword [edi]
movzx ebx, byte [eax + esi]
mov eax, dword [ebp - 0x27c]
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0xd8]
add eax, ecx
mov ecx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00439f70
add esp, 4
mov dword [ebp - 0x2d4], eax
test eax, eax
jne 0x43eb35
mov edx, dword [ebp - 0x280]
inc esi
add edi, 4
cmp esi, dword [ebp - 0x290]
jl 0x43eac4
mov dword [ebp - 0x2b8], eax
jmp 0x43db03
test ebx, ebx
je 0x43eb41
neg eax
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x2b8], 0
jmp 0x43db03
mov eax, dword [ebp - 0x2d4]
mov edx, dword [ebp - 0x260]
test eax, eax
jns 0x43eb69
mov esi, dword [edx + ebx*4 + 4]
jmp 0x43d57b
jne 0x43eb74
mov esi, dword [edx + ebx*4 + 8]
jmp 0x43d57b
mov esi, dword [edx + ebx*4 + 0xc]
jmp 0x43d57b
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
je 0x43eba1
mov esi, 2
jmp 0x43ebb9
call fcn.00435cc0
or eax, edx
mov edx, dword [ebp - 0x260]
je 0x43ebb7
mov esi, 1
jmp 0x43ebb9
xor esi, esi
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
je 0x43ebd1
mov eax, 2
jmp 0x43ebe9
call fcn.00435cc0
or eax, edx
mov edx, dword [ebp - 0x260]
je 0x43ebe7
mov eax, 1
jmp 0x43ebe9
xor eax, eax
cmp byte [edx + ebx*4], 0x48
lea eax, [eax + esi*2]
jne 0x43ebfc
movzx ecx, byte [esi + eax + 0x50afd0]
jmp 0x43ec04
movzx ecx, byte [esi + eax + 0x50aeb4]
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov dword [ebp - 0x274], ebx
cmp ecx, 2
jne 0x43ec41
mov ax, word [ebx + 0x1c]
mov ecx, 0xbe01
mov esi, dword [ebp - 0x268]
and ax, cx
mov ecx, dword [ebp - 0x264]
or ax, 1
mov word [ebx + 0x1c], ax
inc esi
mov edi, ebx
jmp 0x43d57b
mov eax, ecx
mov ecx, 0xbe04
cdq
mov dword [ebx + 0x10], eax
mov ax, word [ebx + 0x1c]
and ax, cx
mov dword [ebx + 0x14], edx
or ax, 4
mov word [ebx + 0x1c], ax
jmp 0x43db03
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov dword [ebp - 0x274], ebx
je 0x43ecb1
mov ecx, ebx
call fcn.00436000
mov ecx, dword [ebp - 0x264]
inc esi
mov edx, dword [ebp - 0x260]
mov edi, ebx
mov dword [ebp - 0x268], esi
jmp 0x43d581
call fcn.00435cc0
or eax, edx
jne 0x43ecea
mov eax, 1
mov ecx, ebx
cdq
push edx
push eax
call fcn.00436050
mov edi, dword [ebp - 0x274]
add esp, 8
mov ecx, dword [ebp - 0x264]
inc esi
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x268], esi
jmp 0x43d581
xor eax, eax
mov ecx, ebx
cdq
push edx
push eax
call fcn.00436050
mov edi, dword [ebp - 0x274]
add esp, 8
mov ecx, dword [ebp - 0x264]
inc esi
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x268], esi
jmp 0x43d581
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov dword [ebp - 0x274], ebx
je 0x43ed65
mov ecx, ebx
call fcn.00436000
mov ecx, dword [ebp - 0x264]
inc esi
mov edx, dword [ebp - 0x260]
mov edi, ebx
mov dword [ebp - 0x268], esi
jmp 0x43d581
call fcn.00435cc0
not edx
not eax
push edx
push eax
mov ecx, ebx
call fcn.00436050
mov edi, dword [ebp - 0x274]
add esp, 8
mov ecx, dword [ebp - 0x264]
inc esi
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x268], esi
jmp 0x43d581
mov eax, dword [ebp - 0x26c]
mov edx, dword [ebp - 0x260]
mov eax, dword [eax + 0xc8]
mov ecx, dword [edx + ebx*4 + 4]
cmp byte [eax + ecx], 0
je 0x43edcf
mov ecx, dword [edx + ebx*4 + 8]
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x43d581
mov byte [eax + ecx], 1
inc esi
mov ecx, dword [ebp - 0x264]
jmp 0x43d57b
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
je 0x43ee02
mov ecx, dword [edx + ebx*4 + 0xc]
jmp 0x43ee32
call fcn.00435d70
xorps xmm1, xmm1
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jnp 0x43ee1b
mov ecx, 1
jmp 0x43ee1d
xor ecx, ecx
mov edx, dword [ebp - 0x260]
cmp byte [edx + ebx*4], 0x2d
jne 0x43ee32
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
test ecx, ecx
je 0x43ee53
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
inc ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x43d581
mov ecx, dword [ebp - 0x268]
inc ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x43d581
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
mov edi, dword [ebp - 0x274]
je 0x43ee96
mov esi, dword [edx + ebx*4 + 8]
dec esi
inc esi
jmp 0x43d57b
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
mov ecx, dword [ebp - 0x264]
jne 0x43ee96
mov esi, dword [edx + ebx*4 + 8]
dec esi
inc esi
jmp 0x43d57b
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
mov eax, dword [ecx + ebx*4 + 0xc]
mov edi, dword [ecx + ebx*4 + 8]
mov ecx, dword [ecx + ebx*4 + 4]
mov dword [ebp - 0x14c], edi
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x288], ecx
movsx eax, word [ecx + 0x14]
add eax, 0x16
lea esi, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0x2a0], esi
mov dword [ebp - 0x294], eax
call fcn.00439830
mov edx, eax
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x4430ea
mov edx, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x26c]
mov eax, dword [edx + 0x44]
cmp eax, dword [ecx + 0x48]
jne 0x43ef55
mov eax, dword [ebp - 0x260]
test byte [eax + ebx*4 + 3], 0x20
je 0x43f0ab
cmp byte [edx + 0x19], 0
je 0x43efa7
cmp dword [ebp - 0x294], 0
jne 0x43ef88
mov eax, dword [edx + 0x10]
lea edi, [edx + 0x48]
mov ecx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
mov esi, dword [ecx + eax*8 + 0x18]
mov dword [edx + 0x4c], esi
mov dword [edi], esi
mov eax, dword [ecx + eax*8 + 4]
mov dword [edx + 0x54], eax
jmp 0x43f026
mov ebx, dword [ebp - 0x284]
mov ecx, 0xbe01
mov ax, word [ebx + 0x1c]
and ax, cx
or ax, 1
mov word [ebx + 0x1c], ax
jmp 0x43f3f6
test byte [edx + 0x1c], 4
mov ecx, dword [ebp - 0x294]
jne 0x43efe5
lea edx, [ebp - 0xf8]
call fcn.0042ed40
mov ecx, dword [ebp - 0x294]
mov edx, dword [ebp - 0x288]
lea edi, [edx + 0x48]
movzx eax, word [ecx + 0x2c]
add eax, dword [ecx + 0x20]
movzx esi, word [ecx + 0x2e]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 0xf8]
mov dword [edi], eax
jmp 0x43f009
lea edi, [edx + 0x48]
mov edx, edi
call fcn.0042edd0
mov ecx, dword [ebp - 0x294]
mov edx, dword [ebp - 0x288]
movzx eax, word [ecx + 0x2c]
add eax, dword [ecx + 0x20]
movzx esi, word [ecx + 0x2e]
mov dword [edx + 0x54], eax
mov eax, dword [edi]
cmp eax, esi
ja 0x43f014
mov dword [edx + 0x4c], eax
jmp 0x43f017
mov dword [edx + 0x4c], esi
mov ecx, dword [ebp - 0x264]
cmp eax, dword [ecx + 0x58]
ja 0x44322a
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + 0x54]
mov eax, dword [eax + 0x48]
mov dword [edx + 0x44], eax
mov al, byte [ecx]
cmp al, 0x80
jae 0x43f04b
movzx ecx, al
mov eax, 1
mov dword [ebp - 0x2cc], ecx
jmp 0x43f065
lea edx, [ebp - 0x2cc]
call fcn.0041d440
mov ecx, dword [ebp - 0x2cc]
mov edx, dword [ebp - 0x288]
movzx eax, al
movzx eax, al
mov dword [edx + 0x50], eax
xor eax, eax
mov word [edx + 0x16], ax
mov eax, dword [ebp - 0x2a0]
mov dword [eax], ecx
cmp esi, ecx
jae 0x43f08b
mov dword [edx + 0x54], 0
mov dword [edx + 0x4c], 0
cmp ecx, 0x18003
ja 0x43f431
cmp ecx, dword [edi]
ja 0x43f431
mov edi, dword [ebp - 0x14c]
mov esi, dword [ebp - 0x2a0]
movzx eax, word [edx + 0x16]
cmp eax, edi
jg 0x43f29d
mov eax, dword [edx + 0x50]
cmp eax, dword [esi]
jae 0x43f24b
mov ecx, dword [edx + 0x54]
mov dword [ebp - 0x290], ecx
test ecx, ecx
jne 0x43f131
mov ecx, dword [ebp - 0x294]
lea eax, [ebp - 0x178]
push eax
xorps xmm0, xmm0
movdqu xmmword [ebp - 0x178], xmm0
movdqu xmmword [ebp - 0x168], xmm0
movq qword [ebp - 0x158], xmm0
mov eax, dword [edx + 0x1c]
xor edx, edx
shr eax, 2
not eax
and eax, 1
push eax
push dword [esi]
call fcn.004364d0
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x270], ecx
test ecx, ecx
jne 0x43f228
mov ecx, dword [ebp - 0x174]
mov edx, dword [ebp - 0x288]
mov dword [ebp - 0x290], ecx
movzx edi, word [edx + 0x16]
mov eax, dword [esi + edi*4]
mov esi, dword [edx + 0x50]
mov dword [ebp - 0x29c], eax
add esi, ecx
mov eax, dword [ebp - 0x2a0]
mov eax, dword [eax]
add eax, ecx
mov dword [ebp - 0x280], eax
mov al, byte [esi]
cmp al, 0x80
jae 0x43f165
movzx ecx, al
inc esi
mov dword [ebp - 0x2d0], ecx
jmp 0x43f183
lea edx, [ebp - 0x2d0]
mov ecx, esi
call fcn.0041d440
mov ecx, dword [ebp - 0x2d0]
mov edx, dword [ebp - 0x288]
movzx eax, al
add esi, eax
mov dword [edx + edi*4 + 0x58], ecx
call fcn.004399e0
mov ecx, dword [ebp - 0x29c]
add ecx, eax
mov dword [ebp - 0x29c], ecx
mov dword [ebp - 0x2cc], ecx
cmp ecx, eax
jb 0x43f1c0
mov eax, dword [ebp - 0x2a0]
inc edi
mov dword [eax + edi*4], ecx
cmp edi, dword [ebp - 0x14c]
jg 0x43f1c7
cmp esi, dword [ebp - 0x280]
jb 0x43f153
jmp 0x43f1c7
mov esi, dword [ebp - 0x280]
inc esi
mov eax, esi
mov word [edx + 0x16], di
sub eax, dword [ebp - 0x290]
cmp dword [edx + 0x54], 0
mov dword [edx + 0x50], eax
jne 0x43f1ff
lea ecx, [ebp - 0x178]
call fcn.00435c40
mov ecx, dword [ebp - 0x29c]
mov eax, 1
mov edx, dword [ebp - 0x288]
mov word [ebp - 0x15c], ax
mov edi, dword [ebp - 0x280]
cmp esi, edi
ja 0x43f218
mov eax, dword [edx + 0x48]
cmp ecx, eax
ja 0x43f218
cmp esi, edi
jne 0x43f23f
cmp ecx, eax
je 0x43f23f
mov ecx, 0x11351
call fcn.004889b0
mov dword [ebp - 0x270], eax
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp case.default.0x43d5f0
mov esi, dword [ebp - 0x2a0]
mov edi, dword [ebp - 0x14c]
movzx eax, word [edx + 0x16]
cmp eax, edi
jg 0x43f29d
mov edx, dword [ebp - 0x260]
cmp byte [edx + ebx*4 + 1], 0xf8
jne 0x43f27e
mov edx, dword [edx + ebx*4 + 0x10]
mov ebx, dword [ebp - 0x284]
mov ecx, ebx
push 0x800
call fcn.00436160
add esp, 4
jmp 0x43f3f6
mov ebx, dword [ebp - 0x284]
mov ecx, 0xbe01
mov ax, word [ebx + 0x1c]
and ax, cx
or ax, 1
mov word [ebx + 0x1c], ax
jmp 0x43f3fc
mov eax, dword [edx + 0x4c]
cmp eax, dword [esi + edi*4 + 4]
jb 0x43f2dc
mov ebx, dword [ebp - 0x284]
mov eax, 0x2460
test word [ebx + 0x1c], ax
je 0x43f2c4
mov ecx, ebx
call fcn.00435bf0
mov edx, dword [ebp - 0x288]
mov ecx, dword [edx + 0x54]
add ecx, dword [esi + edi*4]
mov edx, dword [edx + edi*4 + 0x58]
push ebx
call fcn.00439a80
add esp, 4
jmp 0x43f3ed
mov eax, dword [ebp - 0x260]
mov ecx, dword [edx + edi*4 + 0x58]
mov dword [ebp - 0x27c], ecx
mov dword [ebp - 0x2d0], ecx
mov al, byte [eax + ebx*4 + 3]
test al, 0xc0
je 0x43f308
cmp ecx, 0xc
jb 0x43f304
test cl, 1
je 0x43f313
test al, al
js 0x43f313
call fcn.004399e0
mov esi, eax
test esi, esi
jne 0x43f332
mov ebx, dword [ebp - 0x284]
lea eax, [ebp - 0xf8]
xor edx, edx
cmp ecx, 0xd
mov dword [ebp - 0x154], edx
cmova eax, edx
jmp 0x43f3ad
mov ebx, dword [ebp - 0x284]
lea ecx, [ebp - 0x178]
xorps xmm0, xmm0
mov edx, ebx
movdqu xmmword [ebp - 0x178], xmm0
movdqu xmmword [ebp - 0x168], xmm0
movq qword [ebp - 0x158], xmm0
call fcn.004362d0
mov ecx, dword [ebp - 0x288]
lea eax, [ebp - 0x178]
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x294]
shr eax, 2
not eax
and eax, 1
push eax
mov eax, dword [ebp - 0x2a0]
push esi
mov edx, dword [eax + edi*4]
call fcn.004364d0
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x270], ecx
test ecx, ecx
jne 0x43f228
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x27c]
mov edx, ecx
mov ecx, eax
push ebx
call fcn.00439a80
add esp, 4
cmp dword [ebp - 0x154], 0
je 0x43f3ed
mov ax, word [ebx + 0x1c]
mov ecx, 0xe7ff
and ax, cx
mov ecx, 0x200
or ax, cx
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x174]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x154]
mov dword [ebx + 0x24], eax
mov al, byte [ebp - 0x298]
mov byte [ebx + 0x1e], al
mov edx, dword [ebp - 0x260]
mov eax, 0x1000
test word [ebx + 0x1c], ax
je 0x43ff7b
mov ecx, ebx
call fcn.00435980
mov ecx, dword [ebp - 0x264]
test eax, eax
jne 0x4433de
mov edi, dword [ebp - 0x274]
mov esi, dword [ebp - 0x268]
jmp case.default.0x43d5f0
mov ecx, 0x1130f
jmp 0x43f21d
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
mov esi, dword [edx + ebx*4 + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [esi]
test al, al
je 0x43d9bb
nop
push dword [ebp - 0x298]
mov dl, al
lea esi, [esi + 1]
mov ecx, edi
call fcn.0043d370
mov al, byte [esi]
add esp, 4
add edi, 0x28
test al, al
jne 0x43f460
mov esi, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
inc esi
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
jmp 0x43d57b
mov ecx, dword [ebp - 0x260]
xor eax, eax
mov edx, dword [ebp - 0x278]
xorps xmm0, xmm0
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x294], eax
mov eax, dword [ecx + ebx*4 + 4]
mov esi, dword [ecx + ebx*4 + 0x10]
movlpd qword [ebp - 0x2c8], xmm0
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
mov dword [ebp - 0x284], edi
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [edi + eax*8]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x26c]
movzx edx, byte [eax + 0x57]
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ebp - 0x278]
mov dword [ebp - 0x29c], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x274], eax
test esi, esi
je 0x43f539
mov al, byte [esi]
push dword [ebp - 0x298]
mov dl, al
mov ecx, edi
call fcn.0043d370
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add edi, 0x28
test al, al
jne 0x43f514
mov edx, dword [ebp - 0x29c]
mov eax, dword [ebp - 0x2c4]
mov esi, dword [ebp - 0x290]
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x14c], eax
mov ecx, esi
call fcn.004398d0
mov ebx, eax
mov ecx, ebx
call fcn.004399e0
mov edi, eax
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x43f596
mov ecx, dword [ebp - 0x14c]
or ecx, dword [ebp - 0x280]
je 0x43f58b
mov ecx, esi
call fcn.004359e0
jmp 0x43f596
mov eax, dword [esi + 0x10]
add dword [ebp - 0x294], eax
sub edi, eax
mov eax, edi
mov edi, dword [ebp - 0x280]
cdq
add dword [ebp - 0x14c], eax
adc edi, edx
mov dword [ebp - 0x280], edi
cmp ebx, 0x7f
ja 0x43f5b9
mov eax, 1
jmp 0x43f5c4
push 0
push ebx
call fcn.0041d4c0
add esp, 8
mov ecx, dword [ebp - 0x288]
sub esi, 0x28
mov ebx, dword [ebp - 0x284]
add ecx, eax
mov edx, dword [ebp - 0x29c]
mov dword [ebp - 0x288], ecx
cmp esi, ebx
jae 0x43f557
cmp ecx, 0x7e
jle 0x43f61d
mov eax, ecx
cdq
push edx
push eax
call fcn.0041d4c0
mov esi, eax
mov eax, dword [ebp - 0x288]
add eax, esi
mov dword [ebp - 0x288], eax
cdq
push edx
push eax
call fcn.0041d4c0
mov ecx, dword [ebp - 0x288]
add esp, 0x10
cmp esi, eax
jge 0x43f624
inc ecx
mov dword [ebp - 0x288], ecx
mov eax, ecx
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0x264]
add esi, dword [ebp - 0x14c]
mov dword [ebp - 0x27c], esi
adc ecx, edi
mov eax, dword [eax + 0x58]
cdq
cmp ecx, edx
jg 0x443224
jl 0x43f655
cmp esi, eax
ja 0x443224
mov edx, esi
mov esi, dword [ebp - 0x274]
push 0
mov ecx, esi
call fcn.00435850
add esp, 4
test eax, eax
jne 0x4433d8
mov eax, dword [ebp - 0x288]
mov edi, dword [esi + 4]
cmp eax, 0x80
jae 0x43f68a
mov byte [edi], al
mov eax, 1
jmp 0x43f693
mov edx, eax
mov ecx, edi
call fcn.0041d290
movzx esi, al
jmp 0x43f6a0
mov edx, dword [ebp - 0x29c]
mov ecx, ebx
call fcn.004398d0
mov ebx, eax
cmp ebx, 0x80
jae 0x43f6c1
mov byte [esi + edi], bl
mov eax, 1
jmp 0x43f6cb
lea ecx, [esi + edi]
mov edx, ebx
call fcn.0041d290
mov ecx, dword [ebp - 0x288]
push ebx
mov ebx, dword [ebp - 0x284]
mov edx, ebx
movzx eax, al
lea ecx, [ecx + edi]
add esi, eax
call fcn.00439a00
add dword [ebp - 0x288], eax
add ebx, 0x28
add esp, 4
mov dword [ebp - 0x284], ebx
cmp ebx, dword [ebp - 0x290]
jbe 0x43f6a0
mov ebx, dword [ebp - 0x274]
mov eax, dword [ebp - 0x27c]
mov dword [ebx + 0x18], eax
mov eax, 0x10
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x294]
mov dword [ebx + 0x20], 0
test eax, eax
je 0x43f736
mov dword [ebx + 0x10], eax
mov eax, 0x4010
mov word [ebx + 0x1c], ax
mov byte [ebx + 0x1e], 1
jmp 0x43db03
mov eax, dword [ebp - 0x260]
lea edx, [ebp - 0x300]
xorps xmm0, xmm0
movlpd qword [ebp - 0x300], xmm0
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
call fcn.00433410
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x300]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x2fc]
mov dword [edi + 0x14], eax
jmp 0x440111
mov edx, dword [ebp - 0x260]
mov eax, dword [edx + ebx*4 + 4]
mov edi, dword [edx + ebx*4 + 0x10]
mov dword [ebp - 0x284], eax
test eax, eax
jne 0x43f88a
cmp dword [ecx + 0x94], eax
jg 0x44302b
mov ecx, edi
call fcn.0041c360
mov esi, dword [ebp - 0x264]
xor edx, edx
mov ebx, eax
mov ecx, dword [esi + 0x1ec]
add ecx, dword [esi + 0x1e8]
push ecx
mov ecx, esi
call fcn.00478570
mov edx, eax
add esp, 4
mov dword [ebp - 0x270], edx
mov ecx, esi
test edx, edx
jne 0x4430f0
lea edx, [ebx + 0x21]
call fcn.00419f60
mov esi, eax
test esi, esi
je 0x43f872
lea ecx, [ebx + 1]
push ecx
lea edx, [esi + 0x20]
push edi
push edx
mov dword [esi], edx
call fcn.004c1c20
mov ecx, dword [ebp - 0x264]
add esp, 0xc
cmp byte [ecx + 0x3e], 0
je 0x43f827
mov byte [ecx + 0x3e], 0
mov byte [ecx + 0x45], 1
jmp 0x43f82d
inc dword [ecx + 0x1e8]
mov eax, dword [ecx + 0x1e0]
mov edi, dword [ebp - 0x274]
mov dword [esi + 0x18], eax
mov eax, dword [ecx + 0x1f0]
mov dword [ecx + 0x1e0], esi
mov dword [esi + 8], eax
mov eax, dword [ecx + 0x1f4]
mov dword [esi + 0xc], eax
mov eax, dword [ecx + 0x1f8]
mov dword [esi + 0x10], eax
mov eax, dword [ecx + 0x1fc]
mov dword [esi + 0x14], eax
mov esi, dword [ebp - 0x268]
inc esi
jmp 0x43d575
mov esi, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
inc esi
mov edi, dword [ebp - 0x274]
jmp 0x43d575
mov esi, dword [ecx + 0x1e0]
xor ebx, ebx
mov dword [ebp - 0x290], esi
test esi, esi
je 0x43f8c3
lea esp, [esp]
push edi
push dword [esi]
call fcn.0041c5c0
add esp, 8
test eax, eax
je 0x43f8f3
mov esi, dword [esi + 0x18]
inc ebx
mov dword [ebp - 0x290], esi
test esi, esi
jne 0x43f8a0
mov ecx, dword [ebp - 0x264]
mov eax, dword [ebp - 0x26c]
push edi
push str.no_such_savepoint:__s
push ecx
add eax, 0x2c
push eax
call fcn.0041a100
mov eax, dword [ebp - 0x268]
mov edx, 1
add esp, 0x10
mov dword [ebp - 0x270], edx
inc eax
jmp 0x44013d
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x284]
cmp dword [ecx + 0x94], 0
jle 0x43f911
cmp edx, 1
je 0x44305a
cmp dword [esi + 0x18], 0
jne 0x43f97f
cmp byte [ecx + 0x45], 0
je 0x43f97f
mov dword [ebp - 0x280], 1
cmp edx, 1
jne 0x43f989
mov ecx, dword [ebp - 0x26c]
call fcn.00438dd0
mov edi, eax
test edi, edi
jne 0x443330
mov eax, dword [ebp - 0x264]
mov edi, dword [ebp - 0x26c]
mov ecx, edi
mov byte [eax + 0x3e], 1
call fcn.00438e40
mov ecx, dword [ebp - 0x264]
cmp eax, 5
je 0x443089
mov byte [ecx + 0x45], 0
mov eax, dword [edi + 0x50]
mov edi, dword [ebp - 0x284]
mov dword [ebp - 0x270], eax
jmp 0x43fa55
mov dword [ebp - 0x280], 0
mov eax, dword [ecx + 0x1e8]
sub eax, ebx
dec eax
mov dword [ebp - 0x294], eax
cmp edx, 2
jne 0x43f9e2
xor ebx, ebx
cmp dword [ecx + 0x14], ebx
jle 0x43f9e2
xor edi, edi
mov esi, ecx
jmp 0x43f9b0
mov ecx, dword [esi + 0x10]
mov edx, 4
mov ecx, dword [ecx + edi + 4]
call fcn.0042e870
inc ebx
lea edi, [edi + 0x10]
cmp ebx, dword [esi + 0x14]
jl 0x43f9b0
mov esi, dword [ebp - 0x290]
mov eax, dword [ebp - 0x294]
mov edx, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x264]
xor ebx, ebx
cmp dword [ecx + 0x14], ebx
jle 0x43fa2b
xor edi, edi
jmp 0x43f9f0
mov ecx, dword [ecx + 0x10]
push eax
mov ecx, dword [ecx + edi + 4]
call fcn.0042eae0
mov ecx, dword [ebp - 0x264]
mov edx, eax
add esp, 4
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x4430f0
mov eax, dword [ebp - 0x294]
inc ebx
mov edx, dword [ebp - 0x284]
add edi, 0x10
cmp ebx, dword [ecx + 0x14]
jl 0x43f9f0
mov edi, dword [ebp - 0x284]
cmp edi, 2
jne 0x43fa4f
test byte [ecx + 0x18], 2
je 0x43fa4f
call fcn.0043ad70
call fcn.00451900
mov ecx, dword [ebp - 0x264]
or dword [ecx + 0x18], edi
mov ebx, dword [ebp - 0x294]
cmp dword [ecx + 0x1e0], esi
je 0x43fa88
lea ecx, [ecx]
mov edx, dword [ecx + 0x1e0]
mov eax, dword [edx + 0x18]
mov dword [ecx + 0x1e0], eax
call fcn.00419d00
mov ecx, dword [ebp - 0x264]
dec dword [ecx + 0x1e8]
cmp dword [ecx + 0x1e0], esi
jne 0x43fa60
cmp edi, 1
jne 0x43fab4
mov eax, dword [esi + 0x18]
mov edx, esi
mov dword [ecx + 0x1e0], eax
call fcn.00419d00
cmp dword [ebp - 0x280], 0
mov ecx, dword [ebp - 0x264]
jne 0x43fb02
dec dword [ecx + 0x1e8]
jmp 0x43fae1
cmp dword [ebp - 0x280], 0
mov eax, dword [esi + 8]
mov dword [ecx + 0x1f0], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0x1f4], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x1f8], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x1fc], eax
jne 0x43fb02
push ebx
mov edx, edi
call fcn.00478570
mov ecx, dword [ebp - 0x264]
mov edx, eax
add esp, 4
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x4430f0
mov edi, dword [ebp - 0x274]
mov esi, dword [ebp - 0x268]
jmp case.default.0x43d5f0
mov eax, dword [ebp - 0x260]
mov edx, dword [eax + ebx*4 + 8]
test edx, edx
je 0x43fb2e
test dword [ecx + 0x18], 0x2000000
jne 0x4430a9
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x264]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x43fc64
mov ecx, esi
call fcn.0042d8e0
mov edx, eax
mov dword [ebp - 0x270], edx
cmp edx, 5
je 0x4430b6
test edx, edx
jne 0x4430ea
mov eax, dword [ebp - 0x260]
cmp dword [eax + ebx*4 + 8], edx
je 0x43fc2a
mov edx, dword [ebp - 0x26c]
test byte [edx + 0x58], 0x80
je 0x43fc2a
mov ecx, dword [ebp - 0x264]
cmp byte [ecx + 0x3e], 0
je 0x43fba2
cmp dword [ecx + 0x90], 1
jle 0x43fc2a
cmp dword [edx + 0x68], 0
jne 0x43fbbd
mov eax, dword [ecx + 0x1e8]
inc dword [ecx + 0x1ec]
add eax, dword [ecx + 0x1ec]
mov dword [edx + 0x68], eax
mov eax, dword [edx + 0x68]
xor edx, edx
dec eax
push eax
call fcn.00478570
mov edx, eax
add esp, 4
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x43fbee
mov eax, dword [ebp - 0x26c]
mov ecx, esi
mov edx, dword [eax + 0x68]
call fcn.0042ea90
mov dword [ebp - 0x270], eax
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x26c]
mov eax, dword [ecx + 0x1f0]
mov dword [edx + 0x98], eax
mov eax, dword [ecx + 0x1f4]
mov dword [edx + 0x9c], eax
mov eax, dword [ecx + 0x1f8]
mov dword [edx + 0xa0], eax
mov eax, dword [ecx + 0x1fc]
mov dword [edx + 0xa4], eax
lea eax, [ebp - 0x2e0]
mov edx, 1
push eax
mov ecx, esi
call fcn.00433300
mov edx, dword [ebp - 0x260]
add esp, 4
mov eax, dword [ebp - 0x264]
mov esi, dword [ebp - 0x2e0]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax + 4]
jmp 0x43fc74
mov edx, dword [ebp - 0x260]
xor esi, esi
mov dword [ebp - 0x2e0], esi
xor eax, eax
cmp byte [edx + ebx*4 + 3], 0
je 0x43ff81
cmp esi, dword [edx + ebx*4 + 0xc]
jne 0x43fc8f
cmp eax, dword [edx + ebx*4 + 0x10]
je 0x43ff81
mov eax, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x264]
mov edx, dword [eax + 0x2c]
call fcn.00419d00
mov ecx, dword [ebp - 0x264]
mov edx, str.database_schema_has_changed
call fcn.0041a070
mov ecx, dword [ebp - 0x26c]
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 0x260]
mov edx, dword [eax + ebx*4 + 4]
mov ecx, edx
mov ebx, dword [ebp - 0x264]
add ecx, ecx
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
cmp dword [eax], esi
je 0x43fce2
mov ecx, ebx
call fcn.004518c0
mov ecx, dword [ebp - 0x26c]
mov esi, dword [ebp - 0x268]
mov dword [ebp - 0x270], 0x11
or dword [ecx + 0x58], 0x20
mov ecx, ebx
jmp case.default.0x43d5f0
mov edx, dword [ebp - 0x260]
lea eax, [ebp - 0x2ec]
mov ecx, dword [ecx + 0x10]
push eax
mov eax, dword [edx + ebx*4 + 4]
mov edx, dword [edx + ebx*4 + 0xc]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00433300
mov eax, dword [ebp - 0x2ec]
add esp, 4
mov ecx, dword [ebp - 0x264]
inc esi
cdq
mov dword [edi + 0x14], edx
mov edx, dword [ebp - 0x260]
mov dword [edi + 0x10], eax
mov dword [ebp - 0x268], esi
jmp 0x43d581
mov eax, dword [ebp - 0x260]
mov esi, dword [eax + ebx*4 + 4]
mov eax, dword [eax + ebx*4 + 0xc]
shl esi, 4
add esi, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.00435e70
mov eax, dword [ebp - 0x260]
push dword [edi + 0x10]
mov ecx, dword [esi + 4]
mov edx, dword [eax + ebx*4 + 8]
call fcn.00433370
mov edx, dword [ebp - 0x260]
add esp, 4
mov dword [ebp - 0x270], eax
mov eax, dword [edx + ebx*4 + 8]
cmp eax, 1
jne 0x43fdb6
mov ecx, dword [esi + 0xc]
mov eax, dword [edi + 0x10]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x264]
or dword [ecx + 0x18], 2
jmp 0x43fdca
cmp eax, 2
jne 0x43fdc4
mov ecx, dword [esi + 0xc]
mov al, byte [edi + 0x10]
mov byte [ecx + 0x4c], al
mov ecx, dword [ebp - 0x264]
cmp dword [edx + ebx*4 + 4], 1
jne 0x43fde0
call fcn.0043ad70
mov esi, dword [ebp - 0x26c]
and dword [esi + 0x58], 0xffffffdf
mov edi, dword [ebp - 0x274]
mov esi, dword [ebp - 0x268]
jmp 0x44011d
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
test eax, eax
je case.0x43d5f0.53
mov ecx, dword [ebp - 0x260]
mov eax, dword [eax + 0x20]
cmp eax, dword [ecx + ebx*4 + 8]
je 0x440111
mov eax, dword [ebp - 0x26c]
test byte [eax + 0x58], 0x20
jne 0x44311b
mov eax, dword [ebp - 0x260]
xor edi, edi
mov dword [ebp - 0x290], edi
mov ecx, dword [eax + ebx*4 + 8]
mov esi, dword [eax + ebx*4 + 0xc]
mov eax, esi
mov dword [ebp - 0x280], ecx
mov ecx, dword [ebp - 0x264]
shl eax, 4
mov dword [ebp - 0x27c], esi
add eax, dword [ecx + 0x10]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xd8], ecx
mov ecx, dword [ebp - 0x280]
cmp dl, 0x36
jne 0x43fe92
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x26c]
mov dword [ebp - 0x29c], 1
mov al, byte [eax + 0x4c]
cmp al, byte [edx + 0x57]
jae 0x43fe98
mov byte [edx + 0x57], al
jmp 0x43fe98
mov dword [ebp - 0x29c], edi
mov eax, dword [ebp - 0x260]
test byte [eax + ebx*4 + 3], 2
je 0x43fed0
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x278]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00435e70
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x280], eax
cmp eax, 2
jl 0x4430d8
mov esi, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x260]
mov al, byte [ecx + ebx*4 + 1]
cmp al, 0xfa
jne 0x43fef4
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x290], eax
movzx edi, word [eax + 8]
movzx eax, word [eax + 6]
add edi, eax
jmp 0x43fefc
cmp al, 0xf2
jne 0x43fefc
mov edi, dword [ecx + ebx*4 + 0x10]
mov edx, dword [ecx + ebx*4 + 4]
mov ecx, dword [ebp - 0x26c]
push 1
push esi
push edi
call fcn.0043d230
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4433d8
push dword [esi]
mov edi, dword [ebp - 0x290]
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0xd8]
or dword [esi + 0x1c], 8
push edi
push dword [ebp - 0x29c]
mov byte [esi + 0x19], 1
mov dword [esi + 0x20], edx
call fcn.0042eb90
mov edx, dword [ebp - 0x260]
add esp, 0xc
mov dword [ebp - 0x270], eax
mov eax, dword [esi]
mov dword [esi + 8], edi
mov cl, byte [edx + ebx*4 + 3]
and cl, 1
mov byte [eax + 0x52], cl
xor eax, eax
cmp byte [edx + ebx*4 + 1], 0xfa
setne al
shl eax, 2
xor eax, dword [esi + 0x1c]
and eax, 4
xor dword [esi + 0x1c], eax
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x44011d
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x26c]
push 1
push 0xffffffffffffffff
push dword [eax + ebx*4 + 8]
mov edx, dword [eax + ebx*4 + 4]
call fcn.0043d230
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4433d8
mov eax, dword [ebp - 0x260]
lea edi, [esi + 4]
or dword [esi + 0x1c], 1
xor edx, edx
mov byte [esi + 0x19], 1
push 0x41e
movzx eax, byte [eax + ebx*4 + 3]
or eax, 5
push eax
mov eax, dword [ebp - 0x264]
push edi
push eax
mov ecx, dword [eax]
call fcn.0042c930
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x270], ecx
test ecx, ecx
jne 0x440099
mov ecx, dword [edi]
lea edx, [eax + 1]
call fcn.0042d8e0
mov ecx, eax
mov dword [ebp - 0x270], ecx
test ecx, ecx
jne 0x440099
mov ecx, dword [ebp - 0x260]
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x27c], eax
test eax, eax
je 0x44007a
movzx eax, byte [ecx + ebx*4 + 3]
lea edx, [ebp - 0x2f4]
mov ecx, dword [edi]
or eax, 2
push eax
call fcn.00432e00
add esp, 4
mov dword [ebp - 0x270], eax
test eax, eax
jne 0x440074
push dword [esi]
mov eax, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x2f4]
mov ecx, dword [edi]
push eax
push 1
mov dword [esi + 8], eax
call fcn.0042eb90
add esp, 0xc
mov dword [ebp - 0x270], eax
and dword [esi + 0x1c], 0xfffffffb
jmp 0x440099
push dword [esi]
mov ecx, dword [edi]
mov edx, 1
push 0
push 1
call fcn.0042eb90
add esp, 0xc
mov dword [ebp - 0x270], eax
or dword [esi + 0x1c], 4
mov edx, dword [ebp - 0x260]
xor eax, eax
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
cmp byte [edx + ebx*4 + 3], 8
setne al
shl eax, 3
xor eax, dword [esi + 0x1c]
and eax, 8
xor dword [esi + 0x1c], eax
mov esi, dword [ebp - 0x268]
jmp 0x44011d
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x26c]
push 1
push 0xffffffffffffffff
push dword [eax + ebx*4 + 8]
mov edx, dword [eax + ebx*4 + 4]
call fcn.0043d230
add esp, 0xc
test eax, eax
je 0x4433d8
mov ecx, dword [ebp - 0x260]
mov edx, eax
mov ecx, dword [ecx + ebx*4 + 0x10]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x264]
call fcn.00444960
mov dword [ebp - 0x270], eax
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x260]
inc esi
cmp dword [ebp - 0x270], 0
mov dword [ebp - 0x268], esi
je 0x43d581
mov edx, dword [ebp - 0x270]
mov eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x26c]
push dword [ecx + 0x2c]
mov dword [ecx + 0x50], edx
push dword [ecx + 0xa8]
push eax
push str.statement_aborts_at__d:___s___s
push edx
call fcn.0041ba90
mov ecx, dword [ebp - 0x26c]
add esp, 0x14
call fcn.00438e40
cmp dword [ebp - 0x270], 0xc0a
mov ecx, dword [ebp - 0x264]
jne 0x44017f
mov byte [ecx + 0x40], 1
mov al, byte [ebp - 0x2a1]
mov edi, 1
test al, al
je 0x4401bf
mov ebx, dword [ebp - 0x264]
movzx esi, al
dec esi
mov ecx, esi
mov eax, dword [ebx + 0x10]
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.00457ae0
add esp, 4
cmp esi, edi
je 0x4401bd
mov eax, dword [ebx + 0x10]
push dword [eax + 0x1c]
call fcn.00457ae0
add esp, 4
mov ecx, ebx
mov eax, dword [ebp - 0x2ac]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0x2a8]
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x2b4]
add dword [ecx + 0x7c], eax
call fcn.004376f0
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004bd963
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x26c]
push 0
push 0xffffffffffffffff
push dword [eax + ebx*4 + 0xc]
mov edx, dword [eax + ebx*4 + 4]
call fcn.0043d230
add esp, 0xc
test eax, eax
je 0x4433d8
mov edx, dword [ebp - 0x260]
mov byte [eax + 0x19], 1
mov ecx, dword [edx + ebx*4 + 8]
or dword [eax + 0x1c], 4
inc esi
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x264]
jmp 0x43d57b
mov ecx, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x260]
mov edx, dword [ecx + 0x38]
mov eax, dword [eax + ebx*4 + 4]
mov edx, dword [edx + eax*4]
call fcn.00437f90
mov edx, dword [ebp - 0x260]
inc esi
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0x264]
jmp 0x43d57b
mov edi, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [edi + ebx*4]
mov dword [ebp - 0x284], edx
mov esi, dword [eax + ecx*4]
test byte [esi + 0x1c], 4
mov byte [esi + 0x19], 0
je 0x4403ad
mov eax, dword [edi + ebx*4 + 0xc]
mov ecx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0xc
lea edi, [ecx + eax*8]
jne 0x4402ce
mov ecx, edi
call fcn.0043d2f0
mov ecx, edi
call fcn.00435cc0
mov byte [esi + 0x1a], 0
movzx ecx, word [edi + 0x1c]
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x280], edx
test cl, 4
jne 0x44035a
test cl, 8
jne 0x44031a
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x274]
mov ecx, dword [edx + ebx*4 + 8]
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x43d581
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x290]
call fcn.004f365f
movsd xmm1, qword [edi + 8]
comisd xmm0, xmm1
jbe 0x440343
mov eax, dword [ebp - 0x284]
test al, 1
je 0x44035a
dec eax
jmp 0x440354
comisd xmm1, xmm0
jbe 0x44035a
mov eax, dword [ebp - 0x284]
test al, 1
jne 0x44035a
inc eax
mov dword [ebp - 0x284], eax
mov edi, dword [ebp - 0x290]
lea eax, [ebp - 0xe4]
mov ecx, dword [esi]
xor edx, edx
push eax
push 0
push dword [ebp - 0x280]
push edi
call fcn.0042f790
mov edx, eax
add esp, 0x10
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x4430ea
cmp dword [ebp - 0xe4], eax
jne 0x44042a
mov eax, dword [ebp - 0x280]
mov byte [esi + 0x1a], 1
mov dword [esi + 0x38], edi
mov dword [esi + 0x3c], eax
jmp 0x44042a
mov eax, dword [esi + 8]
test dl, 1
mov ecx, dword [edi + ebx*4 + 0x10]
mov dword [ebp - 0x1fc], eax
sete al
mov word [ebp - 0x1f8], cx
mov ecx, dword [ebp - 0x278]
lea eax, [eax*2 - 1]
mov byte [ebp - 0x1f6], al
mov eax, dword [edi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, 0x4000
mov dword [ebp - 0x1f4], ecx
test word [ecx + 0x1c], ax
je 0x4403fa
call fcn.004359e0
mov ecx, dword [esi]
lea eax, [ebp - 0xe4]
push eax
push 0
push 0
push 0
lea edx, [ebp - 0x1fc]
call fcn.0042f790
mov edx, eax
add esp, 0x10
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x4430ea
mov byte [esi + 0x1a], al
mov eax, dword [ebp - 0x284]
mov byte [esi + 0x1b], 0
mov dword [esi + 0x44], 0
mov ecx, dword [ebp - 0xe4]
cmp eax, 0x3e
jl 0x44049f
test ecx, ecx
js 0x440485
jne 0x440451
cmp eax, 0x3f
je 0x440485
mov dword [ebp - 0xe4], 0
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x268]
mov edi, dword [ebp - 0x274]
inc ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x43d581
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xe4], 0
push eax
push dword [esi]
call fcn.0042fc10
jmp 0x4404d5
test ecx, ecx
jg 0x4404bd
jne 0x4404aa
cmp eax, 0x3c
je 0x4404bd
mov eax, dword [esi]
xor ecx, ecx
cmp byte [eax + 0x51], 1
setne cl
mov dword [ebp - 0xe4], ecx
jmp 0x4404ec
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xe4], 0
push eax
push dword [esi]
call fcn.0042fda0
mov edx, eax
add esp, 8
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x4430ea
mov byte [esi + 0x1a], 0
cmp dword [ebp - 0xe4], 0
je 0x44045b
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x274]
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
inc ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x43d581
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x278]
mov byte [esi + 0x19], 0
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00435cc0
mov ecx, dword [ebp - 0x264]
mov dword [esi + 0x34], edx
mov edx, dword [ebp - 0x260]
mov dword [esi + 0x30], eax
mov word [esi + 0x1a], pe_nt_image_headers32
mov esi, dword [ebp - 0x268]
inc esi
mov dword [ebp - 0x268], esi
jmp 0x43d581
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov esi, dword [ebp - 0x278]
mov dword [ebp - 0x29c], 0
cmp dword [edx + ebx*4 + 0x10], 0
mov eax, dword [eax + 0x38]
mov ecx, dword [edx + ebx*4 + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + ebx*4 + 0xc]
mov dword [ebp - 0x290], ecx
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov dword [ebp - 0xd8], esi
jle 0x44062f
mov eax, dword [ecx + 8]
xor edi, edi
mov dword [ebp - 0x18c], eax
xor eax, eax
mov dx, word [edx + ebx*4 + 0x10]
mov word [ebp - 0x188], dx
mov dword [ebp - 0x184], esi
cmp ax, dx
jae 0x440621
mov ebx, dword [ebp - 0xd8]
xor esi, esi
lea ebx, [ebx]
lea ecx, [esi + ebx]
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x440610
call fcn.004359e0
mov ebx, dword [ebp - 0x184]
mov dx, word [ebp - 0x188]
inc edi
movzx eax, dx
add esi, 0x28
cmp edi, eax
jl 0x4405f0
mov ebx, dword [ebp - 0x27c]
mov esi, dword [ebp - 0x290]
lea edi, [ebp - 0x18c]
jmp 0x44066e
mov ecx, dword [ecx + 8]
lea eax, [ebp - 0x29c]
push eax
push 0xbf
lea edx, [ebp - 0xc8]
call fcn.00439cd0
mov edi, eax
add esp, 8
test edi, edi
je 0x4433d8
mov edx, dword [esi + 0x18]
push edi
push dword [esi + 4]
mov esi, dword [ebp - 0x290]
mov ecx, dword [esi + 8]
call fcn.00439d40
add esp, 8
mov eax, dword [ebp - 0x260]
mov byte [edi + 6], 0
cmp byte [eax + ebx*4], 0x41
jne 0x4406b4
movzx edx, word [ebp - 0x188]
xor ecx, ecx
test edx, edx
jle 0x4406b4
mov eax, dword [ebp - 0x184]
add eax, 0x1c
test byte [eax], 1
jne 0x4406a3
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x440694
jmp 0x4406b4
mov eax, dword [ebp - 0x260]
mov eax, dword [eax + ebx*4 + 8]
dec eax
mov dword [ebp - 0x268], eax
mov ecx, dword [esi]
lea eax, [ebp - 0x2f8]
push eax
push 0
push 0
push 0
mov edx, edi
call fcn.0042f790
mov edx, dword [ebp - 0x260]
add esp, 0x10
mov ecx, eax
mov dword [ebp - 0x270], ecx
cmp dword [edx + ebx*4 + 0x10], 0
jne 0x4406ff
mov edx, dword [ebp - 0x29c]
mov ecx, dword [ebp - 0x264]
call fcn.00419d00
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x270]
test ecx, ecx
jne 0x43ff7b
mov eax, dword [ebp - 0x2f8]
test eax, eax
mov dword [esi + 0xc], eax
mov al, 1
sete cl
mov byte [esi + 0x1b], 0
sub al, cl
mov dword [esi + 0x44], 0
mov byte [esi + 0x19], al
cmp byte [edx + ebx*4], 0x43
jne 0x440758
test ecx, ecx
je 0x440461
mov ecx, dword [edx + ebx*4 + 8]
mov edi, dword [ebp - 0x274]
dec ecx
inc ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x43d581
test ecx, ecx
jne 0x440461
mov ecx, dword [edx + ebx*4 + 8]
mov edi, dword [ebp - 0x274]
dec ecx
inc ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x43d581
mov ecx, dword [ebp - 0x260]
xor edx, edx
mov dword [ebp - 0x290], 0
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ecx + ebx*4 + 4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
lea eax, [ebp - 0x290]
push eax
mov eax, dword [ebp - 0x278]
push 0
mov ecx, dword [edi]
push dword [eax + esi*8 + 0x14]
push dword [eax + esi*8 + 0x10]
call fcn.0042f790
mov ecx, dword [ebp - 0x278]
add esp, 0x10
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x270], eax
mov eax, dword [ecx + esi*8 + 0x10]
mov dword [edi + 0x38], eax
mov eax, dword [ecx + esi*8 + 0x14]
mov ecx, dword [ebp - 0x290]
test ecx, ecx
mov dword [edi + 0x3c], eax
sete al
mov byte [edi + 0x19], 0
mov byte [edi + 0x1a], al
mov dword [edi + 0x44], 0
mov byte [edi + 0x1b], 0
test ecx, ecx
je 0x440819
mov eax, dword [edx + ebx*4 + 8]
dec eax
mov dword [ebp - 0x268], eax
mov esi, dword [ebp - 0x268]
mov dword [edi + 0xc], ecx
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
jmp 0x44011d
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x28]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 0x2c]
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x264]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
inc esi
jmp 0x43d57b
mov edx, dword [ebp - 0x260]
xorps xmm0, xmm0
mov esi, dword [ebp - 0x26c]
movlpd qword [ebp - 0xe0], xmm0
mov dword [ebp - 0x284], 0
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [esi + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x288], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x440af2
test byte [eax + 0x1c], 2
jne 0x440942
lea edx, [ebp - 0x284]
call fcn.0042f730
mov edx, eax
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x44313f
cmp dword [ebp - 0x284], eax
je 0x4408ee
mov edx, dword [ebp - 0x260]
lea esi, [eax + 1]
xor edi, edi
jmp 0x44094e
mov eax, dword [ebp - 0x288]
lea edx, [ebp - 0xe0]
mov ecx, dword [eax]
call fcn.0042ed40
mov edi, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0x270], eax
cmp edi, 0x7fffffff
jl 0x440934
jg 0x440922
cmp esi, 0xffffffff
jb 0x440934
mov eax, dword [ebp - 0x288]
mov edx, dword [ebp - 0x260]
or dword [eax + 0x1c], 2
jmp 0x44094e
mov edx, dword [ebp - 0x260]
add esi, 1
adc edi, 0
jmp 0x44094e
mov edi, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
mov ecx, dword [edx + ebx*4 + 0xc]
test ecx, ecx
je 0x4409d9
mov eax, dword [ebp - 0x26c]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x440985
mov eax, dword [edx + 4]
test eax, eax
je 0x44097a
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x440971
mov eax, dword [edx + 0xc]
lea ecx, [ecx + ecx*4]
lea ebx, [eax + ecx*8]
jmp 0x440991
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x278]
lea ebx, [ecx + eax*8]
mov ecx, ebx
call fcn.00435e70
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x14]
cmp eax, 0xffffffff
jne 0x4409af
cmp ecx, 0x7fffffff
je 0x443132
mov edx, dword [ebp - 0x288]
test byte [edx + 0x1c], 2
jne 0x443132
add eax, 1
adc ecx, 0
cmp edi, ecx
jg 0x4409d3
jl 0x4409cf
cmp esi, eax
jae 0x4409d3
mov esi, eax
mov edi, ecx
mov dword [ebx + 0x10], esi
mov dword [ebx + 0x14], edi
mov eax, dword [ebp - 0x288]
test byte [eax + 0x1c], 2
je 0x440add
mov edi, dword [ebp - 0x2a8]
lea ecx, [ebp - 0x284]
mov esi, dword [ebp - 0x2ac]
and edi, 0x3fffffff
add esi, 1
push ecx
mov ecx, dword [eax]
adc edi, 0
xor ebx, ebx
mov dword [ebp - 0xe0], esi
push ebx
push edi
push esi
xor edx, edx
mov dword [ebp - 0xdc], edi
call fcn.0042f790
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x270], ecx
test ecx, ecx
jne 0x440ad7
jmp 0x440a40
mov eax, dword [ebp - 0x284]
test eax, eax
jne 0x440acb
inc ebx
cmp ebx, 0x64
jge 0x440acb
lea eax, [ebp - 0xe0]
push eax
push 8
call fcn.0041bad0
mov esi, dword [ebp - 0xe0]
add esp, 8
cmp ebx, 5
jge 0x440a7e
and esi, 0xffffff
xor edi, edi
jmp 0x440a8a
mov edi, dword [ebp - 0xdc]
and edi, 0x3fffffff
add esi, 1
lea eax, [ebp - 0x284]
push eax
mov eax, dword [ebp - 0x288]
adc edi, 0
push 0
push edi
push esi
mov ecx, dword [eax]
xor edx, edx
mov dword [ebp - 0xe0], esi
mov dword [ebp - 0xdc], edi
call fcn.0042f790
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x270], ecx
test ecx, ecx
je 0x440a40
jmp 0x440ad7
test ecx, ecx
jne 0x440ad7
test eax, eax
je 0x443132
mov eax, dword [ebp - 0x288]
mov edx, dword [ebp - 0x260]
mov word [eax + 0x1a], 0
mov dword [eax + 0x44], 0
jmp 0x440afe
mov edi, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
mov dword [eax + 0x10], esi
mov esi, dword [ebp - 0x268]
mov dword [eax + 0x14], edi
mov edi, eax
jmp 0x44011d
mov edi, dword [ebp - 0x260]
mov eax, dword [edi + ebx*4 + 8]
mov ecx, dword [edi + ebx*4 + 4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x280], eax
mov eax, dword [edi + ebx*4 + 0xc]
cmp dl, 0x49
jne 0x440b62
mov ecx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
mov edi, dword [ecx + eax*8 + 0x10]
mov eax, dword [ecx + eax*8 + 0x14]
mov dword [ebp - 0x290], eax
jmp 0x440b6d
cdq
mov edi, eax
mov dword [ebp - 0x290], edx
mov eax, edx
mov ecx, dword [ebp - 0x260]
test byte [ecx + ebx*4 + 3], 1
je 0x440b83
mov edx, dword [ebp - 0x26c]
inc dword [edx + 0x5c]
test byte [ecx + ebx*4 + 3], 2
je 0x440ba8
mov ecx, dword [ebp - 0x264]
mov dword [ebp - 0x2ac], edi
mov dword [ebp - 0x2a8], eax
mov dword [ecx + 0x20], edi
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
movzx eax, word [edx + esi*8 + 0x1c]
test al, 1
je 0x440bc7
mov dword [edx + esi*8 + 4], 0
mov dword [edx + esi*8 + 0x18], 0
mov cl, byte [ecx + ebx*4 + 3]
mov byte [ebp - 0x289], cl
test cl, 0x10
je 0x440be1
mov edx, dword [ebp - 0x280]
mov edx, dword [edx + 0xc]
jmp 0x440be3
xor edx, edx
test eax, 0x4000
je 0x440bf6
mov eax, dword [ebp - 0x278]
mov ecx, dword [eax + esi*8 + 0x10]
jmp 0x440bf8
xor ecx, ecx
movzx eax, byte [ebp - 0x289]
push edx
shr eax, 3
xor edx, edx
and eax, 1
push eax
mov eax, dword [ebp - 0x278]
push ecx
push dword [eax + esi*8 + 0x18]
push dword [eax + esi*8 + 4]
mov eax, dword [ebp - 0x280]
mov esi, dword [ebp - 0x290]
push esi
push edi
mov ecx, dword [eax]
call fcn.004326b0
mov ecx, dword [ebp - 0x280]
mov edx, eax
add esp, 0x1c
mov dword [ebp - 0x270], edx
mov word [ecx + 0x1a], 0
mov dword [ecx + 0x44], 0
test edx, edx
jne 0x43f228
mov eax, dword [ebp - 0x264]
mov edx, dword [eax + 0xc8]
test edx, edx
je 0x442ef3
mov eax, dword [ebp - 0x260]
mov eax, dword [eax + ebx*4 + 0x10]
test eax, eax
je 0x43f228
movsx ecx, byte [ecx + 0x18]
push esi
mov esi, dword [ebp - 0x264]
add ecx, ecx
push edi
push eax
mov eax, dword [esi + 0x10]
push dword [eax + ecx*8]
mov eax, dword [ebp - 0x260]
mov ecx, 0x17
test byte [eax + ebx*4 + 3], 4
mov eax, 0x12
cmovne eax, ecx
push eax
push dword [esi + 0xc4]
call edx
mov edi, dword [ebp - 0x274]
mov ecx, esi
mov esi, dword [ebp - 0x268]
add esp, 0x18
jmp case.default.0x43d5f0
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, esi
mov eax, dword [esi + 0x3c]
mov edi, dword [esi + 0x38]
mov dword [ebp - 0x27c], eax
call fcn.00439830
mov edx, eax
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x4430ea
mov ecx, dword [esi]
call fcn.00432900
mov ecx, eax
mov dword [esi + 0x44], 0
mov dword [ebp - 0x270], ecx
test ecx, ecx
mov ecx, dword [ebp - 0x264]
jne 0x440d65
mov edx, dword [ecx + 0xc8]
test edx, edx
je 0x440d65
mov eax, dword [ebp - 0x260]
mov eax, dword [eax + ebx*4 + 0x10]
test eax, eax
je 0x440d65
test byte [esi + 0x1c], 4
je 0x440d65
push dword [ebp - 0x27c]
movsx ecx, byte [esi + 0x18]
mov esi, dword [ebp - 0x264]
add ecx, ecx
push edi
push eax
mov eax, dword [esi + 0x10]
push dword [eax + ecx*8]
push 9
push dword [esi + 0xc4]
call edx
add esp, 0x18
mov ecx, esi
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x274]
test byte [edx + ebx*4 + 8], 1
je 0x43fde6
mov esi, dword [ebp - 0x26c]
inc dword [esi + 0x5c]
mov esi, dword [ebp - 0x268]
jmp 0x44011d
mov edx, dword [ebp - 0x26c]
mov eax, dword [edx + 0x5c]
add dword [ecx + 0x54], eax
inc esi
mov dword [ecx + 0x50], eax
mov dword [edx + 0x5c], 0
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x268], esi
jmp 0x43d581
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + ebx*4 + 0xc]
mov edx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [ebp - 0x308]
push eax
mov eax, dword [ebp - 0x260]
push dword [eax + ebx*4 + 0x10]
call fcn.00445740
mov edx, dword [ebp - 0x260]
add esp, 8
cmp dword [ebp - 0x308], 0
mov dword [ebp - 0x270], eax
je 0x442f0c
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x44011d
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
mov eax, dword [ecx + ebx*4 + 8]
mov ecx, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ebp - 0x26c]
mov edx, edi
mov dword [ebp - 0x274], edi
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
call fcn.004456d0
jmp 0x44010b
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
mov esi, dword [ebp - 0x26c]
mov eax, dword [ecx + ebx*4 + 8]
mov ecx, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x274], eax
mov eax, dword [esi + 0x38]
mov ebx, dword [eax + ecx*4]
mov ecx, ebx
mov edi, dword [ebx]
call fcn.00439830
mov edx, eax
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x44313f
test byte [ebx + 0x1c], 4
mov ecx, edi
jne 0x440eea
lea edx, [ebp - 0x318]
call fcn.0042ed40
mov ecx, dword [ebp - 0x264]
mov eax, dword [ecx + 0x58]
cdq
cmp dword [ebp - 0x314], edx
jg 0x44322a
mov esi, dword [ebp - 0x318]
jl 0x440ee2
cmp esi, eax
ja 0x44322a
mov dword [ebp - 0x2dc], esi
jmp 0x440f0a
lea edx, [ebp - 0x2dc]
call fcn.0042edd0
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x2dc]
cmp esi, dword [ecx + 0x58]
ja 0x44322a
mov ecx, dword [ebp - 0x274]
mov edx, esi
push 0
call fcn.00435850
add esp, 4
test eax, eax
jne 0x4433d8
mov ecx, dword [ebp - 0x274]
mov edx, 0xbe10
mov ax, word [ecx + 0x1c]
and ax, dx
mov dword [ecx + 0x18], esi
or ax, 0x10
mov word [ecx + 0x1c], ax
test byte [ebx + 0x1c], 4
mov ebx, ecx
jne 0x440f78
push 0
push dword [ebx + 4]
xor edx, edx
mov ecx, edi
push esi
call fcn.0042efe0
mov ecx, dword [ebp - 0x264]
add esp, 0xc
mov esi, dword [ebp - 0x268]
mov edi, ebx
mov byte [ebx + 0x1e], 1
mov dword [ebp - 0x270], eax
jmp case.default.0x43d5f0
push dword [ebx + 4]
push esi
push 0
push edi
call fcn.0042f3c0
mov edi, dword [ebp - 0x274]
add esp, 0x10
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
mov byte [ebx + 0x1e], 1
mov dword [ebp - 0x270], eax
jmp case.default.0x43d5f0
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 0x19], 0
je 0x440fdf
mov esi, dword [ebp - 0x268]
mov eax, 1
mov ecx, dword [ebp - 0x264]
inc esi
mov word [edi + 0x1c], ax
jmp 0x43d57b
cmp byte [esi + 0x1b], 0
je 0x440ffc
mov eax, dword [esi + 0x30]
mov dword [ebp - 0xf0], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0xec], eax
jmp 0x441075
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x44102c
mov esi, dword [ecx]
lea edx, [ebp - 0xf0]
push edx
push ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [ebp - 0x26c]
add esp, 8
mov edx, esi
mov dword [ebp - 0x270], eax
call fcn.0043ae30
jmp 0x44106f
mov ecx, esi
call fcn.00439830
mov edx, eax
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x4430ea
cmp byte [esi + 0x1a], al
je 0x44105c
mov eax, dword [esi + 0x38]
mov dword [ebp - 0xf0], eax
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0xec], eax
jmp 0x44106f
mov ecx, dword [esi]
lea edx, [ebp - 0xf0]
call fcn.0042ed40
mov dword [ebp - 0x270], eax
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0xec]
mov dword [edi + 0x14], eax
jmp 0x44011d
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
mov word [eax + 0x19], 1
mov dword [eax + 0x44], 0
test ecx, ecx
je 0x43d9c7
call fcn.0042b620
mov edx, dword [ebp - 0x260]
inc esi
mov ecx, dword [ebp - 0x264]
jmp 0x43d57b
mov eax, dword [ebp - 0x260]
lea edx, [ebp - 0x294]
mov dword [ebp - 0x294], 0
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi]
call fcn.0042f730
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x294]
mov byte [esi + 0x19], al
mov word [esi + 0x1a], 0
mov dword [esi + 0x44], 0
mov ecx, dword [edx + ebx*4 + 8]
test ecx, ecx
jle 0x43ff81
test eax, eax
je 0x43ff81
dec ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x44011d
mov eax, dword [ebp - 0x26c]
inc dword [eax + 0x74]
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov eax, 1
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x2a0], eax
cmp dword [esi + 0x40], 0
je 0x4411b2
mov ecx, dword [ebp - 0x264]
lea eax, [ebp - 0x2a0]
push eax
mov edx, esi
call fcn.00445250
mov dword [ebp - 0x270], eax
add esp, 4
mov eax, dword [ebp - 0x2a0]
jmp 0x4411f7
mov edi, dword [esi]
mov ecx, edi
call fcn.0042f4b0
mov ecx, eax
mov dword [ebp - 0x270], ecx
test ecx, ecx
jne 0x4411e4
cmp byte [edi + 0x51], al
jne 0x4411d1
lea eax, [ecx + 1]
jmp 0x4411ea
xor eax, eax
mov ecx, edi
call fcn.0042f620
mov dword [ebp - 0x270], eax
xor eax, eax
jmp 0x4411ea
mov eax, dword [ebp - 0x27c]
mov word [esi + 0x1a], 0
mov dword [esi + 0x44], 0
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x274]
mov byte [esi + 0x19], al
test eax, eax
je 0x43ff81
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x44011d
mov edi, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
lea eax, [ebp - 0xe8]
mov ecx, dword [ebp - 0x264]
mov edx, esi
push eax
mov dword [ebp - 0xe8], 0
call fcn.00445520
add esp, 4
jmp 0x4412ba
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
cmp dword [eax + ecx*4], 0
je 0x442f0c
jmp 0x441288
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov eax, dword [edx + ebx*4 + 0xc]
mov dword [ebp - 0xe8], eax
lea eax, [ebp - 0xe8]
push eax
push dword [esi]
mov eax, dword [edx + ebx*4 + 0x10]
call eax
mov edi, dword [ebp - 0x260]
add esp, 8
mov dword [esi + 0x44], 0
cmp dword [ebp - 0xe8], 0
mov dword [ebp - 0x270], eax
jne 0x4412f7
mov ecx, dword [ebp - 0x26c]
mov byte [esi + 0x19], 0
mov eax, dword [edi + ebx*4 + 8]
dec eax
mov dword [ebp - 0x268], eax
movzx eax, byte [edi + ebx*4 + 3]
inc dword [ecx + eax*4 + 0x6c]
mov byte [esi + 0x1a], 0
jmp 0x442b86
mov byte [esi + 0x19], 1
mov byte [esi + 0x1a], 0
jmp 0x442b86
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
test byte [edx + ebx*4 + 3], 1
mov eax, dword [eax + 0x38]
mov ecx, dword [edx + ebx*4 + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + ebx*4 + 8]
mov ecx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, dword [edi]
mov dword [ebp - 0x27c], ecx
je 0x441342
mov eax, dword [ebp - 0x26c]
inc dword [eax + 0x5c]
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x441370
mov ecx, esi
call fcn.004359e0
mov edx, dword [ebp - 0x260]
mov ecx, eax
mov dword [ebp - 0x270], ecx
test ecx, ecx
jne 0x43ff7b
mov ecx, dword [ebp - 0x27c]
cmp dword [edi + 0x40], 0
je 0x4413a4
mov ecx, dword [ebp - 0x264]
mov edx, edi
push esi
call fcn.004450f0
mov edi, dword [ebp - 0x274]
add esp, 4
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
mov dword [ebp - 0x270], eax
jmp case.default.0x43d5f0
test byte [edx + ebx*4 + 3], 0x10
je 0x4413b0
mov eax, dword [edi + 0xc]
jmp 0x4413b2
xor eax, eax
push eax
push dword [edx + ebx*4 + 0xc]
mov eax, dword [esi + 0x18]
push 0
push 0
cdq
push 0x50cffc
push edx
mov edx, dword [esi + 4]
push eax
call fcn.004326b0
mov ecx, dword [ebp - 0x264]
add esp, 0x1c
mov esi, dword [ebp - 0x268]
mov dword [edi + 0x44], 0
mov edi, dword [ebp - 0x274]
mov dword [ebp - 0x270], eax
jmp case.default.0x43d5f0
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x278]
mov eax, dword [esi + 8]
mov edi, dword [esi]
mov dword [ebp - 0x25c], eax
mov ax, word [edx + ebx*4 + 0xc]
mov word [ebp - 0x258], ax
mov eax, dword [edx + ebx*4 + 8]
lea edx, [ebp - 0x25c]
mov byte [ebp - 0x256], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [ebp - 0x254], eax
lea eax, [ebp - 0x304]
push eax
push 0
push 0
push 0
call fcn.0042f790
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x270], ecx
test ecx, ecx
jne 0x44147d
cmp dword [ebp - 0x304], eax
jne 0x44147d
mov ecx, edi
call fcn.00432900
mov dword [ebp - 0x270], eax
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
mov dword [esi + 0x44], 0
mov esi, dword [ebp - 0x268]
jmp case.default.0x43d5f0
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x26c]
mov ebx, dword [ebp - 0x274]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov eax, 1
mov ecx, esi
mov edi, dword [esi]
mov word [ebx + 0x1c], ax
call fcn.00439830
mov edx, eax
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x443139
cmp byte [esi + 0x19], al
jne 0x441525
lea eax, [ebp - 0x2c8]
xorps xmm0, xmm0
push eax
mov edx, edi
movlpd qword [ebp - 0x2c8], xmm0
call fcn.0043aa80
mov edx, eax
add esp, 4
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x4430ea
mov eax, dword [ebp - 0x2c8]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0x2c4]
mov dword [ebx + 0x14], eax
mov eax, 4
mov word [ebx + 0x1c], ax
inc dword [ebp - 0x268]
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
jmp 0x43d581
mov eax, dword [ebp - 0x260]
cmp dl, 0x71
mov edx, dword [ebp - 0x278]
mov dword [ebp - 0x280], 0
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x260]
mov ax, word [eax + ebx*4 + 0x10]
mov word [ebp - 0x328], ax
sbb al, al
mov byte [ebp - 0x326], al
mov eax, dword [ebp - 0x260]
mov eax, dword [eax + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x324], eax
lea edx, [ebp - 0x32c]
lea eax, [ebp - 0x280]
push eax
call fcn.0043ac20
mov edx, dword [ebp - 0x260]
add esp, 4
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x280]
test byte [edx + ebx*4], 1
je 0x4415db
neg eax
jmp 0x4415dc
inc eax
test eax, eax
jle 0x442f0c
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x44011d
mov eax, dword [ecx + 4]
xor edx, edx
test eax, eax
je 0x441640
lea esp, [esp]
cmp dword [eax + 0x28], 0xbdf20da3
jne 0x441633
mov ecx, dword [eax + 0x58]
test ecx, 0x200
je 0x441633
and cl, 0xc
cmp cl, 8
jae 0x441633
cmp dword [eax + 0x4c], 0
jl 0x441633
inc edx
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x441610
mov ecx, dword [ebp - 0x264]
mov eax, 1
mov word [edi + 0x1c], ax
cmp edx, eax
jg 0x443192
mov edx, dword [ebp - 0x260]
lea edi, [ebp - 0x288]
mov ecx, dword [ecx + 0x10]
push edi
mov dword [ebp - 0x288], 0
mov eax, dword [edx + ebx*4 + 0xc]
mov edx, dword [edx + ebx*4 + 4]
mov dword [ebp - 0x27c], eax
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004332b0
mov edi, dword [ebp - 0x274]
add esp, 4
mov ecx, dword [ebp - 0x288]
mov dword [ebp - 0x270], eax
mov eax, 4
mov word [edi + 0x1c], ax
mov eax, ecx
cdq
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x270]
mov dword [edi + 0x14], edx
test eax, eax
jne 0x440111
test ecx, ecx
je 0x440111
mov eax, dword [ebp - 0x260]
push dword [eax + ebx*4 + 4]
mov ebx, dword [ebp - 0x27c]
mov edx, ebx
push ecx
mov ecx, dword [ebp - 0x264]
call fcn.00453e30
mov al, bl
add esp, 8
inc al
mov byte [ebp - 0x2a1], al
jmp 0x440111
mov edx, dword [ebp - 0x260]
lea eax, [ebp - 0xd8]
mov ecx, dword [ecx + 0x10]
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0xd8], 0
cmp dword [edx + ebx*4 + 0xc], 0
cmove eax, dword [ebp - 0x27c]
push eax
mov eax, dword [edx + ebx*4 + 8]
mov edx, dword [edx + ebx*4 + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00432ff0
mov edx, dword [ebp - 0x260]
add esp, 4
mov dword [ebp - 0x270], eax
cmp dword [edx + ebx*4 + 0xc], 0
je 0x442f0c
mov ecx, dword [ebp - 0x26c]
mov eax, dword [ebp - 0xd8]
add dword [ecx + 0x5c], eax
mov ecx, dword [edx + ebx*4 + 0xc]
test ecx, ecx
jle 0x442f0c
mov ebx, dword [ebp - 0x278]
lea ecx, [ecx + ecx*4]
cdq
add dword [ebx + ecx*8 + 0x10], eax
adc dword [ebx + ecx*8 + 0x14], edx
jmp 0x440111
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ecx + 0x40]
test edx, edx
je 0x4417c5
mov ecx, dword [ebp - 0x264]
call fcn.00444aa0
inc dword [ebp - 0x268]
mov esi, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x260]
jmp 0x43d581
mov ecx, dword [ecx]
push 0
mov edx, dword [ecx + 0x44]
mov ecx, dword [ecx]
call fcn.00432ff0
add esp, 4
jmp 0x44010b
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x27c], 0
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x264]
shl ecx, 4
add ecx, dword [eax + 0x10]
xor eax, eax
cmp dl, 0x77
lea edx, [ebp - 0x27c]
setne al
mov ecx, dword [ecx + 4]
inc eax
push eax
call fcn.00432e00
mov dword [ebp - 0x270], eax
add esp, 4
mov eax, dword [ebp - 0x27c]
cdq
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
jmp 0x440111
mov esi, dword [ebp - 0x260]
mov eax, str.sqlite_master
mov ecx, str.sqlite_temp_master
mov edx, dword [esi + ebx*4 + 4]
cmp edx, 1
push dword [esi + ebx*4 + 0x10]
mov ebx, dword [ebp - 0x264]
cmovne ecx, eax
mov eax, dword [ebp - 0x264]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x26c]
add eax, 0x2c
mov dword [ebp - 0x194], edx
mov dword [ebp - 0x198], eax
add edx, edx
mov eax, dword [ebx + 0x10]
push ecx
push dword [eax + edx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push ebx
call fcn.0041b720
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x44189e
mov dword [ebp - 0x270], 7
mov ecx, ebx
jmp 0x4418f2
push 0
lea eax, [ebp - 0x19c]
mov byte [ebx + 0x89], 1
push eax
push fcn.00466860
push esi
push ebx
mov dword [ebp - 0x190], 0
call fcn.00462bd0
add esp, 0x14
mov edx, esi
test eax, eax
mov ecx, ebx
cmove eax, dword [ebp - 0x190]
mov dword [ebp - 0x270], eax
call fcn.00419d00
mov edx, dword [ebp - 0x270]
mov ecx, ebx
mov byte [ecx + 0x89], 0
test edx, edx
je 0x4418ff
call fcn.00451900
mov edx, dword [ebp - 0x270]
mov ecx, ebx
cmp edx, 7
je 0x4433de
mov esi, dword [ebp - 0x268]
jmp case.default.0x43d5f0
mov eax, dword [ebp - 0x260]
mov edx, dword [eax + ebx*4 + 4]
call fcn.0044fe80
jmp 0x44010b
mov eax, dword [ebp - 0x260]
push dword [eax + ebx*4 + 0x10]
mov edx, dword [eax + ebx*4 + 4]
call fcn.00451be0
mov ecx, dword [ebp - 0x264]
add esp, 4
inc dword [ebp - 0x268]
mov esi, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
jmp 0x43d581
mov eax, dword [ebp - 0x260]
push dword [eax + ebx*4 + 0x10]
mov edx, dword [eax + ebx*4 + 4]
call fcn.004516e0
mov ecx, dword [ebp - 0x264]
add esp, 4
inc dword [ebp - 0x268]
mov esi, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
jmp 0x43d581
mov eax, dword [ebp - 0x260]
push dword [eax + ebx*4 + 0x10]
mov edx, dword [eax + ebx*4 + 4]
call fcn.00473480
mov ecx, dword [ebp - 0x264]
add esp, 4
inc dword [ebp - 0x268]
mov esi, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
jmp 0x43d581
mov esi, dword [ebp - 0x260]
mov edi, dword [esi + ebx*4 + 8]
mov dword [ebp - 0xd8], edi
lea edx, [edi*4 + 4]
call fcn.00419f60
mov edx, eax
mov dword [ebp - 0x290], edx
test edx, edx
je 0x4433d8
mov ecx, dword [esi + ebx*4 + 0xc]
lea eax, [ecx + ecx*4]
mov ecx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0x280], eax
xor esi, esi
mov eax, dword [ebp - 0x278]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*8]
mov dword [ebp - 0x29c], eax
test edi, edi
jle 0x441a44
mov ebx, dword [ebp - 0xd8]
mov edi, eax
lea ecx, [ecx]
mov ecx, edi
call fcn.00435cc0
mov edx, dword [ebp - 0x290]
add edi, 0x28
mov dword [edx + esi*4], eax
inc esi
cmp esi, ebx
jl 0x441a20
mov ebx, dword [ebp - 0x27c]
mov edi, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x278]
lea eax, [ebp - 0x2f0]
push eax
mov eax, dword [ebp - 0x280]
mov dword [edx + esi*4], 0
push dword [ecx + eax*8 + 0x10]
mov eax, dword [ebp - 0x260]
push edi
movzx eax, byte [eax + ebx*4 + 3]
mov ebx, dword [ebp - 0x264]
add eax, eax
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004341f0
mov edx, dword [ebp - 0x290]
add esp, 0xc
mov ecx, ebx
mov edi, eax
call fcn.00419d00
mov ecx, dword [ebp - 0x280]
mov ebx, dword [ebp - 0x278]
mov esi, dword [ebp - 0x2f0]
mov eax, esi
cdq
sub dword [ebx + ecx*8 + 0x10], eax
sbb dword [ebx + ecx*8 + 0x14], edx
mov ebx, dword [ebp - 0x29c]
mov ecx, ebx
call fcn.00436000
test esi, esi
je 0x441adf
test edi, edi
je 0x4433d8
push fcn.00419c60
push 1
push 0xffffffffffffffff
mov edx, edi
mov ecx, ebx
call fcn.00436320
add esp, 0xc
movzx edx, byte [ebp - 0x298]
mov ecx, ebx
call fcn.00435830
inc dword [ebp - 0x268]
mov edi, dword [ebp - 0x274]
mov esi, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x260]
jmp 0x43d581
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 0x20
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
lea edi, [eax + eax*4]
jne 0x441b45
mov ecx, esi
call fcn.00436080
test byte [esi + 0x1c], 0x20
je 0x4433d8
mov ebx, dword [ebp - 0x278]
mov ecx, dword [esi + 0x10]
push dword [ebx + edi*8 + 0x14]
push dword [ebx + edi*8 + 0x10]
call fcn.00422cd0
add esp, 8
inc dword [ebp - 0x268]
mov edi, dword [ebp - 0x274]
mov esi, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x260]
jmp 0x43d581
mov edi, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [edi + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea esi, [ecx + eax*8]
je 0x441bd9
mov ecx, dword [esi + 0x10]
lea edx, [ebp - 0x310]
call fcn.004230e0
test eax, eax
je 0x441bd9
mov eax, dword [edi + ebx*4 + 0xc]
mov ecx, dword [ebp - 0x278]
push dword [ebp - 0x30c]
push dword [ebp - 0x310]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00436050
add esp, 8
jmp 0x442b86
mov ecx, esi
call fcn.00436000
mov ecx, dword [edi + ebx*4 + 8]
jmp 0x442b7f
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 0x20
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 0xc]
lea edi, [eax + eax*4]
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x27c], eax
jne 0x441c34
mov ecx, esi
call fcn.00436080
test byte [esi + 0x1c], 0x20
je 0x4433d8
mov eax, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x278]
test eax, eax
je 0x441c5d
push dword [edx + edi*8 + 0x14]
mov ecx, dword [esi + 0x10]
push dword [edx + edi*8 + 0x10]
mov edx, eax
call fcn.00423140
add esp, 8
test eax, eax
jne 0x4402f3
mov eax, dword [ebp - 0x27c]
test eax, eax
js 0x441b5e
jmp 0x441b45
mov ecx, dword [ebp - 0x260]
mov esi, dword [ebp - 0x278]
cmp byte [ecx + ebx*4 + 3], 0
mov eax, dword [ecx + ebx*4 + 0xc]
mov edx, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0xd8], edx
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0x27c], eax
je 0x441cc0
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + 0x14]
mov eax, dword [eax + 0xb0]
test eax, eax
je 0x441cc0
jmp 0x441cb0
cmp dword [eax + 0x18], ecx
je 0x4417a8
mov eax, dword [eax + 4]
test eax, eax
jne 0x441cb0
mov ecx, dword [ebp - 0x26c]
mov esi, dword [ebp - 0x264]
mov eax, dword [ecx + 0xb8]
cmp eax, dword [esi + 0x80]
jge 0x4431b3
mov ebx, dword [ebp - 0x27c]
test byte [ebx + 0x1c], 0x40
jne 0x441e6e
mov ecx, dword [edx + 0xc]
mov edi, dword [edx + 8]
add edi, ecx
lea eax, [edi + edi*4]
lea ecx, [ecx + eax*2]
mov eax, dword [edx + 0x10]
lea ecx, [ecx + 0x12]
lea edx, [eax + ecx*4]
mov ecx, esi
call fcn.00419f30
mov esi, eax
test esi, esi
je 0x4433d8
mov ecx, ebx
call fcn.00435c40
mov ecx, dword [ebp - 0x26c]
mov eax, 0x40
mov edx, dword [ebp - 0xd8]
mov word [ebx + 0x1c], ax
mov dword [ebx + 0x10], esi
mov dword [esi], ecx
mov dword [esi + 0x3c], edi
mov eax, dword [edx + 0xc]
mov dword [esi + 0x40], eax
mov eax, dword [ebp - 0x268]
mov dword [esi + 0x2c], eax
mov eax, dword [ecx + 8]
mov dword [esi + 0xc], eax
mov eax, dword [ecx + 0x1c]
mov dword [esi + 0x34], eax
mov eax, dword [ecx + 0x38]
mov dword [esi + 0x14], eax
mov eax, dword [ecx + 0x24]
mov dword [esi + 0x28], eax
mov eax, dword [ecx + 4]
mov dword [esi + 8], eax
mov eax, dword [ecx + 0x20]
mov dword [esi + 0x30], eax
mov eax, dword [edx + 0x14]
mov dword [esi + 0x18], eax
mov eax, dword [ecx + 0xc8]
mov dword [esi + 0x10], eax
mov eax, dword [ecx + 0xc4]
mov dword [esi + 0x38], eax
lea eax, [edi*4 + 9]
add eax, edi
lea ecx, [esi + eax*8]
lea eax, [esi + 0x48]
cmp eax, ecx
je 0x441db0
mov edi, dword [ebp - 0x264]
mov ebx, 0x80
mov word [eax + 0x1c], bx
mov dword [eax], edi
add eax, 0x28
cmp eax, ecx
jne 0x441da3
mov ecx, dword [ebp - 0x26c]
inc dword [ecx + 0xb8]
lea ebx, [esi + 0x20]
mov eax, dword [ecx + 0xb0]
or edi, 0xffffffff
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x2ac]
mov dword [ebx], eax
mov eax, dword [ebp - 0x2a8]
mov dword [ebx + 4], eax
mov eax, dword [ecx + 0x5c]
mov dword [esi + 0x44], eax
mov dword [ecx + 0xb0], esi
mov dword [ecx + 0x5c], 0
mov dword [ecx + 8], ebx
mov eax, dword [esi + 0x3c]
mov dword [ecx + 0x1c], eax
movzx eax, word [esi + 0x40]
mov esi, dword [ebp - 0x26c]
mov dword [ecx + 0x24], eax
mov eax, dword [ecx + 0x1c]
inc eax
mov dword [ebp - 0x278], ebx
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov dword [esi + 0x38], ecx
mov eax, dword [edx]
mov dword [ebp - 0x260], eax
mov dword [esi + 4], eax
mov eax, dword [edx + 4]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x24]
lea ecx, [ecx + eax*4]
mov dword [esi + 0xc8], ecx
mov eax, dword [edx + 0x10]
push eax
push 0
push ecx
mov dword [esi + 0xc4], eax
call fcn.004c1b90
mov ecx, dword [ebp - 0x264]
add esp, 0xc
mov edx, dword [ebp - 0x260]
inc edi
mov dword [ebp - 0x268], edi
mov edi, dword [ebp - 0x274]
mov esi, dword [ebp - 0x268]
jmp 0x43d581
mov esi, dword [ebx + 0x10]
jmp 0x441db6
mov eax, dword [ebp - 0x26c]
push 0x1000
mov edx, dword [eax + 0xb0]
mov eax, dword [edx + 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4 + 4]
mov ecx, dword [ebp - 0x260]
add eax, dword [ecx + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea edx, [eax + ecx*8]
mov ecx, edi
call fcn.00436160
mov ecx, dword [ebp - 0x264]
add esp, 4
inc dword [ebp - 0x268]
mov esi, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
jmp 0x43d581
test dword [ecx + 0x18], 0x1000000
mov eax, dword [ebp - 0x260]
je 0x441f00
mov eax, dword [eax + ebx*4 + 8]
cdq
add dword [ecx + 0x1f8], eax
adc dword [ecx + 0x1fc], edx
inc esi
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x268], esi
jmp 0x43d581
cmp dword [eax + ebx*4 + 4], 0
mov eax, dword [eax + ebx*4 + 8]
cdq
je 0x441f2a
add dword [ecx + 0x1f0], eax
adc dword [ecx + 0x1f4], edx
inc esi
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x268], esi
jmp 0x43d581
mov ebx, dword [ebp - 0x26c]
add dword [ebx + 0x90], eax
adc dword [ebx + 0x94], edx
inc esi
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x268], esi
jmp 0x43d581
mov edx, dword [ebp - 0x260]
cmp dword [edx + ebx*4 + 4], 0
je 0x441f8a
mov eax, dword [ecx + 0x1f0]
or eax, dword [ecx + 0x1f4]
jne 0x43ee96
mov eax, dword [ecx + 0x1f8]
or eax, dword [ecx + 0x1fc]
jne 0x43ee96
mov esi, dword [edx + ebx*4 + 8]
dec esi
inc esi
jmp 0x43d57b
mov eax, dword [ebp - 0x26c]
mov edi, dword [ebp - 0x26c]
mov eax, dword [eax + 0x90]
or eax, dword [edi + 0x94]
mov edi, dword [ebp - 0x274]
jmp 0x441f67
mov eax, dword [ebp - 0x26c]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x441fdf
mov eax, dword [edx + 4]
test eax, eax
je 0x441fca
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x441fc1
mov eax, dword [ebp - 0x260]
mov eax, dword [eax + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea edi, [eax + ecx*8]
jmp 0x441ff5
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [eax + ebx*4 + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.00435e70
mov ecx, dword [ebp - 0x260]
mov eax, dword [ecx + ebx*4 + 8]
mov ecx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00435e70
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
cmp dword [edi + 0x14], ecx
jg 0x441b5e
jl 0x442033
cmp dword [edi + 0x10], eax
jae 0x441b5e
inc dword [ebp - 0x268]
mov esi, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
mov dword [edi + 0x14], ecx
mov ecx, dword [ebp - 0x264]
mov dword [edi + 0x10], eax
mov edi, dword [ebp - 0x274]
jmp 0x43d581
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
cmp dword [edi + eax*8 + 0x14], 0
mov edi, dword [ebp - 0x274]
jl 0x43ee96
jg 0x43ee91
mov edi, dword [ebp - 0x278]
cmp dword [edi + eax*8 + 0x10], 0
mov edi, dword [ebp - 0x274]
jbe 0x43ee96
mov esi, dword [edx + ebx*4 + 8]
dec esi
inc esi
jmp 0x43d57b
mov edx, dword [ebp - 0x260]
mov esi, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ebx*4 + 0xc]
cdq
add dword [esi + ecx*8 + 0x10], eax
adc dword [esi + ecx*8 + 0x14], edx
cmp dword [esi + ecx*8 + 0x14], 0
jg 0x4420fb
jl 0x4420d8
cmp dword [esi + ecx*8 + 0x10], 0
jae 0x4420fb
mov edx, dword [ebp - 0x260]
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
inc ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x43d581
mov ecx, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
inc ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x43d581
mov edx, dword [ebp - 0x260]
mov esi, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ebx*4 + 0xc]
cdq
add dword [esi + ecx*8 + 0x10], eax
mov eax, dword [esi + ecx*8 + 0x10]
adc dword [esi + ecx*8 + 0x14], edx
or eax, dword [esi + ecx*8 + 0x14]
jne 0x4420fb
mov edx, dword [ebp - 0x260]
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
inc ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x43d581
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
movzx edx, byte [eax + ebx*4 + 3]
mov eax, dword [eax + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0x26c]
mov esi, dword [eax + 0xc]
xor eax, eax
test edx, edx
jle 0x4421a1
mov dword [esi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, edx
jl 0x442196
mov ecx, dword [ebp - 0x260]
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x248], eax
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x218], eax
inc dword [eax + 0x18]
mov eax, 1
mov ecx, dword [ebp - 0x248]
mov word [ebp - 0x224], ax
mov eax, dword [ebp - 0x264]
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x214], 0
mov byte [ebp - 0x204], 0
test byte [ecx + 2], 0x20
je 0x442237
mov eax, dword [ebp - 0x260]
mov eax, dword [eax + ebx*4 - 4]
mov dword [ebp - 0x214], eax
push esi
push edx
lea eax, [ebp - 0x248]
push eax
mov eax, dword [ecx + 0x10]
call eax
add esp, 0xc
cmp dword [ebp - 0x208], 0
je 0x442288
mov dl, 1
lea ecx, [ebp - 0x240]
call fcn.004365a0
push eax
mov eax, dword [ebp - 0x26c]
push 0x50ddc4
push dword [ebp - 0x264]
add eax, 0x2c
push eax
call fcn.0041a100
mov eax, dword [ebp - 0x208]
add esp, 0x10
mov dword [ebp - 0x270], eax
cmp byte [ebp - 0x204], 0
je 0x4422b7
mov eax, dword [ebp - 0x260]
mov eax, dword [eax + ebx*4 - 0x10]
test eax, eax
je 0x4422b7
mov ecx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ecx + eax*8]
call fcn.00436050
add esp, 8
lea ecx, [ebp - 0x240]
call fcn.00435c40
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp case.default.0x43d5f0
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov edx, dword [ecx + ebx*4 + 0x10]
mov ecx, esi
call fcn.00435b40
mov dword [ebp - 0x270], eax
test eax, eax
je 0x442325
mov dl, 1
mov ecx, esi
call fcn.004365a0
push eax
mov eax, dword [ebp - 0x26c]
push 0x50ddc4
push dword [ebp - 0x264]
add eax, 0x2c
push eax
call fcn.0041a100
add esp, 0x10
movzx edx, byte [ebp - 0x298]
mov ecx, esi
call fcn.00435830
mov ecx, esi
call fcn.00436130
mov ecx, dword [ebp - 0x264]
test eax, eax
jne 0x44322a
mov esi, dword [ebp - 0x268]
jmp case.default.0x43d5f0
mov esi, dword [ebp - 0x260]
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0xd0]
mov dword [ebp - 0xd4], 0
push eax
push dword [esi + ebx*4 + 8]
mov edx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0xcc], 0xffffffff
mov dword [ebp - 0xd0], 0xffffffff
call fcn.004874f0
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x270], ecx
cmp ecx, 5
jne 0x4423b6
mov dword [ebp - 0x270], 0
mov dword [ebp - 0xd4], 1
mov eax, dword [esi + ebx*4 + 0xc]
xor esi, esi
mov ecx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
jmp 0x4423d0
mov eax, dword [ebp + esi*4 - 0xd4]
mov ecx, edi
cdq
push edx
push eax
call fcn.00436050
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x4423d0
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp case.default.0x43d5f0
mov eax, dword [ebp - 0x260]
mov esi, dword [eax + ebx*4 + 0xc]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x264]
add ecx, ecx
cmp esi, 0xffffffff
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0x27c], eax
mov eax, dword [eax + 4]
mov edi, dword [eax]
movzx edx, byte [edi + 5]
cmove esi, edx
mov dword [ebp - 0xd8], edx
cmp byte [edi + 0x10], 3
jae 0x442458
mov eax, dword [edi + 0x40]
cmp dword [eax], 0
je 0x44245a
cmp dword [edi + 0x4c], 0
jl 0x44245a
jg 0x442458
cmp dword [edi + 0x48], 0
jbe 0x44245a
mov esi, edx
cmp byte [edi + 0xf], 0
mov ecx, 0x50cffc
jne 0x44246b
mov ecx, dword [edi + 0xa8]
cmp esi, 5
jne 0x44248b
call fcn.0041c360
test eax, eax
je 0x442484
mov ecx, edi
call fcn.00428240
test eax, eax
jne 0x44248b
mov esi, edx
jmp 0x442505
cmp esi, edx
je 0x442505
cmp edx, 5
je 0x442499
cmp esi, 5
jne 0x442505
mov ecx, dword [ebp - 0x264]
cmp byte [ecx + 0x3e], 0
je 0x4431e0
cmp dword [ecx + 0x90], 1
jg 0x4431e0
cmp edx, 5
jne 0x4424d0
mov ecx, edi
call fcn.004283f0
mov dword [ebp - 0x270], eax
test eax, eax
jne 0x4424ff
mov edx, esi
jmp 0x4424da
cmp edx, 4
jne 0x4424e1
mov edx, 2
mov ecx, edi
call fcn.00428100
mov ecx, dword [ebp - 0x27c]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.004347f0
mov dword [ebp - 0x270], eax
test eax, eax
je 0x442505
mov esi, dword [ebp - 0xd8]
mov edx, esi
mov ecx, edi
call fcn.00428100
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
mov ecx, dword [ecx + ebx*4 + 8]
lea ecx, [ecx + ecx*4]
lea ebx, [edx + ecx*8]
mov ecx, 0xa02
mov dword [ebp - 0x274], ebx
mov word [ebx + 0x1c], cx
cmp eax, 6
jne 0x44253c
xor ecx, ecx
jmp 0x442543
mov ecx, dword [eax*4 + 0x50ae54]
mov dword [ebx + 4], ecx
call fcn.0041c360
movzx edx, byte [ebp - 0x298]
mov ecx, ebx
mov dword [ebx + 0x18], eax
mov byte [ebx + 0x1e], 1
call fcn.00435830
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp case.default.0x43d5f0
mov ecx, dword [ebp - 0x26c]
mov edx, dword [ebp - 0x264]
lea ecx, [ecx + 0x2c]
call fcn.00477150
jmp 0x44010b
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x264]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + ecx*8 + 4]
call fcn.0042e320
mov edx, dword [ebp - 0x260]
mov ecx, eax
mov dword [ebp - 0x270], ecx
cmp ecx, 0x65
jne 0x442f0c
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x44011d
mov edx, dword [ebp - 0x260]
cmp dword [edx + ebx*4 + 4], 0
jne 0x442603
call fcn.0043ad70
inc esi
jmp 0x43d57b
mov eax, dword [ebp - 0x26c]
or dword [eax + 0x58], 0x20
inc esi
jmp 0x43d57b
mov edx, dword [ebp - 0x260]
mov al, byte [edx + ebx*4 + 0xc]
mov byte [ebp - 0x2d8], al
test al, al
jne 0x442634
test dword [ecx + 0x18], 0x4000
jne 0x44011d
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [ecx + 0x10]
add eax, eax
push dword [ebp - 0x2d8]
mov edx, dword [edx + ebx*4 + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00434710
mov ecx, eax
add esp, 4
mov dword [ebp - 0x270], ecx
cmp cl, 6
jne 0x440111
mov eax, dword [ebp - 0x260]
push dword [eax + ebx*4 + 0x10]
mov eax, dword [ebp - 0x26c]
push str.database_table_is_locked:__s
push dword [ebp - 0x264]
add eax, 0x2c
push eax
call fcn.0041a100
add esp, 0x10
jmp 0x440111
mov eax, dword [ebp - 0x260]
mov esi, dword [eax + ebx*4 + 0x10]
mov edx, esi
call fcn.004784d0
mov dword [ebp - 0x270], eax
test esi, esi
je 0x43e6eb
mov edx, dword [esi + 8]
mov ecx, dword [ebp - 0x26c]
call fcn.0043ae30
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp case.default.0x43d5f0
mov eax, dword [ebp - 0x26c]
add eax, 0x2c
push eax
mov eax, dword [ebp - 0x260]
push dword [eax + ebx*4 + 0x10]
mov edx, dword [eax + ebx*4 + 4]
call fcn.00478050
add esp, 8
jmp 0x44010b
mov edx, dword [ebp - 0x26c]
mov eax, dword [edx + 0x58]
and eax, 0xfffffffb
or eax, 8
mov dword [edx + 0x58], eax
mov eax, dword [ebp - 0x260]
push dword [eax + ebx*4 + 0x10]
mov edx, dword [eax + ebx*4 + 4]
call fcn.00478320
mov ecx, dword [ebp - 0x26c]
add esp, 4
and dword [ecx + 0x58], 0xfffffff3
jmp 0x44010b
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x14c], 0
mov eax, dword [eax + ebx*4 + 0x10]
mov esi, dword [eax + 8]
lea eax, [ebp - 0x14c]
push eax
push esi
mov edi, dword [esi]
mov eax, dword [edi + 0x18]
call eax
mov ecx, dword [ebp - 0x26c]
add esp, 8
mov edx, esi
mov dword [ebp - 0x270], eax
call fcn.0043ae30
cmp dword [ebp - 0x270], 0
jne 0x43f228
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x26c]
push 0
push 0xffffffffffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0x260]
push 0
mov edx, dword [eax + ebx*4 + 4]
call fcn.0043d230
add esp, 0xc
test eax, eax
je 0x4427c9
mov ecx, dword [ebp - 0x14c]
inc dword [ebp - 0x268]
mov edi, dword [ebp - 0x274]
mov esi, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
mov dword [eax + 0x24], ecx
mov ecx, dword [ebp - 0x264]
jmp 0x43d581
mov eax, dword [ebp - 0x264]
push dword [ebp - 0x14c]
mov byte [eax + 0x40], 1
mov eax, dword [edi + 0x1c]
call eax
mov edi, dword [ebp - 0x274]
add esp, 4
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp case.default.0x43d5f0
mov ecx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x278]
add edi, 0x28
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ecx + ebx*4 + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x26c]
mov esi, dword [edi + edx*8 + 0x10]
lea edi, [edi + edx*8]
movd xmm0, edi
mov dword [ebp - 0xd8], edi
mov eax, dword [eax + 0x38]
pshufd xmm3, xmm0, 0
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x284], eax
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x280], eax
mov eax, dword [eax]
mov dword [ebp - 0x14c], eax
mov eax, dword [eax]
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x278]
mov eax, dword [eax + edx*8 + 0x10]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x26c]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x27c], edx
test esi, esi
jle 0x442923
cmp esi, 8
jb 0x44290b
cmp dword [0x52f294], 2
jl 0x44290b
movdqa xmm2, xmmword [0x515370]
mov eax, esi
and eax, reloc.OLEAUT32.dll_VariantInit
jns 0x4428a8
dec eax
or eax, 0xfffffff8
inc eax
movdqa xmm1, xmmword [0x515380]
mov edi, esi
sub edi, eax
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
lea edx, [edx + 0x20]
paddd xmm0, xmm2
add ecx, 8
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movdqu xmmword [edx - 0x20], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movdqu xmmword [edx - 0x10], xmm0
cmp ecx, edi
jl 0x4428b4
mov edx, dword [ebp - 0x27c]
mov edi, dword [ebp - 0xd8]
cmp ecx, esi
jge 0x442923
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [edx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, esi
jl 0x442918
mov ecx, dword [ebp - 0x26c]
mov edi, dword [ebp - 0x29c]
push edx
push esi
mov eax, dword [ecx + 0x58]
mov esi, dword [ebp - 0x280]
and eax, 0xfffffff7
or eax, 4
mov dword [ecx + 0x58], eax
mov eax, dword [ebp - 0x260]
push dword [eax + ebx*4 + 0x10]
mov eax, dword [edi + 0x20]
push dword [ebp - 0x290]
push esi
call eax
mov edx, dword [ebp - 0x14c]
add esp, 0x14
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x26c]
mov ecx, eax
and dword [eax + 0x58], 0xfffffff3
call fcn.0043ae30
cmp dword [ebp - 0x270], 0
jne 0x4429a2
mov eax, dword [edi + 0x28]
push esi
call eax
mov edx, dword [ebp - 0x260]
add esp, 4
test eax, eax
je 0x4429a8
mov eax, dword [edx + ebx*4 + 8]
dec eax
mov dword [ebp - 0x268], eax
jmp 0x4429a8
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x284]
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
mov byte [eax + 0x19], 0
jmp 0x44011d
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + ebx*4 + 0xc]
mov edx, dword [ebp - 0x278]
mov dword [ebp - 0xd8], ecx
cmp byte [ecx + 0x19], 0
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x27c], eax
je 0x442a25
mov ecx, eax
call fcn.00436000
inc dword [ebp - 0x268]
mov esi, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x260]
jmp 0x43d581
mov eax, dword [ecx + 0x24]
push 0x48
push 0
mov edi, dword [eax]
lea eax, [ebp - 0x148]
push eax
mov esi, dword [edi]
call fcn.004c1b90
mov edx, dword [ebp - 0x27c]
lea ecx, [ebp - 0x140]
add esp, 0xc
call fcn.004362d0
mov eax, dword [ebp - 0x124]
and eax, 0xbe01
or eax, 1
mov word [ebp - 0x124], ax
mov eax, dword [ebp - 0x260]
push dword [eax + ebx*4 + 8]
lea eax, [ebp - 0x148]
push eax
mov eax, dword [ebp - 0xd8]
push dword [eax + 0x24]
mov eax, dword [esi + 0x2c]
call eax
mov ecx, dword [ebp - 0x26c]
add esp, 0xc
mov edx, edi
mov ebx, eax
call fcn.0043ae30
mov eax, dword [ebp - 0x108]
lea ecx, [ebp - 0x140]
movzx edx, byte [ebp - 0x298]
test eax, eax
cmovne ebx, eax
mov dword [ebp - 0x270], ebx
call fcn.00435830
mov ecx, dword [ebp - 0x27c]
lea edx, [ebp - 0x140]
call fcn.004362d0
mov ecx, dword [ebp - 0x27c]
call fcn.00436130
mov ecx, dword [ebp - 0x264]
test eax, eax
jne 0x44322a
mov edi, dword [ebp - 0x274]
mov esi, dword [ebp - 0x268]
jmp case.default.0x43d5f0
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 0x19], 0
jne 0x442f06
mov eax, dword [edi + 0x24]
mov edx, dword [ebp - 0x26c]
mov esi, dword [eax]
mov eax, dword [edx + 0x58]
and eax, 0xfffffff7
or eax, 4
mov ecx, dword [esi]
mov dword [edx + 0x58], eax
push dword [edi + 0x24]
mov dword [ebp - 0x27c], ecx
mov eax, dword [ecx + 0x24]
call eax
mov dword [ebp - 0x270], eax
add esp, 4
mov eax, dword [ebp - 0x26c]
mov edx, esi
mov ecx, eax
and dword [eax + 0x58], 0xfffffff3
call fcn.0043ae30
cmp dword [ebp - 0x270], 0
jne 0x442b75
mov eax, dword [ebp - 0x27c]
push dword [edi + 0x24]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x442b86
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax + ebx*4 + 8]
dec ecx
mov dword [ebp - 0x268], ecx
mov ebx, dword [ebp - 0x264]
cmp dword [ebx + 0xe8], 0
jne 0x443395
mov ecx, dword [ebx + 0x11c]
test ecx, ecx
je 0x442bda
mov edi, dword [ebp - 0x2b4]
cmp edi, dword [ebp - 0x2b0]
jb 0x442bda
mov esi, dword [ebx + 0x124]
xor edx, edx
mov eax, edi
div esi
push dword [ebx + 0x120]
sub esi, edx
add esi, edi
mov dword [ebp - 0x2b0], esi
call ecx
add esp, 4
test eax, eax
jne 0x442ff9
mov edi, dword [ebp - 0x274]
mov ecx, ebx
mov esi, dword [ebp - 0x268]
jmp case.default.0x43d5f0
mov ecx, dword [ebp - 0x260]
mov edx, 1
mov eax, dword [ecx + ebx*4 + 0x10]
mov esi, dword [eax + 8]
mov eax, dword [ecx + ebx*4 + 4]
mov ecx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.00435830
mov ecx, eax
mov dword [ebp - 0x270], ecx
test ecx, ecx
jne 0x43f228
mov eax, dword [esi]
push dword [edi + 4]
push esi
mov eax, dword [eax + 0x4c]
call eax
add esp, 8
mov dword [ebp - 0x270], eax
mov edx, esi
mov esi, dword [ebp - 0x26c]
mov ecx, esi
call fcn.0043ae30
and dword [esi + 0x58], 0xffffffdf
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp case.default.0x43d5f0
mov esi, dword [ebp - 0x260]
mov eax, dword [esi + ebx*4 + 0x10]
mov esi, dword [esi + ebx*4 + 8]
mov edx, dword [eax + 8]
mov dword [ebp - 0xd8], edx
mov eax, dword [edx]
mov dword [ebp - 0x27c], eax
cmp dword [eax + 0x34], 0
je 0x43e6f1
mov al, byte [ecx + 0x44]
mov ecx, dword [ebp - 0x278]
mov byte [ebp - 0x289], al
mov eax, dword [ebp - 0x26c]
mov edi, dword [eax + 0xc]
mov eax, dword [ebp - 0x260]
mov eax, dword [eax + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test esi, esi
jle 0x442ccb
jmp 0x442cc0
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x442cc0
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x264]
mov al, byte [eax + ebx*4 + 3]
mov byte [ecx + 0x44], al
lea eax, [ebp - 0x100]
push eax
mov eax, dword [ebp - 0x27c]
push edi
push esi
push edx
mov eax, dword [eax + 0x34]
call eax
mov ecx, dword [ebp - 0x264]
add esp, 0x10
mov esi, dword [ebp - 0x26c]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0x270], eax
mov al, byte [ebp - 0x289]
mov byte [ecx + 0x44], al
mov ecx, esi
call fcn.0043ae30
cmp dword [ebp - 0x270], 0
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x264]
jne 0x442d58
cmp dword [edx + ebx*4 + 4], 0
je 0x442d58
mov eax, dword [ebp - 0x100]
mov edi, dword [ebp - 0xfc]
mov dword [ebp - 0x2ac], eax
mov dword [ebp - 0x2a8], edi
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edi
mov eax, dword [ebp - 0x270]
cmp al, 0x13
jne 0x442dc2
mov eax, dword [edx + ebx*4 + 0x10]
cmp byte [eax + 0x10], 0
je 0x442dc2
mov al, byte [edx + ebx*4 + 3]
cmp al, 4
jne 0x442d8e
mov esi, dword [ebp - 0x268]
xor eax, eax
mov edi, dword [ebp - 0x274]
inc esi
mov dword [ebp - 0x270], eax
jmp 0x43d57b
cmp al, 5
jne 0x442dab
mov edi, dword [ebp - 0x274]
mov eax, 2
mov byte [esi + 0x56], al
mov esi, dword [ebp - 0x268]
jmp 0x44011d
mov edi, dword [ebp - 0x274]
movzx eax, al
mov byte [esi + 0x56], al
mov esi, dword [ebp - 0x268]
jmp 0x44011d
inc dword [esi + 0x5c]
mov edi, dword [ebp - 0x274]
mov esi, dword [ebp - 0x268]
jmp 0x44011d
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x264]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
inc dword [ebp - 0x268]
mov esi, dword [ebp - 0x268]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, dword [ebp - 0x264]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2c]
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], 0
jmp 0x43d581
mov esi, dword [ebp - 0x260]
xor edx, edx
mov eax, dword [ebp - 0x264]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov esi, dword [esi + ebx*4 + 0xc]
mov ecx, dword [eax + ecx*8 + 4]
test esi, esi
je 0x442e44
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x2c]
cmp edx, esi
cmovb edx, esi
call fcn.0042d420
inc dword [ebp - 0x268]
mov esi, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
cdq
mov dword [edi + 0x14], edx
mov edx, dword [ebp - 0x260]
mov dword [edi + 0x10], eax
jmp 0x43d581
mov edx, dword [ebp - 0x260]
mov eax, dword [edx + ebx*4 + 8]
test eax, eax
je 0x442e84
lea esi, [eax - 1]
mov dword [ebp - 0x268], esi
cmp dword [ecx + 0xa4], 0
je 0x44011d
mov eax, dword [ebp - 0x26c]
test dword [eax + 0x58], 0x800
jne 0x44011d
mov edx, dword [edx + ebx*4 + 0x10]
mov ebx, eax
test edx, edx
jne 0x442ebc
mov edx, dword [ebx + 0xa8]
test edx, edx
je case.default.0x43d5f0
mov ecx, ebx
call fcn.0043cdb0
mov ebx, dword [ebp - 0x264]
mov esi, eax
push esi
push dword [ebx + 0xa8]
mov ecx, dword [ebx + 0xa4]
call ecx
add esp, 8
mov edx, esi
mov ecx, ebx
call fcn.00419d00
mov esi, dword [ebp - 0x268]
mov ecx, ebx
jmp case.default.0x43d5f0
mov edi, dword [ebp - 0x274]
mov ecx, eax
mov esi, dword [ebp - 0x268]
jmp case.default.0x43d5f0
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
jmp 0x44011d
mov edi, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov dword [edi + 0x50], ecx
mov al, byte [edx + ebx*4 + 8]
mov byte [edi + 0x56], al
mov dword [edi + 0x4c], esi
test ecx, ecx
je 0x442fbe
mov al, byte [edx + ebx*4 + 3]
test al, al
je 0x442f6f
movzx eax, al
mov eax, dword [eax*4 + 0x50b034]
test eax, eax
je 0x442f71
mov ecx, dword [edx + ebx*4 + 0x10]
test ecx, ecx
je 0x442f71
push ecx
push eax
push str._s_constraint_failed:__s
push dword [ebp - 0x264]
lea esi, [edi + 0x2c]
push esi
call fcn.0041a100
add esp, 0x14
jmp 0x442f99
xor eax, eax
mov ecx, dword [edx + ebx*4 + 0x10]
lea esi, [edi + 0x2c]
test ecx, ecx
je 0x442f84
push ecx
push 0x50ddc4
jmp 0x442f8a
push eax
push str._s_constraint_failed
push dword [ebp - 0x264]
push esi
call fcn.0041a100
add esp, 0x10
push dword [esi]
mov eax, dword [ebp - 0x260]
push dword [edi + 0xa8]
push dword [ebp - 0x268]
push str.abort_at__d_in___s_:__s
push dword [eax + ebx*4 + 4]
call fcn.0041ba90
add esp, 0x14
mov ecx, edi
call fcn.00438e40
mov ecx, dword [ebp - 0x264]
cmp eax, 5
mov eax, dword [ebp - 0x26c]
jne 0x442fe3
mov edi, 5
mov dword [eax + 0x50], edi
jmp 0x4401bf
cmp dword [eax + 0x50], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x4401bf
mov edx, 9
mov dword [ebp - 0x270], edx
jmp 0x440137
lea ecx, [ebp - 0x1e0]
call fcn.00435c40
mov ecx, esi
jmp 0x4433de
mov edx, 0x14
mov dword [ebp - 0x270], edx
jmp 0x4430f0
mov eax, dword [ebp - 0x26c]
push str.cannot_open_savepoint___SQL_statements_in_progress
push ecx
add eax, 0x2c
push eax
call fcn.0041a100
add esp, 0xc
mov edx, 5
inc esi
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x268], esi
jmp 0x440137
mov eax, dword [ebp - 0x26c]
push str.cannot_release_savepoint___SQL_statements_in_progress
push ecx
add eax, 0x2c
push eax
call fcn.0041a100
mov eax, dword [ebp - 0x268]
mov edx, 5
add esp, 0xc
mov dword [ebp - 0x270], edx
inc eax
jmp 0x44013d
mov eax, dword [ebp - 0x268]
mov dword [edi + 0x4c], eax
mov edi, 5
mov eax, dword [ebp - 0x26c]
mov byte [ecx + 0x3e], 0
mov dword [eax + 0x50], edi
jmp 0x4401bf
mov edx, 8
mov dword [ebp - 0x270], edx
jmp 0x4430f0
mov ecx, dword [ebp - 0x26c]
mov edi, 5
mov eax, dword [ebp - 0x268]
mov dword [ecx + 0x4c], eax
mov dword [ecx + 0x50], edi
mov ecx, dword [ebp - 0x264]
jmp 0x4401bf
mov ecx, 0x11698
call fcn.004889b0
mov edx, eax
mov dword [ebp - 0x270], edx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x26c]
cmp byte [ecx + 0x40], 0
je 0x443147
mov eax, 7
mov edx, str.unknown_error
mov ecx, eax
mov dword [ebp - 0x270], eax
call fcn.00486a60
mov ecx, dword [ebp - 0x264]
jmp 0x44317a
mov edx, 4
inc esi
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x268], esi
jmp 0x440137
mov edx, 0xd
jmp 0x4430e4
mov esi, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x264]
jmp 0x4430f6
cmp edx, 0xc0a
je 0x440137
cmp edx, 0x204
je 0x443175
mov eax, dword [ebp - 0x270]
mov edx, str.unknown_error
mov ecx, eax
call fcn.00486a60
mov ecx, dword [ebp - 0x264]
jmp 0x44317a
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x50ddc4
push ecx
lea eax, [esi + 0x2c]
push eax
call fcn.0041a100
add esp, 0x10
jmp 0x440131
mov eax, dword [ebp - 0x26c]
mov edx, 6
inc esi
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x268], esi
mov byte [eax + 0x56], 2
jmp 0x440137
push str.too_many_levels_of_trigger_recursion
lea eax, [ecx + 0x2c]
mov dword [ebp - 0x270], 1
push esi
push eax
call fcn.0041a100
mov eax, dword [ebp - 0x268]
add esp, 0xc
inc eax
mov edx, 1
jmp 0x44013d
mov edx, str.out_of
mov dword [ebp - 0x270], 1
cmp esi, 5
mov eax, str.into
cmovne eax, edx
push eax
mov eax, dword [ebp - 0x26c]
push str.cannot_change__s_wal_mode_from_within_a_transaction
push ecx
add eax, 0x2c
push eax
call fcn.0041a100
mov eax, dword [ebp - 0x268]
add esp, 0x10
inc eax
mov edx, 1
jmp 0x44013d
mov ecx, dword [ebp - 0x264]
mov eax, dword [ebp - 0x26c]
push str.string_or_blob_too_big
push ecx
add eax, 0x2c
push eax
call fcn.0041a100
mov edx, 0x12
add esp, 0xc
mov dword [ebp - 0x270], edx
jmp 0x440137
mov eax, dword [ebp - 0x260]
mov esi, dword [ebp - 0x264]
mov ecx, dword [eax + ebx*4 + 4]
mov edx, dword [eax + ebx*4 + 8]
mov dword [ebp - 0x2d8], ecx
test ecx, ecx
je 0x4432b1
cmp byte [esi + 0x3e], 0
jne 0x4432b1
test edx, edx
jne 0x4432b1
cmp dword [esi + 0x94], edx
jle 0x4432b1
mov eax, dword [ebp - 0x26c]
push str.cannot_commit_transaction___SQL_statements_in_progress
add eax, 0x2c
push esi
push eax
call fcn.0041a100
mov eax, dword [ebp - 0x268]
mov edx, 5
add esp, 0xc
mov dword [ebp - 0x270], edx
inc eax
jmp 0x44013d
movzx eax, byte [esi + 0x3e]
cmp ecx, eax
jne 0x4432fe
test ecx, ecx
jne 0x4432c4
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x4432d3
test edx, edx
mov eax, str.cannot_rollback___no_transaction_is_active
mov ecx, str.cannot_commit___no_transaction_is_active
cmove eax, ecx
push eax
mov eax, dword [ebp - 0x26c]
add eax, 0x2c
push esi
push eax
call fcn.0041a100
mov eax, dword [ebp - 0x268]
mov edx, 1
add esp, 0xc
mov dword [ebp - 0x270], edx
inc eax
jmp 0x44013d
test edx, edx
je 0x44333b
mov edx, 0x204
mov ecx, esi
call fcn.00486960
mov byte [esi + 0x3e], 1
mov ecx, esi
call fcn.00486170
mov eax, dword [ebp - 0x26c]
mov edi, 1
mov ecx, 0x65
cmp dword [eax + 0x50], 0
cmove edi, ecx
mov ecx, dword [ebp - 0x264]
jmp 0x4401bf
mov ecx, dword [ebp - 0x26c]
mov edx, 1
call fcn.00438dd0
mov edi, eax
test edi, edi
jne 0x443330
mov ebx, dword [ebp - 0x2d8]
mov ecx, dword [ebp - 0x26c]
mov byte [esi + 0x3e], bl
call fcn.00438e40
cmp eax, 5
jne 0x443312
mov edx, dword [ebp - 0x26c]
mov edi, 5
mov eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
mov dword [edx + 0x4c], eax
mov al, 1
sub al, bl
mov byte [ecx + 0x3e], al
mov dword [edx + 0x50], edi
jmp 0x4401bf
mov ebx, ecx
mov eax, dword [str.interrupted]
mov ecx, str.unknown_error
mov edx, dword [ebp - 0x26c]
test eax, eax
mov dword [ebp - 0x270], 9
cmovne ecx, eax
push ecx
push 0x50ddc4
lea eax, [edx + 0x2c]
mov dword [edx + 0x50], 9
push ebx
push eax
call fcn.0041a100
add esp, 0x10
mov edx, 9
jmp 0x440137
mov ecx, dword [ebp - 0x264]
mov eax, dword [ebp - 0x26c]
push str.out_of_memory
push ecx
add eax, 0x2c
mov byte [ecx + 0x40], 1
push eax
call fcn.0041a100
mov edx, 7
add esp, 0xc
mov dword [ebp - 0x270], edx
jmp 0x440137