Function at 0x4390c0
Capabilities:
Enumerate pe sections
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x134
mov eax, dword [0x55c380]
xor eax, esp
mov dword [esp + 0x130], eax
mov eax, dword [ecx + 4]
push ebx
mov ebx, dword [ecx + 8]
push esi
push edi
mov edi, dword [ecx]
xor esi, esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], esi
mov eax, dword [edi + 8]
mov dword [esp + 0x1c], edi
mov byte [esp + 0x47], 0
mov dword [esp + 0x5c], esi
mov eax, dword [eax + 0xc]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x58], esi
mov al, byte [eax + 0x4d]
mov byte [esp + 0x43], al
xor eax, eax
mov dword [esp + 0x54], eax
mov eax, dword [edi + 0x30]
mov dword [esp + 0x48], eax
mov eax, dword [edi + 0x34]
mov dword [esp + 0x4c], eax
call fcn.00434050
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x5c], 7
je 0x43fcc8
mov dword [eax + 0x5c], esi
mov dword [eax + 0x14], esi
mov dword [edi + 0x1b4], esi
cmp dword [edi + 0xe0], esi
jne 0x43fc79
mov edx, dword [edi + 0x114]
mov esi, eax
mov dword [esp + 0x24], edx
mov eax, dword [esi + 0x58]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x10], eax
nop
cmp byte [edi + 0x1e], 0
jne 0x43fcc0
lea ebx, [eax + eax*4]
mov dword [esp + 0x30], ebx
test edx, edx
je 0x4391af
mov eax, dword [esp + 0x5c]
cmp dword [edi + 0x11c], eax
jne 0x4391aa
push dword [edi + 0x118]
mov eax, dword [edi + 0x114]
call eax
add esp, 4
test eax, eax
jne 0x43f815
inc eax
mov dword [esp + 0x5c], eax
test byte [esi + ebx*4 + 2], 2
je 0x4391e9
mov eax, dword [esi + ebx*4 + 8]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, 0x2460
mov dword [esp + 0x2c], edx
test word [edx + 0x1c], ax
je 0x4391de
mov ecx, edx
call fcn.004321c0
mov edx, dword [esp + 0x2c]
mov eax, 4
mov word [edx + 0x1c], ax
jmp 0x4391ed
mov edx, dword [esp + 0x2c]
movzx eax, byte [esi + ebx*4]
dec eax
cmp eax, 0x93
ja case.0x4391fd.17
jmp dword [eax*4 + 0x43fcec]
cmp dword [edi + 0xe0], 0
jne 0x43fc71
mov eax, dword [esi + ebx*4 + 8]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
jmp 0x439170
mov ecx, dword [esi + ebx*4 + 4]
mov edx, 4
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x28]
lea ecx, [ecx + ecx*4]
mov word [eax + ecx*8 + 0x1c], dx
mov eax, dword [esp + 0x10]
cdq
mov dword [esi + ecx*8 + 0x14], edx
mov edx, dword [esp + 0x24]
mov dword [esi + ecx*8 + 0x10], eax
mov esi, dword [esp + 0x20]
mov eax, dword [esi + ebx*4 + 8]
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*8 + 0x10]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esi + ebx*4 + 4]
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
lea ecx, [eax + eax*4]
mov eax, 4
mov word [ebx + ecx*8 + 0x1c], ax
mov eax, dword [ebx + ecx*8 + 0x10]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x10]
cdq
mov dword [ebx + ecx*8 + 0x10], eax
mov dword [ebx + ecx*8 + 0x14], edx
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esi + ebx*4 + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
je case.0x4391fd.17
cmp dword [esi + ebx*4 + 4], 0
mov edx, dword [esp + 0x18]
jne 0x43f8a2
mov ecx, dword [edx + 0xa8]
test ecx, ecx
je 0x43f8a2
mov eax, dword [ecx + 0x44]
dec dword [edx + 0xb0]
mov dword [edx + 0xa8], eax
mov eax, dword [edx + 0x6c]
add dword [edi + 0x40], eax
mov dword [edi + 0x3c], eax
call fcn.004349f0
cmp dword [esi + ebx*4 + 8], 4
mov ecx, dword [edi + 0x30]
mov dword [esp + 0x48], ecx
mov ecx, dword [edi + 0x34]
mov dword [esp + 0x4c], ecx
jne 0x43932e
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4 + 8]
dec eax
mov esi, dword [esp + 0x18]
inc eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
mov esi, dword [esi + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], ecx
jmp 0x439170
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [esp + 0x2c]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov ecx, dword [esi + ebx*4 + 0x10]
mov eax, dword [ecx]
mov dword [edx + 0x10], eax
mov eax, dword [ecx + 4]
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, 8
mov word [edx + 0x1c], ax
mov eax, dword [esi + ebx*4 + 0x10]
movsd xmm0, qword [eax]
mov eax, dword [esp + 0x10]
inc eax
movsd qword [edx + 8], xmm0
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
jmp 0x439170
mov ecx, dword [esi + ebx*4 + 0x10]
mov byte [esi + ebx*4], 9
call fcn.0041b2a0
cmp byte [esp + 0x43], 1
mov dword [esi + ebx*4 + 4], eax
je 0x439459
push 0
push 1
mov edx, ecx
mov ecx, dword [esp + 0x34]
push 0xffffffffffffffff
call fcn.004327c0
add esp, 0xc
mov dword [esp + 0x14], eax
cmp eax, 0x12
je 0x43fb11
movzx edx, byte [esp + 0x43]
mov ecx, dword [esp + 0x2c]
call fcn.00431e30
test eax, eax
jne 0x43fcc0
mov edx, dword [esp + 0x2c]
mov ecx, 0xfbff
mov dword [edx + 0x24], eax
mov ax, word [edx + 0x1c]
and ax, cx
mov ecx, 0x800
or ax, cx
mov word [edx + 0x1c], ax
cmp byte [esi + ebx*4 + 1], 0xff
jne 0x439446
push dword [esi + ebx*4 + 0x10]
push edi
call fcn.004190a0
mov edx, dword [esp + 0x34]
add esp, 8
mov byte [esi + ebx*4 + 1], 0xff
mov eax, dword [edx + 4]
mov dword [esi + ebx*4 + 0x10], eax
mov eax, dword [edx + 0x18]
mov dword [esi + ebx*4 + 4], eax
mov eax, dword [esi + ebx*4 + 4]
cmp eax, dword [edi + 0x48]
jg 0x43fb11
mov eax, 0xa02
mov word [edx + 0x1c], ax
mov eax, dword [esi + ebx*4 + 0x10]
mov dword [edx + 4], eax
mov eax, dword [esi + ebx*4 + 4]
mov dword [edx + 0x18], eax
mov al, byte [esp + 0x43]
mov byte [edx + 0x1f], al
mov eax, dword [esp + 0x14]
jmp 0x43ce5e
mov eax, dword [esi + ebx*4 + 0xc]
sub eax, dword [esi + ebx*4 + 8]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x70], eax
mov eax, 1
mov word [ebx + 0x1c], ax
cmp dword [esp + 0x70], 0
jle 0x4394e1
mov edi, eax
mov esi, 0x2460
add ebx, 0x28
test word [ebx + 0x1c], si
je 0x4394c4
mov ecx, ebx
call fcn.004321c0
mov word [ebx + 0x1c], di
mov eax, dword [esp + 0x70]
dec eax
mov dword [esp + 0x70], eax
test eax, eax
jg 0x4394b4
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov edx, dword [esi + ebx*4 + 0x10]
push 0
push 0
push dword [esi + ebx*4 + 4]
mov ebx, dword [esp + 0x38]
mov ecx, ebx
call fcn.004327c0
mov al, byte [esp + 0x4f]
add esp, 0xc
mov edx, dword [esp + 0x24]
mov byte [ebx + 0x1f], al
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esi + ebx*4 + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea edx, [edx - 5]
mov eax, dword [eax + 0x48]
lea edx, [eax + edx*8]
mov dword [esp + 0x70], edx
movzx eax, word [edx + 0x1c]
test al, 0x12
je 0x439569
mov esi, dword [edx + 0x18]
test eax, 0x4000
je 0x439553
add esi, dword [edx + 0x10]
mov eax, dword [edx]
xor ecx, ecx
cmp esi, dword [eax + 0x48]
setg cl
test ecx, ecx
jne 0x43fb11
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
push 0x800
call fcn.00432660
mov eax, dword [esp + 0x14]
add esp, 4
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov edx, dword [esi + ebx*4 + 0xc]
mov dword [esp + 0x74], edx
mov eax, dword [esi + ebx*4 + 4]
mov dword [esp + 0x78], eax
mov ecx, dword [esi + ebx*4 + 8]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x7c], ecx
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
lea eax, [ecx + ecx*4]
lea ebx, [ebx + eax*8]
mov dword [esp + 0x2c], ebx
test edx, edx
je 0x439622
mov edi, 1
dec edx
mov ecx, ebx
mov dword [esp + 0x74], edx
mov eax, dword [ebx + 0x24]
mov dword [esp + 0x70], eax
mov dword [ebx + 0x24], 0
call fcn.00432220
movups xmm0, xmmword [esi]
lea esi, [esi + 0x28]
movups xmmword [ebx], xmm0
movups xmm0, xmmword [esi - 0x18]
movups xmmword [ebx + 0x10], xmm0
movq xmm0, qword [esi - 8]
movq qword [ebx + 0x20], xmm0
add ebx, 0x28
mov dword [esi - 4], 0
mov word [esi - 0xc], di
mov dword [esi - 8], 0
mov eax, dword [esp + 0x70]
mov dword [esi - 4], eax
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x4395c1
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x10]
dec edx
mov esi, dword [esp + 0x20]
inc eax
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esi + ebx*4 + 8]
mov ecx, dword [esp + 0x28]
push 0x1000
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x30], eax
mov eax, dword [esi + ebx*4 + 4]
mov ebx, dword [esp + 0x30]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov ecx, ebx
call fcn.00432660
mov eax, 0x1000
add esp, 4
test word [ebx + 0x1c], ax
je 0x43b7a3
mov ecx, ebx
call fcn.00431f70
test eax, eax
jne 0x43fcc0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esi + ebx*4 + 8]
mov edx, dword [esp + 0x28]
push 0x1000
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [esi + ebx*4 + 4]
mov dword [esp + 0x30], ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
call fcn.00432660
mov eax, dword [esp + 0x14]
add esp, 4
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov ecx, dword [esp + 0x18]
xor edx, edx
call fcn.004354e0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43ce5e
mov ecx, dword [esp + 0x18]
lea edx, [eax + 1]
call fcn.004353e0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43ce5e
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov eax, dword [ecx + 0x54]
add eax, 2
or eax, 1
mov dword [ecx + 0x54], eax
mov eax, dword [esi + ebx*4 + 4]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov dword [ecx + 0x14], edx
xor ecx, ecx
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], ecx
cmp dword [esi + ebx*4 + 8], ecx
jle 0x43f937
nop dword [eax + eax]
lea eax, [ecx + ecx*4]
mov edi, 0x1000
test word [edx + eax*8 + 0x1c], di
lea eax, [edx + eax*8]
mov edi, dword [esp + 0x1c]
je 0x43976d
mov ecx, eax
call fcn.00431f70
test eax, eax
jne 0x43fcc0
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
lea eax, [ecx + ecx*4]
lea ecx, [edx + eax*8]
call fcn.00432030
mov eax, dword [esp + 0x74]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x70]
lea ecx, [eax + ecx*8]
call fcn.00438e30
mov ecx, dword [esp + 0x74]
inc ecx
mov dword [esp + 0x74], ecx
cmp ecx, dword [esi + ebx*4 + 8]
jge 0x43f937
mov edx, dword [esp + 0x70]
jmp 0x439740
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
movzx ecx, word [edi + 0x1c]
mov al, byte [esi + 0x1c]
or al, cl
mov dword [esp + 0x2c], ebx
test al, 1
je 0x4397e7
mov ecx, ebx
call fcn.00432540
jmp 0x43d2ae
test ecx, 0x4000
je 0x4397fe
mov ecx, edi
call fcn.00431fd0
test eax, eax
jne 0x43fcbc
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x439818
mov ecx, esi
call fcn.00431fd0
test eax, eax
jne 0x43fcbc
test byte [edi + 0x1c], 0x12
mov bl, byte [esp + 0x43]
jne 0x439834
movzx edx, bl
mov ecx, edi
call fcn.00432080
test eax, eax
jne 0x43fcbc
test byte [esi + 0x1c], 0x12
jne 0x43984c
movzx edx, bl
mov ecx, esi
call fcn.00432080
test eax, eax
jne 0x43fcbc
mov eax, dword [edi + 0x18]
add eax, dword [esi + 0x18]
cdq
mov ecx, edx
mov ebx, eax
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ecx
mov eax, dword [edx + 0x48]
cdq
cmp ecx, edx
jg 0x43fb0d
jl 0x439879
cmp ebx, eax
ja 0x43fb0d
mov ebx, dword [esp + 0x2c]
mov ecx, 0xbf02
mov ax, word [ebx + 0x1c]
and ax, cx
mov ecx, ebx
or ax, 2
mov word [ebx + 0x1c], ax
xor eax, eax
mov edx, dword [esp + 0x70]
cmp ebx, esi
sete al
push eax
lea edx, [edx + 2]
call fcn.00431e50
add esp, 4
test eax, eax
jne 0x43fcbc
cmp ebx, esi
je 0x4398c7
push dword [esi + 0x18]
push dword [esi + 4]
push dword [ebx + 4]
call fcn.004f93a0
add esp, 0xc
push dword [edi + 0x18]
mov eax, dword [ebx + 4]
push dword [edi + 4]
add eax, dword [esi + 0x18]
push eax
call fcn.004f93a0
mov eax, dword [esp + 0x7c]
add esp, 0xc
mov ecx, dword [ebx + 4]
mov byte [eax + ecx], 0
mov eax, dword [esp + 0x70]
mov ecx, dword [ebx + 4]
mov byte [eax + ecx + 1], 0
mov eax, 0x200
or word [ebx + 0x1c], ax
mov eax, dword [esp + 0x70]
mov dword [ebx + 0x18], eax
mov al, byte [esp + 0x43]
mov byte [ebx + 0x1f], al
jmp 0x43d2ae
mov eax, dword [esi + ebx*4 + 4]
mov edi, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [esp + 0x3c], eax
call fcn.00438f80
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [esp + 0x30], eax
call fcn.00438f80
mov eax, dword [esi + ebx*4 + 0xc]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
lea eax, [eax + eax*4]
movzx ecx, word [edx + 0x1c]
lea eax, [edi + eax*8]
mov dword [esp + 0x2c], eax
movzx eax, word [esi + 0x1c]
or ecx, eax
mov dword [esp + 0x70], ecx
test cl, 1
jne 0x439c0f
mov al, byte [edx + 0x1c]
and al, byte [esi + 0x1c]
test al, 4
je 0x439abe
mov eax, edx
mov edx, dword [eax + 0x10]
mov dword [esp + 0x78], edx
mov ecx, dword [eax + 0x14]
mov eax, esi
mov dword [esp + 0x7c], ecx
mov esi, dword [eax + 0x10]
mov dword [esp + 0x80], esi
mov edi, dword [eax + 0x14]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x84], edi
movzx eax, byte [eax + ebx*4]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x4399b2
jmp dword [eax*4 + 0x43ff3c]
push ecx
push edx
lea ecx, [esp + 0x88]
call fcn.0041c280
add esp, 8
test eax, eax
jne 0x439ab6
mov esi, dword [esp + 0x80]
jmp 0x439a8c
test edx, edx
jne 0x439a0e
cmp ecx, 0x80000000
jne 0x439a0e
test edi, edi
jg 0x439ab6
jl 0x4399fc
test esi, esi
jae 0x439ab6
add esi, 0
adc edi, 0x80000000
mov dword [esp + 0x84], edi
jmp 0x439a85
neg edx
adc ecx, 0
neg ecx
jmp case.0x4399b2.86
push ecx
push edx
lea ecx, [esp + 0x88]
call fcn.0041c320
jmp 0x4399c7
mov eax, edx
or eax, ecx
je 0x439c0f
mov eax, edx
and eax, ecx
cmp eax, 0xffffffff
jne 0x439a46
test esi, esi
jne 0x439a46
cmp edi, 0x80000000
je 0x439ab6
push ecx
push edx
push edi
push esi
call fcn.004f6ab0
jmp 0x439a7c
mov eax, edx
or eax, ecx
je 0x439c0f
mov eax, edx
and eax, ecx
cmp eax, 0xffffffff
jne 0x439a73
mov edx, 1
xor ecx, ecx
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ecx
push ecx
push edx
push edi
push esi
call fcn.004f6ba0
mov dword [esp + 0x84], edx
mov esi, eax
mov dword [esp + 0x80], esi
mov ecx, dword [esp + 0x2c]
mov edx, 0xbf04
mov dword [ecx + 0x10], esi
mov eax, dword [esp + 0x84]
mov dword [ecx + 0x14], eax
mov ax, word [ecx + 0x1c]
and ax, dx
or ax, 4
mov word [ecx + 0x1c], ax
jmp 0x43d2ae
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x3c]
mov ecx, edx
call fcn.00432370
mov ecx, esi
movsd qword [esp + 0x88], xmm0
call fcn.00432370
mov esi, dword [esp + 0x20]
movsd qword [esp + 0x90], xmm0
movsd qword [esp + 0x30], xmm0
movzx eax, byte [esi + ebx*4]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x439af4
jmp dword [eax*4 + 0x43ff4c]
addsd xmm0, qword [esp + 0x88]
jmp 0x439baf
subsd xmm0, qword [esp + 0x88]
jmp 0x439baf
mulsd xmm0, qword [esp + 0x88]
jmp 0x439baf
movsd xmm1, qword [esp + 0x88]
ucomisd xmm1, qword [0x54e7c8]
lahf
test ah, 0x44
jnp 0x439c0f
divsd xmm0, xmm1
jmp 0x439baf
movsd xmm0, qword [esp + 0x88]
call fcn.004f685f
movsd xmm0, qword [esp + 0x30]
mov esi, eax
mov edi, edx
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], edi
call fcn.004f685f
mov ecx, esi
mov dword [esp + 0x80], eax
or ecx, edi
mov dword [esp + 0x84], edx
je 0x439c0f
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x439b9b
mov esi, 1
xor edi, edi
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], edi
push edi
push esi
push edx
push eax
call fcn.004f6ba0
mov ecx, eax
call fcn.004f69b0
mov esi, dword [esp + 0x20]
movsd qword [esp + 0x90], xmm0
call fcn.0041b260
test eax, eax
jne 0x439c0f
mov ebx, dword [esp + 0x2c]
mov ecx, 0xbf08
movsd xmm0, qword [esp + 0x90]
mov ax, word [ebx + 0x1c]
and ax, cx
movsd qword [ebx + 8], xmm0
or ax, 8
mov word [ebx + 0x1c], ax
test byte [esp + 0x70], 8
jne 0x43f6e9
mov ecx, ebx
call fcn.004323d0
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
inc eax
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
jmp 0x439170
mov ecx, dword [esp + 0x2c]
call fcn.00432540
jmp 0x43d2ae
movzx ecx, byte [esi + ebx*4 + 3]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x28]
mov dword [esp + 0xbc], ecx
mov esi, dword [eax + 0xc]
mov dword [esp + 0xb8], esi
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [esp + 0x2c], eax
mov eax, dword [edx + ebx*4 + 8]
mov edx, edi
mov edi, dword [esp + 0x1c]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
xor eax, eax
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], eax
test ecx, ecx
jle 0x439cbe
nop dword [eax + eax]
mov dword [esi + eax*4], edx
mov eax, 0x1000
mov ecx, dword [esp + 0x74]
test word [ecx + 0x1c], ax
je 0x439c93
call fcn.00431f70
test eax, eax
jne 0x43fcc0
mov ecx, dword [esp + 0x74]
call fcn.00438e30
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
inc eax
add edx, 0x28
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
cmp eax, dword [esp + 0xbc]
jge 0x439cbe
mov esi, dword [esp + 0xb8]
jmp 0x439c70
mov esi, dword [esp + 0x20]
cmp byte [esi + ebx*4 + 1], 0xfb
mov eax, dword [esi + ebx*4 + 0x10]
jne 0x439cd7
mov dword [esp + 0x7c], 0
jmp 0x439cdd
mov dword [esp + 0x7c], eax
mov eax, dword [eax]
mov dword [esp + 0x78], eax
lea ecx, [esp + 0x80]
mov eax, 1
mov dword [esp + 0x80], edi
mov word [esp + 0x9c], ax
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
call fcn.00432220
mov eax, dword [esp + 0x2c]
mov ecx, 1
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x80], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esp + 0x90], xmm0
movq xmm0, qword [eax + 0x20]
movq qword [esp + 0xa0], xmm0
mov word [eax + 0x1c], cx
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
mov eax, dword [esp + 0x9c]
and eax, 0xbf01
mov dword [esp + 0xac], 0
or eax, ecx
mov word [esp + 0x9c], ax
mov eax, dword [esp + 0x78]
test byte [eax + 3], 8
je 0x439d8d
mov eax, dword [esi + ebx*4 - 4]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x48]
mov dword [edi + 0x30], eax
mov eax, dword [esp + 0x4c]
mov dword [edi + 0x34], eax
lea eax, [esp + 0x78]
push dword [esp + 0xb8]
push dword [esp + 0xc0]
push eax
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0xc]
call eax
mov eax, dword [edi + 0x30]
add esp, 0xc
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x48], eax
mov eax, dword [edi + 0x34]
mov dword [esp + 0x4c], eax
test ecx, ecx
je 0x439de9
mov edx, dword [esi + ebx*4 + 4]
call fcn.004359b0
mov eax, dword [esp + 0x7c]
mov dword [esi + ebx*4 + 0x10], eax
mov byte [esi + ebx*4 + 1], 0xf9
cmp byte [edi + 0x1e], 0
jne 0x43f957
cmp dword [esp + 0xac], 0
je 0x439e2d
mov dl, 1
lea ecx, [esp + 0x80]
call fcn.00432df0
push eax
mov eax, dword [esp + 0x1c]
push 0x548db4
add eax, 0x38
push edi
push eax
call fcn.004194c0
mov eax, dword [esp + 0xbc]
add esp, 0x10
mov dword [esp + 0x14], eax
movzx edx, byte [esp + 0x43]
lea ecx, [esp + 0x80]
call fcn.00431e30
mov ebx, dword [esp + 0x2c]
mov ecx, ebx
call fcn.00432220
movups xmm0, xmmword [esp + 0x80]
mov eax, 1
movups xmmword [ebx], xmm0
movups xmm0, xmmword [esp + 0x90]
movups xmmword [ebx + 0x10], xmm0
movq xmm0, qword [esp + 0xa0]
movq qword [ebx + 0x20], xmm0
mov word [esp + 0x9c], ax
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
movzx eax, word [ebx + 0x1c]
test al, 0x12
je case.0x4391fd.17
mov edx, dword [ebx + 0x18]
test eax, 0x4000
je 0x439eaa
add edx, dword [ebx + 0x10]
mov eax, dword [ebx]
xor ecx, ecx
cmp edx, dword [eax + 0x48]
setg cl
test ecx, ecx
jne 0x43fb11
mov eax, dword [esp + 0x14]
jmp 0x43ce5e
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [edx + ebx*4 + 0xc]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov al, byte [ecx + 0x1c]
or al, byte [esi + 0x1c]
mov dword [esp + 0x2c], edx
test al, 1
je 0x439f1a
mov ecx, edx
call fcn.00432540
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
inc eax
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
jmp 0x439170
call fcn.004322b0
mov ecx, esi
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
call fcn.004322b0
mov esi, eax
mov dword [esp + 0x84], edx
mov eax, dword [esp + 0x20]
mov dword [esp + 0x80], esi
mov cl, byte [eax + ebx*4]
mov byte [esp + 0x88], cl
cmp cl, 0x52
jne 0x439f64
mov ecx, dword [esp + 0x70]
and ecx, esi
and dword [esp + 0x74], edx
mov dword [esp + 0x70], ecx
jmp 0x43a097
cmp cl, 0x53
jne 0x439f7c
mov ecx, dword [esp + 0x70]
or ecx, esi
or dword [esp + 0x74], edx
mov dword [esp + 0x70], ecx
jmp 0x43a097
mov eax, esi
or eax, edx
je 0x43a093
test edx, edx
jg 0x439fc9
jl 0x439f90
test esi, esi
jae 0x439fbe
mov al, 0xa9
sub al, cl
mov cl, al
mov byte [esp + 0x88], cl
cmp edx, 0xffffffff
jl 0x439ff0
jg 0x439fa9
cmp esi, 0xffffffc0
jbe 0x439ff0
neg esi
mov dword [esp + 0x80], esi
adc edx, 0
neg edx
mov dword [esp + 0x84], edx
test edx, edx
jl 0x43a023
jg 0x439fc9
cmp esi, 0x40
jb 0x43a023
cmp dword [esp + 0x74], 0
jg 0x43a008
jl 0x439fd9
cmp dword [esp + 0x70], 0
jae 0x43a008
cmp cl, 0x54
je 0x43a008
or ecx, 0xffffffff
or eax, ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
jmp 0x43a097
mov dword [esp + 0x80], 0x40
mov dword [esp + 0x84], 0
jmp 0x439fc9
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
jmp 0x43a097
movq xmm1, qword [esp + 0x70]
movd xmm0, esi
cmp cl, 0x54
jne 0x43a04e
psllq xmm1, xmm0
movq qword [esp + 0x78], xmm1
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
jmp 0x43a097
cmp dword [esp + 0x74], 0
psrlq xmm1, xmm0
movq qword [esp + 0x78], xmm1
jg 0x43a081
jl 0x43a068
cmp dword [esp + 0x70], 0
jae 0x43a081
or edx, 0xffffffff
mov ecx, 0x40
sub ecx, esi
mov eax, edx
call fcn.0051ea30
or dword [esp + 0x78], eax
or dword [esp + 0x7c], edx
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
jmp 0x43a097
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x20]
mov dword [edx + 0x10], ecx
mov ecx, 0xbf04
mov eax, dword [esp + 0x74]
mov dword [edx + 0x14], eax
mov ax, word [edx + 0x1c]
and ax, cx
or ax, 4
mov word [edx + 0x1c], ax
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004322b0
mov dword [esi + 0x10], eax
mov ecx, 0xbf04
mov ax, word [esi + 0x1c]
and ax, cx
mov dword [esi + 0x14], edx
or ax, 4
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ebx*4 + 8]
cdq
add dword [esi + 0x10], eax
mov eax, dword [esp + 0x10]
adc dword [esi + 0x14], edx
inc eax
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00438f80
test byte [esi + 0x1c], 8
je 0x43a145
mov ecx, esi
call fcn.004323d0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x43a16a
mov esi, dword [esp + 0x20]
mov eax, dword [esi + ebx*4 + 8]
test eax, eax
je 0x43f968
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
jmp 0x439170
mov edx, dword [esp + 0x24]
and eax, 0xbf04
or eax, 4
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [esp + 0x28]
lea esi, [eax + eax*4]
movzx ebx, word [edx + esi*8 + 0x1c]
test bl, 4
je 0x43d2b2
test bl, 8
je 0x43a1b2
movsd xmm0, qword [edx + esi*8 + 8]
jmp 0x43a1c7
mov eax, dword [esp + 0x28]
mov edx, dword [edx + esi*8 + 0x14]
mov ecx, dword [eax + esi*8 + 0x10]
call fcn.004f69b0
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
and ebx, 0xbf08
movsd qword [edx + esi*8 + 8], xmm0
or ebx, 8
mov word [edx + esi*8 + 0x1c], bx
inc eax
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
test al, 1
jne case.0x4391fd.17
shr eax, 3
and eax, 2
or word [esi + 0x1c], ax
mov ax, word [esi + 0x1c]
test al, 2
jne 0x43a22d
test al, 0xc
je 0x43a22d
movzx edx, byte [esp + 0x43]
mov ecx, esi
call fcn.00432080
mov eax, 0xfff3
and word [esi + 0x1c], ax
movzx eax, word [esi + 0x1c]
test eax, 0x4000
je 0x43a25e
mov ecx, esi
call fcn.00431fd0
mov dword [esp + 0x14], eax
mov eax, 0xbfe3
and word [esi + 0x1c], ax
mov eax, dword [esp + 0x14]
jmp 0x43ce5e
mov eax, 0xbfe3
mov dword [esp + 0x14], 0
and word [esi + 0x1c], ax
mov eax, dword [esp + 0x14]
jmp 0x43ce5e
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
test al, 1
jne case.0x4391fd.17
test al, 0x10
jne 0x43a2d4
test al, 2
jne 0x43a2aa
test al, 0xc
je 0x43a2aa
movzx edx, byte [esp + 0x43]
mov ecx, esi
call fcn.00432080
mov ax, word [esi + 0x1c]
mov ecx, 0xbf10
mov edx, dword [esp + 0x24]
and ax, cx
or ax, 0x10
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov edx, dword [esp + 0x24]
and eax, 0xff10
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00432470
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea esi, [ecx + eax*8]
jne 0x43d2b2
mov ecx, esi
call fcn.004322b0
mov dword [esi + 0x10], eax
mov ecx, 0xbf04
mov ax, word [esi + 0x1c]
and ax, cx
mov dword [esi + 0x14], edx
mov edx, dword [esp + 0x24]
or ax, 4
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [esp + 0x28]
lea esi, [eax + eax*4]
movzx ebx, word [edx + esi*8 + 0x1c]
test bl, 1
jne 0x43d2b2
test bl, 8
je 0x43a391
movsd xmm0, qword [edx + esi*8 + 8]
jmp 0x43a1c7
test bl, 4
jne 0x43a1b2
xorps xmm0, xmm0
test bl, 0x12
je 0x43a1c7
movzx eax, byte [edx + esi*8 + 0x1f]
push eax
mov eax, dword [esp + 0x2c]
push dword [edx + esi*8 + 0x18]
lea edx, [esp + 0x38]
movsd qword [esp + 0x38], xmm0
mov ecx, dword [eax + esi*8 + 4]
call fcn.0041b5a0
movsd xmm0, qword [esp + 0x38]
add esp, 8
jmp 0x43a1c3
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
movzx eax, word [esi + 0x1c]
mov word [esp + 0x76], ax
movzx eax, word [edi + 0x1c]
mov word [esp + 0x78], ax
or al, byte [esp + 0x76]
test al, 1
je 0x43a484
mov al, byte [ecx + ebx*4 + 3]
test al, al
jns 0x43a425
mov edx, dword [esp + 0x78]
and edx, dword [esp + 0x76]
not edx
and edx, 1
jmp 0x43a4fd
mov esi, dword [esp + 0x20]
test al, 0x10
je 0x43a465
mov eax, dword [esi + ebx*4 + 8]
mov edi, dword [esp + 0x1c]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov edx, 0xbf01
mov ax, word [ecx + 0x1c]
and ax, dx
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x24]
or ax, 1
mov word [ecx + 0x1c], ax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
test al, 8
je 0x43f6e9
mov eax, dword [esi + ebx*4 + 8]
mov edi, dword [esp + 0x1c]
dec eax
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov dl, byte [ecx + ebx*4 + 3]
and dl, 0x67
mov byte [esp + 0x74], dl
je 0x43a4bf
push dword [esp + 0x43]
mov ecx, esi
call fcn.00439010
mov dl, byte [esp + 0x78]
add esp, 4
mov ecx, edi
push dword [esp + 0x43]
call fcn.00439010
mov edx, dword [esp + 0x20]
add esp, 4
cmp byte [edx + 0x1e], 0
jne 0x43fcb8
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x43a4d6
mov ecx, esi
call fcn.00431fd0
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x43a4e3
mov ecx, edi
call fcn.00431fd0
mov eax, dword [esp + 0x20]
mov edx, esi
mov ecx, edi
push dword [eax + ebx*4 + 0x10]
call fcn.00432980
mov ecx, dword [esp + 0x24]
add esp, 4
mov edx, eax
mov dword [esp + 0x70], edx
movzx ecx, byte [ecx + ebx*4]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x43a50d
jmp dword [ecx*4 + 0x43ff5c]
xor eax, eax
test edx, edx
sete al
jmp 0x43a548
xor eax, eax
test edx, edx
setne al
jmp 0x43a548
xor eax, eax
test edx, edx
sets al
jmp 0x43a548
xor eax, eax
test edx, edx
setle al
jmp 0x43a548
xor eax, eax
test edx, edx
setg al
jmp 0x43a548
xor eax, eax
test edx, edx
setns al
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x70], eax
test byte [ecx + ebx*4 + 3], 0x10
je 0x43a59b
mov eax, dword [ecx + ebx*4 + 8]
mov edx, 0xbf04
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov ax, word [ecx + 0x1c]
and ax, dx
mov dword [esp + 0x2c], ecx
or ax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [esp + 0x70]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov al, byte [esp + 0x76]
mov byte [esi + 0x1c], al
mov al, byte [esp + 0x78]
mov byte [edi + 0x1c], al
jmp 0x43d2ae
test eax, eax
je 0x43a5a8
mov eax, dword [ecx + ebx*4 + 8]
dec eax
mov dword [esp + 0x10], eax
mov al, byte [esp + 0x76]
mov byte [esi + 0x1c], al
mov al, byte [esp + 0x78]
mov byte [edi + 0x1c], al
jmp 0x43d2ae
mov eax, dword [esi + ebx*4 + 0x10]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esi + ebx*4 + 0xc]
xor edx, edx
mov dword [esp + 0x70], eax
mov edi, dword [esi + ebx*4 + 0x10]
mov dword [esp + 0x80], edi
mov ecx, dword [esi + ebx*4 + 4]
mov dword [esp + 0x78], ecx
mov ebx, dword [esi + ebx*4 + 8]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x74], edx
test eax, eax
jle 0x43a6a3
nop word [eax + eax]
mov eax, dword [esp + 0x54]
test eax, eax
je 0x43a61d
mov esi, dword [eax + edx*4]
jmp 0x43a61f
mov esi, edx
mov dword [esp + 0x84], esi
mov ecx, dword [edi + edx*4 + 0xc]
mov dword [esp + 0x88], ecx
mov eax, dword [edi + 8]
push ecx
movzx eax, byte [eax + edx]
mov dword [esp + 0x90], eax
lea eax, [esi + ebx]
mov ebx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov eax, dword [esp + 0x34]
add eax, esi
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.00432980
mov ebx, eax
add esp, 4
mov dword [esp + 0x58], ebx
test ebx, ebx
jne 0x43a68f
mov edx, dword [esp + 0x74]
inc edx
mov dword [esp + 0x74], edx
cmp edx, dword [esp + 0x70]
jge 0x43a69f
mov ecx, dword [esp + 0x78]
mov edi, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x30], ecx
jmp 0x43a610
cmp dword [esp + 0x8c], 0
je 0x43a69f
neg ebx
mov dword [esp + 0x58], ebx
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
xor eax, eax
mov edx, dword [esp + 0x24]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esp + 0x58]
test eax, eax
jns 0x43a6d8
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
jmp 0x439170
jne 0x43a6eb
mov eax, dword [esi + ebx*4 + 8]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esi + ebx*4 + 0xc]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 1
lea ecx, [edx + eax*8]
je 0x43a718
mov ecx, 2
jmp 0x43a72e
call fcn.004322b0
or eax, edx
mov edx, dword [esp + 0x28]
je 0x43a72c
mov ecx, 1
jmp 0x43a72e
xor ecx, ecx
mov dword [esp + 0x70], ecx
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 1
lea eax, [edx + eax*8]
je 0x43a74a
mov eax, 2
jmp 0x43a766
mov ecx, eax
call fcn.004322b0
mov ecx, dword [esp + 0x70]
or eax, edx
mov edx, dword [esp + 0x28]
je 0x43a764
mov eax, 1
jmp 0x43a766
xor eax, eax
mov dword [esp + 0x74], eax
lea eax, [eax + ecx*2]
cmp byte [esi + ebx*4], 0x45
jne 0x43a77d
movzx ecx, byte [ecx + eax + 0x545084]
jmp 0x43a785
movzx ecx, byte [ecx + eax + 0x546a44]
mov dword [esp + 0x70], ecx
mov eax, dword [esi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov dword [esp + 0x2c], ebx
cmp ecx, 2
jne 0x43a7c2
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf01
mov edx, dword [esp + 0x24]
and ax, cx
or ax, 1
mov word [ebx + 0x1c], ax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, ecx
mov ecx, 0xbf04
cdq
mov dword [ebx + 0x10], eax
mov ax, word [ebx + 0x1c]
and ax, cx
mov dword [ebx + 0x14], edx
mov edx, dword [esp + 0x24]
or ax, 4
mov word [ebx + 0x1c], ax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 1
lea ecx, [edx + eax*8]
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov dword [esp + 0x2c], ebx
je 0x43a82d
mov ecx, ebx
call fcn.00432540
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
call fcn.004322b0
or eax, edx
jne 0x43a83b
lea ecx, [eax + 1]
jmp 0x43a84c
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
push eax
push ecx
mov ecx, ebx
call fcn.00432590
mov eax, dword [esp + 0x18]
add esp, 8
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 1
lea ecx, [edx + eax*8]
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov dword [esp + 0x2c], ebx
je 0x43a8a6
mov ecx, ebx
call fcn.00432540
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
call fcn.004322b0
not edx
not eax
push edx
push eax
jmp 0x43a84e
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0xc0]
cmp byte [eax + ecx], 0
je 0x43a8d8
mov eax, dword [esi + ebx*4 + 8]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
jmp 0x439170
mov edx, dword [esp + 0x24]
mov byte [eax + ecx], 1
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
je 0x43a909
mov ecx, dword [esi + ebx*4 + 0xc]
jmp 0x43a937
call fcn.00432370
ucomisd xmm0, qword [0x54e7c8]
lahf
xor ecx, ecx
test ah, 0x44
mov eax, 1
cmovp ecx, eax
mov dword [esp + 0x70], ecx
cmp byte [esi + ebx*4], 0x1c
jne 0x43a93b
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
mov dword [esp + 0x70], ecx
test ecx, ecx
je 0x43b7a3
mov eax, dword [esi + ebx*4 + 8]
mov edx, dword [esp + 0x24]
dec eax
inc eax
jmp 0x43916b
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
je 0x43b7a3
mov eax, dword [esi + ebx*4 + 8]
mov edx, dword [esp + 0x24]
dec eax
inc eax
jmp 0x43916b
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
jne 0x43b7a3
mov eax, dword [esi + ebx*4 + 8]
mov edx, dword [esp + 0x24]
dec eax
inc eax
jmp 0x43916b
mov ecx, dword [esi + ebx*4 + 4]
xorps xmm0, xmm0
mov edx, dword [esp + 0x28]
mov dword [esp + 0x80], ecx
mov eax, dword [esi + ebx*4 + 8]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], 0
movups xmmword [esp + 0xb0], xmm0
movups xmmword [esp + 0xc0], xmm0
movq qword [esp + 0xd0], xmm0
mov eax, dword [esi + ebx*4 + 0xc]
mov dword [esp + 0x8c], 0
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x44]
mov edx, dword [eax + ecx*4]
mov dword [esp + 0x88], edx
mov eax, dword [edx]
mov dword [esp + 0x90], eax
test eax, eax
je 0x43ab61
mov ecx, edx
call fcn.00435e80
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43fa13
mov ecx, dword [esp + 0x88]
cmp byte [ecx + 0x1c], al
jne 0x43b1cf
mov edx, dword [esp + 0x18]
mov eax, dword [ecx + 0x50]
cmp eax, dword [edx + 0x54]
jne 0x43aa60
mov edx, dword [ecx + 0x54]
mov dword [esp + 0x70], edx
mov eax, dword [ecx + 0x60]
mov dword [esp + 0x8c], eax
jmp 0x43abae
cmp byte [ecx + 0x1f], 0
mov edx, dword [esp + 0x90]
mov dword [esp + 0x3c], edx
je 0x43ab02
cmp byte [edx + 0x53], 1
je 0x43aa91
xorps xmm0, xmm0
movlpd qword [esp + 0x78], xmm0
mov edx, dword [esp + 0x78]
mov dword [esp + 0x70], edx
jmp 0x43abae
cmp word [edx + 0x3a], 0
jne 0x43aae7
movsx eax, word [edx + 0x5a]
mov edi, dword [edx + eax*4 + 0x84]
movzx esi, word [edx + eax*2 + 0x5c]
lea eax, [edx + 0x20]
push eax
mov ecx, dword [edi + 0x48]
movzx edx, byte [ecx + esi*2]
movzx eax, byte [ecx + esi*2 + 1]
mov ecx, edi
shl edx, 8
or edx, eax
movzx eax, word [edi + 0x12]
and edx, eax
add edx, dword [edi + 0x40]
call fcn.00428b70
mov edx, dword [esp + 0x40]
add esp, 4
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov byte [edx + 0x52], 1
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x3c]
mov edx, dword [edx + 0x20]
mov dword [esp + 0x78], edx
mov eax, dword [eax + 0x24]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x70], edx
jmp 0x43abae
cmp word [edx + 0x3a], 0
jne 0x43ab58
movsx eax, word [edx + 0x5a]
mov edi, dword [edx + eax*4 + 0x84]
movzx esi, word [edx + eax*2 + 0x5c]
lea eax, [edx + 0x20]
push eax
mov ecx, dword [edi + 0x48]
movzx eax, byte [ecx + esi*2]
movzx edx, byte [ecx + esi*2 + 1]
mov ecx, edi
shl eax, 8
or edx, eax
movzx eax, word [edi + 0x12]
and edx, eax
add edx, dword [edi + 0x40]
call fcn.00428b70
mov edx, dword [esp + 0x40]
add esp, 4
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov byte [edx + 0x52], 1
mov ecx, dword [esp + 0x88]
mov edx, dword [edx + 0x2c]
mov dword [esp + 0x70], edx
jmp 0x43abae
mov eax, dword [edx + 0x10]
test eax, eax
jle 0x43b1cf
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0xf4], ecx
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x70], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x8c], eax
test byte [esi + ebx*4 + 3], 0x20
je 0x43ab99
xor eax, eax
jmp 0x43aba0
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x54]
mov dword [edx + 0x50], eax
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x70]
test edx, edx
je 0x43b1d7
cmp edx, dword [edi + 0x48]
ja 0x43fb11
mov esi, dword [ecx + 0x14]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x9c], esi
mov edx, dword [ecx + 0x58]
mov dword [esp + 0x94], edx
mov eax, dword [ecx + 0x50]
cmp eax, dword [ebx + 0x54]
mov ebx, dword [esp + 0x30]
jne 0x43abf2
mov ecx, dword [ecx + 0x5c]
mov dword [esp + 0x98], ecx
jmp 0x43af9b
lea eax, [edx + esi*4]
mov dword [esp + 0xec], 0
mov dword [esp + 0x98], eax
mov dword [ecx + 0x5c], eax
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x70]
mov dword [ecx + 0x54], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x54]
mov eax, dword [esp + 0x88]
mov dword [eax + 0x50], ecx
mov ecx, dword [esp + 0x8c]
test ecx, ecx
je 0x43ac40
mov dword [esp + 0xa8], ecx
jmp 0x43ad7b
mov esi, dword [esp + 0x88]
xor ecx, ecx
mov dword [esp + 0x3c], esi
cmp byte [esi + 0x1f], cl
je 0x43acc0
mov edx, dword [esp + 0x90]
mov dword [esp + 0x30], edx
cmp byte [edx + 0x53], 1
jne 0x43ad49
cmp word [edx + 0x3a], cx
jne 0x43acb0
movsx eax, word [edx + 0x5a]
mov edi, dword [edx + eax*4 + 0x84]
movzx esi, word [edx + eax*2 + 0x5c]
lea eax, [edx + 0x20]
push eax
mov ecx, dword [edi + 0x48]
movzx eax, byte [ecx + esi*2]
movzx edx, byte [ecx + esi*2 + 1]
mov ecx, edi
shl eax, 8
or edx, eax
movzx eax, word [edi + 0x12]
and edx, eax
add edx, dword [edi + 0x40]
call fcn.00428b70
mov esi, dword [esp + 0x8c]
add esp, 4
mov edx, dword [esp + 0x30]
movzx ecx, word [edx + 0x34]
add ecx, dword [edx + 0x28]
movzx eax, word [edx + 0x36]
jmp 0x43ad42
mov edi, dword [esp + 0x90]
cmp byte [edi + 0x53], 1
jne 0x43ad49
movsx eax, word [edi + 0x5a]
mov esi, dword [edi + eax*4 + 0x84]
mov dword [esp + 0x30], esi
cmp word [edi + 0x3a], cx
jne 0x43ad22
movzx esi, word [edi + eax*2 + 0x5c]
lea eax, [edi + 0x20]
mov ecx, dword [esp + 0x30]
push eax
mov ecx, dword [ecx + 0x48]
movzx eax, byte [ecx + esi*2 + 1]
movzx edx, byte [ecx + esi*2]
mov esi, dword [esp + 0x34]
mov ecx, esi
shl edx, 8
or edx, eax
movzx eax, word [esi + 0x12]
and edx, eax
add edx, dword [esi + 0x40]
call fcn.00428b70
mov eax, dword [esp + 0x8c]
add esp, 4
mov dword [esp + 0x3c], eax
movzx edx, word [edi + 0x34]
add edx, dword [edi + 0x28]
cmp byte [esi + 2], 0
je 0x43ad33
xor ecx, ecx
jmp 0x43ad36
mov ecx, dword [edi + 0x20]
movzx eax, word [edi + 0x36]
mov esi, dword [esp + 0x3c]
sub eax, ecx
add ecx, edx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0xa8], ecx
cmp eax, dword [esp + 0xec]
ja 0x43ad6d
mov dword [esp + 0x8c], ecx
mov dword [esi + 0x60], ecx
jmp 0x43ad74
mov dword [esi + 0x60], 0
mov ecx, dword [esp + 0xa8]
mov al, byte [ecx]
cmp al, 0x80
jae 0x43ad92
movzx edx, al
mov eax, 1
mov dword [esp + 0xe0], edx
jmp 0x43adaf
lea edx, [esp + 0xe0]
call fcn.0041c0e0
mov edx, dword [esp + 0xe0]
mov ecx, dword [esp + 0xa8]
movzx eax, al
movzx eax, al
mov dword [esp + 0xe8], eax
cmp edx, 0x18003
jbe 0x43add4
mov ecx, 0x105e5
call fcn.004771e0
mov dword [esp + 0x14], eax
jmp 0x43ce5e
mov edi, dword [esp + 0x9c]
lea esi, [edi*4 + 3]
add esi, edi
cmp esi, edx
cmovg esi, edx
cmp dword [esp + 0x8c], 0
mov dword [esp + 0xa0], esi
jne 0x43ae69
cmp dword [esp + 0xec], esi
jge 0x43ae69
mov ecx, dword [esp + 0x90]
xor eax, eax
mov word [esp + 0xcc], ax
xor edx, edx
mov dword [esp + 0xb0], eax
lea eax, [esp + 0xb0]
push eax
mov eax, dword [esp + 0x8c]
movzx eax, byte [eax + 0x1f]
push eax
push esi
call fcn.00432c20
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43ce5a
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xe0]
mov esi, dword [esp + 0xa0]
mov edi, dword [esp + 0x9c]
mov dword [esp + 0xa8], ecx
lea eax, [ecx + esi]
mov esi, dword [esp + 0xe8]
add esi, ecx
mov dword [esp + 0xdc], eax
xor ecx, ecx
mov dword [esp + 0xd8], esi
mov dword [esp + 0xa4], ecx
test edi, edi
jle 0x43af3b
nop dword [eax]
nop dword [eax + eax]
cmp esi, eax
mov eax, dword [esp + 0x98]
jae 0x43b002
mov dword [eax + ecx*4], edx
mov ecx, dword [esp + 0xd8]
mov al, byte [ecx]
cmp al, 0x80
jae 0x43aed3
movzx edx, al
inc ecx
mov dword [esp + 0xf0], edx
mov dword [esp + 0xd8], ecx
jmp 0x43aef0
lea edx, [esp + 0xf0]
call fcn.0041c0e0
mov edx, dword [esp + 0xf0]
movzx eax, al
add dword [esp + 0xd8], eax
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0x94]
mov dword [eax + ecx*4], edx
mov ecx, dword [esp + 0xf0]
call fcn.00436080
mov edx, dword [esp + 0xe0]
add edx, eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe0], edx
cmp edx, eax
jae 0x43b010
mov eax, dword [esp + 0xdc]
inc eax
mov dword [esp + 0xd8], eax
lea ecx, [esp + 0xb0]
call fcn.00432220
mov edx, dword [esp + 0xd8]
mov eax, 1
mov esi, dword [esp + 0xdc]
mov word [esp + 0xcc], ax
cmp edx, esi
ja 0x43b1bc
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0x70]
cmp eax, ecx
ja 0x43b1bc
cmp edx, esi
jne 0x43af89
cmp eax, ecx
jne 0x43b1bc
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x94]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
cmp dword [ecx + eax*4], 0
je 0x43b122
cmp dword [esp + 0x8c], 0
je 0x43b03f
mov esi, dword [esp + 0xac]
mov ebx, 0x2460
test word [esi + 0x1c], bx
je 0x43afef
mov ecx, esi
call fcn.004321c0
mov esi, dword [esp + 0xac]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x84]
mov ecx, dword [ecx + eax*4]
add ecx, dword [esp + 0x8c]
mov edx, dword [edx + eax*4]
push esi
jmp 0x43b10a
mov dword [eax + ecx*4], 0
mov edx, dword [esp + 0xe0]
mov ecx, dword [esp + 0xa4]
inc ecx
mov dword [esp + 0xa4], ecx
cmp ecx, dword [esp + 0x9c]
jge 0x43af3b
mov eax, dword [esp + 0xdc]
mov esi, dword [esp + 0xd8]
jmp 0x43aea0
mov ecx, dword [edx + eax*4]
call fcn.00436080
mov esi, dword [esp + 0xac]
lea ecx, [esp + 0xb0]
mov dword [esp + 0xa0], eax
call fcn.00432220
movups xmm0, xmmword [esi]
mov eax, 1
movups xmmword [esp + 0xb0], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [esp + 0xc0], xmm0
movq xmm0, qword [esi + 0x20]
movq qword [esp + 0xd0], xmm0
mov word [esi + 0x1c], ax
lea eax, [esp + 0xb0]
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x90]
push eax
mov eax, dword [esp + 0x8c]
movzx eax, byte [eax + 0x1f]
push eax
mov eax, dword [esp + 0xa0]
push dword [esp + 0xa8]
mov edx, dword [eax + edx*4]
call fcn.00432c20
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43ce5e
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0xb4]
push dword [esp + 0xac]
mov dword [esp + 0xac], ecx
mov edx, dword [eax + edx*4]
call fcn.00436160
mov eax, dword [esp + 0xb0]
add esp, 4
mov cl, byte [esp + 0x43]
mov byte [eax + 0x1f], cl
jmp 0x43b15b
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xac]
cmp byte [eax + ebx*4 + 1], 0xf8
jne 0x43b147
mov edx, dword [eax + ebx*4 + 0x10]
push 0x800
call fcn.00432660
add esp, 4
jmp 0x43b15b
mov ax, word [ecx + 0x1c]
mov edx, 0xbf01
and ax, dx
or ax, 1
mov word [ecx + 0x1c], ax
cmp dword [esp + 0xd4], 0
je 0x43b1a7
mov eax, dword [esp + 0xac]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov ecx, 0x200
mov eax, dword [esp + 0xac]
or word [eax + 0x1c], cx
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0xb4]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xd4]
mov dword [eax + 0x24], ecx
mov ecx, dword [esp + 0xac]
call fcn.00431f70
mov dword [esp + 0x14], eax
jmp 0x43ce5e
mov ecx, 0x10635
call fcn.004771e0
mov dword [esp + 0x14], eax
jmp 0x43ce5a
mov dword [esp + 0x70], 0
mov ecx, dword [esp + 0xac]
mov edx, 0xbf01
mov ax, word [ecx + 0x1c]
and ax, dx
mov edx, dword [esp + 0x24]
or ax, 1
mov word [ecx + 0x1c], ax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov ecx, dword [esi + ebx*4 + 0x10]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x70], ecx
mov eax, dword [esi + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov al, byte [ecx]
mov byte [esp + 0x74], al
test al, al
je 0x43b26b
mov edi, 0x4000
nop dword [eax]
inc ecx
mov dword [esp + 0x70], ecx
test word [esi + 0x1c], di
je 0x43b246
mov ecx, esi
call fcn.00431fd0
mov al, byte [esp + 0x74]
push dword [esp + 0x43]
mov dl, al
mov ecx, esi
call fcn.00439010
mov ecx, dword [esp + 0x74]
add esp, 4
add esi, 0x28
mov al, byte [ecx]
mov byte [esp + 0x74], al
test al, al
jne 0x43b230
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
inc ecx
mov esi, dword [esp + 0x20]
inc eax
mov edx, dword [esp + 0x24]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x10], eax
jmp 0x439170
mov edi, dword [esp + 0x20]
xor eax, eax
mov ecx, dword [esp + 0x28]
xor esi, esi
mov dword [esp + 0x90], eax
xorps xmm0, xmm0
mov dword [esp + 0x3c], eax
movlpd qword [esp + 0x78], xmm0
mov dword [esp + 0x80], esi
mov eax, dword [edi + ebx*4 + 4]
mov dword [esp + 0xa4], eax
mov edx, dword [edi + ebx*4 + 0x10]
mov dword [esp + 0xa8], edx
lea eax, [eax + eax*4]
mov dword [esp + 0x30], edx
lea ecx, [ecx + eax*8]
mov dword [esp + 0x9c], ecx
mov eax, dword [edi + ebx*4 + 8]
mov dword [esp + 0xa4], eax
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x18]
add ecx, 0xffffffd8
mov dword [esp + 0xa0], ecx
movzx eax, byte [eax + 0x65]
mov dword [esp + 0xac], eax
mov eax, dword [edi + ebx*4 + 0xc]
mov ebx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x9c]
mov edi, eax
mov dword [esp + 0x74], edi
cmp eax, ecx
ja 0x43b43b
mov ebx, dword [esp + 0x3c]
nop dword [eax]
test edx, edx
je 0x43b374
push dword [esp + 0x43]
mov ecx, edi
sub ecx, eax
mov eax, 0x66666667
imul ecx
mov ecx, dword [esp + 0x34]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dl, byte [eax + ecx]
mov ecx, edi
call fcn.00439010
mov ecx, dword [esp + 0xac]
add esp, 4
mov ebx, dword [esp + 0x90]
mov edi, dword [esp + 0x74]
mov dword [esp + 0x30], ecx
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x43b3a2
cmp dword [edi + 0x18], 0
jle 0x43b3a2
mov ecx, edi
call fcn.00431fd0
mov ecx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x90]
mov edi, dword [esp + 0x74]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0xac]
mov ecx, edi
call fcn.00435f80
mov esi, eax
mov ecx, esi
mov dword [esp + 0x98], esi
call fcn.00436080
mov dword [esp + 0xb4], eax
cdq
add dword [esp + 0x78], eax
adc dword [esp + 0x7c], edx
xor ecx, ecx
xor edx, edx
shrd esi, ecx, 7
inc edx
shr ecx, 7
mov eax, esi
or eax, ecx
je 0x43b3e7
cmp edx, 9
jl 0x43b3d4
mov esi, dword [esp + 0x80]
mov eax, 0x4000
add esi, edx
mov dword [esp + 0x80], esi
test word [edi + 0x1c], ax
je 0x43b407
add ebx, dword [edi + 0x10]
jmp 0x43b413
xor eax, eax
cmp dword [esp + 0xb4], eax
cmovne ebx, eax
mov edx, dword [esp + 0x30]
add edi, 0x28
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x90], ebx
mov dword [esp + 0x74], edi
cmp edi, dword [esp + 0xa0]
jbe 0x43b330
jmp 0x43b43d
xor ebx, ebx
mov eax, esi
xor edi, edi
cdq
mov ecx, eax
shrd ecx, edx, 7
inc edi
shr edx, 7
mov eax, ecx
or eax, edx
je 0x43b457
cmp edi, 9
jl 0x43b444
add esi, edi
mov dword [esp + 0x94], edi
mov eax, esi
mov dword [esp + 0x80], esi
cdq
xor esi, esi
mov ecx, eax
nop
shrd ecx, edx, 7
inc esi
shr edx, 7
mov eax, ecx
or eax, edx
je 0x43b483
cmp esi, 9
jl 0x43b470
cmp edi, esi
mov edi, dword [esp + 0x80]
jge 0x43b496
inc edi
mov dword [esp + 0x80], edi
mov eax, ebx
cdq
mov ecx, eax
mov esi, edx
mov eax, edi
cdq
mov ebx, eax
mov edi, edx
mov edx, dword [esp + 0x1c]
sub ebx, ecx
sbb edi, esi
add ebx, dword [esp + 0x78]
mov dword [esp + 0x88], ebx
adc edi, dword [esp + 0x7c]
mov dword [esp + 0x8c], edi
mov eax, dword [edx + 0x48]
cdq
cmp edi, edx
jg 0x43fb0d
jl 0x43b4d8
cmp ebx, eax
ja 0x43fb0d
mov edx, ebx
mov ebx, dword [esp + 0x2c]
push 0
mov ecx, ebx
call fcn.00431e50
add esp, 4
test eax, eax
jne 0x43fcbc
mov ecx, dword [esp + 0x80]
mov edx, dword [ebx + 4]
mov dword [esp + 0x70], edx
cmp ecx, 0x80
jae 0x43b513
mov al, cl
mov byte [edx], al
mov eax, 1
jmp 0x43b53e
test ecx, 0xffffc000
jne 0x43b531
mov eax, ecx
shr eax, 7
or al, 0x80
and cl, 0x7f
mov byte [edx], al
mov eax, 2
mov byte [edx + 1], cl
jmp 0x43b53e
push 0
push ecx
mov ecx, edx
call fcn.0041be50
add esp, 8
mov ecx, dword [esp + 0xa0]
movzx esi, al
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xb0], esi
mov dword [esp + 0x74], eax
cmp eax, ecx
ja 0x43b5f6
mov edx, dword [esp + 0xac]
mov ecx, eax
call fcn.00435f80
mov ecx, eax
mov dword [esp + 0x98], ecx
cmp ecx, 0x80
jae 0x43b591
mov cl, al
mov eax, dword [esp + 0x70]
mov byte [esi + eax], cl
mov eax, 1
jmp 0x43b5c2
mov edx, dword [esp + 0x70]
add edx, esi
test ecx, 0xffffc000
jne 0x43b5b5
mov eax, ecx
shr eax, 7
or al, 0x80
and cl, 0x7f
mov byte [edx], al
mov eax, 2
mov byte [edx + 1], cl
jmp 0x43b5c2
push 0
push ecx
mov ecx, edx
call fcn.0041be50
add esp, 8
mov esi, dword [esp + 0xb0]
mov ecx, dword [esp + 0xa0]
movzx eax, al
add esi, eax
mov eax, dword [esp + 0x74]
add eax, 0x28
mov dword [esp + 0xb0], esi
mov dword [esp + 0x74], eax
cmp eax, ecx
jbe 0x43b562
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x74], eax
cmp eax, ecx
ja 0x43b644
nop
mov ecx, dword [esp + 0x70]
push dword [esp + 0xac]
mov edx, dword [esp + 0x8c]
push eax
sub edx, esi
lea ecx, [esi + ecx]
call fcn.004360a0
mov esi, dword [esp + 0xb8]
add esp, 8
add esi, eax
mov eax, dword [esp + 0x74]
add eax, 0x28
mov dword [esp + 0xb0], esi
mov dword [esp + 0x74], eax
cmp eax, dword [esp + 0xa0]
jbe 0x43b600
mov eax, dword [esp + 0x88]
mov dword [ebx + 0x18], eax
mov eax, 0x410
mov word [ebx + 0x1c], ax
mov dword [ebx + 0x20], 0
mov eax, dword [esp + 0x90]
test eax, eax
je 0x43b675
mov dword [ebx + 0x10], eax
mov eax, 0x4410
mov word [ebx + 0x1c], ax
mov byte [ebx + 0x1f], 1
jmp 0x43d2ae
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
mov dword [esp + 0x78], ecx
test ecx, ecx
je 0x43b6a5
lea edx, [esp + 0x70]
call fcn.0042fc90
mov dword [esp + 0x14], eax
jmp 0x43b6ae
xorps xmm0, xmm0
movlpd qword [esp + 0x70], xmm0
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x70]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x74]
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x14]
jmp 0x43ce5e
mov eax, dword [esi + ebx*4 + 4]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x70], eax
mov eax, dword [esi + ebx*4 + 0x10]
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x30], eax
mov dword [esp + 0x74], eax
test ebx, ebx
jne 0x43b7b1
cmp dword [edi + 0x90], ebx
jg 0x43f976
mov ecx, eax
call fcn.0041b2a0
mov dword [esp + 0x78], eax
xor edx, edx
mov eax, dword [edi + 0x1e4]
mov ecx, edi
add eax, dword [edi + 0x1e0]
push eax
call fcn.0046acc0
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43fa13
mov edx, dword [esp + 0x78]
mov ecx, edi
lea edx, [edx + 0x19]
call fcn.00419310
mov dword [esp + 0x7c], eax
test eax, eax
je 0x43b7a3
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov eax, dword [esp + 0x78]
inc eax
push eax
mov eax, dword [esp + 0x80]
push dword [esp + 0x78]
push dword [eax]
call fcn.004f93a0
add esp, 0xc
cmp byte [edi + 0x1c], bl
je 0x43b770
mov byte [edi + 0x1c], bl
mov byte [edi + 0x1e8], 1
jmp 0x43b776
inc dword [edi + 0x1e0]
mov eax, dword [esp + 0x7c]
mov ecx, dword [edi + 0x1dc]
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x7c]
mov dword [edi + 0x1dc], eax
mov ecx, dword [esp + 0x7c]
mov eax, dword [edi + 0x1f0]
mov dword [ecx + 8], eax
mov eax, dword [edi + 0x1f4]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
jmp 0x43916b
mov edx, dword [esp + 0x1c]
xor edi, edi
mov dword [esp + 0x88], edi
mov esi, dword [edx + 0x1dc]
mov dword [esp + 0x80], esi
test esi, esi
je 0x43f9bb
mov ecx, dword [esi]
mov edx, eax
call fcn.0041b4f0
test eax, eax
je 0x43b7f1
mov eax, dword [esp + 0x30]
inc edi
mov dword [esp + 0x88], edi
mov esi, dword [esi + 0x10]
jmp 0x43b7c4
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x90], 0
jg 0x43b9e3
cmp ebx, 2
jne 0x43b814
cmp dword [eax + 0x8c], 1
jg 0x43b9e3
cmp dword [esi + 0x10], 0
jne 0x43b873
cmp byte [eax + 0x1e8], 0
je 0x43b873
mov dword [esp + 0x30], 1
cmp ebx, 1
jne 0x43b87b
mov ecx, dword [esp + 0x18]
mov edx, ebx
call fcn.004354e0
mov esi, eax
test esi, esi
jne 0x43f870
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov ecx, esi
mov byte [edi + 0x1c], bl
call fcn.00435540
cmp eax, 5
je 0x43f99f
mov byte [edi + 0x1e8], 0
mov eax, dword [esi + 0x5c]
mov dword [esp + 0x14], eax
jmp 0x43b90e
mov dword [esp + 0x30], 0
mov ecx, dword [eax + 0x1e0]
xor eax, eax
sub ecx, edi
mov dword [esp + 0x8c], eax
mov edi, dword [esp + 0x1c]
dec ecx
mov dword [esp + 0x88], ecx
cmp dword [edi + 4], eax
jle 0x43b8e8
nop dword [eax]
push ecx
mov ecx, dword [edi + 8]
add eax, eax
mov edx, ebx
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0042b890
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43fa13
mov eax, dword [esp + 0x8c]
mov ebx, dword [esp + 0x70]
inc eax
mov dword [esp + 0x8c], eax
cmp eax, dword [edi + 4]
jge 0x43b8e1
mov ecx, dword [esp + 0x88]
jmp 0x43b8a0
mov esi, dword [esp + 0x80]
cmp ebx, 2
jne 0x43b919
test dword [edi + 0xc], 0x200
je 0x43b919
mov ecx, edi
call fcn.00436a00
or eax, 0xffffffff
mov edx, eax
call fcn.0044c5b0
or dword [edi + 0xc], 0x200
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x80]
cmp dword [edi + 0x1dc], esi
je 0x43b96f
nop dword [eax]
nop word [eax + eax]
mov eax, dword [edi + 0x1dc]
mov dword [esp + 0x84], eax
mov eax, dword [eax + 0x10]
mov dword [edi + 0x1dc], eax
push dword [esp + 0x84]
push edi
call fcn.004190a0
dec dword [edi + 0x1e0]
add esp, 8
mov esi, dword [esp + 0x80]
cmp dword [edi + 0x1dc], esi
jne 0x43b930
mov ebx, dword [esp + 0x70]
cmp ebx, 1
jne 0x43b9a0
mov eax, dword [esi + 0x10]
mov dword [edi + 0x1dc], eax
push dword [esp + 0x80]
push edi
call fcn.004190a0
add esp, 8
cmp dword [esp + 0x30], 0
jne case.0x4391fd.17
dec dword [edi + 0x1e0]
jmp 0x43b9bd
cmp dword [esp + 0x30], 0
mov eax, dword [esi + 8]
mov dword [edi + 0x1f0], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 0x1f4], eax
jne case.0x4391fd.17
push dword [esp + 0x88]
mov edx, dword [esp + 0x74]
mov ecx, edi
call fcn.0046acc0
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43fa13
jmp 0x43ce5e
mov edi, dword [esp + 0x1c]
cmp ebx, 2
mov ecx, str.release
mov eax, str.rollback
cmovne eax, ecx
push eax
mov eax, dword [esp + 0x1c]
push str.cannot__s_savepoint___SQL_statements_in_progress
add eax, 0x38
push edi
push eax
call fcn.004194c0
mov eax, 5
add esp, 0x10
mov dword [esp + 0x14], eax
jmp 0x43ce5e
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [edi + 8]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [esp + 0x70], ecx
test ecx, ecx
je case.0x4391fd.17
mov edx, dword [esi + ebx*4 + 8]
call fcn.0042a6b0
mov dword [esp + 0x14], eax
cmp eax, 5
je 0x43f9e9
test eax, eax
jne 0x43fa13
cmp dword [esi + ebx*4 + 8], eax
je 0x43ce5e
mov esi, dword [esp + 0x18]
cmp byte [esi + 0x67], al
je 0x43ce5e
cmp byte [edi + 0x1c], al
je 0x43ba7c
cmp dword [edi + 0x8c], 1
jle 0x43ce5e
cmp dword [esi + 0x78], 0
jne 0x43ba97
mov eax, dword [edi + 0x1e0]
inc dword [edi + 0x1e4]
add eax, dword [edi + 0x1e4]
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x78]
xor edx, edx
dec eax
mov ecx, edi
push eax
call fcn.0046acc0
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43bafa
mov ebx, dword [esp + 0x70]
mov ecx, ebx
mov edi, dword [esi + 0x78]
mov esi, dword [ebx + 4]
call fcn.004282c0
mov ecx, dword [esi]
mov edx, edi
call fcn.00425460
cmp byte [ebx + 9], 0
mov dword [esp + 0x14], eax
je 0x43baf2
add dword [ebx + 0xc], 0xffffffff
jne 0x43baf2
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x43baee
push eax
call dword [0x55f494]
add esp, 4
mov byte [ebx + 0xa], 0
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov eax, dword [edi + 0x1f0]
mov dword [esi + 0x98], eax
mov eax, dword [edi + 0x1f4]
mov dword [esi + 0x9c], eax
mov eax, dword [esp + 0x14]
jmp 0x43ce5e
mov eax, dword [esi + ebx*4 + 4]
lea ecx, [esp + 0x70]
mov dword [esp + 0x74], eax
add eax, eax
mov edx, dword [esi + ebx*4 + 0xc]
mov dword [esp + 0x78], edx
push ecx
mov ecx, dword [edi + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0042fb80
mov eax, dword [esp + 0x74]
add esp, 4
jmp 0x439356
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
shl eax, 4
add eax, dword [edi + 8]
mov dword [esp + 0x70], eax
mov eax, dword [esi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004322b0
mov dword [esi + 0x10], eax
mov ecx, 0xbf04
mov ax, word [esi + 0x1c]
and ax, cx
mov dword [esi + 0x14], edx
push dword [esi + 0x10]
or ax, 4
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x74]
mov edx, dword [eax + ebx*4 + 8]
mov ecx, dword [ecx + 4]
call fcn.0042fbf0
mov edx, dword [esp + 0x24]
add esp, 4
mov dword [esp + 0x14], eax
mov eax, dword [edx + ebx*4 + 8]
cmp eax, 1
jne 0x43bbc7
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x10]
mov dword [ecx], eax
or dword [edi + 0xc], 0x200
jmp 0x43bbd9
cmp eax, 2
jne 0x43bbd9
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0xc]
mov al, byte [esi + 0x10]
mov byte [ecx + 0x4c], al
cmp dword [edx + ebx*4 + 4], 1
jne case.0x4391fd.17
mov ecx, edi
call fcn.00436a00
mov eax, dword [esp + 0x18]
mov byte [eax + 0x63], 0
mov eax, dword [esp + 0x14]
jmp 0x43ce5e
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [edi + 8]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [esp + 0x78], ecx
test ecx, ecx
je 0x43bc39
lea eax, [esp + 0x70]
mov edx, 1
push eax
call fcn.0042fb80
mov ecx, dword [esi + ebx*4 + 4]
add esp, 4
mov eax, dword [edi + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [esp + 0x70]
mov eax, dword [eax + 4]
jmp 0x43bc41
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
cmp ecx, dword [esi + ebx*4 + 8]
jne 0x43bc55
cmp eax, dword [esi + ebx*4 + 0xc]
je case.0x4391fd.17
mov eax, dword [esp + 0x18]
push dword [eax + 0x38]
push edi
call fcn.004190a0
add esp, 8
mov edx, str.database_schema_has_changed
mov ecx, edi
call fcn.00419430
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x38], eax
mov edx, dword [esi + ebx*4 + 4]
mov ecx, edx
mov eax, dword [edi + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [esp + 0x70]
je 0x43bc96
mov ecx, edi
call fcn.0044c5b0
mov eax, dword [esp + 0x18]
mov byte [eax + 0x63], 1
mov eax, 0x11
mov dword [esp + 0x14], eax
jmp 0x43ce5e
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x63], 0
jne 0x43fa28
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov edi, dword [esi + ebx*4 + 8]
mov dword [esp + 0x78], edi
mov esi, dword [esi + ebx*4 + 0xc]
mov edx, esi
mov dword [esp + 0x7c], esi
shl edx, 4
add edx, dword [eax + 8]
mov dword [esp + 0x8c], edx
mov eax, dword [edx + 4]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x20]
cmp byte [eax + ebx*4], 0x28
jne 0x43bd1a
mov dword [esp + 0x80], 1
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x18]
mov al, byte [eax + 0x4c]
cmp al, byte [edx + 0x65]
jae 0x43bd21
mov byte [edx + 0x65], al
jmp 0x43bd21
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x20]
cmp byte [edx + ebx*4 + 3], cl
je 0x43bd6e
mov ecx, dword [esp + 0x28]
lea eax, [edi + edi*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004322b0
mov dword [esi + 0x10], eax
mov ecx, 0xbf04
mov ax, word [esi + 0x1c]
and ax, cx
mov dword [esi + 0x14], edx
or ax, 4
mov word [esi + 0x1c], ax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x78], eax
cmp eax, 2
jl 0x43fa01
mov esi, dword [esp + 0x7c]
mov ecx, dword [esp + 0x70]
mov edi, dword [esp + 0x20]
mov al, byte [edi + ebx*4 + 1]
cmp al, 0xfa
jne 0x43bda3
mov eax, dword [esp + 0x18]
mov ecx, dword [edi + ebx*4 + 0x10]
mov dword [esp + 0x74], ecx
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x7c]
movzx ecx, word [eax + 6]
inc ecx
jmp 0x43bdab
cmp al, 0xf2
jne 0x43bdaf
mov ecx, dword [edi + ebx*4 + 0x10]
mov dword [esp + 0x70], ecx
mov edx, dword [edi + ebx*4 + 4]
push 1
push esi
push ecx
mov ecx, dword [esp + 0x24]
call fcn.00438e60
add esp, 0xc
mov dword [esp + 0x88], eax
test eax, eax
je 0x43fcbc
mov byte [eax + 0x1c], 1
mov eax, dword [esp + 0x88]
mov byte [eax + 0x20], 1
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
push dword [eax]
push dword [esp + 0x78]
push dword [esp + 0x88]
call fcn.0042b940
mov ecx, dword [esp + 0x94]
add esp, 0xc
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x74]
mov dword [ecx + 8], eax
cmp byte [edi + ebx*4 + 1], 0xfa
mov eax, dword [esp + 0x88]
setne cl
mov byte [eax + 0x1e], cl
mov ecx, dword [esp + 0x88]
cmp byte [ecx + 0x1e], 0
sete al
mov byte [ecx + 0x1f], al
jmp 0x43ce56
mov edx, dword [esi + ebx*4 + 4]
mov ecx, dword [esp + 0x18]
push 1
push 0xffffffffffffffff
push dword [esi + ebx*4 + 8]
call fcn.00438e60
add esp, 0xc
mov dword [esp + 0x70], eax
test eax, eax
je 0x43fcc0
mov byte [eax + 0x1c], 1
xor edx, edx
movzx eax, byte [esi + ebx*4 + 3]
mov ecx, dword [edi]
or eax, 9
push 0x41e
push eax
mov eax, dword [esp + 0x78]
add eax, 4
push eax
push edi
call fcn.004298a0
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43c095
mov ecx, dword [esp + 0x70]
lea edx, [eax + 1]
mov ecx, dword [ecx + 4]
call fcn.0042a6b0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43c095
cmp dword [esi + ebx*4 + 0x10], 0
mov eax, dword [esp + 0x70]
mov edi, dword [eax + 4]
mov ecx, edi
je 0x43c008
movzx esi, byte [esi + ebx*4 + 3]
or esi, 2
call fcn.004282c0
push esi
lea edx, [esp + 0x64]
mov ecx, edi
call fcn.0042f490
add esp, 4
mov ecx, eax
cmp byte [edi + 9], 0
mov dword [esp + 0x14], ecx
je 0x43bf12
add dword [edi + 0xc], 0xffffffff
jne 0x43bf12
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x43bf0e
push eax
call dword [0x55f494]
mov ecx, dword [esp + 0x18]
add esp, 4
mov byte [edi + 0xa], 0
test ecx, ecx
jne 0x43bff7
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x20]
mov edi, dword [eax + 4]
mov ecx, dword [ecx + ebx*4 + 0x10]
mov esi, dword [eax]
mov dword [esp + 0x30], ecx
mov ecx, edi
call fcn.004282c0
mov ecx, dword [edi + 4]
mov eax, dword [esp + 0x60]
test byte [ecx + 0x16], 1
je 0x43bf4d
mov dword [esp + 0x14], 8
jmp 0x43bf9e
cmp eax, 1
jne 0x43bf5a
xor edx, edx
cmp dword [ecx + 0x2c], edx
cmove eax, edx
mov dword [esi + 0x14], eax
or eax, 0xffffffff
mov word [esi + 0x5a], ax
mov eax, dword [esp + 0x30]
mov dword [esi + 0x10], eax
mov dword [esi], edi
mov dword [esi + 4], ecx
mov byte [esi + 0x50], 1
mov eax, dword [ecx + 8]
mov dword [esi + 8], eax
test eax, eax
je 0x43bf81
mov dword [eax + 0xc], esi
mov dword [ecx + 8], esi
mov byte [esi + 0x53], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esp + 0x14], 0
cmp byte [edi + 9], 0
je 0x43bfc2
add dword [edi + 0xc], 0xffffffff
jne 0x43bfc2
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x43bfbe
push eax
call dword [0x55f494]
add esp, 4
mov byte [edi + 0xa], 0
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x20]
mov ecx, dword [esi + ebx*4 + 0x10]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1e], 0
jmp 0x43c091
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x20]
mov byte [eax + 0x1e], 0
jmp 0x43c091
mov esi, dword [eax]
call fcn.004282c0
mov eax, dword [edi + 4]
mov ecx, 1
test byte [eax + 0x16], cl
je 0x43c026
mov dword [esp + 0x14], 8
jmp 0x43c061
xor edx, edx
cmp dword [eax + 0x2c], edx
mov dword [esi + 0x10], edx
cmove ecx, edx
mov dword [esi], edi
mov dword [esi + 0x14], ecx
or ecx, 0xffffffff
mov word [esi + 0x5a], cx
mov dword [esi + 4], eax
mov byte [esi + 0x50], 1
mov ecx, dword [eax + 8]
mov dword [esi + 8], ecx
test ecx, ecx
je 0x43c051
mov dword [ecx + 0xc], esi
mov dword [eax + 8], esi
mov byte [esi + 0x53], dl
mov dword [esi + 0x18], edx
mov dword [esi + 0x1c], edx
mov dword [esp + 0x14], edx
cmp byte [edi + 9], 0
je 0x43c085
add dword [edi + 0xc], 0xffffffff
jne 0x43c085
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x43c081
push eax
call dword [0x55f494]
add esp, 4
mov byte [edi + 0xa], 0
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x20]
mov byte [eax + 0x1e], 1
mov edi, dword [esp + 0x1c]
cmp byte [esi + ebx*4 + 3], 0x10
mov eax, dword [esp + 0x70]
setne cl
mov byte [eax + 0x20], cl
mov ecx, dword [esp + 0x70]
cmp byte [ecx + 0x1e], 0
sete al
mov byte [ecx + 0x1f], al
mov eax, dword [esp + 0x14]
jmp 0x43ce5e
mov edx, dword [esi + ebx*4 + 4]
mov ecx, dword [esp + 0x18]
push 1
push 0xffffffffffffffff
push dword [esi + ebx*4 + 8]
call fcn.00438e60
add esp, 0xc
mov dword [esp + 0x70], eax
test eax, eax
je 0x43fcc0
mov ecx, dword [esi + ebx*4 + 0x10]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x4d]
mov byte [ecx + 4], al
mov ecx, edi
mov eax, dword [esp + 0x70]
mov byte [eax + 0x21], 1
mov edx, dword [esp + 0x70]
call fcn.004410b0
mov dword [esp + 0x14], eax
jmp 0x43ce5e
mov edx, dword [esi + ebx*4 + 4]
mov ecx, dword [esp + 0x18]
push 0
push 0xffffffffffffffff
push dword [esi + ebx*4 + 0xc]
call fcn.00438e60
add esp, 0xc
mov dword [esp + 0x70], eax
test eax, eax
je 0x43fcc0
mov edx, dword [esp + 0x24]
mov byte [eax + 0x1c], 1
mov eax, dword [esp + 0x70]
mov ecx, dword [esi + ebx*4 + 8]
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1e], 1
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1f], 0
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x43c1c7
mov eax, dword [esp + 0x18]
mov edx, esi
mov ecx, dword [eax]
call fcn.00441160
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x43c19d
call fcn.00429f20
jmp 0x43c1a8
mov ecx, dword [esi]
test ecx, ecx
je 0x43c1a8
call fcn.0042b9e0
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x43c1c7
mov eax, dword [esi + 0x28]
mov esi, dword [esp + 0x18]
push ecx
mov byte [esi + 0x66], 1
mov eax, dword [eax + 0x1c]
call eax
add esp, 4
mov byte [esi + 0x66], 0
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x44]
mov dword [eax + ecx*4], 0
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x78], ecx
cmp dword [ecx], 0
je 0x439211
movzx eax, byte [esi + ebx*4]
mov dword [esp + 0x74], eax
mov byte [ecx + 0x1c], 0
mov ecx, dword [esp + 0x78]
cmp byte [ecx + 0x1e], 0
je 0x43c4c8
mov eax, dword [esi + ebx*4 + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
mov dword [esp + 0x30], esi
call fcn.00438f80
mov ecx, esi
call fcn.004322b0
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xa4], edx
mov byte [eax + 0x19], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x43c45e
test al, 8
jne 0x43c27f
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov eax, dword [esi + ebx*4 + 8]
mov dword [esp + 0x10], eax
jmp 0x439170
mov edi, dword [esp + 0xa0]
mov esi, dword [esp + 0xa4]
test edi, edi
jne 0x43c3f8
cmp esi, 0x80000000
jne 0x43c3f8
mov edx, esi
xor ecx, ecx
call fcn.004f69b0
mov eax, dword [esp + 0x30]
movsd xmm1, qword [eax + 8]
comisd xmm0, xmm1
xorps xmm0, xmm0
ja 0x43c2c6
comisd xmm1, xmm0
jbe 0x43c3f8
mov dword [esp + 0x70], 1
comisd xmm0, xmmword [eax + 8]
jbe 0x43c334
cmp dword [esp + 0x74], 0x30
jl 0x43c3e2
mov eax, dword [esp + 0x78]
mov esi, dword [eax]
mov ecx, esi
call fcn.0042c0d0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43fa0f
cmp byte [esi + 0x53], al
jne 0x43c31c
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x70], 1
mov dword [esp + 0x14], eax
mov esi, dword [ecx + ebx*4 + 8]
dec esi
jmp 0x43ce62
mov ecx, esi
mov dword [esp + 0x70], 0
call fcn.0042c290
mov dword [esp + 0x14], eax
jmp 0x43c3be
cmp dword [esp + 0x74], 0x2f
jg 0x43c3e2
mov eax, dword [esp + 0x78]
mov esi, dword [eax]
cmp byte [esi + 0x53], 1
jne 0x43c369
cmp byte [esi + 0x51], 0
je 0x43c369
mov ecx, dword [esp + 0x20]
xor eax, eax
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov esi, dword [ecx + ebx*4 + 8]
dec esi
jmp 0x43ce62
mov ecx, esi
call fcn.0042c0d0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43fa0f
cmp byte [esi + 0x53], al
jne 0x43c39f
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x70], 1
mov dword [esp + 0x14], eax
mov esi, dword [ecx + ebx*4 + 8]
dec esi
jmp 0x43ce62
mov ecx, esi
mov dword [esp + 0x70], 0
call fcn.0042c310
test eax, eax
mov dword [esp + 0x14], eax
sete al
mov byte [esi + 0x51], al
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x43fa0f
cmp dword [esp + 0x70], eax
je 0x43ce5a
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov esi, dword [ecx + ebx*4 + 8]
dec esi
jmp 0x43ce62
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov esi, dword [ecx + ebx*4 + 8]
dec esi
jmp 0x43ce62
mov eax, dword [esp + 0x74]
cmp eax, 0x2e
je 0x43c430
cmp eax, 0x30
je 0x43c430
mov edx, esi
mov ecx, edi
call fcn.004f69b0
mov eax, dword [esp + 0x30]
comisd xmm0, xmmword [eax + 8]
jbe 0x43c46c
add edi, 0xffffffff
mov dword [esp + 0xa0], edi
adc esi, 0xffffffff
mov dword [esp + 0xa4], esi
jmp 0x43c46c
mov edx, esi
mov ecx, edi
call fcn.004f69b0
mov eax, dword [esp + 0x30]
movsd xmm1, qword [eax + 8]
comisd xmm1, xmm0
jbe 0x43c46c
add edi, 1
mov dword [esp + 0xa0], edi
adc esi, 0
mov dword [esp + 0xa4], esi
jmp 0x43c46c
mov esi, dword [esp + 0xa4]
mov edi, dword [esp + 0xa0]
mov ecx, dword [esp + 0x78]
lea eax, [esp + 0x70]
push eax
push 0
push esi
mov ecx, dword [ecx]
xor edx, edx
push edi
call fcn.0042c3a0
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43fa0f
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
cmp dword [esp + 0x70], eax
jne 0x43c555
mov eax, dword [esp + 0x78]
mov byte [eax + 0x19], 1
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0xa0]
mov dword [ecx + 0x40], eax
mov eax, dword [esp + 0xa4]
mov dword [ecx + 0x44], eax
jmp 0x43c555
mov eax, dword [esi + ebx*4 + 0x10]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x98], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x80], eax
mov ax, word [esp + 0x98]
mov word [esp + 0x84], ax
mov al, byte [esp + 0x74]
and al, 1
mov byte [esp + 0x86], al
mov eax, dword [esi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, 0x4000
mov dword [esp + 0x90], eax
test word [eax + 0x1c], dx
je 0x43c525
mov ecx, eax
call fcn.00431fd0
mov ecx, dword [esp + 0x78]
mov ecx, dword [ecx]
lea eax, [esp + 0x70]
push eax
push 0
push 0
push 0
lea edx, [esp + 0x90]
call fcn.0042c3a0
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43fa13
mov eax, dword [esp + 0x78]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x78]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0x78]
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
cmp eax, 0x30
jl 0x43c5a8
test ecx, ecx
js 0x43c596
jne 0x43c580
cmp eax, 0x31
je 0x43c596
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x70], 0
jmp 0x43916b
lea eax, [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
push dword [eax]
call fcn.0042c760
jmp 0x43c5d8
test ecx, ecx
jg 0x43c5c8
jne 0x43c5b3
cmp eax, 0x2e
je 0x43c5c8
mov eax, dword [esp + 0x78]
xor ecx, ecx
mov eax, dword [eax]
cmp byte [eax + 0x53], 1
setne cl
mov dword [esp + 0x70], ecx
jmp 0x43c5ef
lea eax, [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
push dword [eax]
call fcn.0042c900
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43fa13
mov eax, dword [esp + 0x78]
mov byte [eax + 0x19], 0
cmp dword [esp + 0x70], 0
je 0x43b7a3
mov eax, dword [esi + ebx*4 + 8]
mov edx, dword [esp + 0x24]
dec eax
inc eax
jmp 0x43916b
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x70], eax
cmp dword [eax], 0
je 0x439361
mov ecx, dword [esp + 0x28]
mov byte [eax + 0x1c], 0
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.004322b0
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], edx
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x24]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1d], 1
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x70], edx
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x74], ecx
mov eax, dword [esi + ebx*4 + 0xc]
mov esi, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
cmp dword [ecx], edx
je 0x43c78e
mov edx, dword [esp + 0x20]
cmp dword [edx + ebx*4 + 0x10], 0
jle 0x43c6d6
mov eax, dword [ecx + 8]
mov dword [esp + 0x88], eax
mov ax, word [edx + ebx*4 + 0x10]
lea edx, [esp + 0x88]
mov word [esp + 0x8c], ax
mov dword [esp + 0x98], esi
mov byte [esp + 0x8e], 2
mov dword [esp + 0x80], edx
jmp 0x43c72d
mov ecx, dword [ecx + 8]
lea eax, [esp + 0x7c]
push eax
push 0x97
lea edx, [esp + 0xa8]
call fcn.00436400
add esp, 8
mov dword [esp + 0x80], eax
test eax, eax
je 0x43fcc0
mov ecx, dword [esp + 0x74]
mov edx, dword [esi + 0x18]
push eax
push dword [esi + 4]
mov ecx, dword [ecx + 8]
call fcn.00436460
mov eax, dword [esp + 0x88]
add esp, 8
or byte [eax + 6], 2
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx]
lea eax, [esp + 0x78]
push eax
push 0
push 0
push 0
call fcn.0042c3a0
mov esi, dword [esp + 0x30]
add esp, 0x10
mov dword [esp + 0x14], eax
cmp dword [esi + ebx*4 + 0x10], 0
jne 0x43c762
push dword [esp + 0x7c]
push edi
call fcn.004190a0
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x43ce5e
cmp dword [esp + 0x78], eax
sete al
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x74]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0x74]
mov dword [eax + 0x50], 0
mov edx, dword [esp + 0x70]
jmp 0x43c792
mov esi, dword [esp + 0x20]
cmp byte [esi + ebx*4], 0x34
jne 0x43c7af
test edx, edx
je 0x43b7a3
mov eax, dword [esi + ebx*4 + 8]
mov edx, dword [esp + 0x24]
dec eax
inc eax
jmp 0x43916b
test edx, edx
jne 0x43b7a3
mov eax, dword [esi + ebx*4 + 8]
mov edx, dword [esp + 0x24]
dec eax
inc eax
jmp 0x43916b
mov eax, dword [esi + ebx*4 + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [esi + ebx*4 + 0x10]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x80], eax
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x74], eax
mov dword [eax + 0x4c], 0
mov eax, dword [esp + 0x74]
mov dword [eax + 0x50], 0
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0x80]
mov eax, dword [ecx]
mov dword [esp + 0x78], eax
mov dword [esp + 0x30], eax
mov eax, dword [ecx + 8]
xor ecx, ecx
mov dx, word [eax + 6]
xor eax, eax
mov word [esp + 0x7c], dx
mov word [esp + 0x70], cx
cmp ax, dx
jae 0x43c85d
nop dword [eax + eax]
movzx eax, cx
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
jne 0x43c930
inc cx
mov word [esp + 0x70], cx
cmp cx, dx
jb 0x43c840
cmp dword [esp + 0x30], 0
je 0x43ce56
mov eax, dword [esp + 0x74]
mov ecx, edi
mov eax, dword [eax + 8]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x7c]
inc eax
mov byte [esp + 0x8e], 4
mov word [esp + 0x8c], ax
mov dword [esp + 0x98], esi
call fcn.004322b0
mov dword [edi + 0x10], eax
mov ecx, 0xbf04
mov ax, word [edi + 0x1c]
and ax, cx
mov dword [edi + 0x14], edx
or ax, 4
lea edx, [esp + 0x88]
mov word [edi + 0x1c], ax
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xa0], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x74]
add eax, 0x4c
push eax
push 0
push 0
push 0
call fcn.0042c3a0
add esp, 0x10
mov dword [esp + 0x14], eax
test byte [esp + 0x8e], 4
jne 0x43c3e6
mov ecx, dword [esp + 0x90]
cmp ecx, dword [esp + 0xa0]
jne 0x43c91e
mov eax, dword [esp + 0x94]
cmp eax, dword [esp + 0xa4]
je 0x43c3e2
mov dword [edi + 0x10], ecx
mov eax, dword [esp + 0x94]
mov dword [edi + 0x14], eax
jmp 0x43ce56
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ebx*4 + 8]
dec eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x10], eax
jmp 0x43ce56
mov eax, dword [esi + ebx*4 + 0xc]
mov ecx, dword [esi + ebx*4 + 4]
lea edi, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x70], eax
mov esi, dword [eax]
mov dword [esp + 0x74], esi
test esi, esi
je 0x43ca10
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x78]
push edx
mov dword [esp + 0x7c], 0
xor edx, edx
push 0
mov ecx, dword [eax + edi*8 + 0x10]
mov dword [esp + 0x88], ecx
mov eax, dword [eax + edi*8 + 0x14]
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x94], eax
call fcn.0042c3a0
mov ecx, dword [esp + 0x80]
add esp, 0x10
mov edx, dword [esp + 0x28]
mov dword [esp + 0x14], eax
mov eax, dword [edx + edi*8 + 0x10]
mov dword [ecx + 0x40], eax
mov eax, dword [edx + edi*8 + 0x14]
mov dword [ecx + 0x44], eax
cmp dword [esp + 0x78], 0
mov eax, dword [esp + 0x70]
sete cl
mov byte [eax + 0x19], cl
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1c], 0
mov eax, dword [esp + 0x70]
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1d], 0
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x43ca04
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ebx*4 + 8]
dec eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x70]
mov dword [eax + 0x4c], ecx
jmp 0x43ce56
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov esi, dword [ecx + ebx*4 + 8]
mov dword [eax + 0x4c], 0
dec esi
mov eax, dword [esp + 0x14]
jmp 0x43ce62
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x30]
mov dword [edx + 0x10], eax
mov eax, dword [ecx + 0x34]
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + ebx*4 + 4]
mov edx, dword [esp + 0x24]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esp + 0x18]
xorps xmm0, xmm0
movlpd qword [esp + 0x70], xmm0
mov dword [esp + 0x7c], 0
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x44]
mov edi, dword [eax + ecx*4]
mov dword [esp + 0x78], edi
mov edx, dword [edi]
test edx, edx
je 0x43ce44
cmp byte [edi + 0x1b], 0
jne 0x43cd43
mov esi, dword [edx + 0x18]
mov eax, esi
mov dword [esp + 0x70], esi
mov edx, dword [edx + 0x1c]
or eax, edx
mov dword [esp + 0x74], edx
jne 0x43cb6d
mov esi, dword [edi]
cmp byte [esi + 0x53], 1
jne 0x43cacb
cmp byte [esi + 0x51], al
jne 0x43cb36
mov ecx, esi
call fcn.0042c0d0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43fa0f
cmp byte [esi + 0x53], al
jne 0x43cafa
mov edi, dword [esp + 0x78]
lea esi, [eax + 1]
mov dword [esp + 0x7c], 1
xor edx, edx
mov dword [esp + 0x14], eax
jmp 0x43cb65
mov ecx, esi
mov dword [esp + 0x7c], 0
call fcn.0042c310
test eax, eax
mov dword [esp + 0x14], eax
sete al
mov byte [esi + 0x51], al
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x43fa0f
cmp dword [esp + 0x7c], eax
je 0x43cb32
mov edi, dword [esp + 0x78]
lea esi, [eax + 1]
xor edx, edx
jmp 0x43cb65
mov edi, dword [esp + 0x78]
mov edx, dword [edi]
mov dword [esp + 0x30], edx
cmp byte [edx + 0x53], 1
je 0x43cbc2
xorps xmm0, xmm0
mov dword [esp + 0x14], 0
movlpd qword [esp + 0x70], xmm0
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
add esi, 1
adc edx, 0
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], esi
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + ebx*4 + 0xc]
test eax, eax
je 0x43cce7
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 0xa8]
test edx, edx
je 0x43cc4d
mov dword [esp + 0x88], edx
mov eax, dword [edx + 0x44]
test eax, eax
je 0x43cbb0
nop dword [eax]
mov edx, eax
mov dword [esp + 0x88], edx
mov eax, dword [edx + 0x44]
test eax, eax
jne 0x43cba0
mov eax, dword [ecx + ebx*4 + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea esi, [eax + ecx*8]
jmp 0x43cc57
cmp word [edx + 0x3a], 0
jne 0x43cc0d
movsx eax, word [edx + 0x5a]
mov edi, dword [edx + eax*4 + 0x84]
movzx esi, word [edx + eax*2 + 0x5c]
lea eax, [edx + 0x20]
push eax
mov ecx, dword [edi + 0x48]
movzx edx, byte [ecx + esi*2]
movzx eax, byte [ecx + esi*2 + 1]
mov ecx, edi
shl edx, 8
or edx, eax
movzx eax, word [edi + 0x12]
and edx, eax
add edx, dword [edi + 0x40]
call fcn.00428b70
mov edx, dword [esp + 0x34]
add esp, 4
mov byte [edx + 0x52], 1
mov edi, dword [esp + 0x78]
mov esi, dword [edx + 0x20]
mov dword [esp + 0x70], esi
mov edx, dword [edx + 0x24]
mov dword [esp + 0x74], edx
mov dword [esp + 0x14], 0
cmp esi, 0xffffffff
jne 0x43cb5f
cmp edx, 0x7fffffff
jne 0x43cb5f
mov byte [edi + 0x1b], 1
mov edi, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
jmp 0x43cb6d
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
mov dword [esp + 0x84], esi
call fcn.004322b0
mov dword [esi + 0x10], eax
mov ecx, 0xbf04
mov ax, word [esi + 0x1c]
and ax, cx
mov dword [esi + 0x14], edx
or ax, 4
mov word [esi + 0x1c], ax
mov esi, dword [esp + 0x84]
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
cmp edx, 0xffffffff
jne 0x43cc9d
cmp ecx, 0x7fffffff
je 0x43fa3b
mov eax, dword [esp + 0x78]
cmp byte [eax + 0x1b], 0
jne 0x43fa3b
add edx, 1
adc ecx, 0
cmp dword [esp + 0x74], ecx
jg 0x43cccd
jl 0x43ccc1
mov eax, dword [esp + 0x70]
cmp eax, edx
jae 0x43ccd1
mov eax, edx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x70], eax
jmp 0x43ccd1
mov eax, dword [esp + 0x70]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x74]
mov dword [esi + 0x14], eax
mov edi, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
cmp edx, 0x7fffffff
jg 0x43ccfe
jl 0x43ccf6
cmp esi, 0xffffffff
jae 0x43ccfe
add esi, 1
adc edx, 0
jmp 0x43cd0f
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
mov ebx, dword [edi]
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x43cd39
nop dword [eax + eax]
mov eax, dword [ecx + 0x14]
cmp eax, dword [ebx + 0x14]
jne 0x43cd2e
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x1c], edx
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x43cd20
mov edi, dword [esp + 0x78]
cmp byte [edi + 0x1b], 0
je 0x43ce2d
mov eax, dword [esp + 0x4c]
lea edx, [esp + 0x7c]
mov ecx, dword [esp + 0x48]
and eax, 0x3fffffff
add ecx, 1
mov dword [esp + 0x80], 0
push edx
adc eax, 0
mov dword [esp + 0x74], ecx
push 0
push eax
mov dword [esp + 0x80], eax
xor edx, edx
push ecx
mov ecx, dword [edi]
call fcn.0042c3a0
mov edx, eax
add esp, 0x10
mov dword [esp + 0x14], edx
test edx, edx
jne 0x43ce29
nop
mov ecx, dword [esp + 0x7c]
test ecx, ecx
jne 0x43ce1d
mov eax, dword [esp + 0x80]
inc eax
mov dword [esp + 0x80], eax
cmp eax, 0x64
jge 0x43ce1d
lea eax, [esp + 0x70]
push eax
push 8
call fcn.0041abc0
mov eax, dword [esp + 0x78]
add esp, 8
cmp dword [esp + 0x80], 5
jge 0x43cdd6
and eax, 0xffffff
xor ecx, ecx
jmp 0x43cde0
mov ecx, dword [esp + 0x74]
and ecx, 0x3fffffff
add eax, 1
lea edx, [esp + 0x7c]
push edx
adc ecx, 0
mov dword [esp + 0x74], eax
push 0
push ecx
mov dword [esp + 0x80], ecx
xor edx, edx
mov ecx, dword [esp + 0x84]
push eax
mov ecx, dword [ecx]
call fcn.0042c3a0
mov edx, eax
add esp, 0x10
mov dword [esp + 0x14], edx
test edx, edx
je 0x43cd90
jmp 0x43ce29
test edx, edx
jne 0x43ce29
test ecx, ecx
je 0x43fa3b
mov edi, dword [esp + 0x78]
mov byte [edi + 0x19], 0
mov eax, dword [esp + 0x78]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0x78]
mov dword [eax + 0x50], 0
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x70]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x74]
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
inc esi
mov dword [esp + 0x10], esi
test eax, eax
jne 0x43f822
mov edx, dword [esp + 0x24]
mov eax, esi
mov esi, dword [esp + 0x20]
jmp 0x439170
mov eax, dword [esi + ebx*4 + 8]
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x70], esi
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x80], ecx
cmp byte [edx + ebx*4], 0x39
mov eax, dword [edx + ebx*4 + 0xc]
mov dword [esp + 0x30], ecx
jne 0x43ced1
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [esp + 0x74], eax
mov edi, dword [eax + 0x10]
mov dword [esp + 0x78], edi
mov eax, dword [eax + 0x14]
mov dword [esp + 0x7c], eax
jmp 0x43cee0
cdq
mov edi, eax
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x78], edi
test byte [edx + ebx*4 + 3], 1
je 0x43ceee
mov eax, dword [esp + 0x18]
inc dword [eax + 0x6c]
test byte [edx + ebx*4 + 3], 2
je 0x43cf22
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edi
mov dword [ecx + 0x30], edi
mov eax, dword [esp + 0x7c]
mov dword [ecx + 0x34], eax
mov ecx, dword [esp + 0x80]
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x30], ecx
test byte [esi + 0x1c], 1
je 0x43cf4d
mov dword [esi + 4], 0
mov eax, dword [esp + 0x70]
mov dword [eax + 0x18], 0
mov ecx, dword [esp + 0x80]
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x30], ecx
test byte [edx + ebx*4 + 3], 0x10
je 0x43cf59
mov eax, dword [ecx + 0x4c]
jmp 0x43cf5b
xor eax, eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x14], eax
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x43cf76
mov eax, dword [esi + 0x10]
jmp 0x43cf78
xor eax, eax
mov dword [esp + 0x84], eax
mov edx, dword [ecx]
mov dword [esp + 0x3c], eax
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x43cfd0
nop
mov eax, dword [ecx + 0x14]
cmp eax, dword [edx + 0x14]
jne 0x43cfa6
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x1c], 0
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x43cf90
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x84]
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x30], edx
jmp 0x43cfd8
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x24]
xor edx, edx
movzx eax, byte [eax + ebx*4 + 3]
and eax, 8
push eax
push ecx
push dword [esi + 0x18]
mov ecx, dword [esp + 0x40]
push dword [esi + 4]
push dword [esp + 0x90]
mov ecx, dword [ecx]
push edi
call fcn.0042f030
mov edi, dword [esp + 0x38]
add esp, 0x1c
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x80]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x80]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0x80]
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x43ce5e
cmp dword [edi + 0xbc], eax
je 0x43ce5e
mov esi, dword [esp + 0x20]
cmp dword [esi + ebx*4 + 0x10], eax
je 0x43ce5e
mov eax, dword [esp + 0x80]
push dword [esp + 0x7c]
push dword [esp + 0x7c]
mov ecx, dword [eax + 0xc]
mov eax, dword [edi + 8]
add ecx, ecx
mov edx, dword [eax + ecx*8]
mov eax, 0x12
mov dword [esp + 0x94], edx
mov ecx, dword [esi + ebx*4 + 0x10]
mov dword [esp + 0x98], ecx
test byte [esi + ebx*4 + 3], 4
mov ebx, 0x17
push ecx
cmovne eax, ebx
push edx
push eax
mov dword [esp + 0xa8], eax
push dword [edi + 0xb8]
mov eax, dword [edi + 0xbc]
call eax
mov eax, dword [esp + 0x2c]
add esp, 0x18
jmp 0x43ce5e
mov eax, dword [esp + 0x18]
xorps xmm0, xmm0
movlpd qword [esp + 0x70], xmm0
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x78], ecx
cmp dword [edi + 0xbc], 0
je 0x43d0f2
cmp dword [esi + ebx*4 + 0x10], 0
je 0x43d0f2
mov eax, dword [ecx + 0x40]
mov dword [esp + 0x70], eax
mov eax, dword [ecx + 0x44]
mov dword [esp + 0x74], eax
call fcn.00435e80
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43fa13
mov esi, dword [esp + 0x78]
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x43d134
mov eax, dword [ecx + 0x14]
cmp eax, dword [edx + 0x14]
jne 0x43d129
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x1c], 0
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x43d113
mov esi, dword [esp + 0x78]
mov ecx, dword [esi]
call fcn.0042f250
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x78]
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x43d194
mov edx, dword [edi + 0xbc]
test edx, edx
je 0x43d194
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ebx*4 + 0x10]
test eax, eax
je 0x43d190
push dword [esp + 0x74]
push dword [esp + 0x74]
push eax
mov eax, dword [esp + 0x84]
mov ecx, dword [eax + 0xc]
mov eax, dword [edi + 8]
add ecx, ecx
push dword [eax + ecx*8]
push 9
push dword [edi + 0xb8]
call edx
add esp, 0x18
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
test byte [ecx + ebx*4 + 8], 1
je 0x43ce5e
mov esi, dword [esp + 0x18]
inc dword [esi + 0x6c]
jmp 0x43ce5e
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov eax, dword [eax + 0x6c]
add dword [edi + 0x40], eax
mov dword [edi + 0x3c], eax
mov eax, dword [esp + 0x18]
mov dword [eax + 0x6c], 0
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + ebx*4 + 4]
mov edx, dword [esp + 0x28]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x70], ecx
mov eax, dword [esi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [esp + 0x74]
push eax
call fcn.00441ae0
add esp, 4
mov dword [esp + 0x14], eax
cmp dword [esp + 0x74], 0
je 0x43ce5e
mov esi, dword [esi + ebx*4 + 8]
dec esi
jmp 0x43ce62
mov eax, dword [esi + ebx*4 + 8]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, dword [esi + ebx*4 + 4]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x70], eax
mov edx, dword [eax + 0x48]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x43d262
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov esi, dword [eax + ecx*8 + 0x1c]
lea eax, [eax + ecx*8]
add eax, 0x20
jmp 0x43d268
mov eax, dword [edx + 0x28]
mov esi, dword [eax + 4]
mov ebx, dword [esp + 0x2c]
mov edx, esi
mov edi, dword [eax]
mov ecx, ebx
push 0
call fcn.00431e50
add esp, 4
test eax, eax
jne 0x43fa42
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf10
push esi
and ax, cx
mov dword [ebx + 0x18], esi
push edi
push dword [ebx + 4]
or ax, 0x10
mov word [ebx + 0x1c], ax
call fcn.004f93a0
add esp, 0xc
xor eax, eax
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
inc eax
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esi + ebx*4 + 8]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, dword [esi + ebx*4 + 4]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x70], ecx
mov eax, dword [ecx]
mov dword [esp + 0x74], eax
call fcn.00435e80
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43fa17
mov eax, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
cmp byte [eax + 0x1f], 0
je 0x43d3ae
cmp byte [ebx + 0x53], 1
je 0x43d337
xorps xmm0, xmm0
movlpd qword [esp + 0x80], xmm0
mov esi, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
jmp 0x43d392
cmp word [ebx + 0x3a], 0
jne 0x43d37e
movsx eax, word [ebx + 0x5a]
mov edi, dword [ebx + eax*4 + 0x84]
movzx esi, word [ebx + eax*2 + 0x5c]
lea eax, [ebx + 0x20]
push eax
mov ecx, dword [edi + 0x48]
movzx edx, byte [ecx + esi*2]
movzx eax, byte [ecx + esi*2 + 1]
mov ecx, edi
shl edx, 8
or edx, eax
movzx eax, word [edi + 0x12]
and edx, eax
add edx, dword [edi + 0x40]
call fcn.00428b70
mov edi, dword [esp + 0x20]
add esp, 4
mov byte [ebx + 0x52], 1
mov ecx, dword [ebx + 0x20]
mov dword [esp + 0x80], ecx
mov esi, dword [ebx + 0x24]
mov dword [esp + 0x84], esi
mov eax, dword [edi + 0x48]
cdq
cmp esi, edx
jg 0x43fb11
jl 0x43d3a8
cmp ecx, eax
ja 0x43fb11
mov dword [esp + 0x78], ecx
jmp 0x43d405
cmp word [ebx + 0x3a], 0
jne 0x43d3f5
movsx eax, word [ebx + 0x5a]
mov edi, dword [ebx + eax*4 + 0x84]
movzx esi, word [ebx + eax*2 + 0x5c]
lea eax, [ebx + 0x20]
push eax
mov ecx, dword [edi + 0x48]
movzx edx, byte [ecx + esi*2]
movzx eax, byte [ecx + esi*2 + 1]
mov ecx, edi
shl edx, 8
or edx, eax
movzx eax, word [edi + 0x12]
and edx, eax
add edx, dword [edi + 0x40]
call fcn.00428b70
mov edi, dword [esp + 0x20]
add esp, 4
mov byte [ebx + 0x52], 1
mov ecx, dword [ebx + 0x2c]
mov dword [esp + 0x78], ecx
cmp ecx, dword [edi + 0x48]
ja 0x43fb11
mov ebx, dword [esp + 0x2c]
mov edx, ecx
push 0
mov ecx, ebx
call fcn.00431e50
add esp, 4
test eax, eax
jne 0x43fcc0
mov eax, dword [esp + 0x78]
mov ecx, 0xbf10
mov dword [ebx + 0x18], eax
mov ax, word [ebx + 0x1c]
and ax, cx
or ax, 0x10
mov word [ebx + 0x1c], ax
mov eax, dword [esp + 0x70]
cmp byte [eax + 0x1f], 0
je 0x43d46b
mov ecx, dword [esp + 0x74]
xor edx, edx
push 0
push dword [ebx + 4]
push dword [esp + 0x80]
call fcn.0042bca0
add esp, 0xc
mov dword [esp + 0x14], eax
mov byte [ebx + 0x1f], 1
jmp 0x43ce5e
mov esi, dword [esp + 0x74]
mov edi, dword [ebx + 4]
mov ebx, dword [esp + 0x78]
mov al, byte [esi + 0x53]
test al, al
jne 0x43d497
mov ebx, dword [esp + 0x2c]
mov eax, 4
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov byte [ebx + 0x1f], 1
jmp 0x43ce5e
cmp al, 2
jb 0x43d4aa
mov ecx, esi
call fcn.00428880
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43d4be
push 0
push edi
push ebx
xor edx, edx
mov ecx, esi
call fcn.0042bca0
add esp, 0xc
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x1c]
mov byte [ebx + 0x1f], 1
jmp 0x43ce5e
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x70], ecx
cmp byte [ecx + 0x1c], 0
je 0x43d502
mov eax, 1
mov word [edx + 0x1c], ax
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
cmp byte [ecx + 0x1d], 0
je 0x43d52a
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x78], eax
mov eax, dword [ecx + 0x3c]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x78]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x7c]
jmp 0x43ce53
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x43d5e2
mov eax, dword [eax]
lea edx, [esp + 0x78]
mov dword [esp + 0x80], eax
push edx
mov eax, dword [eax]
mov dword [esp + 0x88], eax
push dword [ecx + 0x24]
mov eax, dword [eax + 0x30]
call eax
mov edi, dword [esp + 0x88]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x38], edi
push dword [eax + 0x38]
mov esi, dword [eax]
push esi
call fcn.004190a0
mov ebx, dword [edi + 8]
add esp, 0x10
test ebx, ebx
jne 0x43d580
xor esi, esi
jmp 0x43d5b5
cmp byte [ebx], 0
mov eax, ebx
je 0x43d58d
inc eax
cmp byte [eax], 0
jne 0x43d587
sub eax, ebx
mov ecx, esi
and eax, 0x3fffffff
lea edi, [eax + 1]
mov edx, edi
call fcn.00419310
mov esi, eax
test esi, esi
je 0x43d5b1
push edi
push ebx
push esi
call fcn.004f93a0
add esp, 0xc
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
mov dword [eax + 0x38], esi
push dword [edi + 8]
call fcn.00419000
mov ecx, dword [esp + 0x30]
add esp, 4
mov dword [edi + 8], 0
mov eax, dword [esp + 0x78]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x7c]
jmp 0x43ce53
call fcn.00435e80
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43fa13
mov ebx, dword [esp + 0x70]
cmp byte [ebx + 0x19], al
je 0x43d61e
mov eax, dword [ebx + 0x40]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x44]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x78]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x7c]
jmp 0x43ce53
mov ebx, dword [ebx]
cmp byte [ebx + 0x53], 1
je 0x43d631
xorps xmm0, xmm0
movlpd qword [esp + 0x78], xmm0
jmp 0x43d682
cmp word [ebx + 0x3a], 0
jne 0x43d674
movsx eax, word [ebx + 0x5a]
mov edi, dword [ebx + eax*4 + 0x84]
movzx esi, word [ebx + eax*2 + 0x5c]
lea eax, [ebx + 0x20]
push eax
mov ecx, dword [edi + 0x48]
movzx eax, byte [ecx + esi*2]
movzx edx, byte [ecx + esi*2 + 1]
mov ecx, edi
shl eax, 8
or edx, eax
movzx eax, word [edi + 0x12]
and edx, eax
add edx, dword [edi + 0x40]
call fcn.00428b70
add esp, 4
mov byte [ebx + 0x52], 1
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x24]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x14], 0
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x7c]
jmp 0x43ce53
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x70], eax
mov byte [eax + 0x1c], 1
mov eax, dword [esp + 0x70]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x70]
mov ecx, dword [eax]
test ecx, ecx
je 0x43b7a3
call fcn.00428750
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x70], ecx
mov esi, dword [ecx]
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], 0
test esi, esi
je 0x43d758
cmp byte [esi + 0x53], 1
jne 0x43d71b
cmp byte [esi + 0x51], 0
je 0x43d71b
mov dword [esp + 0x14], 0
jmp 0x43d758
mov ecx, esi
call fcn.0042c0d0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43d754
cmp byte [esi + 0x53], al
jne 0x43d739
mov dword [esp + 0x78], 1
jmp 0x43d754
mov ecx, esi
mov dword [esp + 0x78], 0
call fcn.0042c310
test eax, eax
mov dword [esp + 0x14], eax
sete al
mov byte [esi + 0x51], al
mov ecx, dword [esp + 0x70]
mov al, byte [esp + 0x78]
mov byte [ecx + 0x1c], al
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0x70]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x70]
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ebx*4 + 8]
test eax, eax
jle case.0x4391fd.17
cmp dword [esp + 0x78], 0
je case.0x4391fd.17
lea esi, [eax - 1]
mov eax, dword [esp + 0x14]
jmp 0x43ce62
mov eax, dword [esp + 0x18]
inc dword [eax + 0x80]
jmp 0x43d7b1
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], 1
cmp dword [eax + 0x48], 0
je 0x43d7e4
lea ecx, [esp + 0x78]
mov edx, eax
push ecx
mov ecx, edi
call fcn.00441710
add esp, 4
mov dword [esp + 0x14], eax
jmp 0x43d849
mov esi, dword [eax]
mov ecx, esi
mov dword [esp + 0x74], esi
call fcn.0042c0d0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43d81b
cmp byte [esi + 0x53], al
jne 0x43d808
mov dword [esp + 0x78], 1
jmp 0x43d81b
mov ecx, esi
mov dword [esp + 0x78], 0
call fcn.0042c290
mov dword [esp + 0x14], eax
cmp dword [esp + 0x78], 0
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x20]
sete cl
mov byte [eax + 0x1a], cl
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0x70]
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x70]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x70]
mov cl, byte [esp + 0x78]
mov byte [eax + 0x1c], cl
cmp dword [esp + 0x78], 0
je case.0x4391fd.17
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
jmp 0x43ce5e
cmp dword [edi + 0xe0], 0
mov eax, dword [esp + 0x18]
jne 0x43fc75
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x70], eax
test eax, eax
je case.0x4391fd.17
cmp dword [eax + 0x48], 0
lea ecx, [esp + 0x74]
push ecx
je 0x43d8b1
mov edx, eax
mov ecx, edi
call fcn.00441a20
add esp, 4
jmp 0x43d8c4
mov dword [esp + 0x78], 1
push dword [eax]
mov eax, dword [esi + ebx*4 + 0x10]
call eax
add esp, 8
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x14], eax
mov al, byte [esp + 0x74]
mov byte [ecx + 0x1c], al
mov eax, dword [esp + 0x70]
mov dword [eax + 0x50], 0
cmp dword [esp + 0x74], 0
jne 0x43d901
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [esp + 0x10], eax
mov al, byte [esi + ebx*4 + 3]
test al, al
je 0x43d901
mov esi, dword [esp + 0x18]
movzx eax, al
inc dword [esi + eax*4 + 0x78]
mov eax, dword [esp + 0x70]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x14]
jmp 0x43ce5e
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + ebx*4 + 4]
mov edx, dword [esp + 0x28]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x70], ecx
mov eax, dword [esi + ebx*4 + 8]
mov edi, dword [ecx]
mov dword [esp + 0x74], edi
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
test edi, edi
je 0x43ce56
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x43d966
mov ecx, esi
call fcn.00431fd0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43ce5a
mov edi, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
cmp dword [ecx + 0x48], 0
je 0x43d986
mov edi, dword [esp + 0x1c]
mov edx, ecx
push esi
mov ecx, edi
call fcn.004415b0
add esp, 4
mov dword [esp + 0x14], eax
jmp 0x43ce5e
mov edx, dword [esi + 0x18]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x78], edx
mov esi, dword [esi + 4]
mov dword [esp + 0x7c], esi
test byte [eax + ebx*4 + 3], 0x10
je 0x43d9a4
mov eax, dword [ecx + 0x4c]
jmp 0x43d9a6
xor eax, eax
push eax
mov eax, dword [esp + 0x24]
mov ecx, edi
push dword [eax + ebx*4 + 0xc]
mov eax, edx
push 0
push 0
cdq
push 0x54849c
push edx
push eax
mov edx, esi
call fcn.0042f030
mov dword [esp + 0x30], eax
add esp, 0x1c
mov eax, dword [esp + 0x70]
mov dword [eax + 0x50], 0
jmp 0x43ce56
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x70], eax
mov ecx, dword [eax]
mov dword [esp + 0x74], ecx
test ecx, ecx
je case.0x4391fd.17
mov eax, dword [eax + 8]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x80], eax
mov ax, word [esi + ebx*4 + 0xc]
mov word [esp + 0x84], ax
mov byte [esp + 0x86], 0
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0x90], eax
lea edx, [esp + 0x80]
lea eax, [esp + 0x78]
push eax
push 0
push 0
push 0
call fcn.0042c3a0
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43da66
cmp dword [esp + 0x78], eax
jne 0x43da66
mov ecx, dword [esp + 0x74]
call fcn.0042f250
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x70]
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x14]
jmp 0x43ce5e
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + ebx*4 + 4]
mov ebx, dword [esp + 0x2c]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x74], eax
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov eax, 1
mov word [ebx + 0x1c], ax
cmp dword [esp + 0x70], 0
je 0x439361
mov ecx, dword [esp + 0x74]
call fcn.00435e80
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43fa13
mov eax, dword [esp + 0x74]
cmp byte [eax + 0x1c], 0
jne 0x439361
mov edx, dword [esp + 0x70]
lea eax, [esp + 0x78]
push eax
call fcn.004367a0
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43fa13
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x24]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x7c]
mov dword [ebx + 0x14], eax
mov eax, 4
mov word [ebx + 0x1c], ax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x70], ecx
cmp dword [ecx], 0
je case.0x4391fd.17
mov eax, dword [ecx + 8]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x78], eax
mov ax, word [esi + ebx*4 + 0x10]
mov word [esp + 0x7c], ax
cmp byte [esi + ebx*4 + 3], 0
setne al
add al, 2
mov byte [esp + 0x7e], al
mov eax, dword [esi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0x88], eax
lea edx, [esp + 0x78]
lea eax, [esp + 0x74]
push eax
call fcn.00436900
add esp, 4
mov dword [esp + 0x14], eax
cmp byte [esi + ebx*4], 0x64
mov eax, dword [esp + 0x74]
jne 0x43db85
neg eax
jmp 0x43db86
inc eax
mov dword [esp + 0x74], eax
test eax, eax
jle case.0x4391fd.17
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
jmp 0x43ce5e
xor ecx, ecx
mov dword [esp + 0x74], ecx
mov eax, dword [edi + 0x88]
mov dword [esp + 0x78], eax
test eax, eax
je 0x43dbe5
nop dword [eax + eax]
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x43dbda
cmp byte [eax + 0x66], 2
jae 0x43dbda
cmp dword [eax + 0x58], 0
jl 0x43dbda
inc ecx
mov dword [esp + 0x74], ecx
mov eax, dword [eax + 0x40]
mov dword [esp + 0x78], eax
test eax, eax
jne 0x43dbc0
mov eax, 1
mov word [edx + 0x1c], ax
cmp dword [esp + 0x74], eax
jg 0x43fa87
mov ecx, dword [esi + ebx*4 + 0xc]
mov dword [esp + 0x7c], ecx
add ecx, ecx
mov eax, dword [edi + 8]
mov esi, dword [esi + ebx*4 + 4]
mov edi, dword [eax + ecx*8 + 4]
mov ecx, edi
call fcn.004282c0
lea eax, [esp + 0x70]
mov edx, esi
push eax
mov ecx, edi
call fcn.0042f950
add esp, 4
mov dword [esp + 0x14], eax
cmp byte [edi + 9], 0
je 0x43dc4d
add dword [edi + 0xc], 0xffffffff
jne 0x43dc4d
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x43dc49
push eax
call dword [0x55f494]
add esp, 4
mov byte [edi + 0xa], 0
mov ecx, dword [esp + 0x2c]
mov eax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [esp + 0x70]
cdq
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x14], edx
test eax, eax
jne 0x43ce5a
mov edx, dword [esp + 0x70]
test edx, edx
je 0x43ce5a
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x7c]
shl edi, 4
mov esi, dword [eax + ebx*4 + 4]
mov eax, dword [esp + 0x1c]
add edi, dword [eax + 8]
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x43dcb1
nop dword [eax]
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], edx
jne 0x43dcab
mov dword [ecx + 0x14], esi
mov eax, dword [eax]
test eax, eax
jne 0x43dca0
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x43dcd1
nop dword [eax + eax]
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], edx
jne 0x43dccb
mov dword [ecx + 0x14], esi
mov eax, dword [eax]
test eax, eax
jne 0x43dcc0
mov al, byte [esp + 0x7c]
inc al
mov byte [esp + 0x47], al
jmp 0x43ce56
mov dword [esp + 0x70], 0
lea eax, [esp + 0x70]
mov edx, dword [esi + ebx*4 + 4]
xor ecx, ecx
cmp dword [esi + ebx*4 + 0xc], ecx
cmove eax, ecx
mov ecx, dword [edi + 8]
push eax
mov eax, dword [esi + ebx*4 + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0042f8a0
add esp, 4
mov dword [esp + 0x14], eax
cmp dword [esi + ebx*4 + 0xc], 0
je 0x43ce5e
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x70]
add dword [ecx + 0x6c], eax
mov ecx, dword [esi + ebx*4 + 0xc]
mov esi, dword [esp + 0x10]
test ecx, ecx
jle 0x43d798
mov ebx, dword [esp + 0x28]
lea ecx, [ecx + ecx*4]
cdq
add dword [ebx + ecx*8 + 0x10], eax
mov eax, dword [esp + 0x14]
adc dword [ebx + ecx*8 + 0x14], edx
jmp 0x43ce62
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x70], 0
mov eax, dword [esi + ebx*4 + 4]
xor ebx, ebx
shl eax, 4
add eax, dword [edi + 8]
mov dword [esp + 0x78], eax
cmp byte [esi + ecx*4], 0x69
setne bl
inc ebx
mov dword [esp + 0x74], ebx
mov esi, dword [eax + 4]
mov ecx, esi
call fcn.004282c0
push ebx
lea edx, [esp + 0x74]
mov ecx, esi
call fcn.0042f490
add esp, 4
mov dword [esp + 0x14], eax
cmp byte [esi + 9], 0
je 0x43ddbb
add dword [esi + 0xc], 0xffffffff
jne 0x43ddbb
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x43ddb7
push eax
call dword [0x55f494]
add esp, 4
mov byte [esi + 0xa], 0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x2c]
cdq
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x14], edx
jmp 0x43ce5e
mov edx, dword [esi + ebx*4 + 4]
mov eax, str.sqlite_master
cmp edx, 1
mov dword [esp + 0x70], edx
mov ecx, str.sqlite_temp_master
mov dword [esp + 0x7c], edi
cmovne ecx, eax
add edx, edx
mov dword [esp + 0x74], ecx
mov eax, dword [esi + ebx*4 + 4]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x18]
add eax, 0x38
mov dword [esp + 0x84], eax
push dword [esi + ebx*4 + 0x10]
mov eax, dword [edi + 8]
push ecx
push dword [eax + edx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push edi
call fcn.0041a780
add esp, 0x14
mov dword [esp + 0x78], eax
test eax, eax
je 0x43fcc0
push 0
lea eax, [esp + 0x80]
mov byte [edi + 0x7c], 1
push eax
push fcn.0045d5b0
push dword [esp + 0x84]
mov dword [esp + 0x98], 0
push edi
call fcn.0045a580
add esp, 0x14
test eax, eax
cmove eax, dword [esp + 0x88]
mov dword [esp + 0x14], eax
push dword [esp + 0x78]
push edi
call fcn.004190a0
mov eax, dword [esp + 0x1c]
add esp, 8
mov esi, dword [esp + 0x10]
mov byte [edi + 0x7c], 0
cmp eax, 7
je 0x43fcc4
jmp 0x43ce62
mov edx, dword [esi + ebx*4 + 4]
mov ecx, edi
call fcn.0044ad10
mov dword [esp + 0x14], eax
jmp 0x43ce5e
push dword [esi + ebx*4 + 0x10]
mov edx, dword [esi + ebx*4 + 4]
mov ecx, edi
call fcn.0044c950
mov eax, dword [esp + 0x14]
add esp, 4
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
push dword [esi + ebx*4 + 0x10]
mov edx, dword [esi + ebx*4 + 4]
mov ecx, edi
call fcn.0044c4b0
mov eax, dword [esp + 0x14]
add esp, 4
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
push dword [esi + ebx*4 + 0x10]
mov edx, dword [esi + ebx*4 + 4]
mov ecx, edi
call fcn.00466e70
mov eax, dword [esp + 0x14]
add esp, 4
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov edx, dword [esi + ebx*4 + 8]
mov ecx, edi
mov dword [esp + 0x70], edx
lea edx, [edx*4 + 4]
call fcn.00419310
mov edx, eax
mov dword [esp + 0x74], edx
test edx, edx
je 0x43fcc0
mov ecx, dword [esi + ebx*4 + 0xc]
mov eax, dword [esp + 0x28]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*8]
mov dword [esp + 0x84], ecx
mov ecx, dword [esi + ebx*4 + 4]
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x28]
lea esi, [ecx + eax*8]
xor eax, eax
mov dword [esp + 0x78], eax
cmp dword [esp + 0x70], eax
jle 0x43df99
nop dword [eax]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.004322b0
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x78]
inc eax
mov dword [esp + 0x78], eax
cmp eax, dword [esp + 0x70]
jl 0x43df70
mov edx, dword [esp + 0x74]
mov dword [edx + eax*4], 0
lea eax, [esp + 0x7c]
mov ecx, dword [edi + 8]
mov edx, dword [esp + 0x74]
push eax
mov eax, dword [esp + 0x88]
push dword [eax + 0x10]
mov eax, dword [esp + 0x28]
push dword [esp + 0x78]
movzx eax, byte [eax + ebx*4 + 3]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00430980
add esp, 0xc
mov dword [esp + 0x80], eax
push dword [esp + 0x74]
push edi
call fcn.004190a0
mov ecx, dword [esp + 0x8c]
add esp, 8
mov eax, dword [esp + 0x7c]
cdq
sub dword [ecx + 0x10], eax
sbb dword [ecx + 0x14], edx
mov ecx, esi
call fcn.00432540
cmp dword [esp + 0x7c], 0
je 0x43e027
mov edx, dword [esp + 0x80]
test edx, edx
je 0x43fcc0
push fcn.00419000
push 1
push 0xffffffffffffffff
mov ecx, esi
call fcn.004327c0
add esp, 0xc
movzx edx, byte [esp + 0x43]
mov ecx, esi
call fcn.00431e30
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
inc eax
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ebx*4 + 8]
lea edi, [eax + eax*4]
jne 0x43e07a
mov ecx, esi
call fcn.004325c0
test byte [esi + 0x1c], 0x20
je 0x43fcbc
mov ebx, dword [esp + 0x28]
mov ecx, dword [esi + 0x10]
push dword [ebx + edi*8 + 0x14]
push dword [ebx + edi*8 + 0x10]
call fcn.00420e00
add esp, 8
jmp 0x43d2ae
cmp dword [edi + 0xe0], 0
jne 0x43fc71
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea edi, [ecx + eax*8]
je 0x43e15e
mov esi, dword [edi + 0x10]
cmp byte [esi + 0x1a], 0
jne 0x43e0cc
mov ecx, esi
call fcn.00420f00
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x43e0fa
lea eax, [esp + 0x6c]
push eax
lea edx, [esp + 0x68]
call fcn.00421110
mov edx, dword [esp + 0x68]
add esp, 4
mov ecx, dword [esi + 8]
mov dword [esi + 0x14], 0
call fcn.00420e90
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x43e15a
mov eax, dword [ecx]
mov dword [esp + 0x70], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x74], eax
mov eax, dword [esi + 8]
mov eax, dword [eax + 8]
mov dword [esi + 8], eax
test eax, eax
jne 0x43e122
mov ecx, esi
call fcn.00420dc0
mov esi, dword [esp + 0x20]
push dword [esp + 0x74]
mov ecx, dword [esp + 0x2c]
push dword [esp + 0x74]
mov eax, dword [esi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00432590
mov eax, dword [esp + 0x18]
add esp, 8
mov edi, dword [esp + 0x1c]
inc eax
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
jmp 0x439170
mov esi, dword [esp + 0x20]
mov ecx, edi
call fcn.00432540
mov eax, dword [esi + ebx*4 + 8]
mov edi, dword [esp + 0x1c]
dec eax
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
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 [esp + 0x70], eax
test byte [esi + 0x1c], 0x20
jne 0x43e1bc
mov ecx, esi
call fcn.004325c0
test byte [esi + 0x1c], 0x20
je 0x43fcbc
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x28]
test eax, eax
je 0x43e208
js 0x43e1c7
and eax, 0xf
jmp 0x43e1cc
mov eax, 0xff
push dword [edx + edi*8 + 0x14]
mov ecx, dword [esi + 0x10]
push dword [edx + edi*8 + 0x10]
mov dl, al
call fcn.00421260
add esp, 8
mov dword [esp + 0x74], eax
test eax, eax
je 0x43e202
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov eax, dword [esi + ebx*4 + 8]
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esp + 0x70]
test eax, eax
js 0x43d2ae
jmp 0x43e07a
mov edx, dword [esi + ebx*4 + 0x10]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x88], edx
mov eax, dword [esi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x78], esi
cmp byte [eax + ebx*4 + 3], 0
je 0x43e277
mov eax, dword [esp + 0x18]
mov ecx, dword [edx + 0x14]
mov dword [esp + 0x8c], ecx
mov eax, dword [eax + 0xa8]
mov dword [esp + 0x84], eax
test eax, eax
je 0x43e277
nop word [eax + eax]
cmp dword [eax + 0x28], ecx
je 0x43d2b2
mov eax, dword [eax + 0x44]
mov dword [esp + 0x84], eax
test eax, eax
jne 0x43e260
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0xb0]
cmp eax, dword [edi + 0x70]
jge 0x43faa2
test byte [esi + 0x1c], 0x40
jne 0x43e40b
mov eax, dword [edx + 8]
add eax, dword [edx + 0xc]
mov dword [esp + 0x70], eax
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea ecx, [eax + ecx*2]
mov eax, dword [edx + 0x10]
lea ecx, [ecx + 0x12]
lea edx, [eax + ecx*4]
mov ecx, edi
mov dword [esp + 0x74], edx
call fcn.004192e0
mov dword [esp + 0x84], eax
test eax, eax
je 0x43fcc0
mov ecx, dword [esp + 0x78]
call fcn.00432220
mov eax, dword [esp + 0x78]
mov ecx, 0x40
mov esi, dword [esp + 0x10]
mov word [eax + 0x1c], cx
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x18]
mov dword [eax], ecx
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x70]
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x84]
mov dword [eax + 0x30], ecx
mov eax, dword [esp + 0x84]
mov dword [eax + 4], esi
mov eax, dword [esp + 0x84]
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 8]
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x84]
mov ecx, dword [esi + 0x18]
mov dword [eax + 0x14], ecx
mov eax, dword [esp + 0x84]
mov ecx, dword [esi + 0x44]
mov dword [eax + 0x20], ecx
mov eax, dword [esp + 0x84]
mov cx, word [esi + 0x32]
mov word [eax + 0x24], cx
mov eax, dword [esp + 0x84]
mov ecx, dword [esi + 4]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x84]
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 0x14]
mov eax, dword [esp + 0x84]
mov dword [eax + 0x28], ecx
mov eax, dword [esp + 0x84]
mov ecx, dword [esi + 0xc0]
mov dword [eax + 0x18], ecx
mov eax, dword [esp + 0x84]
mov ecx, dword [esi + 0xbc]
mov dword [eax + 0x1c], ecx
mov edx, dword [esp + 0x84]
mov eax, dword [edx + 0x2c]
lea ecx, [edx + 0x48]
mov dword [esp + 0x7c], ecx
lea eax, [eax + eax*4]
lea eax, [eax + 9]
lea eax, [edx + eax*8]
mov dword [esp + 0x80], eax
cmp ecx, eax
je 0x43e417
mov esi, 0x80
nop dword [eax]
mov word [ecx + 0x1c], si
mov eax, dword [esp + 0x7c]
mov dword [eax], edi
mov ecx, dword [esp + 0x7c]
add ecx, 0x28
mov dword [esp + 0x7c], ecx
cmp ecx, dword [esp + 0x80]
jne 0x43e3e0
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x84]
jmp 0x43e417
mov edx, dword [esi + 0x10]
mov esi, ecx
mov dword [esp + 0x84], edx
inc dword [esi + 0xb0]
mov eax, dword [esi + 0xa8]
mov dword [edx + 0x44], eax
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x38], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0x3c], ecx
mov eax, dword [esp + 0x84]
mov ecx, dword [esi + 0x6c]
mov dword [eax + 0x40], ecx
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0x6c], 0
lea ebx, [ecx + 0x20]
mov dword [esi + 8], ebx
mov eax, dword [ecx + 0x2c]
mov dword [esi + 0x18], eax
mov ax, word [ecx + 0x30]
mov word [esi + 0x32], ax
mov eax, dword [esi + 0x18]
inc eax
mov dword [esp + 0x28], ebx
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov dword [esi + 0x44], ecx
mov eax, dword [edx]
mov dword [esp + 0x20], eax
mov dword [esi + 4], eax
mov eax, dword [edx + 4]
mov dword [esi + 0x1c], eax
movzx eax, word [esi + 0x32]
lea ecx, [ecx + eax*4]
mov dword [esi + 0xc0], ecx
mov eax, dword [edx + 0x10]
mov dword [esi + 0xbc], eax
mov eax, dword [edx + 4]
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x18]
push dword [eax + 0xbc]
push 0
push ecx
call fcn.004f8b70
mov esi, dword [esp + 0x2c]
or eax, 0xffffffff
mov edx, dword [esp + 0x30]
add esp, 0xc
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esp + 0x18]
push 0x1000
mov edx, dword [eax + 0xa8]
mov dword [esp + 0x74], edx
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4 + 4]
add eax, dword [esi + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edx, [eax + ecx*8]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x78], edx
call fcn.00432660
mov eax, dword [esp + 0x14]
add esp, 4
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
cmp dword [esi + ebx*4 + 4], 0
mov eax, dword [esi + ebx*4 + 8]
cdq
je 0x43e556
add dword [edi + 0x1f0], eax
mov eax, dword [esp + 0x10]
adc dword [edi + 0x1f4], edx
inc eax
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
jmp 0x439170
mov ecx, dword [esp + 0x18]
add dword [ecx + 0x90], eax
mov eax, ecx
adc dword [eax + 0x94], edx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
cmp dword [esi + ebx*4 + 4], 0
je 0x43e5a2
mov eax, dword [edi + 0x1f0]
or eax, dword [edi + 0x1f4]
jne 0x43b7a3
mov eax, dword [esi + ebx*4 + 8]
mov edx, dword [esp + 0x24]
dec eax
inc eax
jmp 0x43916b
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 0x90]
or eax, dword [ecx + 0x94]
jne 0x43b7a3
mov eax, dword [esi + ebx*4 + 8]
mov edx, dword [esp + 0x24]
dec eax
inc eax
jmp 0x43916b
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0xa8]
test edx, edx
je 0x43e600
mov dword [esp + 0x74], edx
mov eax, dword [edx + 0x44]
test eax, eax
je 0x43e5f1
mov edx, eax
mov dword [esp + 0x74], edx
mov eax, dword [edx + 0x44]
test eax, eax
jne 0x43e5e4
mov eax, dword [esi + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea esi, [eax + ecx*8]
jmp 0x43e60e
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
mov dword [esp + 0x70], esi
call fcn.004322b0
mov dword [esi + 0x10], eax
mov ecx, 0xbf04
movzx eax, word [esi + 0x1c]
and ax, cx
mov dword [esi + 0x14], edx
mov ecx, dword [esp + 0x28]
or ax, 4
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ebx*4 + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004322b0
mov dword [esi + 0x10], eax
mov ecx, 0xbf04
movzx eax, word [esi + 0x1c]
and ax, cx
mov dword [esi + 0x14], edx
mov ecx, dword [esi + 0x10]
or ax, 4
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x70]
cmp dword [eax + 0x14], edx
jg 0x43d2b2
jl 0x43e681
cmp dword [eax + 0x10], ecx
jae 0x43d2b2
mov esi, dword [esp + 0x20]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
cmp dword [edx + eax*8 + 0x14], 0
jl 0x43b7a3
jg 0x43e6c0
cmp dword [edx + eax*8 + 0x10], 0
jbe 0x43b7a3
mov eax, dword [esi + ebx*4 + 8]
mov edx, dword [esp + 0x24]
dec eax
inc eax
jmp 0x43916b
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
cmp dword [edx + eax*8 + 0x14], 0
jg 0x43b7a3
jl 0x43e6c0
cmp dword [edx + eax*8 + 0x10], 0
jae 0x43b7a3
mov eax, dword [esi + ebx*4 + 8]
mov edx, dword [esp + 0x24]
dec eax
inc eax
jmp 0x43916b
mov eax, dword [esi + ebx*4 + 4]
mov edi, dword [esp + 0x28]
lea ecx, [eax + eax*4]
mov eax, dword [esi + ebx*4 + 0xc]
cdq
add dword [edi + ecx*8 + 0x10], eax
mov eax, edi
adc dword [eax + ecx*8 + 0x14], edx
mov edx, edi
mov eax, dword [eax + ecx*8 + 0x10]
mov edi, dword [esp + 0x1c]
or eax, dword [edx + ecx*8 + 0x14]
jne 0x43b7a3
mov eax, dword [esi + ebx*4 + 8]
mov edx, dword [esp + 0x24]
dec eax
inc eax
jmp 0x43916b
movzx ecx, byte [esi + ebx*4 + 3]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x70], ecx
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x7c], edx
mov esi, dword [eax + 0xc]
xor eax, eax
mov dword [esp + 0xc0], esi
mov dword [esp + 0x74], eax
test ecx, ecx
jle 0x43e7a0
mov dword [esi + eax*4], edx
mov ecx, dword [esp + 0x7c]
call fcn.00438e30
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x7c]
inc eax
add edx, 0x28
mov dword [esp + 0x74], eax
mov dword [esp + 0x7c], edx
cmp eax, dword [esp + 0x70]
jge 0x43e7a0
mov esi, dword [esp + 0xc0]
jmp 0x43e771
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + ebx*4 + 0x10]
mov dword [esp + 0x80], eax
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x78], eax
mov dword [esp + 0xb0], eax
inc dword [eax + 0x18]
mov eax, 1
mov ecx, dword [esp + 0x80]
mov word [esp + 0xa4], ax
mov dword [esp + 0x8c], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0x88], edi
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
test byte [ecx + 3], 8
je 0x43e82e
mov eax, dword [edx + ebx*4 - 4]
mov dword [esp + 0xb8], eax
push dword [esp + 0xc0]
lea eax, [esp + 0x84]
push dword [esp + 0x74]
push eax
mov eax, dword [ecx + 0x10]
call eax
add esp, 0xc
cmp dword [esp + 0xb4], 0
je 0x43e883
mov dl, 1
lea ecx, [esp + 0x88]
call fcn.00432df0
push eax
mov eax, dword [esp + 0x1c]
push 0x548db4
add eax, 0x38
push edi
push eax
call fcn.004194c0
mov eax, dword [esp + 0xc4]
add esp, 0x10
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x88]
call fcn.00432220
mov eax, dword [esp + 0x14]
jmp 0x43ce5e
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x70], ecx
mov edx, dword [esi + ebx*4 + 0x10]
call fcn.00432130
mov dword [esp + 0x14], eax
test eax, eax
je 0x43e8dd
mov ecx, dword [esp + 0x70]
mov dl, 1
call fcn.00432df0
push eax
mov eax, dword [esp + 0x1c]
push 0x548db4
add eax, 0x38
push edi
push eax
call fcn.004194c0
add esp, 0x10
movzx edx, byte [esp + 0x43]
mov ecx, dword [esp + 0x70]
call fcn.00431e30
mov eax, dword [esp + 0x70]
movzx ecx, word [eax + 0x1c]
test cl, 0x12
je case.0x4391fd.17
mov edx, dword [eax + 0x18]
test ecx, 0x4000
je 0x43e90a
add edx, dword [eax + 0x10]
mov eax, dword [eax]
jmp 0x439eac
lea eax, [esp + 0x7c]
mov dword [esp + 0x74], 0
push eax
lea eax, [esp + 0x7c]
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x7c], 0xffffffff
mov ecx, edi
mov edx, dword [esi + ebx*4 + 4]
push eax
push dword [esi + ebx*4 + 8]
call fcn.00475f00
mov edx, eax
add esp, 0xc
mov dword [esp + 0x14], edx
cmp edx, 5
jne 0x43e963
mov dword [esp + 0x14], 0
mov dword [esp + 0x74], 1
mov edx, dword [esp + 0x28]
xor eax, eax
mov dword [esp + 0x70], eax
mov ecx, dword [esi + ebx*4 + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x80], ecx
nop
mov eax, dword [esp + eax*4 + 0x74]
cdq
push edx
push eax
call fcn.00432590
mov eax, dword [esp + 0x78]
add esp, 8
mov ecx, dword [esp + 0x80]
inc eax
add ecx, 0x28
mov dword [esp + 0x70], eax
mov dword [esp + 0x80], ecx
cmp eax, 3
jl 0x43e980
mov eax, dword [esp + 0x14]
jmp 0x43ce5e
mov esi, dword [esi + ebx*4 + 0xc]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x78], esi
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [edi + 8]
add ecx, ecx
cmp esi, 0xffffffff
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x70], eax
mov dword [esp + 0x30], eax
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov dword [esp + 0x74], edi
movzx edx, byte [edi + 5]
cmove esi, edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], esi
cmp byte [edi + 0x10], 3
jae 0x43ea0f
mov eax, dword [edi + 0x40]
cmp dword [eax], 0
je 0x43ea15
cmp dword [edi + 0x4c], 0
jl 0x43ea15
jg 0x43ea0f
cmp dword [edi + 0x48], 0
jbe 0x43ea15
mov esi, edx
mov dword [esp + 0x78], esi
mov ecx, dword [edi + 0x90]
mov dword [esp + 0x80], ecx
cmp esi, 5
jne 0x43ea51
call fcn.0041b2a0
test eax, eax
je 0x43ea46
cmp byte [edi + 4], 0
mov eax, dword [edi + 0x3c]
mov eax, dword [eax]
jne 0x43ea51
cmp dword [eax], 2
jl 0x43ea46
cmp dword [eax + 0x34], 0
jne 0x43ea51
mov esi, edx
mov dword [esp + 0x78], esi
jmp 0x43eaf4
cmp esi, edx
je 0x43eaf4
cmp edx, 5
je 0x43ea67
cmp esi, 5
jne 0x43eaf4
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x1c], 0
je 0x43facb
cmp dword [eax + 0x8c], 1
jg 0x43facb
cmp edx, 5
jne 0x43eaad
mov ecx, edi
call fcn.00425be0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43eae2
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
call fcn.00425990
mov esi, dword [esp + 0x78]
mov ecx, dword [esp + 0x70]
jmp 0x43eacc
cmp edx, 4
jne 0x43eac8
mov edx, 2
mov ecx, edi
call fcn.00425990
mov esi, dword [esp + 0x78]
mov ecx, dword [esp + 0x70]
jmp 0x43eacc
mov ecx, dword [esp + 0x30]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.004310f0
mov dword [esp + 0x14], eax
test eax, eax
je 0x43eaec
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x78], esi
jmp 0x43eaf0
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x74]
mov edx, esi
mov ecx, edi
call fcn.00425990
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, 0xa02
mov word [ebx + 0x1c], ax
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x2c], ebx
cmp ecx, 6
jne 0x43eb2d
xor ecx, ecx
jmp 0x43eb34
mov ecx, dword [ecx*4 + 0x545184]
mov dword [ebx + 4], ecx
call fcn.0041b2a0
movzx edx, byte [esp + 0x43]
mov ecx, ebx
mov dword [ebx + 0x18], eax
mov byte [ebx + 0x1f], 1
call fcn.00431e30
jmp 0x43ce56
mov ecx, dword [esp + 0x18]
mov edx, edi
lea ecx, [ecx + 0x38]
call fcn.00469820
mov dword [esp + 0x14], eax
jmp 0x43ce5e
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [edi + 8]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [esp + 0x70], ecx
call fcn.0042b100
mov dword [esp + 0x14], eax
cmp eax, 0x65
jne 0x43ce5e
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x43ce5e
cmp dword [esi + ebx*4 + 4], 0
jne 0x43ebc2
mov ecx, edi
call fcn.00436a00
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov byte [eax + 0x63], 1
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
jmp 0x439170
mov al, byte [esi + ebx*4 + 0xc]
mov byte [esp + 0x68], al
test al, al
jne 0x43ebf5
test dword [edi + 0xc], 0x80000
jne case.0x4391fd.17
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [edi + 8]
add eax, eax
push dword [esp + 0x68]
mov edx, dword [esi + ebx*4 + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00430f90
add esp, 4
mov dword [esp + 0x14], eax
cmp al, 6
jne 0x43ce5e
push dword [esi + ebx*4 + 0x10]
mov eax, dword [esp + 0x1c]
push str.database_table_is_locked:__s
add eax, 0x38
push edi
push eax
call fcn.004194c0
mov eax, dword [esp + 0x24]
add esp, 0x10
jmp 0x43ce5e
mov edx, dword [esi + ebx*4 + 0x10]
mov ecx, edi
mov dword [esp + 0x70], edx
call fcn.0046abd0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x70]
test eax, eax
je case.0x4391fd.17
mov edi, dword [eax + 8]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], edi
push dword [eax + 0x38]
mov esi, dword [eax]
push esi
call fcn.004190a0
mov ebx, dword [edi + 8]
add esp, 8
test ebx, ebx
jne 0x43ec84
xor esi, esi
jmp 0x43ecbe
cmp byte [ebx], 0
mov eax, ebx
je 0x43ec96
nop dword [eax + eax]
inc eax
cmp byte [eax], 0
jne 0x43ec90
sub eax, ebx
mov ecx, esi
and eax, 0x3fffffff
lea edi, [eax + 1]
mov edx, edi
call fcn.00419310
mov esi, eax
test esi, esi
je 0x43ecba
push edi
push ebx
push esi
call fcn.004f93a0
add esp, 0xc
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
mov dword [eax + 0x38], esi
push dword [edi + 8]
call fcn.00419000
add esp, 4
mov dword [edi + 8], 0
jmp 0x43ce56
mov eax, dword [esp + 0x18]
mov ecx, edi
mov edx, dword [esi + ebx*4 + 4]
add eax, 0x38
push eax
push dword [esi + ebx*4 + 0x10]
call fcn.0046a720
add esp, 8
mov dword [esp + 0x14], eax
jmp 0x43ce5e
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], 0
mov byte [eax + 0x66], 2
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [edi + 8]
add ecx, ecx
mov edx, dword [esi + ebx*4 + 0x10]
push dword [eax + ecx*8]
mov ecx, edi
call fcn.0044c230
mov edi, eax
add esp, 4
test edi, edi
je 0x43ed95
cmp dword [edi + 0x34], 0
je 0x43ed84
mov ecx, dword [esp + 0x1c]
mov edx, edi
call fcn.00469d30
mov esi, eax
mov ecx, dword [esi + 4]
push dword [esi + 8]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x14]
call ecx
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43ed97
mov dword [esi + 8], eax
mov dword [edi + 0x34], eax
add dword [esi + 0xc], 0xffffffff
mov edi, dword [esi]
jne 0x43ed97
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x43ed7a
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 0x10]
call eax
add esp, 4
push esi
push edi
call fcn.004190a0
add esp, 8
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov byte [esi + 0x66], 0
jmp 0x43ce5a
xor eax, eax
mov esi, dword [esp + 0x18]
mov byte [esi + 0x66], 0
jmp 0x43ce5a
mov dword [esp + 0x70], 0
lea edx, [esp + 0x74]
mov dword [esp + 0x74], 0
mov eax, dword [esi + ebx*4 + 0x10]
push edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x7c], ecx
push ecx
mov eax, dword [ecx]
mov dword [esp + 0x84], eax
mov eax, dword [eax + 0x18]
call eax
mov edi, dword [esp + 0x80]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x44], edi
push dword [eax + 0x38]
mov esi, dword [eax]
push esi
call fcn.004190a0
mov ecx, dword [edi + 8]
add esp, 0x10
mov dword [esp + 0x30], ecx
test ecx, ecx
jne 0x43ee03
xor esi, esi
jmp 0x43ee41
cmp byte [ecx], 0
mov eax, ecx
je 0x43ee16
nop word [eax + eax]
inc eax
cmp byte [eax], 0
jne 0x43ee10
sub eax, ecx
mov ecx, esi
and eax, 0x3fffffff
lea edi, [eax + 1]
mov edx, edi
call fcn.00419310
mov esi, eax
test esi, esi
je 0x43ee3d
push edi
push dword [esp + 0x34]
push esi
call fcn.004f93a0
add esp, 0xc
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x18]
mov dword [eax + 0x38], esi
push dword [edi + 8]
call fcn.00419000
mov eax, dword [esp + 0x18]
add esp, 4
mov dword [edi + 8], 0
test eax, eax
jne 0x43ce5a
mov eax, dword [esp + 0x74]
xor esi, esi
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x18]
mov dword [eax], ecx
mov eax, dword [esp + 0x20]
mov ebx, dword [eax + ebx*4 + 4]
mov eax, dword [edx + 0x18]
sub eax, ebx
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
lea eax, [eax + ecx*8]
mov dword [esp + 0x30], eax
mov eax, dword [edx + 0x44]
mov edi, dword [eax + ebx*4]
test edi, edi
je 0x43eeeb
mov eax, dword [esp + 0x18]
mov edx, edi
mov ecx, dword [eax]
call fcn.00441160
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x43eeb5
call fcn.00429f20
jmp 0x43eec0
mov ecx, dword [edi]
test ecx, ecx
je 0x43eec0
call fcn.0042b9e0
mov ecx, dword [edi + 0x24]
test ecx, ecx
je 0x43eee1
mov eax, dword [edi + 0x28]
mov edi, dword [esp + 0x18]
push ecx
mov byte [edi + 0x66], 1
mov eax, dword [eax + 0x1c]
call eax
add esp, 4
mov byte [edi + 0x66], 0
jmp 0x43eee5
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0x44]
mov dword [eax + ebx*4], esi
mov edi, dword [esp + 0x30]
mov edx, 0x68
push 0
mov ecx, edi
call fcn.00431e50
add esp, 4
test eax, eax
jne 0x43ef2c
mov eax, dword [esp + 0x18]
mov esi, dword [edi + 4]
push 0x68
push 0
mov eax, dword [eax + 0x44]
push esi
mov dword [eax + ebx*4], esi
call fcn.004f8b70
add esp, 0xc
mov dword [esi + 0xc], 0xffffffff
mov dword [esi + 0x14], 0
mov dword [esp + 0x70], esi
test esi, esi
je 0x43ef4f
mov eax, dword [esp + 0x74]
mov dword [esi + 0x24], eax
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [esp + 0x70]
mov dword [eax + 0x28], ecx
jmp 0x43d2ae
mov edi, dword [esp + 0x1c]
mov byte [edi + 0x1e], 1
mov eax, dword [esp + 0x7c]
push dword [esp + 0x74]
mov eax, dword [eax + 0x1c]
call eax
mov eax, dword [esp + 0x18]
add esp, 4
jmp 0x43ce5e
mov eax, dword [esi + ebx*4 + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], edx
lea esi, [edx + 0x28]
mov dword [esp + 0x80], esi
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x8c], eax
mov edi, dword [eax + 0x24]
mov dword [esp + 0x84], edi
mov eax, dword [edi]
mov dword [esp + 0x88], eax
mov eax, dword [eax]
mov dword [esp + 0x78], eax
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x70], eax
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x90], 0
mov edx, dword [ecx + 0xc]
xor ecx, ecx
mov dword [esp + 0x98], edx
mov dword [esp + 0x94], ecx
test eax, eax
jle 0x43f05a
nop word [eax + eax]
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov ecx, dword [ecx + eax*4]
call fcn.00438e30
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x70]
inc ecx
mov edx, dword [esp + 0x98]
mov dword [esp + 0x94], ecx
cmp ecx, eax
jge 0x43f049
mov esi, dword [esp + 0x80]
jmp 0x43f000
mov edi, dword [esp + 0x84]
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0x74]
jmp 0x43f062
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
push edx
push eax
mov eax, dword [esp + 0x28]
mov byte [ebx + 0x66], 1
mov ebx, dword [esp + 0x38]
push dword [eax + ebx*4 + 0x10]
mov eax, dword [ecx + 0x20]
push esi
push edi
call eax
mov edi, dword [esp + 0x9c]
add esp, 0x14
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x3c], edi
push dword [eax + 0x38]
mov esi, dword [eax]
push esi
mov byte [eax + 0x66], 0
call fcn.004190a0
mov ecx, dword [edi + 8]
add esp, 8
mov dword [esp + 0x30], ecx
test ecx, ecx
jne 0x43f0b6
xor esi, esi
jmp 0x43f0f1
cmp byte [ecx], 0
mov eax, ecx
je 0x43f0c6
nop dword [eax]
inc eax
cmp byte [eax], 0
jne 0x43f0c0
sub eax, ecx
mov ecx, esi
and eax, 0x3fffffff
lea edi, [eax + 1]
mov edx, edi
call fcn.00419310
mov esi, eax
test esi, esi
je 0x43f0ed
push edi
push dword [esp + 0x34]
push esi
call fcn.004f93a0
add esp, 0xc
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x18]
mov dword [eax + 0x38], esi
push dword [edi + 8]
call fcn.00419000
add esp, 4
mov dword [edi + 8], 0
cmp dword [esp + 0x14], 0
jne 0x43f12d
mov eax, dword [esp + 0x78]
push dword [esp + 0x84]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [esp + 0x90], eax
jmp 0x43f134
mov eax, dword [esp + 0x90]
test eax, eax
je 0x43f145
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ebx*4 + 8]
dec eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x8c]
mov byte [eax + 0x1c], 0
jmp 0x43ce56
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x44]
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + ebx*4 + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x78], ecx
cmp byte [edi + 0x1c], 0
je 0x43f196
call fcn.00432540
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
inc eax
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [edi + 0x24]
push 0x40
push 0
mov eax, dword [eax]
mov dword [esp + 0x78], eax
mov eax, dword [eax]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x88]
push eax
call fcn.004f8b70
mov esi, dword [esp + 0x84]
lea ecx, [esp + 0x94]
add esp, 0xc
call fcn.00432220
movups xmm0, xmmword [esi]
mov eax, 1
movups xmmword [esp + 0x88], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [esp + 0x98], xmm0
movq xmm0, qword [esi + 0x20]
movq qword [esp + 0xa8], xmm0
mov word [esi + 0x1c], ax
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov eax, dword [esp + 0xa4]
and eax, 0xbf01
or eax, 1
mov word [esp + 0xa4], ax
mov eax, dword [esp + 0x20]
push dword [eax + ebx*4 + 8]
lea eax, [esp + 0x84]
push eax
mov eax, dword [esp + 0x7c]
push dword [edi + 0x24]
mov eax, dword [eax + 0x2c]
call eax
mov edi, dword [esp + 0x7c]
add esp, 0xc
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], edi
push dword [eax + 0x38]
mov esi, dword [eax]
push esi
call fcn.004190a0
mov ebx, dword [edi + 8]
add esp, 8
test ebx, ebx
jne 0x43f267
xor esi, esi
jmp 0x43f29e
cmp byte [ebx], 0
mov eax, ebx
je 0x43f276
nop
inc eax
cmp byte [eax], 0
jne 0x43f270
sub eax, ebx
mov ecx, esi
and eax, 0x3fffffff
lea edi, [eax + 1]
mov edx, edi
call fcn.00419310
mov esi, eax
test esi, esi
je 0x43f29a
push edi
push ebx
push esi
call fcn.004f93a0
add esp, 0xc
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
mov dword [eax + 0x38], esi
push dword [edi + 8]
call fcn.00419000
mov ecx, dword [esp + 0x18]
add esp, 4
movzx edx, byte [esp + 0x43]
mov dword [edi + 8], 0
mov eax, dword [esp + 0xb4]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x88]
call fcn.00431e30
mov esi, dword [esp + 0x78]
mov ecx, esi
call fcn.00432220
movups xmm0, xmmword [esp + 0x88]
mov eax, 1
movups xmmword [esi], xmm0
movups xmm0, xmmword [esp + 0x98]
movups xmmword [esi + 0x10], xmm0
movq xmm0, qword [esp + 0xa8]
movq qword [esi + 0x20], xmm0
mov word [esp + 0xa4], ax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
movzx ecx, word [eax + 0x1c]
test cl, 0x12
je 0x43ce56
mov edx, dword [eax + 0x18]
test ecx, 0x4000
je 0x43f34e
add edx, dword [eax + 0x10]
mov eax, dword [eax]
mov edi, dword [esp + 0x1c]
jmp 0x439eac
mov dword [esp + 0x78], 0
mov ecx, dword [esi + ebx*4 + 4]
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x7c], ecx
cmp byte [ecx + 0x1c], 0
jne case.0x4391fd.17
mov eax, dword [ecx + 0x24]
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov eax, dword [eax]
mov dword [esp + 0x74], eax
mov byte [esi + 0x66], 1
push dword [ecx + 0x24]
mov eax, dword [eax + 0x24]
call eax
mov edi, dword [esp + 0x74]
add esp, 4
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov byte [esi + 0x66], 0
mov esi, dword [esi]
mov dword [esp + 0x3c], edi
push dword [eax + 0x38]
push esi
call fcn.004190a0
mov ecx, dword [edi + 8]
add esp, 8
mov dword [esp + 0x30], ecx
test ecx, ecx
jne 0x43f3cc
xor esi, esi
jmp 0x43f404
cmp byte [ecx], 0
mov eax, ecx
je 0x43f3d9
inc eax
cmp byte [eax], 0
jne 0x43f3d3
sub eax, ecx
mov ecx, esi
and eax, 0x3fffffff
lea edi, [eax + 1]
mov edx, edi
call fcn.00419310
mov esi, eax
test esi, esi
je 0x43f400
push edi
push dword [esp + 0x34]
push esi
call fcn.004f93a0
add esp, 0xc
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x18]
mov dword [eax + 0x38], esi
push dword [edi + 8]
call fcn.00419000
add esp, 4
mov dword [edi + 8], 0
cmp dword [esp + 0x14], 0
jne 0x43f43d
mov eax, dword [esp + 0x7c]
push dword [eax + 0x24]
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [esp + 0x78], eax
jmp 0x43f441
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0x1c]
test eax, eax
jne case.0x4391fd.17
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ebx*4 + 8]
dec eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
jmp 0x43ce5e
mov eax, dword [esi + ebx*4 + 0x10]
mov edx, 1
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 8]
mov dword [esp + 0x70], eax
mov eax, dword [esi + ebx*4 + 4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x74], ecx
call fcn.00431e30
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43ce5e
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
mov edx, dword [ecx]
push dword [eax + 4]
push ecx
mov eax, dword [edx + 0x4c]
call eax
mov edi, dword [esp + 0x78]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x38], edi
push dword [eax + 0x38]
mov esi, dword [eax]
push esi
call fcn.004190a0
mov ebx, dword [edi + 8]
add esp, 0x10
test ebx, ebx
jne 0x43f4d2
xor esi, esi
jmp 0x43f50e
cmp byte [ebx], 0
mov eax, ebx
je 0x43f4e6
nop dword [eax]
inc eax
cmp byte [eax], 0
jne 0x43f4e0
sub eax, ebx
mov ecx, esi
and eax, 0x3fffffff
lea edi, [eax + 1]
mov edx, edi
call fcn.00419310
mov esi, eax
test esi, esi
je 0x43f50a
push edi
push ebx
push esi
call fcn.004f93a0
add esp, 0xc
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
mov dword [eax + 0x38], esi
push dword [edi + 8]
call fcn.00419000
mov eax, dword [esp + 0x1c]
add esp, 4
mov dword [edi + 8], 0
mov byte [eax + 0x63], 0
jmp 0x43ce56
mov eax, dword [esi + ebx*4 + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x70], eax
mov eax, dword [eax]
mov dword [esp + 0x74], eax
mov edx, dword [esi + ebx*4 + 8]
mov dword [esp + 0x78], edx
cmp dword [eax + 0x34], 0
je case.0x4391fd.17
mov al, byte [edi + 0x22]
mov ecx, dword [esp + 0x28]
mov byte [esp + 0x53], al
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x88], eax
mov eax, dword [esi + ebx*4 + 0xc]
mov dword [esp + 0x7c], 0
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x8c], ecx
test edx, edx
jle 0x43f5ca
nop dword [eax]
call fcn.00438e30
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x8c]
inc eax
add ecx, 0x28
mov dword [esp + 0x7c], eax
mov dword [esp + 0x8c], ecx
cmp eax, dword [esp + 0x78]
jl 0x43f590
mov al, byte [esi + ebx*4 + 3]
mov byte [edi + 0x22], al
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x8c]
mov eax, dword [esp + 0x7c]
push dword [esp + 0x80]
push dword [esp + 0x7c]
mov eax, dword [eax + 0x34]
call eax
mov dword [esp + 0x24], eax
mov al, byte [esp + 0x63]
mov byte [edi + 0x22], al
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x80]
mov dword [esp + 0x4c], edi
push dword [eax + 0x38]
mov esi, dword [eax]
push esi
call fcn.004190a0
mov ecx, dword [edi + 8]
add esp, 0x18
mov dword [esp + 0x30], ecx
test ecx, ecx
jne 0x43f62b
xor esi, esi
jmp 0x43f663
cmp byte [ecx], 0
mov eax, ecx
je 0x43f638
inc eax
cmp byte [eax], 0
jne 0x43f632
sub eax, ecx
mov ecx, esi
and eax, 0x3fffffff
lea edi, [eax + 1]
mov edx, edi
call fcn.00419310
mov esi, eax
test esi, esi
je 0x43f65f
push edi
push dword [esp + 0x34]
push esi
call fcn.004f93a0
add esp, 0xc
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x18]
mov dword [eax + 0x38], esi
push dword [edi + 8]
call fcn.00419000
mov eax, dword [esp + 0x18]
add esp, 4
mov dword [edi + 8], 0
test eax, eax
jne 0x43f6c5
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
cmp dword [ecx + ebx*4 + 4], eax
je 0x43f707
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov esi, dword [esp + 0x18]
mov dword [edi + 0x30], eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x84]
mov dword [edi + 0x34], eax
mov eax, dword [esp + 0x14]
inc dword [esi + 0x6c]
mov dword [esp + 0x4c], ecx
jmp 0x43ce5e
cmp eax, 0x13
jne 0x43f703
mov esi, dword [esp + 0x20]
mov eax, dword [esi + ebx*4 + 0x10]
cmp byte [eax + 0x10], 0
je 0x43f6ff
cmp byte [esi + ebx*4 + 3], 4
jne 0x43fb31
xor eax, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
inc eax
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
jmp 0x439170
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
inc dword [esi + 0x6c]
jmp 0x43ce5e
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [edi + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2c]
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [edx + 0x14], 0
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
jmp 0x439170
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [edi + 8]
add ecx, ecx
xor edi, edi
mov esi, dword [eax + ecx*8 + 4]
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + ebx*4 + 0xc]
test ecx, ecx
je 0x43f768
mov eax, dword [esi + 4]
mov edi, dword [eax + 0x2c]
cmp edi, ecx
cmovb edi, ecx
mov ecx, esi
call fcn.004282c0
mov eax, dword [esi + 4]
mov eax, dword [eax]
test edi, edi
jle 0x43f77e
mov dword [eax + 0x84], edi
cmp byte [esi + 9], 0
mov edi, dword [eax + 0x84]
je 0x43f7a8
add dword [esi + 0xc], 0xffffffff
jne 0x43f7a8
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x38]
test ecx, ecx
je 0x43f7a4
push ecx
call dword [0x55f494]
add esp, 4
mov byte [esi + 0xa], 0
mov ecx, dword [esp + 0x2c]
mov eax, edi
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp 0x43d2ae
cmp dword [edi + 0x98], 0
je case.0x4391fd.17
mov edx, dword [esi + ebx*4 + 0x10]
mov eax, dword [esp + 0x18]
test edx, edx
jne 0x43f7d9
mov edx, dword [eax + 0xa0]
mov dword [esp + 0x70], edx
test edx, edx
je case.0x4391fd.17
mov ecx, eax
call fcn.00438a50
push eax
mov dword [esp + 0x78], eax
push dword [edi + 0x9c]
mov eax, dword [edi + 0x98]
call eax
push dword [esp + 0x7c]
push edi
call fcn.004190a0
mov eax, dword [esp + 0x24]
add esp, 0x10
jmp 0x43ce5e
mov eax, 9
mov dword [esp + 0x14], eax
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
push dword [ecx + 0x38]
mov dword [ecx + 0x5c], eax
push dword [ecx + 0xa0]
push esi
push str.statement_aborts_at__d:___s___s
push eax
call fcn.0041aa70
mov ecx, dword [esp + 0x2c]
add esp, 0x14
call fcn.00435540
cmp dword [esp + 0x14], 0xc0a
jne 0x43f858
mov byte [edi + 0x1e], 1
mov al, byte [esp + 0x47]
mov esi, 1
test al, al
je 0x43f870
movzx edx, al
mov ecx, edi
dec edx
call fcn.0044c5b0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x30], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0x34], ecx
mov ecx, dword [esp + 0x18]
call fcn.004340b0
mov ecx, dword [esp + 0x13c]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004f5c8b
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + ebx*4 + 4]
mov dword [edx + 0x5c], ecx
mov al, byte [esi + ebx*4 + 8]
mov esi, dword [esp + 0x10]
mov byte [edx + 0x60], al
mov dword [edx + 0x58], esi
mov edx, dword [esp + 0x20]
mov eax, dword [edx + ebx*4 + 0x10]
test eax, eax
je 0x43f8f9
push eax
push 0x548db4
push edi
mov edi, dword [esp + 0x24]
lea eax, [edi + 0x38]
push eax
call fcn.004194c0
mov eax, dword [esp + 0x30]
push dword [eax + ebx*4 + 0x10]
push dword [edi + 0xa0]
push esi
push str.abort_at__d_in___s_:__s
push dword [eax + ebx*4 + 4]
call fcn.0041aa70
add esp, 0x24
jmp 0x43f919
test ecx, ecx
je 0x43f919
mov eax, dword [esp + 0x18]
push dword [eax + 0xa0]
push esi
push str.constraint_failed_at__d_in___s_
push dword [edx + ebx*4 + 4]
call fcn.0041aa70
add esp, 0x10
mov ebx, dword [esp + 0x18]
mov ecx, ebx
call fcn.00435540
cmp eax, 5
jne 0x43fc11
mov esi, eax
mov dword [ebx + 0x5c], esi
jmp 0x43f870
cmp byte [edi + 0x1e], 0
jne 0x43fcc0
mov ecx, dword [esp + 0x18]
mov esi, 0x64
mov eax, dword [esp + 0x10]
inc eax
mov dword [ecx + 0x58], eax
jmp 0x43f870
lea ecx, [esp + 0x80]
call fcn.00432220
jmp 0x43fcc0
mov eax, 0x14
mov dword [esp + 0x14], eax
jmp 0x43fa13
push str.cannot_open_savepoint___SQL_statements_in_progress
mov eax, dword [esp + 0x1c]
add eax, 0x38
push edi
push eax
call fcn.004194c0
mov esi, dword [esp + 0x1c]
mov eax, 5
add esp, 0xc
mov dword [esp + 0x14], eax
inc esi
jmp 0x43f822
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov dword [eax + 0x58], esi
mov esi, 5
mov byte [edi + 0x1c], 0
mov dword [eax + 0x5c], esi
jmp 0x43f870
mov edi, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x1c]
push str.no_such_savepoint:__s
add eax, 0x38
push edi
push eax
call fcn.004194c0
mov esi, dword [esp + 0x20]
mov eax, 1
add esp, 0x10
mov dword [esp + 0x14], eax
inc esi
jmp 0x43f822
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov dword [eax + 0x58], esi
mov esi, 5
mov dword [eax + 0x5c], esi
jmp 0x43f870
mov ecx, 0x1094b
call fcn.004771e0
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
cmp byte [edi + 0x1e], 0
je 0x43fa59
mov eax, 7
mov dword [esp + 0x14], eax
jmp 0x43fa64
mov esi, dword [esp + 0x10]
mov eax, 4
mov dword [esp + 0x14], eax
inc esi
jmp 0x43f822
mov eax, 0xd
jmp 0x43fa0b
mov esi, dword [esp + 0x10]
mov eax, 7
mov edi, dword [esp + 0x1c]
inc esi
mov dword [esp + 0x14], eax
jmp 0x43f822
cmp eax, 0xc0a
je 0x43f81e
mov ecx, eax
call fcn.00475560
push eax
push 0x548db4
lea eax, [esi + 0x38]
push edi
push eax
call fcn.004194c0
mov eax, dword [esp + 0x24]
add esp, 0x10
jmp 0x43f81e
mov esi, dword [esp + 0x18]
mov eax, 6
mov dword [esp + 0x14], eax
mov byte [esi + 0x60], 2
mov esi, dword [esp + 0x10]
inc esi
jmp 0x43f822
push str.too_many_levels_of_trigger_recursion
lea eax, [ecx + 0x38]
mov dword [esp + 0x18], 1
push edi
push eax
call fcn.004194c0
mov esi, dword [esp + 0x1c]
add esp, 0xc
inc esi
mov eax, 1
jmp 0x43f822
mov edi, dword [esp + 0x1c]
mov ecx, str.out_of
cmp esi, 5
mov dword [esp + 0x14], 1
mov eax, str.into
cmovne eax, ecx
push eax
mov eax, dword [esp + 0x1c]
push str.cannot_change__s_wal_mode_from_within_a_transaction
add eax, 0x38
push edi
push eax
call fcn.004194c0
mov esi, dword [esp + 0x20]
add esp, 0x10
inc esi
mov eax, 1
jmp 0x43f822
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push str.string_or_blob_too_big
add eax, 0x38
push edi
push eax
call fcn.004194c0
add esp, 0xc
mov eax, 0x12
jmp 0x43f81a
mov al, byte [esi + ebx*4 + 3]
cmp al, 5
jne 0x43fb40
mov eax, 2
jmp 0x43fb43
movzx eax, al
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov byte [esi + 0x60], al
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
inc esi
jmp 0x43f822
mov edx, dword [esi + ebx*4 + 4]
mov dword [esp + 0x70], edx
mov ecx, dword [esi + ebx*4 + 8]
mov dword [esp + 0x74], ecx
test edx, edx
je 0x43fba8
cmp byte [edi + 0x1c], 0
jne 0x43fba8
mov dword [esp + 0x78], 1
test ecx, ecx
je 0x43fb95
cmp dword [edi + 0x8c], 1
jle 0x43fbb0
push str.cannot_rollback_transaction___SQL_statements_in_progress
jmp 0x43f97b
cmp dword [edi + 0x90], 0
jle 0x43fbb0
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x43f97b
mov dword [esp + 0x78], 0
movzx eax, byte [edi + 0x1c]
cmp edx, eax
jne 0x43fbf7
test edx, edx
jne 0x43fbc3
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x43fbd2
test ecx, ecx
mov eax, str.cannot_rollback___no_transaction_is_active
mov edx, str.cannot_commit___no_transaction_is_active
cmove eax, edx
push eax
mov eax, dword [esp + 0x1c]
add eax, 0x38
push edi
push eax
call fcn.004194c0
mov esi, dword [esp + 0x1c]
mov eax, 1
add esp, 0xc
mov dword [esp + 0x14], eax
inc esi
jmp 0x43f822
test ecx, ecx
je 0x43fc27
mov ecx, edi
call fcn.00475480
mov ebx, dword [esp + 0x18]
mov byte [edi + 0x1c], 1
mov ecx, edi
call fcn.00474ea0
cmp dword [ebx + 0x5c], 0
mov esi, 0x65
mov eax, 1
cmovne esi, eax
jmp 0x43f870
mov ebx, dword [esp + 0x18]
mov edx, 1
mov ecx, ebx
call fcn.004354e0
mov esi, eax
test esi, esi
jne 0x43f870
mov al, byte [esp + 0x70]
mov ecx, ebx
mov byte [edi + 0x1c], al
call fcn.00435540
cmp eax, 5
jne 0x43fc0a
mov esi, dword [esp + 0x10]
mov al, 1
sub al, byte [esp + 0x70]
mov dword [ebx + 0x58], esi
mov esi, 5
mov byte [edi + 0x1c], al
mov dword [ebx + 0x5c], esi
jmp 0x43f870
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov dword [eax + 0x5c], 9
mov ecx, str.unknown_error
mov eax, dword [str.interrupted]
test eax, eax
mov dword [esp + 0x14], 9
cmovne ecx, eax
mov eax, dword [esp + 0x18]
push ecx
push 0x548db4
add eax, 0x38
push edi
push eax
call fcn.004194c0
add esp, 0x10
mov eax, 9
jmp 0x43f822
mov edi, edx
jmp 0x43fcc0
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
push str.out_of_memory
add eax, 0x38
mov byte [edi + 0x1e], 1
push edi
push eax
call fcn.004194c0
mov eax, 7
add esp, 0xc
mov dword [esp + 0x14], eax
jmp 0x43f822