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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x12c
mov eax, dword [0x4ad1bc]
xor eax, esp
mov dword [esp + 0x128], eax
mov eax, dword [ecx + 4]
push ebx
mov ebx, dword [ecx]
mov dword [esp + 0x18], eax
push esi
xor esi, esi
mov dword [esp + 0x14], ecx
mov eax, dword [ebx + 8]
push edi
mov edi, dword [ecx + 8]
mov dword [esp + 0x14], esi
mov eax, dword [eax + 0xc]
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x43], 0
mov dword [esp + 0x54], esi
mov al, byte [eax + 0x4d]
mov byte [esp + 0x3f], al
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0x30]
mov dword [esp + 0x44], eax
mov eax, dword [ebx + 0x34]
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x48], eax
call fcn.00424760
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x5c], 7
je 0x42ffce
mov dword [ecx + 0x5c], esi
mov dword [ecx + 0x14], esi
mov dword [ebx + 0x1b4], esi
cmp dword [ebx + 0xe0], esi
jne 0x42ff83
xor edx, edx
mov esi, ecx
cmp dword [ebx + 0x114], edx
setne dl
mov eax, dword [esi + 0x58]
mov dword [esp + 0x24], edx
mov esi, dword [esp + 0x20]
mov dword [esp + 0x10], eax
cmp byte [ebx + 0x1e], 0
jne 0x42ffc6
lea edi, [eax + eax*4]
mov dword [esp + 0x30], edi
test edx, edx
je 0x4297d3
mov eax, dword [esp + 0x54]
cmp dword [ebx + 0x11c], eax
jne 0x4297ce
push dword [ebx + 0x118]
mov eax, dword [ebx + 0x114]
call eax
add esp, 4
test eax, eax
jne 0x42fb1c
inc eax
mov dword [esp + 0x54], eax
test byte [esi + edi*4 + 2], 2
je 0x42980d
mov eax, dword [esi + edi*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 0x429802
mov ecx, edx
call fcn.00422a30
mov edx, dword [esp + 0x2c]
mov eax, 4
mov word [edx + 0x1c], ax
jmp 0x429811
mov edx, dword [esp + 0x2c]
movzx eax, byte [esi + edi*4]
dec eax
cmp eax, 0x93
ja case.0x429821.17
jmp dword [eax*4 + 0x42fff4]
cmp dword [ebx + 0xe0], 0
jne 0x42ff7b
mov eax, dword [esi + edi*4 + 8]
mov edx, dword [esp + 0x24]
jmp 0x429790
mov ecx, dword [esi + edi*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 + edi*4 + 8]
jmp 0x429790
mov eax, dword [esi + edi*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
jmp 0x429790
mov eax, dword [esi + edi*4 + 4]
mov edi, dword [esp + 0x28]
lea ecx, [eax + eax*4]
mov eax, 4
mov word [edi + ecx*8 + 0x1c], ax
mov eax, dword [edi + ecx*8 + 0x10]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x10]
cdq
mov dword [edi + ecx*8 + 0x10], eax
mov dword [edi + ecx*8 + 0x14], edx
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x24]
inc eax
jmp 0x42978c
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
je case.0x429821.17
cmp dword [esi + edi*4 + 4], 0
mov edx, dword [esp + 0x18]
jne 0x42fba9
mov ecx, dword [edx + 0xa8]
test ecx, ecx
je 0x42fba9
mov eax, dword [ecx + 0x3c]
dec dword [edx + 0xb0]
mov dword [edx + 0xa8], eax
mov eax, dword [edx + 0x6c]
add dword [ebx + 0x40], eax
mov dword [ebx + 0x3c], eax
call fcn.004251a0
cmp dword [esi + edi*4 + 8], 4
mov ecx, dword [ebx + 0x30]
mov dword [esp + 0x44], ecx
mov ecx, dword [ebx + 0x34]
mov dword [esp + 0x48], ecx
jne 0x42993e
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 esi, dword [esi + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], ecx
jmp 0x429790
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [esp + 0x2c]
cdq
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x14], edx
inc eax
mov edx, dword [esp + 0x24]
jmp 0x429790
mov ecx, dword [esi + edi*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
jmp 0x429790
mov eax, 8
mov word [edx + 0x1c], ax
mov eax, dword [esi + edi*4 + 0x10]
movsd xmm0, qword [eax]
mov eax, dword [esp + 0x10]
movsd qword [edx + 8], xmm0
inc eax
mov edx, dword [esp + 0x24]
jmp 0x429790
mov ecx, dword [esi + edi*4 + 0x10]
mov byte [esi + edi*4], 9
call fcn.0040c250
cmp byte [esp + 0x3f], 1
mov dword [esi + edi*4 + 4], eax
je 0x429a59
push 0
push 1
mov edx, ecx
mov ecx, dword [esp + 0x34]
push 0xffffffffffffffff
call fcn.00423020
add esp, 0xc
mov dword [esp + 0x14], eax
cmp eax, 0x12
je 0x42fe1b
movzx edx, byte [esp + 0x3f]
mov ecx, dword [esp + 0x2c]
call fcn.004226a0
test eax, eax
jne 0x42ffc6
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 + edi*4 + 1], 0xff
jne 0x429a46
push dword [esi + edi*4 + 0x10]
push ebx
call fcn.00409fe0
mov edx, dword [esp + 0x34]
add esp, 8
mov byte [esi + edi*4 + 1], 0xff
mov eax, dword [edx + 4]
mov dword [esi + edi*4 + 0x10], eax
mov eax, dword [edx + 0x18]
mov dword [esi + edi*4 + 4], eax
mov eax, dword [esi + edi*4 + 4]
cmp eax, dword [ebx + 0x48]
jg 0x42fe1b
mov eax, 0xa02
mov word [edx + 0x1c], ax
mov eax, dword [esi + edi*4 + 0x10]
mov dword [edx + 4], eax
mov eax, dword [esi + edi*4 + 4]
mov dword [edx + 0x18], eax
mov al, byte [esp + 0x3f]
mov byte [edx + 0x1f], al
jmp case.0x429821.17
mov eax, 1
mov word [edx + 0x1c], ax
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
jmp 0x429790
mov edx, dword [esi + edi*4 + 0x10]
push 0
push 0
push dword [esi + edi*4 + 4]
mov edi, dword [esp + 0x38]
mov ecx, edi
call fcn.00423020
mov al, byte [esp + 0x4b]
add esp, 0xc
mov edx, dword [esp + 0x24]
mov byte [edi + 0x1f], al
mov eax, dword [esp + 0x10]
inc eax
jmp 0x429790
mov eax, dword [esi + edi*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 + 0x68], edx
movzx eax, word [edx + 0x1c]
test al, 0x12
je 0x429b12
mov esi, dword [edx + 0x18]
test eax, 0x4000
je 0x429afc
add esi, dword [edx + 0x10]
mov eax, dword [edx]
xor ecx, ecx
cmp esi, dword [eax + 0x48]
setg cl
test ecx, ecx
jne 0x42fe1b
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
push 0x800
call fcn.00422ec0
mov eax, dword [esp + 0x14]
add esp, 4
mov edx, dword [esp + 0x24]
inc eax
jmp 0x429790
mov edx, dword [esi + edi*4 + 0xc]
mov dword [esp + 0x6c], edx
mov eax, dword [esi + edi*4 + 4]
mov dword [esp + 0x70], eax
mov ecx, dword [esi + edi*4 + 8]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x74], ecx
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
lea eax, [ecx + ecx*4]
lea edi, [edi + eax*8]
mov dword [esp + 0x2c], edi
test edx, edx
je 0x429bc7
mov ebx, 1
dec edx
mov ecx, edi
mov dword [esp + 0x6c], edx
mov eax, dword [edi + 0x24]
mov dword [esp + 0x68], eax
mov dword [edi + 0x24], 0
call fcn.00422a90
movups xmm0, xmmword [esi]
lea esi, [esi + 0x28]
movups xmmword [edi], xmm0
movups xmm0, xmmword [esi - 0x18]
movups xmmword [edi + 0x10], xmm0
movq xmm0, qword [esi - 8]
movq qword [edi + 0x20], xmm0
add edi, 0x28
mov dword [esi - 4], 0
mov word [esi - 0xc], bx
mov dword [esi - 8], 0
mov eax, dword [esp + 0x68]
mov dword [esi - 4], eax
mov edx, dword [esp + 0x6c]
test edx, edx
jne 0x429b66
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x2c], edi
mov eax, dword [esp + 0x10]
dec edx
mov dword [esp + 0x6c], edx
inc eax
mov edx, dword [esp + 0x24]
jmp 0x42978c
mov eax, dword [esi + edi*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 + edi*4 + 4]
mov edi, dword [esp + 0x30]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov ecx, edi
call fcn.00422ec0
mov eax, 0x1000
add esp, 4
test word [edi + 0x1c], ax
je 0x42bcac
mov ecx, edi
call fcn.004227e0
test eax, eax
jne 0x42ffc6
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
jmp 0x429790
mov eax, dword [esi + edi*4 + 8]
mov edx, dword [esp + 0x28]
push 0x1000
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [esi + edi*4 + 4]
mov dword [esp + 0x30], ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
call fcn.00422ec0
mov eax, dword [esp + 0x14]
add esp, 4
mov edx, dword [esp + 0x24]
inc eax
jmp 0x429790
mov ecx, dword [esp + 0x18]
xor edx, edx
call fcn.00425be0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42d307
mov ecx, dword [esp + 0x18]
lea edx, [eax + 1]
call fcn.00425ae0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42d307
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 + edi*4 + 4]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov dword [ecx + 0x14], edx
xor ecx, ecx
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ecx
cmp dword [esi + edi*4 + 8], ecx
jle 0x42fc4a
lea eax, [ecx + ecx*4]
mov ebx, 0x1000
test word [edx + eax*8 + 0x1c], bx
lea eax, [edx + eax*8]
mov ebx, dword [esp + 0x1c]
je 0x429cfd
mov ecx, eax
call fcn.004227e0
test eax, eax
jne 0x42ffc6
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
lea eax, [ecx + ecx*4]
lea ecx, [edx + eax*8]
call fcn.004228a0
mov eax, dword [esp + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x68]
lea ecx, [eax + ecx*8]
call fcn.00429460
mov ecx, dword [esp + 0x6c]
inc ecx
mov dword [esp + 0x6c], ecx
cmp ecx, dword [esi + edi*4 + 8]
jge 0x42fc4a
mov edx, dword [esp + 0x68]
jmp 0x429cd0
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [esp + 0x20]
mov eax, dword [eax + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
movzx ecx, word [ebx + 0x1c]
mov al, byte [esi + 0x1c]
or al, cl
mov dword [esp + 0x2c], edi
test al, 1
je 0x429d88
mov ecx, edi
call fcn.00422da0
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
inc eax
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
jmp 0x429790
test ecx, 0x4000
je 0x429d9f
mov ecx, ebx
call fcn.00422840
test eax, eax
jne 0x42ffc2
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x429db9
mov ecx, esi
call fcn.00422840
test eax, eax
jne 0x42ffc2
test byte [ebx + 0x1c], 0x12
jne 0x429dd3
movzx edx, byte [esp + 0x3f]
mov ecx, ebx
call fcn.004228f0
test eax, eax
jne 0x42ffc2
test byte [esi + 0x1c], 0x12
jne 0x429ded
movzx edx, byte [esp + 0x3f]
mov ecx, esi
call fcn.004228f0
test eax, eax
jne 0x42ffc2
mov eax, dword [esi + 0x18]
add eax, dword [ebx + 0x18]
cdq
mov ecx, edx
mov edi, eax
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], ecx
mov eax, dword [edx + 0x48]
cdq
cmp ecx, edx
jg 0x42fe17
jl 0x429e1a
cmp edi, eax
ja 0x42fe17
mov edi, dword [esp + 0x2c]
mov ecx, 0xbf02
mov ax, word [edi + 0x1c]
and ax, cx
mov ecx, edi
or ax, 2
mov word [edi + 0x1c], ax
xor eax, eax
mov edx, dword [esp + 0x68]
cmp edi, esi
sete al
push eax
lea edx, [edx + 2]
call fcn.004226c0
add esp, 4
test eax, eax
jne 0x42ffc2
cmp edi, esi
je 0x429e68
push dword [esi + 0x18]
push dword [esi + 4]
push dword [edi + 4]
call fcn.00474330
add esp, 0xc
push dword [ebx + 0x18]
mov eax, dword [esi + 0x18]
push dword [ebx + 4]
add eax, dword [edi + 4]
push eax
call fcn.00474330
mov eax, dword [esp + 0x74]
add esp, 0xc
mov ecx, dword [edi + 4]
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov byte [eax + ecx], 0
mov eax, dword [esp + 0x68]
mov ecx, dword [edi + 4]
mov byte [ecx + eax + 1], 0
mov eax, 0x200
or word [edi + 0x1c], ax
mov eax, dword [esp + 0x68]
mov dword [edi + 0x18], eax
mov al, byte [esp + 0x3f]
mov byte [edi + 0x1f], al
mov eax, dword [esp + 0x10]
inc eax
jmp 0x429790
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, eax
mov dword [esp + 0x38], eax
call fcn.004295a0
mov eax, dword [esi + edi*4 + 8]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, eax
mov dword [esp + 0x30], eax
call fcn.004295a0
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
movzx ecx, word [esi + 0x1c]
mov dword [esp + 0x2c], eax
movzx eax, word [edx + 0x1c]
or ecx, eax
mov dword [esp + 0x68], ecx
test cl, 1
jne 0x42a1bb
mov al, byte [esi + 0x1c]
and al, byte [edx + 0x1c]
test al, 4
je 0x42a078
mov eax, edx
mov edx, dword [eax + 0x10]
mov dword [esp + 0x70], edx
mov ecx, dword [eax + 0x14]
mov eax, esi
mov dword [esp + 0x74], ecx
mov esi, dword [eax + 0x10]
mov dword [esp + 0x78], esi
mov ebx, dword [eax + 0x14]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], ebx
movzx eax, byte [eax + edi*4]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x429f66
jmp dword [eax*4 + 0x430244]
push ecx
push edx
lea ecx, [esp + 0x80]
call fcn.0040d1f0
add esp, 8
test eax, eax
jne 0x42a06c
mov esi, dword [esp + 0x78]
jmp 0x42a034
test edx, edx
jne 0x429fbc
cmp ecx, 0x80000000
jne 0x429fbc
test ebx, ebx
jg 0x42a06c
jl 0x429fad
test esi, esi
jae 0x42a06c
add esi, 0
adc ebx, 0x80000000
mov dword [esp + 0x7c], ebx
jmp 0x42a030
neg edx
adc ecx, 0
neg ecx
jmp case.0x429f66.86
push ecx
push edx
lea ecx, [esp + 0x80]
call fcn.0040d290
jmp 0x429f7b
mov eax, edx
or eax, ecx
je 0x42a1bb
mov eax, edx
and eax, ecx
cmp eax, 0xffffffff
jne 0x429ff4
test esi, esi
jne 0x429ff4
cmp ebx, 0x80000000
je 0x42a06c
push ecx
push edx
push ebx
push esi
call fcn.004936f0
jmp 0x42a02a
mov eax, edx
or eax, ecx
je 0x42a1bb
mov eax, edx
and eax, ecx
cmp eax, 0xffffffff
jne 0x42a021
mov edx, 1
xor ecx, ecx
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], ecx
push ecx
push edx
push ebx
push esi
call fcn.004937a0
mov dword [esp + 0x7c], edx
mov esi, eax
mov dword [esp + 0x78], esi
mov ecx, dword [esp + 0x2c]
mov edx, 0xbf04
mov ebx, dword [esp + 0x1c]
mov dword [ecx + 0x10], esi
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x20]
mov dword [ecx + 0x14], eax
mov ax, word [ecx + 0x1c]
and ax, dx
mov edx, dword [esp + 0x24]
or ax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [esp + 0x10]
inc eax
jmp 0x429790
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
mov ecx, edx
call fcn.00422bd0
mov ecx, esi
movsd qword [esp + 0x80], xmm0
call fcn.00422bd0
mov esi, dword [esp + 0x20]
movsd qword [esp + 0x88], xmm0
movsd qword [esp + 0x30], xmm0
movzx eax, byte [esi + edi*4]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x42a0ae
jmp dword [eax*4 + 0x430254]
addsd xmm0, qword [esp + 0x80]
jmp 0x42a163
subsd xmm0, qword [esp + 0x80]
jmp 0x42a163
mulsd xmm0, qword [esp + 0x80]
jmp 0x42a163
movsd xmm1, qword [esp + 0x80]
ucomisd xmm1, qword [0x4a8870]
lahf
test ah, 0x44
jnp 0x42a1bb
divsd xmm0, xmm1
jmp 0x42a163
movsd xmm0, qword [esp + 0x80]
call fcn.00493dbf
movsd xmm0, qword [esp + 0x30]
mov esi, eax
mov edi, edx
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], edi
call fcn.00493dbf
mov ecx, esi
mov dword [esp + 0x78], eax
or ecx, edi
mov dword [esp + 0x7c], edx
je 0x42a1bb
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x42a14f
mov esi, 1
xor edi, edi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], edi
push edi
push esi
push edx
push eax
call fcn.004937a0
mov ecx, eax
call fcn.00493f10
mov esi, dword [esp + 0x20]
movsd qword [esp + 0x88], xmm0
call fcn.0040c210
test eax, eax
jne 0x42a1bb
mov edi, dword [esp + 0x2c]
mov ecx, 0xbf08
movsd xmm0, qword [esp + 0x88]
mov ax, word [edi + 0x1c]
and ax, cx
movsd qword [edi + 8], xmm0
or ax, 8
mov word [edi + 0x1c], ax
test byte [esp + 0x68], 8
jne 0x42bcac
mov ecx, edi
call fcn.00422c30
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
jmp 0x429790
mov ecx, dword [esp + 0x2c]
call fcn.00422da0
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
inc eax
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
jmp 0x429790
movzx ecx, byte [esi + edi*4 + 3]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xb4], ecx
mov esi, dword [eax + 0xc]
mov dword [esp + 0xb0], esi
mov eax, dword [edx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [esp + 0x2c], eax
mov eax, dword [edx + edi*4 + 8]
mov edx, ebx
mov ebx, dword [esp + 0x1c]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
xor eax, eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], eax
test ecx, ecx
jle 0x42a27e
nop dword [eax + eax]
mov dword [esi + eax*4], edx
mov eax, 0x1000
mov ecx, dword [esp + 0x6c]
test word [ecx + 0x1c], ax
je 0x42a253
call fcn.004227e0
test eax, eax
jne 0x42ffc6
mov ecx, dword [esp + 0x6c]
call fcn.00429460
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
inc eax
add edx, 0x28
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
cmp eax, dword [esp + 0xb4]
jge 0x42a27e
mov esi, dword [esp + 0xb0]
jmp 0x42a230
mov esi, dword [esp + 0x20]
cmp byte [esi + edi*4 + 1], 0xfb
mov eax, dword [esi + edi*4 + 0x10]
jne 0x42a297
mov dword [esp + 0x74], 0
jmp 0x42a29d
mov dword [esp + 0x74], eax
mov eax, dword [eax]
mov dword [esp + 0x70], eax
lea ecx, [esp + 0x78]
mov eax, 1
mov dword [esp + 0x78], ebx
mov word [esp + 0x94], ax
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
call fcn.00422a90
mov eax, dword [esp + 0x2c]
mov ecx, 1
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x78], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esp + 0x88], xmm0
movq xmm0, qword [eax + 0x20]
movq qword [esp + 0x98], xmm0
mov word [eax + 0x1c], cx
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
mov eax, dword [esp + 0x94]
and eax, 0xbf01
mov dword [esp + 0xa4], 0
or eax, ecx
mov word [esp + 0x94], ax
mov eax, dword [esp + 0x70]
test byte [eax + 3], 8
je 0x42a344
mov eax, dword [esi + edi*4 - 4]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x30], eax
mov eax, dword [esp + 0x48]
mov dword [ebx + 0x34], eax
lea eax, [esp + 0x70]
push dword [esp + 0xb0]
push dword [esp + 0xb8]
push eax
mov eax, dword [esp + 0x7c]
mov eax, dword [eax + 0xc]
call eax
mov eax, dword [ebx + 0x30]
add esp, 0xc
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x44], eax
mov eax, dword [ebx + 0x34]
mov dword [esp + 0x48], eax
test ecx, ecx
je 0x42a39d
mov edx, dword [esi + edi*4 + 4]
call fcn.00426060
mov eax, dword [esp + 0x74]
mov dword [esi + edi*4 + 0x10], eax
mov byte [esi + edi*4 + 1], 0xf9
cmp byte [ebx + 0x1e], 0
jne 0x42fc6a
cmp dword [esp + 0xa4], 0
je 0x42a3de
mov dl, 1
lea ecx, [esp + 0x78]
call fcn.004235c0
push eax
mov eax, dword [esp + 0x1c]
push 0x4a39f0
add eax, 0x38
push ebx
push eax
call fcn.0040a400
mov eax, dword [esp + 0xb4]
add esp, 0x10
mov dword [esp + 0x14], eax
movzx edx, byte [esp + 0x3f]
lea ecx, [esp + 0x78]
call fcn.004226a0
mov edi, dword [esp + 0x2c]
mov ecx, edi
call fcn.00422a90
movups xmm0, xmmword [esp + 0x78]
mov eax, 1
movups xmmword [edi], xmm0
movups xmm0, xmmword [esp + 0x88]
movups xmmword [edi + 0x10], xmm0
movq xmm0, qword [esp + 0x98]
movq qword [edi + 0x20], xmm0
mov word [esp + 0x94], ax
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
movzx eax, word [edi + 0x1c]
test al, 0x12
je case.0x429821.17
mov edx, dword [edi + 0x18]
test eax, 0x4000
je 0x42a455
add edx, dword [edi + 0x10]
mov eax, dword [edi]
xor ecx, ecx
cmp edx, dword [eax + 0x48]
setg cl
test ecx, ecx
jne 0x42fe1b
jmp case.0x429821.17
mov eax, dword [esi + edi*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 + edi*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [edx + edi*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 0x42a4bd
mov ecx, edx
call fcn.00422da0
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
inc eax
mov edx, dword [esp + 0x24]
jmp 0x429790
call fcn.00422b20
mov ecx, esi
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
call fcn.00422b20
mov esi, eax
mov dword [esp + 0x7c], edx
mov eax, dword [esp + 0x20]
mov dword [esp + 0x78], esi
mov cl, byte [eax + edi*4]
mov byte [esp + 0x80], cl
cmp cl, 0x52
jne 0x42a501
mov ecx, dword [esp + 0x68]
and ecx, esi
and dword [esp + 0x6c], edx
mov dword [esp + 0x68], ecx
jmp 0x42a61d
cmp cl, 0x53
jne 0x42a519
mov ecx, dword [esp + 0x68]
or ecx, esi
or dword [esp + 0x6c], edx
mov dword [esp + 0x68], ecx
jmp 0x42a61d
mov eax, esi
or eax, edx
je 0x42a619
test edx, edx
jg 0x42a560
jl 0x42a52d
test esi, esi
jae 0x42a555
mov al, 0xa9
sub al, cl
mov cl, al
mov byte [esp + 0x80], cl
cmp edx, 0xffffffff
jl 0x42a588
jg 0x42a546
cmp esi, 0xffffffc0
jbe 0x42a588
neg esi
mov dword [esp + 0x78], esi
adc edx, 0
neg edx
mov dword [esp + 0x7c], edx
test edx, edx
jl 0x42a5a9
jg 0x42a560
cmp esi, 0x40
jb 0x42a5a9
cmp dword [esp + 0x6c], 0
jg 0x42a59a
jl 0x42a570
cmp dword [esp + 0x68], 0
jae 0x42a59a
cmp cl, 0x54
je 0x42a59a
or eax, 0xffffffff
cdq
mov ecx, eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], ecx
jmp 0x42a61d
mov dword [esp + 0x78], 0x40
mov dword [esp + 0x7c], 0
jmp 0x42a560
xor eax, eax
cdq
mov ecx, eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], ecx
jmp 0x42a61d
movq xmm1, qword [esp + 0x68]
movd xmm0, esi
cmp cl, 0x54
jne 0x42a5d4
psllq xmm1, xmm0
movq qword [esp + 0x70], xmm1
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
jmp 0x42a61d
cmp dword [esp + 0x6c], 0
psrlq xmm1, xmm0
movq qword [esp + 0x70], xmm1
jg 0x42a607
jl 0x42a5ee
cmp dword [esp + 0x68], 0
jae 0x42a607
or edx, 0xffffffff
mov ecx, 0x40
sub ecx, esi
mov eax, edx
call fcn.00493650
or dword [esp + 0x70], eax
or dword [esp + 0x74], edx
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
jmp 0x42a61d
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x20]
mov dword [edx + 0x10], ecx
mov ecx, 0xbf04
mov eax, dword [esp + 0x6c]
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
jmp 0x429790
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00422b20
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 + edi*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]
jmp 0x429790
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004295a0
test byte [esi + 0x1c], 8
je 0x42a6c3
mov ecx, esi
call fcn.00422c30
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x42a6e9
mov esi, dword [esp + 0x20]
mov eax, dword [esi + edi*4 + 8]
test eax, eax
jne 0x42f29c
mov eax, 0x14
mov dword [esp + 0x14], eax
jmp 0x42fd4e
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
jmp 0x429790
mov eax, dword [esi + edi*4 + 4]
mov edi, dword [esp + 0x28]
lea esi, [eax + eax*4]
movzx ebx, word [edi + esi*8 + 0x1c]
test bl, 4
je 0x42f28f
test bl, 8
je 0x42a72d
movsd xmm0, qword [edi + esi*8 + 8]
jmp 0x42a73a
mov edx, dword [edi + esi*8 + 0x14]
mov ecx, dword [edi + esi*8 + 0x10]
call fcn.00493f10
mov eax, dword [esp + 0x10]
and ebx, 0xbf08
mov edx, dword [esp + 0x24]
or ebx, 8
mov word [edi + esi*8 + 0x1c], bx
inc eax
mov ebx, dword [esp + 0x1c]
movsd qword [edi + esi*8 + 8], xmm0
mov esi, dword [esp + 0x20]
jmp 0x429790
mov eax, dword [esi + edi*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.0x429821.17
shr eax, 3
and eax, 2
or word [esi + 0x1c], ax
mov ax, word [esi + 0x1c]
test al, 2
jne 0x42a7a0
test al, 0xc
je 0x42a7a0
movzx edx, byte [esp + 0x3f]
mov ecx, esi
call fcn.004228f0
mov eax, 0xfff3
and word [esi + 0x1c], ax
movzx eax, word [esi + 0x1c]
test eax, 0x4000
je 0x42a7cd
mov ecx, esi
call fcn.00422840
mov ecx, 0xbfe3
mov dword [esp + 0x14], eax
and word [esi + 0x1c], cx
jmp 0x42d307
xor eax, eax
mov ecx, 0xbfe3
and word [esi + 0x1c], cx
mov dword [esp + 0x14], eax
jmp 0x42d307
mov eax, dword [esi + edi*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.0x429821.17
test al, 0x10
jne 0x42a839
test al, 2
jne 0x42a813
test al, 0xc
je 0x42a813
movzx edx, byte [esp + 0x3f]
mov ecx, esi
call fcn.004228f0
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
jmp 0x429790
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
jmp 0x429790
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00422cd0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
jmp 0x429790
mov eax, dword [esi + edi*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 0x42f293
mov ecx, esi
call fcn.00422b20
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
jmp 0x429790
mov eax, dword [esi + edi*4 + 4]
mov edi, dword [esp + 0x28]
lea esi, [eax + eax*4]
movzx ebx, word [edi + esi*8 + 0x1c]
test bl, 1
jne 0x42f28f
test bl, 8
je 0x42a8e7
movsd xmm0, qword [edi + esi*8 + 8]
jmp 0x42a929
test bl, 4
je 0x42a8fb
mov edx, dword [edi + esi*8 + 0x14]
mov ecx, dword [edi + esi*8 + 0x10]
call fcn.00493f10
jmp 0x42a929
xorps xmm0, xmm0
test bl, 0x12
je 0x42a929
movzx eax, byte [edi + esi*8 + 0x1f]
lea edx, [esp + 0x30]
mov ecx, dword [edi + esi*8 + 4]
push eax
push dword [edi + esi*8 + 0x18]
movsd qword [esp + 0x38], xmm0
call fcn.0040c560
movsd xmm0, qword [esp + 0x38]
add esp, 8
mov eax, dword [esp + 0x10]
and ebx, 0xbf08
mov edx, dword [esp + 0x24]
or ebx, 8
mov word [edi + esi*8 + 0x1c], bx
inc eax
mov ebx, dword [esp + 0x1c]
movsd qword [edi + esi*8 + 8], xmm0
mov esi, dword [esp + 0x20]
jmp 0x429790
mov eax, dword [esi + edi*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 + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
mov word [esp + 0x6e], ax
movzx eax, word [ecx + 0x1c]
mov bl, byte [esp + 0x6e]
mov dword [esp + 0x30], ecx
mov cl, al
mov word [esp + 0x70], ax
or al, bl
test al, 1
je 0x42aa02
mov al, byte [edx + edi*4 + 3]
test al, al
jns 0x42a9ab
and cl, bl
mov edx, 0
test cl, 1
sete dl
jmp 0x42aa84
mov esi, dword [esp + 0x20]
test al, 0x10
je 0x42a9eb
mov eax, dword [esi + edi*4 + 8]
mov edx, 0xbf01
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, 1
mov word [ecx + 0x1c], ax
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
inc eax
mov edx, dword [esp + 0x24]
jmp 0x429790
test al, 8
je 0x42a9d9
mov eax, dword [esi + edi*4 + 8]
mov ebx, dword [esp + 0x1c]
dec eax
mov edx, dword [esp + 0x24]
inc eax
jmp 0x429790
mov dl, byte [edx + edi*4 + 3]
and dl, 0x67
mov byte [esp + 0x6c], dl
je 0x42aa42
mov ebx, dword [esp + 0x3f]
mov ecx, esi
push ebx
call fcn.00429630
mov dl, byte [esp + 0x70]
add esp, 4
push ebx
mov ebx, dword [esp + 0x34]
mov ecx, ebx
call fcn.00429630
mov edx, dword [esp + 0x20]
add esp, 4
cmp byte [edx + 0x1e], 0
je 0x42aa46
mov ebx, edx
jmp 0x42ffc6
mov ebx, dword [esp + 0x30]
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x42aa5d
mov ecx, esi
call fcn.00422840
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x42aa6a
mov ecx, ebx
call fcn.00422840
mov eax, dword [esp + 0x20]
mov edx, esi
mov ecx, ebx
push dword [eax + edi*4 + 0x10]
call fcn.004231e0
mov bl, byte [esp + 0x72]
add esp, 4
mov edx, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x68], edx
movzx ecx, byte [eax + edi*4]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x42aa98
jmp dword [ecx*4 + 0x430264]
xor eax, eax
test edx, edx
sete al
jmp 0x42aad3
xor eax, eax
test edx, edx
setne al
jmp 0x42aad3
xor eax, eax
test edx, edx
sets al
jmp 0x42aad3
xor eax, eax
test edx, edx
setle al
jmp 0x42aad3
xor eax, eax
test edx, edx
setg al
jmp 0x42aad3
xor eax, eax
test edx, edx
setns al
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x68], eax
test byte [ecx + edi*4 + 3], 0x10
je 0x42ab3b
mov eax, dword [ecx + edi*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 + 0x68]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov bl, byte [esp + 0x6e]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
mov byte [esi + 0x1c], bl
mov al, byte [esp + 0x70]
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov byte [ecx + 0x1c], al
mov eax, dword [esp + 0x10]
inc eax
jmp 0x429790
test eax, eax
je 0x42ab48
mov eax, dword [ecx + edi*4 + 8]
dec eax
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
mov byte [esi + 0x1c], bl
mov al, byte [esp + 0x70]
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov byte [ecx + 0x1c], al
mov eax, dword [esp + 0x10]
inc eax
jmp 0x429790
mov eax, dword [esi + edi*4 + 0x10]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x10]
inc eax
jmp 0x429790
mov eax, dword [esi + edi*4 + 0xc]
xor edx, edx
mov dword [esp + 0x68], eax
mov ebx, dword [esi + edi*4 + 0x10]
mov dword [esp + 0x78], ebx
mov ecx, dword [esi + edi*4 + 4]
mov dword [esp + 0x70], ecx
mov edi, dword [esi + edi*4 + 8]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x74], edi
mov dword [esp + 0x6c], edx
test eax, eax
jle 0x42ac41
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x42abc1
mov esi, dword [eax + edx*4]
jmp 0x42abc3
mov esi, edx
mov dword [esp + 0x7c], esi
mov ecx, dword [ebx + edx*4 + 0xc]
mov dword [esp + 0x80], ecx
mov eax, dword [ebx + 8]
push ecx
movzx eax, byte [eax + edx]
mov dword [esp + 0x88], eax
lea eax, [esi + edi]
mov edi, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
mov eax, dword [esp + 0x34]
add eax, esi
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
call fcn.004231e0
mov edi, eax
add esp, 4
mov dword [esp + 0x50], edi
test edi, edi
jne 0x42ac2d
mov edx, dword [esp + 0x6c]
inc edx
mov dword [esp + 0x6c], edx
cmp edx, dword [esp + 0x68]
jge 0x42ac3d
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0x74]
mov dword [esp + 0x30], ecx
jmp 0x42abb4
cmp dword [esp + 0x84], 0
je 0x42ac3d
neg edi
mov dword [esp + 0x50], edi
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
xor eax, eax
mov edx, dword [esp + 0x24]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x10]
inc eax
jmp 0x429790
mov eax, dword [esp + 0x50]
test eax, eax
jns 0x42ac6e
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [esp + 0x24]
jmp 0x429790
jne 0x42ac7d
mov eax, dword [esi + edi*4 + 8]
mov edx, dword [esp + 0x24]
jmp 0x429790
mov eax, dword [esi + edi*4 + 0xc]
mov edx, dword [esp + 0x24]
jmp 0x429790
mov eax, dword [esi + edi*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 0x42aca6
mov ecx, 2
jmp 0x42acbc
call fcn.00422b20
or eax, edx
mov edx, dword [esp + 0x28]
je 0x42acba
mov ecx, 1
jmp 0x42acbc
xor ecx, ecx
mov dword [esp + 0x68], ecx
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 1
lea eax, [edx + eax*8]
je 0x42acd8
mov eax, 2
jmp 0x42acf4
mov ecx, eax
call fcn.00422b20
mov ecx, dword [esp + 0x68]
or eax, edx
mov edx, dword [esp + 0x28]
je 0x42acf2
mov eax, 1
jmp 0x42acf4
xor eax, eax
mov dword [esp + 0x6c], eax
lea eax, [eax + ecx*2]
cmp byte [esi + edi*4], 0x45
jne 0x42ad0b
movzx ecx, byte [ecx + eax + 0x49e7d4]
jmp 0x42ad13
movzx ecx, byte [ecx + eax + 0x49f294]
mov dword [esp + 0x68], ecx
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov dword [esp + 0x2c], edi
cmp ecx, 2
jne 0x42ad4c
mov ax, word [edi + 0x1c]
mov ecx, 0xbf01
mov edx, dword [esp + 0x24]
and ax, cx
or ax, 1
mov word [edi + 0x1c], ax
mov eax, dword [esp + 0x10]
inc eax
jmp 0x429790
mov eax, ecx
mov ecx, 0xbf04
cdq
mov dword [edi + 0x10], eax
mov ax, word [edi + 0x1c]
and ax, cx
mov dword [edi + 0x14], edx
mov edx, dword [esp + 0x24]
or ax, 4
mov word [edi + 0x1c], ax
mov eax, dword [esp + 0x10]
inc eax
jmp 0x429790
mov eax, dword [esi + edi*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 + edi*4 + 8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov dword [esp + 0x2c], edi
je 0x42adaf
mov ecx, edi
call fcn.00422da0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
jmp 0x429790
call fcn.00422b20
or eax, edx
jne 0x42add8
mov eax, 1
mov ecx, edi
cdq
push edx
push eax
call fcn.00422df0
mov eax, dword [esp + 0x18]
add esp, 8
mov edx, dword [esp + 0x24]
inc eax
jmp 0x429790
xor eax, eax
cdq
push edx
push eax
mov ecx, edi
call fcn.00422df0
mov eax, dword [esp + 0x18]
add esp, 8
mov edx, dword [esp + 0x24]
inc eax
jmp 0x429790
mov eax, dword [esi + edi*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 + edi*4 + 8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov dword [esp + 0x2c], edi
je 0x42ae2d
mov ecx, edi
call fcn.00422da0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
jmp 0x429790
call fcn.00422b20
not eax
not edx
jmp 0x42addb
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea esi, [ecx + eax*8]
je 0x42ae57
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + edi*4 + 0xc]
jmp 0x42ae8f
mov ecx, esi
call fcn.00422bd0
ucomisd xmm0, qword [0x4a8870]
lahf
xor ecx, ecx
test ah, 0x44
mov eax, 1
cmovp ecx, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x68], ecx
cmp byte [eax + edi*4], 0x1c
jne 0x42ae93
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x68], ecx
test ecx, ecx
je 0x42aea8
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov eax, dword [esi + edi*4 + 8]
jmp 0x429790
cmp byte [eax + edi*4], 0x1a
jne 0x42f293
mov edx, dword [esp + 0x24]
mov eax, 4
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x10]
mov dword [esi + 0x10], 1
inc eax
mov dword [esi + 0x14], 0
mov esi, dword [esp + 0x20]
jmp 0x429790
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
je 0x42bcac
mov eax, dword [esi + edi*4 + 8]
mov edx, dword [esp + 0x24]
dec eax
inc eax
jmp 0x429790
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
jne 0x42bcac
mov eax, dword [esi + edi*4 + 8]
mov edx, dword [esp + 0x24]
dec eax
inc eax
jmp 0x429790
mov ecx, dword [esi + edi*4 + 4]
xorps xmm0, xmm0
mov edx, dword [esp + 0x28]
mov dword [esp + 0x78], ecx
mov eax, dword [esi + edi*4 + 8]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], 0
movups xmmword [esp + 0xa8], xmm0
movups xmmword [esp + 0xb8], xmm0
movq qword [esp + 0xc8], xmm0
mov eax, dword [esi + edi*4 + 0xc]
mov dword [esp + 0x84], 0
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x44]
mov edx, dword [eax + ecx*4]
mov dword [esp + 0x80], edx
mov eax, dword [edx]
mov dword [esp + 0x88], eax
test eax, eax
je 0x42b10b
mov ecx, edx
call fcn.00426530
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42fd4e
mov edx, dword [esp + 0x80]
cmp byte [edx + 0x1c], al
jne 0x42b6f9
mov ecx, dword [esp + 0x18]
mov eax, dword [edx + 0x50]
cmp eax, dword [ecx + 0x54]
jne 0x42afe3
mov ecx, dword [edx + 0x54]
mov dword [esp + 0x68], ecx
mov eax, dword [edx + 0x60]
mov dword [esp + 0x84], eax
jmp 0x42b158
cmp byte [edx + 0x1f], 0
je 0x42b095
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x38], ebx
cmp byte [ebx + 0x53], 1
je 0x42b01c
xorps xmm0, xmm0
mov dword [esp + 0x14], 0
movlpd qword [esp + 0x70], xmm0
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x68], ecx
jmp 0x42b158
cmp word [ebx + 0x3a], 0
jne 0x42b076
movsx eax, word [ebx + 0x5a]
movzx esi, word [ebx + eax*2 + 0x5c]
mov ebx, dword [ebx + eax*4 + 0x84]
mov eax, dword [esp + 0x38]
add eax, 0x20
push eax
movzx ecx, word [ebx + 0xc]
add ecx, dword [ebx + 0x40]
movzx eax, byte [ecx + esi*2]
movzx edx, byte [ecx + esi*2 + 1]
mov ecx, ebx
shl eax, 8
or edx, eax
movzx eax, word [ebx + 0x12]
and edx, eax
add edx, dword [ebx + 0x40]
call fcn.004194f0
mov ebx, dword [esp + 0x3c]
add esp, 4
mov esi, dword [esp + 0x20]
mov byte [ebx + 0x52], 1
mov edx, dword [esp + 0x80]
mov ecx, dword [ebx + 0x20]
mov dword [esp + 0x70], ecx
mov eax, dword [ebx + 0x24]
mov dword [esp + 0x74], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x68], ecx
jmp 0x42b158
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x38], ecx
cmp word [ecx + 0x3a], 0
jne 0x42b0fa
movsx eax, word [ecx + 0x5a]
mov ebx, dword [ecx + eax*4 + 0x84]
movzx esi, word [ecx + eax*2 + 0x5c]
mov eax, dword [esp + 0x38]
add eax, 0x20
movzx ecx, word [ebx + 0xc]
add ecx, dword [ebx + 0x40]
push eax
movzx eax, byte [ecx + esi*2]
movzx edx, byte [ecx + esi*2 + 1]
mov ecx, ebx
shl eax, 8
or edx, eax
movzx eax, word [ebx + 0x12]
and edx, eax
add edx, dword [ebx + 0x40]
call fcn.004194f0
mov ecx, dword [esp + 0x3c]
add esp, 4
mov esi, dword [esp + 0x20]
mov byte [ecx + 0x52], 1
mov edx, dword [esp + 0x80]
mov ecx, dword [ecx + 0x2c]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x14], 0
jmp 0x42b158
mov eax, dword [edx + 0x10]
test eax, eax
jle 0x42b6f9
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0xec], ecx
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x68], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x84], eax
test byte [esi + edi*4 + 3], 0x20
je 0x42b143
xor eax, eax
jmp 0x42b14a
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x54]
mov dword [edx + 0x50], eax
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x1c]
test ecx, ecx
je 0x42b701
cmp ecx, dword [ebx + 0x48]
ja 0x42fe1b
mov ecx, dword [edx + 0x14]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x94], ecx
mov esi, dword [edx + 0x58]
mov dword [esp + 0x8c], esi
mov eax, dword [edx + 0x50]
cmp eax, dword [edi + 0x54]
jne 0x42b1a1
mov ecx, dword [edx + 0x5c]
mov edi, 1
mov dword [esp + 0x90], ecx
jmp 0x42b4cb
lea eax, [esi + ecx*4]
mov dword [esp + 0xe4], 0
mov dword [esp + 0x90], eax
mov dword [edx + 0x5c], eax
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x68]
mov dword [ecx + 0x54], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [edi + 0x54]
mov dword [eax + 0x50], ecx
mov ecx, dword [esp + 0x84]
test ecx, ecx
je 0x42b1eb
mov dword [esp + 0xa0], ecx
jmp 0x42b2b3
mov esi, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
cmp byte [esi + 0x1f], 0
je 0x42b270
xor edx, edx
mov dword [esp + 0x38], ecx
cmp byte [ecx + 0x53], 1
jne 0x42b285
cmp word [ecx + 0x3a], dx
jne 0x42b25c
movsx eax, word [ecx + 0x5a]
mov ebx, dword [ecx + eax*4 + 0x84]
movzx esi, word [ecx + eax*2 + 0x5c]
mov eax, dword [esp + 0x38]
add eax, 0x20
movzx ecx, word [ebx + 0xc]
add ecx, dword [ebx + 0x40]
push eax
movzx edx, byte [ecx + esi*2]
movzx eax, byte [ecx + esi*2 + 1]
mov ecx, ebx
shl edx, 8
or edx, eax
movzx eax, word [ebx + 0x12]
and edx, eax
add edx, dword [ebx + 0x40]
call fcn.004194f0
mov esi, dword [esp + 0x84]
add esp, 4
mov ecx, dword [esp + 0x38]
movzx edx, word [ecx + 0x34]
movzx eax, word [ecx + 0x36]
add edx, dword [ecx + 0x28]
mov dword [esp + 0xe4], eax
jmp 0x42b285
lea edx, [esp + 0xe4]
call fcn.0041c930
mov esi, dword [esp + 0x80]
mov edx, eax
mov ecx, dword [esp + 0x68]
mov dword [esp + 0xa0], edx
cmp ecx, dword [esp + 0xe4]
ja 0x42b2a5
mov dword [esp + 0x84], edx
mov dword [esi + 0x60], edx
jmp 0x42b2ac
mov dword [esi + 0x60], 0
mov ecx, dword [esp + 0xa0]
mov al, byte [ecx]
cmp al, 0x80
jae 0x42b2ca
movzx edx, al
mov eax, 1
mov dword [esp + 0xd8], edx
jmp 0x42b2e7
lea edx, [esp + 0xd8]
call fcn.0040d050
mov edx, dword [esp + 0xd8]
mov ecx, dword [esp + 0xa0]
movzx eax, al
movzx ebx, al
mov dword [esp + 0xe0], ebx
cmp edx, 0x18003
jbe 0x42b310
mov ecx, 0x1010e
call fcn.00466bb0
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x1c]
jmp 0x42d307
mov edi, dword [esp + 0x94]
lea esi, [edi*4 + 3]
add esi, edi
cmp esi, edx
cmovg esi, edx
cmp dword [esp + 0x84], 0
mov dword [esp + 0x98], esi
jne 0x42b3a8
cmp dword [esp + 0xe4], esi
jge 0x42b3a8
mov ecx, dword [esp + 0x88]
xor eax, eax
mov word [esp + 0xc4], ax
xor edx, edx
mov dword [esp + 0xa8], eax
lea eax, [esp + 0xa8]
push eax
mov eax, dword [esp + 0x84]
movzx eax, byte [eax + 0x1f]
push eax
push esi
call fcn.00423440
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42b307
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0xe0]
mov edx, dword [esp + 0xd8]
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0x94]
mov dword [esp + 0xa0], ecx
lea eax, [ecx + esi]
lea esi, [ebx + ecx]
mov dword [esp + 0xd4], eax
xor ecx, ecx
mov dword [esp + 0xd0], esi
mov dword [esp + 0x9c], ecx
test edi, edi
jle 0x42b46b
nop dword [eax]
cmp esi, eax
mov eax, dword [esp + 0x90]
jae 0x42b52c
mov dword [eax + ecx*4], edx
mov ecx, dword [esp + 0xd0]
mov al, byte [ecx]
cmp al, 0x80
jae 0x42b403
movzx edx, al
inc ecx
mov dword [esp + 0xe8], edx
mov dword [esp + 0xd0], ecx
jmp 0x42b420
lea edx, [esp + 0xe8]
call fcn.0040d050
mov edx, dword [esp + 0xe8]
movzx eax, al
add dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x8c]
mov dword [eax + ecx*4], edx
mov ecx, dword [esp + 0xe8]
call fcn.00426730
mov edx, dword [esp + 0xd8]
add edx, eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xd8], edx
cmp edx, eax
jae 0x42b53a
mov eax, dword [esp + 0xd4]
inc eax
mov dword [esp + 0xd0], eax
lea ecx, [esp + 0xa8]
call fcn.00422a90
mov edx, dword [esp + 0xd0]
mov edi, 1
mov esi, dword [esp + 0xd4]
mov word [esp + 0xc4], di
cmp edx, esi
ja 0x42b6e2
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x68]
cmp eax, ecx
ja 0x42b6e2
cmp edx, esi
jne 0x42b4b9
cmp eax, ecx
jne 0x42b6e2
mov ecx, dword [esp + 0x90]
mov esi, dword [esp + 0x8c]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x7c]
cmp dword [ecx + eax*4], 0
je 0x42b644
cmp dword [esp + 0x84], 0
je 0x42b569
mov edx, dword [esp + 0xa4]
mov edi, 0x2460
test word [edx + 0x1c], di
je 0x42b519
mov ecx, edx
call fcn.00422a30
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp + 0x90]
mov esi, dword [esp + 0x8c]
mov eax, dword [esp + 0x7c]
mov ecx, dword [ecx + eax*4]
add ecx, dword [esp + 0x84]
push edx
mov edx, dword [esi + eax*4]
jmp 0x42b62c
mov dword [eax + ecx*4], 0
mov edx, dword [esp + 0xd8]
mov ecx, dword [esp + 0x9c]
inc ecx
mov dword [esp + 0x9c], ecx
cmp ecx, dword [esp + 0x94]
jge 0x42b46b
mov eax, dword [esp + 0xd4]
mov esi, dword [esp + 0xd0]
jmp 0x42b3d0
mov ecx, dword [esi + eax*4]
call fcn.00426730
mov esi, dword [esp + 0xa4]
lea ecx, [esp + 0xa8]
mov dword [esp + 0x98], eax
call fcn.00422a90
movups xmm0, xmmword [esi]
lea eax, [esp + 0xa8]
push eax
movups xmmword [esp + 0xac], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [esp + 0xbc], xmm0
movq xmm0, qword [esi + 0x20]
movq qword [esp + 0xcc], xmm0
mov word [esi + 0x1c], di
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x8c]
movzx eax, byte [eax + 0x1f]
push eax
mov eax, dword [esp + 0x98]
push dword [esp + 0xa0]
mov edx, dword [eax + edx*4]
call fcn.00423440
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42d307
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0xac]
push dword [esp + 0xa4]
mov dword [esp + 0xa4], ecx
mov edx, dword [eax + edx*4]
call fcn.00426810
mov eax, dword [esp + 0xa8]
add esp, 4
mov cl, byte [esp + 0x3f]
mov byte [eax + 0x1f], cl
jmp 0x42b681
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xa4]
cmp byte [eax + edx*4 + 1], 0xf8
jne 0x42b66d
mov edx, dword [eax + edx*4 + 0x10]
push 0x800
call fcn.00422ec0
add esp, 4
jmp 0x42b681
mov ax, word [ecx + 0x1c]
mov edx, 0xbf01
and ax, dx
or ax, 1
mov word [ecx + 0x1c], ax
cmp dword [esp + 0xcc], 0
je 0x42b6cd
mov eax, dword [esp + 0xa4]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov ecx, 0x200
mov eax, dword [esp + 0xa4]
or word [eax + 0x1c], cx
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0xac]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0x24], ecx
mov ecx, dword [esp + 0xa4]
call fcn.004227e0
mov dword [esp + 0x14], eax
jmp 0x42d307
mov ecx, 0x1015e
call fcn.00466bb0
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jmp 0x42d307
mov dword [esp + 0x68], 0
mov ecx, dword [esp + 0xa4]
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
jmp 0x429790
mov ecx, dword [esi + edi*4 + 0x10]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x68], ecx
mov eax, dword [esi + edi*4 + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov al, byte [ecx]
mov byte [esp + 0x6c], al
test al, al
je 0x42b78b
mov ebx, 0x4000
nop
inc ecx
mov dword [esp + 0x68], ecx
test word [esi + 0x1c], bx
je 0x42b766
mov ecx, esi
call fcn.00422840
mov al, byte [esp + 0x6c]
push dword [esp + 0x3f]
mov dl, al
mov ecx, esi
call fcn.00429630
mov ecx, dword [esp + 0x6c]
add esp, 4
add esi, 0x28
mov al, byte [ecx]
mov byte [esp + 0x6c], al
test al, al
jne 0x42b750
mov ebx, 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 + 0x68], ecx
jmp 0x429790
mov ecx, dword [esp + 0x20]
xor esi, esi
mov dword [esp + 0x78], esi
xor ebx, ebx
mov dword [esp + 0x88], ebx
xorps xmm0, xmm0
movlpd qword [esp + 0x70], xmm0
mov eax, dword [ecx + edi*4 + 4]
mov dword [esp + 0x9c], eax
mov edx, dword [ecx + edi*4 + 0x10]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
mov dword [esp + 0xa0], edx
mov dword [esp + 0x30], edx
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x94], ecx
mov eax, dword [eax + edi*4 + 8]
mov dword [esp + 0x9c], eax
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x18]
add ecx, 0xffffffd8
mov dword [esp + 0x98], ecx
movzx eax, byte [eax + 0x65]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + edi*4 + 0xc]
mov edi, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x94]
mov edi, eax
mov dword [esp + 0x6c], edi
cmp eax, ecx
ja 0x42b945
test edx, edx
je 0x42b886
push dword [esp + 0x3f]
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.00429630
mov ecx, dword [esp + 0xa4]
add esp, 4
mov ebx, dword [esp + 0x88]
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x30], ecx
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x42b8b4
cmp dword [edi + 0x18], 0
jle 0x42b8b4
mov ecx, edi
call fcn.00422840
mov ecx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x88]
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0xa4]
mov ecx, edi
call fcn.00426630
mov esi, eax
mov ecx, esi
mov dword [esp + 0x90], esi
call fcn.00426730
mov dword [esp + 0xac], eax
cdq
add dword [esp + 0x70], eax
adc dword [esp + 0x74], edx
xor ecx, ecx
xor edx, edx
shrd esi, ecx, 7
inc edx
shr ecx, 7
mov eax, esi
or eax, ecx
je 0x42b8f9
cmp edx, 9
jl 0x42b8e6
mov esi, dword [esp + 0x78]
mov eax, 0x4000
add esi, edx
mov dword [esp + 0x78], esi
test word [edi + 0x1c], ax
je 0x42b913
add ebx, dword [edi + 0x10]
jmp 0x42b91f
xor eax, eax
cmp dword [esp + 0xac], eax
cmovne ebx, eax
mov edx, dword [esp + 0x30]
add edi, 0x28
mov eax, dword [esp + 0x94]
mov dword [esp + 0x88], ebx
mov dword [esp + 0x6c], edi
cmp edi, dword [esp + 0x98]
jbe 0x42b842
mov eax, esi
xor edi, edi
cdq
mov ecx, eax
nop dword [eax]
shrd ecx, edx, 7
inc edi
shr edx, 7
mov eax, ecx
or eax, edx
je 0x42b963
cmp edi, 9
jl 0x42b950
add esi, edi
mov dword [esp + 0x8c], edi
mov eax, esi
mov dword [esp + 0x78], esi
cdq
xor esi, esi
mov ecx, eax
shrd ecx, edx, 7
inc esi
shr edx, 7
mov eax, ecx
or eax, edx
je 0x42b98a
cmp esi, 9
jl 0x42b977
cmp edi, esi
mov edi, dword [esp + 0x78]
jge 0x42b997
inc edi
mov dword [esp + 0x78], 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 + 0x70]
mov dword [esp + 0x80], ebx
adc edi, dword [esp + 0x74]
mov dword [esp + 0x84], edi
mov eax, dword [edx + 0x48]
cdq
cmp edi, edx
jg 0x42fe17
jl 0x42b9d9
cmp ebx, eax
ja 0x42fe17
mov edi, dword [esp + 0x2c]
mov edx, ebx
push 0
mov ecx, edi
call fcn.004226c0
add esp, 4
test eax, eax
jne 0x42ffc2
mov ecx, dword [esp + 0x78]
mov edx, dword [edi + 4]
mov dword [esp + 0x68], edx
cmp ecx, 0x80
jae 0x42ba11
mov al, cl
mov byte [edx], al
mov eax, 1
jmp 0x42ba3c
test ecx, 0xffffc000
jne 0x42ba2f
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 0x42ba3c
push 0
push ecx
mov ecx, edx
call fcn.0040cdc0
add esp, 8
mov ecx, dword [esp + 0x98]
movzx esi, al
mov eax, dword [esp + 0x94]
mov dword [esp + 0xa8], esi
mov dword [esp + 0x6c], eax
cmp eax, ecx
ja 0x42baf4
mov edx, dword [esp + 0xa4]
mov ecx, eax
call fcn.00426630
mov ecx, eax
mov dword [esp + 0x90], ecx
cmp ecx, 0x80
jae 0x42ba8f
mov cl, al
mov eax, dword [esp + 0x68]
mov byte [esi + eax], cl
mov eax, 1
jmp 0x42bac0
mov edx, dword [esp + 0x68]
add edx, esi
test ecx, 0xffffc000
jne 0x42bab3
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 0x42bac0
push 0
push ecx
mov ecx, edx
call fcn.0040cdc0
add esp, 8
mov esi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x98]
movzx eax, al
add esi, eax
mov eax, dword [esp + 0x6c]
add eax, 0x28
mov dword [esp + 0xa8], esi
mov dword [esp + 0x6c], eax
cmp eax, ecx
jbe 0x42ba60
mov eax, dword [esp + 0x94]
mov dword [esp + 0x6c], eax
cmp eax, ecx
ja 0x42bb44
nop dword [eax]
mov ecx, dword [esp + 0x68]
push dword [esp + 0xa4]
mov edx, dword [esp + 0x84]
push eax
sub edx, esi
lea ecx, [esi + ecx]
call fcn.00426750
mov esi, dword [esp + 0xb0]
add esp, 8
add esi, eax
mov eax, dword [esp + 0x6c]
add eax, 0x28
mov dword [esp + 0xa8], esi
mov dword [esp + 0x6c], eax
cmp eax, dword [esp + 0x98]
jbe 0x42bb00
mov eax, dword [esp + 0x80]
mov dword [edi + 0x18], eax
mov eax, 0x410
mov word [edi + 0x1c], ax
mov dword [edi + 0x20], 0
mov eax, dword [esp + 0x88]
test eax, eax
je 0x42bb75
mov dword [edi + 0x10], eax
mov eax, 0x4410
mov word [edi + 0x1c], ax
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
inc eax
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov byte [edi + 0x1f], 1
jmp 0x429790
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
mov dword [esp + 0x70], ecx
test ecx, ecx
je 0x42bbb6
lea edx, [esp + 0x68]
call fcn.00420650
mov dword [esp + 0x14], eax
jmp 0x42bbbf
xorps xmm0, xmm0
movlpd qword [esp + 0x68], xmm0
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x68]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x6c]
mov dword [ecx + 0x14], eax
jmp case.0x429821.17
mov ebx, dword [esi + edi*4 + 4]
mov dword [esp + 0x68], ebx
mov eax, dword [esi + edi*4 + 0x10]
mov dword [esp + 0x30], eax
mov dword [esp + 0x6c], eax
test ebx, ebx
jne 0x42bcba
mov ebx, dword [esp + 0x1c]
cmp dword [ebx + 0x90], 0
jg 0x42fc78
mov ecx, eax
call fcn.0040c250
mov dword [esp + 0x70], eax
xor edx, edx
mov eax, dword [ebx + 0x1e4]
mov ecx, ebx
add eax, dword [ebx + 0x1e0]
push eax
call fcn.0045a830
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42fd4e
mov edx, dword [esp + 0x70]
mov ecx, ebx
lea edx, [edx + 0x19]
call fcn.0040a250
mov dword [esp + 0x74], eax
test eax, eax
je 0x42bcac
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov eax, dword [esp + 0x70]
inc eax
push eax
mov eax, dword [esp + 0x78]
push dword [esp + 0x70]
push dword [eax]
call fcn.00474330
add esp, 0xc
cmp byte [ebx + 0x1c], 0
je 0x42bc79
mov byte [ebx + 0x1c], 0
mov byte [ebx + 0x1e8], 1
jmp 0x42bc7f
inc dword [ebx + 0x1e0]
mov eax, dword [esp + 0x74]
mov ecx, dword [ebx + 0x1dc]
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x74]
mov dword [ebx + 0x1dc], eax
mov ecx, dword [esp + 0x74]
mov eax, dword [ebx + 0x1f0]
mov dword [ecx + 8], eax
mov eax, dword [ebx + 0x1f4]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
jmp 0x429790
mov edx, dword [esp + 0x1c]
xor edi, edi
mov dword [esp + 0x80], edi
mov esi, dword [edx + 0x1dc]
mov dword [esp + 0x78], esi
test esi, esi
je 0x42fcbd
mov ecx, dword [esi]
mov edx, eax
call fcn.0040c4b0
test eax, eax
je 0x42bcf7
mov eax, dword [esp + 0x30]
inc edi
mov dword [esp + 0x80], edi
mov esi, dword [esi + 0x10]
jmp 0x42bccd
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x90], 0
jg 0x42becb
cmp ebx, 2
jne 0x42bd1a
cmp dword [eax + 0x8c], 1
jg 0x42becb
cmp dword [esi + 0x10], 0
jne 0x42bd79
cmp byte [eax + 0x1e8], 0
je 0x42bd79
mov dword [esp + 0x30], 1
cmp ebx, 1
jne 0x42bd81
mov ecx, dword [esp + 0x18]
mov edx, ebx
call fcn.00425be0
mov edi, dword [esp + 0x1c]
mov esi, eax
test esi, esi
jne 0x42fb7b
mov esi, dword [esp + 0x18]
mov ecx, esi
mov byte [edi + 0x1c], bl
call fcn.00425c40
cmp eax, 5
je 0x42fca1
mov byte [edi + 0x1e8], 0
mov eax, dword [esi + 0x5c]
mov dword [esp + 0x14], eax
jmp 0x42be0e
mov dword [esp + 0x30], 0
mov ecx, dword [eax + 0x1e0]
xor eax, eax
sub ecx, edi
mov dword [esp + 0x84], eax
mov edi, dword [esp + 0x1c]
dec ecx
mov dword [esp + 0x80], ecx
cmp dword [edi + 4], eax
jle 0x42bde8
push ecx
mov ecx, dword [edi + 8]
add eax, eax
mov edx, ebx
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0041c180
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42fd4c
mov eax, dword [esp + 0x84]
mov ebx, dword [esp + 0x68]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [edi + 4]
jge 0x42bde4
mov ecx, dword [esp + 0x80]
jmp 0x42bda3
mov esi, dword [esp + 0x78]
cmp ebx, 2
jne 0x42be16
test dword [edi + 0xc], 0x200
je 0x42be16
mov ecx, edi
call fcn.00427080
or eax, 0xffffffff
mov edx, eax
call fcn.0043c680
or dword [edi + 0xc], 0x200
mov ebx, dword [esp + 0x68]
mov esi, dword [esp + 0x78]
cmp dword [edi + 0x1dc], esi
je 0x42be56
nop
mov eax, dword [edi + 0x1dc]
mov dword [esp + 0x7c], eax
mov eax, dword [eax + 0x10]
mov dword [edi + 0x1dc], eax
push dword [esp + 0x7c]
push edi
call fcn.00409fe0
dec dword [edi + 0x1e0]
add esp, 8
mov esi, dword [esp + 0x78]
cmp dword [edi + 0x1dc], esi
jne 0x42be20
mov ebx, dword [esp + 0x68]
cmp ebx, 1
mov ebx, dword [esp + 0x1c]
jne 0x42be88
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x1dc], eax
push dword [esp + 0x78]
push ebx
call fcn.00409fe0
add esp, 8
cmp dword [esp + 0x30], 0
jne case.0x429821.17
dec dword [ebx + 0x1e0]
jmp 0x42bea5
cmp dword [esp + 0x30], 0
mov eax, dword [esi + 8]
mov dword [ebx + 0x1f0], eax
mov eax, dword [esi + 0xc]
mov dword [ebx + 0x1f4], eax
jne case.0x429821.17
push dword [esp + 0x80]
mov edx, dword [esp + 0x6c]
mov ecx, ebx
call fcn.0045a830
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42fd4e
jmp 0x42d307
cmp ebx, 2
mov ecx, str.release
mov ebx, dword [esp + 0x1c]
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 ebx
push eax
call fcn.0040a400
mov eax, 5
add esp, 0x10
mov dword [esp + 0x14], eax
jmp 0x42d307
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [ebx + 8]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [esp + 0x68], ecx
test ecx, ecx
je case.0x429821.17
mov edx, dword [esi + edi*4 + 8]
call fcn.0041afd0
mov dword [esp + 0x14], eax
cmp eax, 5
je 0x42fceb
test eax, eax
jne 0x42fd4e
cmp dword [esi + edi*4 + 8], eax
je 0x42d307
mov esi, dword [esp + 0x18]
cmp byte [esi + 0x67], al
je 0x42d307
cmp byte [ebx + 0x1c], al
je 0x42bf64
cmp dword [ebx + 0x8c], 1
jle 0x42d307
cmp dword [esi + 0x78], 0
jne 0x42bf7f
mov eax, dword [ebx + 0x1e0]
inc dword [ebx + 0x1e4]
add eax, dword [ebx + 0x1e4]
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x78]
xor edx, edx
dec eax
mov ecx, ebx
push eax
call fcn.0045a830
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42bfe2
mov ebx, dword [esp + 0x68]
mov ecx, ebx
mov edi, dword [esi + 0x78]
mov esi, dword [ebx + 4]
call fcn.00418c50
mov ecx, dword [esi]
mov edx, edi
call fcn.00415f70
cmp byte [ebx + 9], 0
mov dword [esp + 0x14], eax
je 0x42bfda
add dword [ebx + 0xc], 0xffffffff
jne 0x42bfda
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x42bfd6
push eax
call dword [0x4aeeec]
add esp, 4
mov byte [ebx + 0xa], 0
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov eax, dword [ebx + 0x1f0]
mov dword [esi + 0x98], eax
mov eax, dword [ebx + 0x1f4]
mov dword [esi + 0x9c], eax
jmp case.0x429821.17
mov eax, dword [esi + edi*4 + 4]
lea ecx, [esp + 0x68]
mov dword [esp + 0x6c], eax
add eax, eax
mov edx, dword [esi + edi*4 + 0xc]
mov dword [esp + 0x70], edx
push ecx
mov ecx, dword [ebx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00420540
mov eax, dword [esp + 0x6c]
add esp, 4
mov ecx, dword [esp + 0x2c]
cdq
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x14], edx
inc eax
mov edx, dword [esp + 0x24]
jmp 0x429790
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [esp + 0x28]
shl eax, 4
add eax, dword [ebx + 8]
mov dword [esp + 0x68], eax
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00422b20
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 + 0x6c]
mov edx, dword [eax + edi*4 + 8]
mov ecx, dword [ecx + 4]
call fcn.004205b0
mov edx, dword [esp + 0x24]
add esp, 4
mov dword [esp + 0x14], eax
mov eax, dword [edx + edi*4 + 8]
cmp eax, 1
jne 0x42c0bf
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x10]
mov dword [ecx], eax
or dword [ebx + 0xc], 0x200
jmp 0x42c0d1
cmp eax, 2
jne 0x42c0d1
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0xc]
mov al, byte [esi + 0x10]
mov byte [ecx + 0x4c], al
cmp dword [edx + edi*4 + 4], 1
jne case.0x429821.17
mov ecx, ebx
call fcn.00427080
mov eax, dword [esp + 0x18]
mov byte [eax + 0x63], 0
jmp case.0x429821.17
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [ebx + 8]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [esp + 0x70], ecx
test ecx, ecx
je 0x42c12d
lea eax, [esp + 0x68]
mov edx, 1
push eax
call fcn.00420540
mov ecx, dword [esi + edi*4 + 4]
add esp, 4
mov eax, dword [ebx + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [esp + 0x68]
mov eax, dword [eax + 4]
jmp 0x42c135
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
cmp ecx, dword [esi + edi*4 + 8]
jne 0x42c149
cmp eax, dword [esi + edi*4 + 0xc]
je case.0x429821.17
mov eax, dword [esp + 0x18]
push dword [eax + 0x38]
push ebx
call fcn.00409fe0
add esp, 8
mov edx, str.database_schema_has_changed
mov ecx, ebx
call fcn.0040a370
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x38], eax
mov edx, dword [esi + edi*4 + 4]
mov ecx, edx
mov eax, dword [ebx + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [esp + 0x68]
je 0x42c18a
mov ecx, ebx
call fcn.0043c680
mov eax, dword [esp + 0x18]
mov byte [eax + 0x63], 1
mov eax, 0x11
mov dword [esp + 0x14], eax
jmp 0x42d307
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x63], 0
jne 0x42fd17
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
mov ebx, dword [esi + edi*4 + 8]
mov dword [esp + 0x70], ebx
mov esi, dword [esi + edi*4 + 0xc]
mov edx, esi
mov dword [esp + 0x74], esi
shl edx, 4
add edx, dword [eax + 8]
mov dword [esp + 0x84], edx
mov eax, dword [edx + 4]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x20]
cmp byte [eax + edi*4], 0x28
jne 0x42c208
mov dword [esp + 0x78], 1
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x18]
mov al, byte [eax + 0x4c]
cmp al, byte [edx + 0x65]
jae 0x42c20c
mov byte [edx + 0x65], al
jmp 0x42c20c
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x20]
cmp byte [edx + edi*4 + 3], cl
je 0x42c259
mov ecx, dword [esp + 0x28]
lea eax, [ebx + ebx*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00422b20
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 + 0x70], eax
cmp eax, 2
jl 0x42fd03
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x20]
mov al, byte [ebx + edi*4 + 1]
cmp al, 0xfa
jne 0x42c28e
mov eax, dword [esp + 0x18]
mov ecx, dword [ebx + edi*4 + 0x10]
mov dword [esp + 0x6c], 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 + 0x6c]
mov esi, dword [esp + 0x74]
movzx ecx, word [eax + 6]
inc ecx
jmp 0x42c296
cmp al, 0xf2
jne 0x42c29a
mov ecx, dword [ebx + edi*4 + 0x10]
mov dword [esp + 0x68], ecx
mov edx, dword [ebx + edi*4 + 4]
push 1
push esi
push ecx
mov ecx, dword [esp + 0x24]
call fcn.00429490
add esp, 0xc
mov dword [esp + 0x80], eax
test eax, eax
je 0x42ffc2
mov byte [eax + 0x1c], 1
mov eax, dword [esp + 0x80]
mov byte [eax + 0x20], 1
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x7c]
push dword [eax]
push dword [esp + 0x70]
push dword [esp + 0x80]
call fcn.0041c230
mov ecx, dword [esp + 0x8c]
add esp, 0xc
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x6c]
mov dword [ecx + 8], eax
cmp byte [ebx + edi*4 + 1], 0xfa
mov eax, dword [esp + 0x80]
setne cl
mov byte [eax + 0x1e], cl
mov ecx, dword [esp + 0x80]
cmp byte [ecx + 0x1e], 0
sete al
mov byte [ecx + 0x1f], al
jmp 0x42d2ff
mov edx, dword [esi + edi*4 + 4]
mov ecx, dword [esp + 0x18]
push 1
push 0xffffffffffffffff
push dword [esi + edi*4 + 8]
call fcn.00429490
add esp, 0xc
mov dword [esp + 0x68], eax
test eax, eax
je 0x42ffc6
mov byte [eax + 0x1c], 1
xor edx, edx
movzx eax, byte [esi + edi*4 + 3]
mov ecx, dword [ebx]
or eax, 9
push 0x41e
push eax
mov eax, dword [esp + 0x70]
add eax, 4
push eax
push ebx
call fcn.0041a200
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42c57e
mov ecx, dword [esp + 0x68]
lea edx, [eax + 1]
mov ecx, dword [ecx + 4]
call fcn.0041afd0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42c57e
cmp dword [esi + edi*4 + 0x10], 0
mov eax, dword [esp + 0x68]
mov ebx, dword [eax + 4]
mov ecx, ebx
je 0x42c4f0
movzx esi, byte [esi + edi*4 + 3]
or esi, 2
call fcn.00418c50
push esi
lea edx, [esp + 0x5c]
mov ecx, ebx
call fcn.0041fe30
add esp, 4
mov ecx, eax
cmp byte [ebx + 9], 0
mov dword [esp + 0x14], ecx
je 0x42c3fa
add dword [ebx + 0xc], 0xffffffff
jne 0x42c3fa
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x42c3f6
push eax
call dword [0x4aeeec]
mov ecx, dword [esp + 0x18]
add esp, 4
mov byte [ebx + 0xa], 0
test ecx, ecx
jne 0x42c4df
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x20]
mov ebx, dword [eax + 4]
mov ecx, dword [ecx + edi*4 + 0x10]
mov esi, dword [eax]
mov dword [esp + 0x30], ecx
mov ecx, ebx
call fcn.00418c50
mov ecx, dword [ebx + 4]
mov eax, dword [esp + 0x58]
cmp byte [ecx + 0x10], 0
je 0x42c435
mov dword [esp + 0x14], 8
jmp 0x42c486
cmp eax, 1
jne 0x42c442
xor edx, edx
cmp dword [ecx + 0x30], 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], ebx
mov dword [esi + 4], ecx
mov byte [esi + 0x50], 1
mov eax, dword [ecx + 8]
mov dword [esi + 8], eax
test eax, eax
je 0x42c469
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 [ebx + 9], 0
je 0x42c4aa
add dword [ebx + 0xc], 0xffffffff
jne 0x42c4aa
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x42c4a6
push eax
call dword [0x4aeeec]
add esp, 4
mov byte [ebx + 0xa], 0
mov eax, dword [esp + 0x68]
mov esi, dword [esp + 0x20]
mov ecx, dword [esi + edi*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 + 0x68]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1e], 0
jmp 0x42c57a
mov eax, dword [esp + 0x68]
mov esi, dword [esp + 0x20]
mov byte [eax + 0x1e], 0
jmp 0x42c57a
mov esi, dword [eax]
call fcn.00418c50
mov eax, dword [ebx + 4]
mov ecx, 1
cmp byte [eax + 0x10], 0
je 0x42c50f
mov dword [esp + 0x14], 8
jmp 0x42c54a
xor edx, edx
cmp dword [eax + 0x30], edx
mov dword [esi + 0x10], edx
cmove ecx, edx
mov dword [esi], ebx
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 0x42c53a
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 [ebx + 9], 0
je 0x42c56e
add dword [ebx + 0xc], 0xffffffff
jne 0x42c56e
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x42c56a
push eax
call dword [0x4aeeec]
add esp, 4
mov byte [ebx + 0xa], 0
mov eax, dword [esp + 0x68]
mov esi, dword [esp + 0x20]
mov byte [eax + 0x1e], 1
mov ebx, dword [esp + 0x1c]
cmp byte [esi + edi*4 + 3], 0x10
mov eax, dword [esp + 0x68]
setne cl
mov byte [eax + 0x20], cl
mov ecx, dword [esp + 0x68]
cmp byte [ecx + 0x1e], 0
sete al
mov byte [ecx + 0x1f], al
jmp case.0x429821.17
mov edx, dword [esi + edi*4 + 4]
mov ecx, dword [esp + 0x18]
push 1
push 0xffffffffffffffff
push dword [esi + edi*4 + 8]
call fcn.00429490
add esp, 0xc
mov dword [esp + 0x68], eax
test eax, eax
je 0x42ffc6
mov ecx, dword [esi + edi*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 + 0x68]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x4d]
mov byte [ecx + 4], al
mov ecx, ebx
mov eax, dword [esp + 0x68]
mov byte [eax + 0x21], 1
mov edx, dword [esp + 0x68]
call fcn.004313c0
mov dword [esp + 0x14], eax
jmp 0x42d307
mov edx, dword [esi + edi*4 + 4]
mov ecx, dword [esp + 0x18]
push 0
push 0xffffffffffffffff
push dword [esi + edi*4 + 0xc]
call fcn.00429490
add esp, 0xc
mov dword [esp + 0x68], eax
test eax, eax
je 0x42ffc6
mov edx, dword [esp + 0x24]
mov byte [eax + 0x1c], 1
mov eax, dword [esp + 0x68]
mov ecx, dword [esi + edi*4 + 8]
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1e], 1
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1f], 0
mov eax, dword [esp + 0x10]
inc eax
jmp 0x429790
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x42c6a8
mov eax, dword [esp + 0x18]
mov edx, esi
mov ecx, dword [eax]
call fcn.00431470
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x42c67e
call fcn.0041a880
jmp 0x42c689
mov ecx, dword [esi]
test ecx, ecx
je 0x42c689
call fcn.0041c2d0
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x42c6a8
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 + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov dword [eax + ecx*4], 0
mov eax, dword [esp + 0x10]
inc eax
jmp 0x429790
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x70], ecx
cmp dword [ecx], 0
je 0x42ac70
movzx eax, byte [esi + edi*4]
mov dword [esp + 0x6c], eax
mov byte [ecx + 0x1c], 0
mov ecx, dword [esp + 0x70]
cmp byte [ecx + 0x1e], 0
je 0x42c9a1
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, ebx
mov dword [esp + 0x30], ebx
call fcn.004295a0
mov ecx, ebx
call fcn.00422b20
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x9c], edx
mov byte [eax + 0x19], 0
movzx eax, word [ebx + 0x1c]
test al, 4
jne 0x42c937
test al, 8
jne 0x42c758
mov eax, dword [esi + edi*4 + 8]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
jmp 0x429790
mov ebx, dword [esp + 0x98]
mov esi, dword [esp + 0x9c]
test ebx, ebx
jne 0x42c8d1
cmp esi, 0x80000000
jne 0x42c8d1
mov edx, esi
xor ecx, ecx
call fcn.00493f10
mov eax, dword [esp + 0x30]
movsd xmm1, qword [eax + 8]
comisd xmm0, xmm1
xorps xmm0, xmm0
ja 0x42c79f
comisd xmm1, xmm0
jbe 0x42c8d1
mov dword [esp + 0x68], 1
comisd xmm0, xmmword [eax + 8]
jbe 0x42c80d
cmp dword [esp + 0x6c], 0x30
jl 0x42c8bb
mov eax, dword [esp + 0x70]
mov esi, dword [eax]
mov ecx, esi
call fcn.0041ca70
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42fd11
cmp byte [esi + 0x53], al
jne 0x42c7f5
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x68], 1
mov dword [esp + 0x14], eax
mov esi, dword [ecx + edi*4 + 8]
dec esi
jmp 0x42d30b
mov ecx, esi
mov dword [esp + 0x68], 0
call fcn.0041cc30
mov dword [esp + 0x14], eax
jmp 0x42c897
cmp dword [esp + 0x6c], 0x2f
jg 0x42c8bb
mov eax, dword [esp + 0x70]
mov esi, dword [eax]
cmp byte [esi + 0x53], 1
jne 0x42c842
cmp byte [esi + 0x51], 0
je 0x42c842
mov ecx, dword [esp + 0x20]
xor eax, eax
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov esi, dword [ecx + edi*4 + 8]
dec esi
jmp 0x42d30b
mov ecx, esi
call fcn.0041ca70
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42fd11
cmp byte [esi + 0x53], al
jne 0x42c878
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x68], 1
mov dword [esp + 0x14], eax
mov esi, dword [ecx + edi*4 + 8]
dec esi
jmp 0x42d30b
mov ecx, esi
mov dword [esp + 0x68], 0
call fcn.0041ccb0
test eax, eax
mov dword [esp + 0x14], eax
sete al
mov byte [esi + 0x51], al
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42fd11
cmp dword [esp + 0x68], eax
je 0x42b307
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov esi, dword [ecx + edi*4 + 8]
dec esi
jmp 0x42d30b
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov esi, dword [ecx + edi*4 + 8]
dec esi
jmp 0x42d30b
mov eax, dword [esp + 0x6c]
cmp eax, 0x2e
je 0x42c909
cmp eax, 0x30
je 0x42c909
mov edx, esi
mov ecx, ebx
call fcn.00493f10
mov eax, dword [esp + 0x30]
comisd xmm0, xmmword [eax + 8]
jbe 0x42c945
add ebx, 0xffffffff
mov dword [esp + 0x98], ebx
adc esi, 0xffffffff
mov dword [esp + 0x9c], esi
jmp 0x42c945
mov edx, esi
mov ecx, ebx
call fcn.00493f10
mov eax, dword [esp + 0x30]
movsd xmm1, qword [eax + 8]
comisd xmm1, xmm0
jbe 0x42c945
add ebx, 1
mov dword [esp + 0x98], ebx
adc esi, 0
mov dword [esp + 0x9c], esi
jmp 0x42c945
mov esi, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
mov ecx, dword [esp + 0x70]
lea eax, [esp + 0x68]
push eax
push 0
push esi
mov ecx, dword [ecx]
xor edx, edx
push ebx
call fcn.0041cd40
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42fd11
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
cmp dword [esp + 0x68], eax
jne 0x42ca2a
mov eax, dword [esp + 0x70]
mov byte [eax + 0x19], 1
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x98]
mov dword [ecx + 0x40], eax
mov eax, dword [esp + 0x9c]
mov dword [ecx + 0x44], eax
jmp 0x42ca2a
mov eax, dword [esi + edi*4 + 0x10]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x90], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x78], eax
mov ax, word [esp + 0x90]
mov word [esp + 0x7c], ax
mov eax, dword [esp + 0x6c]
and eax, 1
shl eax, 3
mov word [esp + 0x7e], ax
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, 0x4000
mov dword [esp + 0x88], eax
test word [eax + 0x1c], dx
je 0x42c9fa
mov ecx, eax
call fcn.00422840
mov ecx, dword [esp + 0x70]
mov ecx, dword [ecx]
lea eax, [esp + 0x68]
push eax
push 0
push 0
push 0
lea edx, [esp + 0x88]
call fcn.0041cd40
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42fd4e
mov eax, dword [esp + 0x70]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0x70]
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
cmp eax, 0x30
jl 0x42ca7d
test ecx, ecx
js 0x42ca6b
jne 0x42ca55
cmp eax, 0x31
je 0x42ca6b
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x68], 0
jmp 0x429790
lea eax, [esp + 0x68]
push eax
mov eax, dword [esp + 0x74]
push dword [eax]
call fcn.0041d120
jmp 0x42caad
test ecx, ecx
jg 0x42ca9d
jne 0x42ca88
cmp eax, 0x2e
je 0x42ca9d
mov eax, dword [esp + 0x70]
xor ecx, ecx
mov eax, dword [eax]
cmp byte [eax + 0x53], 1
setne cl
mov dword [esp + 0x68], ecx
jmp 0x42cac4
lea eax, [esp + 0x68]
push eax
mov eax, dword [esp + 0x74]
push dword [eax]
call fcn.0041d2c0
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42fd4e
mov eax, dword [esp + 0x70]
mov byte [eax + 0x19], 0
cmp dword [esp + 0x68], 0
je 0x42bcac
mov eax, dword [esi + edi*4 + 8]
mov edx, dword [esp + 0x24]
dec eax
inc eax
jmp 0x429790
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x68], eax
cmp dword [eax], 0
je 0x42f297
mov ecx, dword [esp + 0x28]
mov byte [eax + 0x1c], 0
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00422b20
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], edx
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x24]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1d], 1
mov eax, dword [esp + 0x10]
inc eax
jmp 0x429790
mov eax, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x68], edx
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x6c], ecx
mov eax, dword [esi + edi*4 + 0xc]
mov esi, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
cmp dword [ecx], edx
je 0x42cc5c
mov edx, dword [esp + 0x20]
cmp dword [edx + edi*4 + 0x10], 0
jle 0x42cba9
mov eax, dword [ecx + 8]
mov dword [esp + 0x80], eax
mov ax, word [edx + edi*4 + 0x10]
lea edx, [esp + 0x80]
mov word [esp + 0x84], ax
mov eax, 0x10
mov dword [esp + 0x90], esi
mov word [esp + 0x86], ax
mov dword [esp + 0x78], edx
jmp 0x42cbfb
mov ecx, dword [ecx + 8]
lea eax, [esp + 0x74]
push eax
push 0x97
lea edx, [esp + 0xa0]
call fcn.00426a70
add esp, 8
mov dword [esp + 0x78], eax
test eax, eax
je 0x42ffc6
mov ecx, dword [esp + 0x6c]
mov edx, dword [esi + 0x18]
push eax
push dword [esi + 4]
mov ecx, dword [ecx + 8]
call fcn.00426ad0
mov eax, dword [esp + 0x80]
add esp, 8
or word [eax + 6], 0x10
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x6c]
mov ecx, dword [ecx]
lea eax, [esp + 0x70]
push eax
push 0
push 0
push 0
call fcn.0041cd40
mov esi, dword [esp + 0x30]
add esp, 0x10
mov dword [esp + 0x14], eax
cmp dword [esi + edi*4 + 0x10], 0
jne 0x42cc30
push dword [esp + 0x74]
push ebx
call fcn.00409fe0
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x42d307
cmp dword [esp + 0x70], eax
sete al
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x6c]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0x6c]
mov dword [eax + 0x50], 0
mov edx, dword [esp + 0x68]
jmp 0x42cc60
mov esi, dword [esp + 0x20]
cmp byte [esi + edi*4], 0x34
jne 0x42cc7d
test edx, edx
je 0x42bcac
mov eax, dword [esi + edi*4 + 8]
mov edx, dword [esp + 0x24]
dec eax
inc eax
jmp 0x429790
test edx, edx
jne 0x42bcac
mov eax, dword [esi + edi*4 + 8]
mov edx, dword [esp + 0x24]
dec eax
inc eax
jmp 0x429790
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [esi + edi*4 + 0x10]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x78], eax
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x6c], eax
mov dword [eax + 0x4c], 0
mov eax, dword [esp + 0x6c]
mov dword [eax + 0x50], 0
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0x78]
mov eax, dword [ecx]
mov dword [esp + 0x70], 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 + 0x74], dx
mov word [esp + 0x68], cx
cmp ax, dx
jae 0x42cd1d
movzx eax, cx
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
jne 0x42cdf5
inc cx
mov word [esp + 0x68], cx
cmp cx, dx
jb 0x42cd00
cmp dword [esp + 0x30], 0
je 0x42fa04
mov eax, dword [esp + 0x6c]
mov ecx, ebx
mov eax, dword [eax + 8]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x74]
inc eax
mov dword [esp + 0x90], esi
mov word [esp + 0x84], ax
mov eax, 0x20
mov word [esp + 0x86], ax
call fcn.00422b20
mov dword [ebx + 0x10], eax
mov ecx, 0xbf04
mov ax, word [ebx + 0x1c]
and ax, cx
mov dword [ebx + 0x14], edx
or ax, 4
lea edx, [esp + 0x80]
mov word [ebx + 0x1c], ax
mov eax, dword [ebx + 0x10]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x98], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x6c]
add eax, 0x4c
push eax
push 0
push 0
push 0
call fcn.0041cd40
add esp, 0x10
mov dword [esp + 0x14], eax
test byte [esp + 0x86], 0x20
jne 0x42c8bf
mov ecx, dword [esp + 0x88]
cmp ecx, dword [esp + 0x98]
jne 0x42cde3
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0x9c]
je 0x42c8bb
mov dword [ebx + 0x10], ecx
mov eax, dword [esp + 0x8c]
mov dword [ebx + 0x14], eax
jmp 0x42d2ff
mov eax, dword [esp + 0x20]
mov eax, dword [eax + edi*4 + 8]
dec eax
mov dword [esp + 0x70], 0
mov dword [esp + 0x10], eax
jmp 0x42d2ff
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [esi + edi*4 + 4]
lea ebx, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x68], eax
mov esi, dword [eax]
mov dword [esp + 0x6c], esi
test esi, esi
je 0x42ced2
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x70]
push edx
mov dword [esp + 0x74], 0
xor edx, edx
push 0
mov ecx, dword [eax + ebx*8 + 0x10]
mov dword [esp + 0x80], ecx
mov eax, dword [eax + ebx*8 + 0x14]
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x8c], eax
call fcn.0041cd40
mov ecx, dword [esp + 0x78]
add esp, 0x10
mov edx, dword [esp + 0x28]
mov dword [esp + 0x14], eax
mov eax, dword [edx + ebx*8 + 0x10]
mov dword [ecx + 0x40], eax
mov eax, dword [edx + ebx*8 + 0x14]
mov dword [ecx + 0x44], eax
cmp dword [esp + 0x70], 0
mov eax, dword [esp + 0x68]
sete cl
mov byte [eax + 0x19], cl
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1c], 0
mov eax, dword [esp + 0x68]
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1d], 0
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x42cec6
mov eax, dword [esp + 0x20]
mov eax, dword [eax + edi*4 + 8]
dec eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x68]
mov dword [eax + 0x4c], ecx
jmp 0x42d2ff
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov esi, dword [ecx + edi*4 + 8]
mov dword [eax + 0x4c], 0
dec esi
mov eax, dword [esp + 0x14]
jmp 0x42d30b
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + edi*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 + edi*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
jmp 0x429790
mov eax, dword [esp + 0x18]
xorps xmm0, xmm0
movlpd qword [esp + 0x68], xmm0
mov dword [esp + 0x74], 0
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ebx, dword [eax + ecx*4]
mov dword [esp + 0x70], ebx
mov edx, dword [ebx]
test edx, edx
je 0x42d2ed
cmp byte [ebx + 0x1b], 0
jne 0x42d203
mov esi, dword [edx + 0x18]
mov eax, esi
mov dword [esp + 0x68], esi
mov edx, dword [edx + 0x1c]
or eax, edx
mov dword [esp + 0x6c], edx
jne 0x42d02b
mov esi, dword [ebx]
cmp byte [esi + 0x53], 1
jne 0x42cf89
cmp byte [esi + 0x51], al
jne 0x42cff4
mov ecx, esi
call fcn.0041ca70
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42fd11
cmp byte [esi + 0x53], al
jne 0x42cfb8
mov ebx, dword [esp + 0x70]
lea esi, [eax + 1]
mov dword [esp + 0x74], 1
xor edx, edx
mov dword [esp + 0x14], eax
jmp 0x42d023
mov ecx, esi
mov dword [esp + 0x74], 0
call fcn.0041ccb0
test eax, eax
mov dword [esp + 0x14], eax
sete al
mov byte [esi + 0x51], al
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42fd11
cmp dword [esp + 0x74], eax
je 0x42cff0
mov ebx, dword [esp + 0x70]
lea esi, [eax + 1]
xor edx, edx
jmp 0x42d023
mov ebx, dword [esp + 0x70]
mov edx, dword [ebx]
mov dword [esp + 0x38], edx
cmp byte [edx + 0x53], 1
je 0x42d082
xorps xmm0, xmm0
mov dword [esp + 0x14], 0
movlpd qword [esp + 0x68], xmm0
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0x68]
add esi, 1
adc edx, 0
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], esi
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + edi*4 + 0xc]
test eax, eax
je 0x42d1a9
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 0xa8]
test edx, edx
je 0x42d115
mov dword [esp + 0x80], edx
mov eax, dword [edx + 0x3c]
test eax, eax
je 0x42d070
nop dword [eax + eax]
mov edx, eax
mov dword [esp + 0x80], edx
mov eax, dword [edx + 0x3c]
test eax, eax
jne 0x42d060
mov eax, dword [ecx + edi*4 + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea esi, [eax + ecx*8]
jmp 0x42d11f
cmp word [edx + 0x3a], 0
jne 0x42d0d5
movsx eax, word [edx + 0x5a]
mov ebx, dword [edx + eax*4 + 0x84]
movzx esi, word [edx + eax*2 + 0x5c]
lea eax, [edx + 0x20]
push eax
movzx ecx, word [ebx + 0xc]
add ecx, dword [ebx + 0x40]
movzx eax, byte [ecx + esi*2]
movzx edx, byte [ecx + esi*2 + 1]
mov ecx, ebx
shl eax, 8
or edx, eax
movzx eax, word [ebx + 0x12]
and edx, eax
add edx, dword [ebx + 0x40]
call fcn.004194f0
mov edx, dword [esp + 0x3c]
add esp, 4
mov edi, dword [esp + 0x30]
mov byte [edx + 0x52], 1
mov ebx, dword [esp + 0x70]
mov esi, dword [edx + 0x20]
mov dword [esp + 0x68], esi
mov edx, dword [edx + 0x24]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x14], 0
cmp esi, 0xffffffff
jne 0x42d01d
cmp edx, 0x7fffffff
jne 0x42d01d
mov byte [ebx + 0x1b], 1
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0x68]
jmp 0x42d02b
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
mov dword [esp + 0x7c], esi
call fcn.00422b20
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 + 0x7c]
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
cmp edx, 0xffffffff
jne 0x42d15f
cmp ecx, 0x7fffffff
je 0x42fd2a
mov eax, dword [esp + 0x70]
cmp byte [eax + 0x1b], 0
jne 0x42fd2a
add edx, 1
adc ecx, 0
cmp dword [esp + 0x6c], ecx
jg 0x42d18f
jl 0x42d183
mov eax, dword [esp + 0x68]
cmp eax, edx
jae 0x42d193
mov eax, edx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], eax
jmp 0x42d193
mov eax, dword [esp + 0x68]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x6c]
mov dword [esi + 0x14], eax
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0x68]
cmp edx, 0x7fffffff
jg 0x42d1c0
jl 0x42d1b8
cmp esi, 0xffffffff
jae 0x42d1c0
add esi, 1
adc edx, 0
jmp 0x42d1d1
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
mov edi, dword [ebx]
mov eax, dword [edi + 4]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x42d1f9
nop dword [eax]
mov eax, dword [ecx + 0x14]
cmp eax, dword [edi + 0x14]
jne 0x42d1ee
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x1c], edx
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x42d1e0
mov ebx, dword [esp + 0x70]
cmp byte [ebx + 0x1b], 0
je 0x42d2d6
mov eax, dword [esp + 0x48]
lea edx, [esp + 0x74]
mov ecx, dword [esp + 0x44]
and eax, 0x3fffffff
add ecx, 1
mov dword [esp + 0x78], 0
push edx
adc eax, 0
mov dword [esp + 0x6c], ecx
push 0
push eax
mov dword [esp + 0x78], eax
xor edx, edx
push ecx
mov ecx, dword [ebx]
call fcn.0041cd40
mov edx, eax
add esp, 0x10
mov dword [esp + 0x14], edx
test edx, edx
jne 0x42d2d2
nop dword [eax]
mov ecx, dword [esp + 0x74]
test ecx, ecx
jne 0x42d2c6
mov eax, dword [esp + 0x78]
inc eax
mov dword [esp + 0x78], eax
cmp eax, 0x64
jge 0x42d2c6
lea eax, [esp + 0x68]
push eax
push 8
call fcn.0040bb20
mov eax, dword [esp + 0x70]
add esp, 8
cmp dword [esp + 0x78], 5
jge 0x42d289
and eax, 0xffffff
xor ecx, ecx
jmp 0x42d293
mov ecx, dword [esp + 0x6c]
and ecx, 0x3fffffff
add eax, 1
lea edx, [esp + 0x74]
push edx
adc ecx, 0
mov dword [esp + 0x6c], eax
push 0
push ecx
mov dword [esp + 0x78], ecx
xor edx, edx
mov ecx, dword [esp + 0x7c]
push eax
mov ecx, dword [ecx]
call fcn.0041cd40
mov edx, eax
add esp, 0x10
mov dword [esp + 0x14], edx
test edx, edx
je 0x42d250
jmp 0x42d2d2
test edx, edx
jne 0x42d2d2
test ecx, ecx
je 0x42fd2a
mov ebx, dword [esp + 0x70]
mov byte [ebx + 0x19], 0
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0x70]
mov dword [eax + 0x50], 0
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x68]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x6c]
mov dword [ecx + 0x14], eax
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
inc esi
mov dword [esp + 0x10], esi
test eax, eax
jne 0x42fb29
mov edx, dword [esp + 0x24]
mov eax, esi
mov esi, dword [esp + 0x20]
jmp 0x429794
mov eax, dword [esi + edi*4 + 8]
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x68], esi
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x78], ecx
cmp byte [edx + edi*4], 0x39
mov eax, dword [edx + edi*4 + 0xc]
mov dword [esp + 0x30], ecx
jne 0x42d377
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [esp + 0x6c], eax
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x70], ebx
mov eax, dword [eax + 0x14]
mov dword [esp + 0x74], eax
jmp 0x42d386
cdq
mov ebx, eax
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x70], ebx
test byte [edx + edi*4 + 3], 1
je 0x42d394
mov eax, dword [esp + 0x18]
inc dword [eax + 0x6c]
test byte [edx + edi*4 + 3], 2
je 0x42d3c5
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], ebx
mov dword [ecx + 0x30], ebx
mov eax, dword [esp + 0x74]
mov dword [ecx + 0x34], eax
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x68]
mov dword [esp + 0x30], ecx
test byte [esi + 0x1c], 1
je 0x42d3ed
mov dword [esi + 4], 0
mov eax, dword [esp + 0x68]
mov dword [eax + 0x18], 0
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x68]
mov dword [esp + 0x30], ecx
test byte [edx + edi*4 + 3], 0x10
je 0x42d3f9
mov eax, dword [ecx + 0x4c]
jmp 0x42d3fb
xor eax, eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x14], eax
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x42d416
mov eax, dword [esi + 0x10]
jmp 0x42d418
xor eax, eax
mov dword [esp + 0x7c], eax
mov edx, dword [ecx]
mov dword [esp + 0x38], eax
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x42d46a
nop dword [eax]
mov eax, dword [ecx + 0x14]
cmp eax, dword [edx + 0x14]
jne 0x42d446
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x1c], 0
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x42d430
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x68]
mov dword [esp + 0x30], edx
jmp 0x42d472
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x24]
xor edx, edx
movzx eax, byte [eax + edi*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 + 0x88]
mov ecx, dword [ecx]
push ebx
call fcn.0041f9b0
mov ebx, dword [esp + 0x38]
add esp, 0x1c
mov dword [esp + 0x14], eax
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 + 0x14]
test eax, eax
jne 0x42d307
cmp dword [ebx + 0xbc], eax
je 0x42d307
mov esi, dword [esp + 0x20]
cmp dword [esi + edi*4 + 0x10], eax
je 0x42d307
mov eax, dword [esp + 0x78]
push dword [esp + 0x74]
push dword [esp + 0x74]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebx + 8]
add ecx, ecx
mov edx, dword [eax + ecx*8]
mov eax, 0x12
mov dword [esp + 0x8c], edx
mov ecx, dword [esi + edi*4 + 0x10]
mov dword [esp + 0x90], ecx
test byte [esi + edi*4 + 3], 4
mov esi, 0x17
push ecx
cmovne eax, esi
push edx
push eax
mov dword [esp + 0xa0], eax
push dword [ebx + 0xb8]
mov eax, dword [ebx + 0xbc]
call eax
add esp, 0x18
jmp case.0x429821.17
mov eax, dword [esp + 0x18]
xorps xmm0, xmm0
movlpd qword [esp + 0x68], xmm0
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x70], ecx
cmp dword [ebx + 0xbc], 0
je 0x42d57c
cmp dword [esi + edi*4 + 0x10], 0
je 0x42d57c
mov eax, dword [ecx + 0x40]
mov dword [esp + 0x68], eax
mov eax, dword [ecx + 0x44]
mov dword [esp + 0x6c], eax
call fcn.00426530
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42fd4e
mov esi, dword [esp + 0x70]
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x42d5c1
nop dword [eax]
mov eax, dword [ecx + 0x14]
cmp eax, dword [edx + 0x14]
jne 0x42d5b6
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x1c], 0
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x42d5a0
mov esi, dword [esp + 0x70]
mov ecx, dword [esi]
call fcn.0041fbe0
mov esi, dword [esp + 0x20]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x70]
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42d61e
mov edx, dword [ebx + 0xbc]
test edx, edx
je 0x42d61e
mov eax, dword [esi + edi*4 + 0x10]
test eax, eax
je 0x42d61a
push dword [esp + 0x6c]
push dword [esp + 0x6c]
push eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebx + 8]
add ecx, ecx
push dword [eax + ecx*8]
push 9
push dword [ebx + 0xb8]
call edx
add esp, 0x18
mov eax, dword [esp + 0x14]
test byte [esi + edi*4 + 8], 1
je 0x42d307
mov esi, dword [esp + 0x18]
inc dword [esi + 0x6c]
jmp 0x42d307
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov eax, dword [eax + 0x6c]
add dword [ebx + 0x40], eax
mov dword [ebx + 0x3c], eax
mov eax, dword [esp + 0x18]
mov dword [eax + 0x6c], 0
mov eax, dword [esp + 0x10]
inc eax
jmp 0x429790
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + edi*4 + 4]
mov edx, dword [esp + 0x28]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x68], ecx
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [esp + 0x6c]
push eax
call fcn.00431df0
add esp, 4
mov dword [esp + 0x14], eax
cmp dword [esp + 0x6c], 0
je 0x42d307
mov esi, dword [esi + edi*4 + 8]
dec esi
jmp 0x42d30b
mov eax, dword [esi + edi*4 + 8]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, dword [esi + edi*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 + 0x68], eax
mov edx, dword [eax + 0x48]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x42d6e2
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov esi, dword [eax + ecx*8 + 0x1c]
mov edi, dword [eax + ecx*8 + 0x20]
jmp 0x42d6ea
mov eax, dword [edx + 0x28]
mov esi, dword [eax + 4]
mov edi, dword [eax]
mov ecx, dword [esp + 0x2c]
mov edx, esi
push 0
call fcn.004226c0
add esp, 4
test eax, eax
jne 0x42fd39
mov ecx, dword [esp + 0x2c]
mov edx, 0xbf10
push esi
push edi
mov ax, word [ecx + 0x1c]
push dword [ecx + 4]
and ax, dx
mov dword [ecx + 0x18], esi
or ax, 0x10
mov word [ecx + 0x1c], ax
call fcn.00474330
add esp, 0xc
xor eax, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
jmp 0x42978c
mov eax, dword [esi + edi*4 + 8]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, dword [esi + edi*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 + 0x68], ecx
mov eax, dword [ecx]
mov dword [esp + 0x6c], eax
call fcn.00426530
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42fd52
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x30], edx
cmp byte [eax + 0x1f], 0
je 0x42d821
cmp byte [edx + 0x53], 1
je 0x42d7a8
xorps xmm0, xmm0
movlpd qword [esp + 0x78], xmm0
mov esi, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
jmp 0x42d805
cmp word [edx + 0x3a], 0
jne 0x42d7f7
movsx eax, word [edx + 0x5a]
mov ebx, dword [edx + eax*4 + 0x84]
movzx esi, word [edx + eax*2 + 0x5c]
lea eax, [edx + 0x20]
push eax
movzx ecx, word [ebx + 0xc]
add ecx, dword [ebx + 0x40]
movzx edx, byte [ecx + esi*2]
movzx eax, byte [ecx + esi*2 + 1]
mov ecx, ebx
shl edx, 8
or edx, eax
movzx eax, word [ebx + 0x12]
and edx, eax
add edx, dword [ebx + 0x40]
call fcn.004194f0
mov edx, dword [esp + 0x34]
add esp, 4
mov ebx, dword [esp + 0x1c]
mov byte [edx + 0x52], 1
mov ecx, dword [edx + 0x20]
mov dword [esp + 0x78], ecx
mov esi, dword [edx + 0x24]
mov dword [esp + 0x7c], esi
mov eax, dword [ebx + 0x48]
cdq
cmp esi, edx
jg 0x42fe1b
jl 0x42d81b
cmp ecx, eax
ja 0x42fe1b
mov dword [esp + 0x70], ecx
jmp 0x42d880
cmp word [edx + 0x3a], 0
jne 0x42d870
movsx eax, word [edx + 0x5a]
mov ebx, dword [edx + eax*4 + 0x84]
movzx esi, word [edx + eax*2 + 0x5c]
lea eax, [edx + 0x20]
push eax
movzx ecx, word [ebx + 0xc]
add ecx, dword [ebx + 0x40]
movzx eax, byte [ecx + esi*2]
movzx edx, byte [ecx + esi*2 + 1]
mov ecx, ebx
shl eax, 8
or edx, eax
movzx eax, word [ebx + 0x12]
and edx, eax
add edx, dword [ebx + 0x40]
call fcn.004194f0
mov edx, dword [esp + 0x34]
add esp, 4
mov ebx, dword [esp + 0x1c]
mov byte [edx + 0x52], 1
mov ecx, dword [edx + 0x2c]
mov dword [esp + 0x70], ecx
cmp ecx, dword [ebx + 0x48]
ja 0x42fe1b
mov edi, dword [esp + 0x2c]
mov edx, ecx
push 0
mov ecx, edi
call fcn.004226c0
add esp, 4
test eax, eax
jne 0x42ffc6
mov eax, dword [esp + 0x70]
mov ecx, 0xbf10
mov dword [edi + 0x18], eax
mov ax, word [edi + 0x1c]
and ax, cx
or ax, 0x10
mov word [edi + 0x1c], ax
mov eax, dword [esp + 0x68]
cmp byte [eax + 0x1f], 0
je 0x42d8e3
mov ecx, dword [esp + 0x6c]
xor edx, edx
push 0
push dword [edi + 4]
push dword [esp + 0x78]
call fcn.0041c5a0
add esp, 0xc
mov dword [esp + 0x14], eax
mov byte [edi + 0x1f], 1
jmp 0x42d307
mov esi, dword [esp + 0x6c]
mov edi, dword [edi + 4]
mov ebx, dword [esp + 0x70]
mov al, byte [esi + 0x53]
test al, al
jne 0x42d90f
mov edi, dword [esp + 0x2c]
mov eax, 4
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov byte [edi + 0x1f], 1
jmp 0x42d307
cmp al, 2
jb 0x42d922
mov ecx, esi
call fcn.00419210
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42d936
push 0
push edi
push ebx
xor edx, edx
mov ecx, esi
call fcn.0041c5a0
add esp, 0xc
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x1c]
mov byte [edi + 0x1f], 1
jmp 0x42d307
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x68], ecx
cmp byte [ecx + 0x1c], 0
je 0x42d976
mov eax, 1
mov word [edx + 0x1c], ax
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
jmp 0x429790
cmp byte [ecx + 0x1d], 0
je 0x42d99e
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x70], eax
mov eax, dword [ecx + 0x3c]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x70]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x74]
jmp 0x42d2fc
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x42da53
mov eax, dword [eax]
lea edx, [esp + 0x70]
mov dword [esp + 0x78], eax
push edx
mov eax, dword [eax]
mov dword [esp + 0x80], eax
push dword [ecx + 0x24]
mov eax, dword [eax + 0x30]
call eax
mov edi, dword [esp + 0x80]
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.00409fe0
mov ebx, dword [edi + 8]
add esp, 0x10
test ebx, ebx
jne 0x42d9f1
xor esi, esi
jmp 0x42da26
cmp byte [ebx], 0
mov eax, ebx
je 0x42d9fe
inc eax
cmp byte [eax], 0
jne 0x42d9f8
sub eax, ebx
mov ecx, esi
and eax, 0x3fffffff
lea edi, [eax + 1]
mov edx, edi
call fcn.0040a250
mov esi, eax
test esi, esi
je 0x42da22
push edi
push ebx
push esi
call fcn.00474330
add esp, 0xc
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
mov dword [eax + 0x38], esi
push dword [edi + 8]
call fcn.00409f40
mov ecx, dword [esp + 0x30]
add esp, 4
mov dword [edi + 8], 0
mov eax, dword [esp + 0x70]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x74]
jmp 0x42d2fc
call fcn.00426530
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42fd4e
mov edx, dword [esp + 0x68]
cmp byte [edx + 0x19], al
je 0x42da8f
mov eax, dword [edx + 0x40]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x70], eax
mov eax, dword [edx + 0x44]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x70]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x74]
jmp 0x42d2fc
mov edx, dword [edx]
mov dword [esp + 0x30], edx
cmp byte [edx + 0x53], 1
je 0x42daa6
xorps xmm0, xmm0
movlpd qword [esp + 0x70], xmm0
jmp 0x42daff
cmp word [edx + 0x3a], 0
jne 0x42daf1
movsx eax, word [edx + 0x5a]
mov ebx, dword [edx + eax*4 + 0x84]
movzx esi, word [edx + eax*2 + 0x5c]
lea eax, [edx + 0x20]
push eax
movzx ecx, word [ebx + 0xc]
add ecx, dword [ebx + 0x40]
movzx edx, byte [ecx + esi*2]
movzx eax, byte [ecx + esi*2 + 1]
mov ecx, ebx
shl edx, 8
or edx, eax
movzx eax, word [ebx + 0x12]
and edx, eax
add edx, dword [ebx + 0x40]
call fcn.004194f0
mov edx, dword [esp + 0x34]
add esp, 4
mov byte [edx + 0x52], 1
mov eax, dword [edx + 0x20]
mov dword [esp + 0x70], eax
mov eax, dword [edx + 0x24]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x14], 0
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x74]
jmp 0x42d2fc
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x68], eax
mov byte [eax + 0x1c], 1
mov eax, dword [esp + 0x68]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
test ecx, ecx
je 0x42bcac
call fcn.004190e0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
jmp 0x429790
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x68], ecx
mov esi, dword [ecx]
mov dword [esp + 0x6c], esi
test esi, esi
jne 0x42db80
mov dword [esp + 0x70], 1
jmp 0x42dbd3
cmp byte [esi + 0x53], 1
jne 0x42db96
cmp byte [esi + 0x51], 0
je 0x42db96
mov dword [esp + 0x14], 0
jmp 0x42dbd3
mov ecx, esi
call fcn.0041ca70
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42dbcf
cmp byte [esi + 0x53], al
jne 0x42dbb4
mov dword [esp + 0x70], 1
jmp 0x42dbcf
mov ecx, esi
mov dword [esp + 0x70], 0
call fcn.0041ccb0
test eax, eax
mov dword [esp + 0x14], eax
sete al
mov byte [esi + 0x51], al
mov ecx, dword [esp + 0x68]
mov al, byte [esp + 0x70]
mov byte [ecx + 0x1c], al
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0x68]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x68]
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x20]
mov eax, dword [eax + edi*4 + 8]
test eax, eax
jle case.0x429821.17
cmp dword [esp + 0x70], 0
je case.0x429821.17
lea esi, [eax - 1]
mov eax, dword [esp + 0x14]
jmp 0x42d30b
mov eax, dword [esp + 0x18]
inc dword [eax + 0x80]
jmp 0x42dc2c
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], 1
cmp dword [eax + 0x48], 0
je 0x42dc5f
lea ecx, [esp + 0x70]
mov edx, eax
push ecx
mov ecx, ebx
call fcn.00431a20
add esp, 4
mov dword [esp + 0x14], eax
jmp 0x42dcc4
mov esi, dword [eax]
mov ecx, esi
mov dword [esp + 0x6c], esi
call fcn.0041ca70
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42dc96
cmp byte [esi + 0x53], al
jne 0x42dc83
mov dword [esp + 0x70], 1
jmp 0x42dc96
mov ecx, esi
mov dword [esp + 0x70], 0
call fcn.0041cc30
mov dword [esp + 0x14], eax
cmp dword [esp + 0x70], 0
mov eax, dword [esp + 0x68]
mov esi, dword [esp + 0x20]
sete cl
mov byte [eax + 0x1a], cl
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0x68]
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x68]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x68]
mov cl, byte [esp + 0x70]
mov byte [eax + 0x1c], cl
cmp dword [esp + 0x70], 0
je case.0x429821.17
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [esp + 0x10], eax
jmp case.0x429821.17
cmp dword [ebx + 0xe0], 0
jne 0x42ff7b
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x68], eax
test eax, eax
je case.0x429821.17
cmp dword [eax + 0x48], 0
lea ecx, [esp + 0x6c]
push ecx
je 0x42dd28
mov edx, eax
mov ecx, ebx
call fcn.00431d30
add esp, 4
jmp 0x42dd3b
mov dword [esp + 0x70], 1
push dword [eax]
mov eax, dword [esi + edi*4 + 0x10]
call eax
add esp, 8
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x14], eax
mov al, byte [esp + 0x6c]
mov byte [ecx + 0x1c], al
mov eax, dword [esp + 0x68]
mov dword [eax + 0x50], 0
cmp dword [esp + 0x6c], 0
jne 0x42dd78
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [esp + 0x10], eax
mov al, byte [esi + edi*4 + 3]
test al, al
je 0x42dd78
mov esi, dword [esp + 0x18]
movzx eax, al
inc dword [esi + eax*4 + 0x78]
mov eax, dword [esp + 0x68]
mov byte [eax + 0x19], 0
jmp case.0x429821.17
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + edi*4 + 4]
mov edx, dword [esp + 0x28]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x68], ecx
mov eax, dword [esi + edi*4 + 8]
mov ebx, dword [ecx]
mov dword [esp + 0x6c], ebx
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
test ebx, ebx
je 0x42d2ff
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x42ddd9
mov ecx, esi
call fcn.00422840
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42b307
mov ebx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
cmp dword [ecx + 0x48], 0
je 0x42ddf9
mov ebx, dword [esp + 0x1c]
mov edx, ecx
push esi
mov ecx, ebx
call fcn.004318c0
add esp, 4
mov dword [esp + 0x14], eax
jmp 0x42d307
mov edx, dword [esi + 0x18]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x70], edx
mov esi, dword [esi + 4]
mov dword [esp + 0x74], esi
test byte [eax + edi*4 + 3], 0x10
je 0x42de17
mov eax, dword [ecx + 0x4c]
jmp 0x42de19
xor eax, eax
push eax
mov eax, dword [esp + 0x24]
mov ecx, ebx
push dword [eax + edi*4 + 0xc]
mov eax, edx
push 0
push 0
cdq
push 0x49ccd0
push edx
push eax
mov edx, esi
call fcn.0041f9b0
mov dword [esp + 0x30], eax
add esp, 0x1c
mov eax, dword [esp + 0x68]
mov dword [eax + 0x50], 0
jmp 0x42d2ff
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x68], eax
mov ecx, dword [eax]
mov dword [esp + 0x6c], ecx
test ecx, ecx
je case.0x429821.17
mov eax, dword [eax + 8]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x78], eax
mov ax, word [esi + edi*4 + 0xc]
mov word [esp + 0x7c], ax
xor eax, eax
mov word [esp + 0x7e], ax
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0x88], eax
lea edx, [esp + 0x78]
lea eax, [esp + 0x70]
push eax
push 0
push 0
push 0
call fcn.0041cd40
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42decf
cmp dword [esp + 0x70], eax
jne 0x42decf
mov ecx, dword [esp + 0x6c]
call fcn.0041fbe0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
mov dword [eax + 0x50], 0
jmp case.0x429821.17
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + edi*4 + 4]
mov edi, dword [esp + 0x2c]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x6c], eax
mov eax, dword [eax]
mov dword [esp + 0x68], eax
mov eax, 1
mov word [edi + 0x1c], ax
cmp dword [esp + 0x68], 0
je 0x42f297
mov ecx, dword [esp + 0x6c]
call fcn.00426530
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42fd4e
mov eax, dword [esp + 0x6c]
cmp byte [eax + 0x1c], 0
jne 0x42f297
mov edx, dword [esp + 0x68]
lea eax, [esp + 0x70]
push eax
call fcn.00426e10
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42fd4e
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x24]
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x74]
mov dword [edi + 0x14], eax
mov eax, 4
mov word [edi + 0x1c], ax
mov eax, dword [esp + 0x10]
inc eax
jmp 0x429790
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x68], ecx
cmp dword [ecx], 0
je case.0x429821.17
mov eax, dword [ecx + 8]
mov dword [esp + 0x70], eax
mov ax, word [esi + edi*4 + 0x10]
mov word [esp + 0x74], ax
mov eax, 0xc
cmp byte [esi + edi*4 + 3], 0
jne 0x42dfb1
mov eax, 4
mov edx, dword [esp + 0x28]
mov word [esp + 0x76], ax
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0x80], eax
lea edx, [esp + 0x70]
lea eax, [esp + 0x6c]
push eax
call fcn.00426f70
add esp, 4
mov dword [esp + 0x14], eax
cmp byte [esi + edi*4], 0x64
mov eax, dword [esp + 0x6c]
jne 0x42dfee
neg eax
jmp 0x42dfef
inc eax
mov dword [esp + 0x6c], eax
test eax, eax
jle case.0x429821.17
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [esp + 0x10], eax
jmp case.0x429821.17
xor ecx, ecx
mov dword [esp + 0x6c], ecx
mov eax, dword [ebx + 0x88]
mov dword [esp + 0x70], eax
test eax, eax
je 0x42e045
nop dword [eax]
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x42e03a
cmp byte [eax + 0x66], 2
jae 0x42e03a
cmp dword [eax + 0x58], 0
jl 0x42e03a
inc ecx
mov dword [esp + 0x6c], ecx
mov eax, dword [eax + 0x40]
mov dword [esp + 0x70], eax
test eax, eax
jne 0x42e020
mov eax, 1
mov word [edx + 0x1c], ax
cmp dword [esp + 0x6c], eax
jg 0x42fd91
mov ecx, dword [esi + edi*4 + 0xc]
mov dword [esp + 0x74], ecx
add ecx, ecx
mov eax, dword [ebx + 8]
mov esi, dword [esi + edi*4 + 4]
mov ebx, dword [eax + ecx*8 + 4]
mov ecx, ebx
call fcn.00418c50
lea eax, [esp + 0x68]
mov edx, esi
push eax
mov ecx, ebx
call fcn.00420310
add esp, 4
mov dword [esp + 0x14], eax
cmp byte [ebx + 9], 0
je 0x42e0ad
add dword [ebx + 0xc], 0xffffffff
jne 0x42e0ad
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x42e0a9
push eax
call dword [0x4aeeec]
add esp, 4
mov byte [ebx + 0xa], 0
mov ecx, dword [esp + 0x2c]
mov eax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [esp + 0x68]
cdq
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x14], edx
test eax, eax
jne 0x42b307
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x1c]
test edx, edx
je 0x42d307
mov eax, dword [esp + 0x20]
mov esi, dword [eax + edi*4 + 4]
mov edi, dword [esp + 0x74]
shl edi, 4
add edi, dword [ebx + 8]
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x42e111
nop dword [eax]
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], edx
jne 0x42e10b
mov dword [ecx + 0x14], esi
mov eax, dword [eax]
test eax, eax
jne 0x42e100
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x42e131
nop dword [eax + eax]
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], edx
jne 0x42e12b
mov dword [ecx + 0x14], esi
mov eax, dword [eax]
test eax, eax
jne 0x42e120
mov al, byte [esp + 0x74]
inc al
mov byte [esp + 0x43], al
jmp case.0x429821.17
mov dword [esp + 0x68], 0
lea eax, [esp + 0x68]
mov edx, dword [esi + edi*4 + 4]
xor ecx, ecx
cmp dword [esi + edi*4 + 0xc], ecx
cmove eax, ecx
mov ecx, dword [ebx + 8]
push eax
mov eax, dword [esi + edi*4 + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00420260
add esp, 4
mov dword [esp + 0x14], eax
cmp dword [esi + edi*4 + 0xc], 0
je 0x42d307
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x68]
add dword [ecx + 0x6c], eax
mov ecx, dword [esi + edi*4 + 0xc]
test ecx, ecx
jle case.0x429821.17
mov edi, dword [esp + 0x28]
lea ecx, [ecx + ecx*4]
cdq
add dword [edi + ecx*8 + 0x10], eax
adc dword [edi + ecx*8 + 0x14], edx
jmp case.0x429821.17
mov dword [esp + 0x68], 0
mov eax, dword [esi + edi*4 + 4]
shl eax, 4
add eax, dword [ebx + 8]
xor ebx, ebx
mov dword [esp + 0x70], eax
cmp byte [esi + edi*4], 0x69
setne bl
inc ebx
mov dword [esp + 0x6c], ebx
mov esi, dword [eax + 4]
mov ecx, esi
call fcn.00418c50
push ebx
lea edx, [esp + 0x6c]
mov ecx, esi
call fcn.0041fe30
add esp, 4
mov dword [esp + 0x14], eax
cmp byte [esi + 9], 0
je 0x42e20f
add dword [esi + 0xc], 0xffffffff
jne 0x42e20f
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x42e20b
push eax
call dword [0x4aeeec]
add esp, 4
mov byte [esi + 0xa], 0
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x2c]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp 0x42d2ff
mov edx, dword [esi + edi*4 + 4]
mov eax, str.sqlite_master
cmp edx, 1
mov dword [esp + 0x68], edx
mov ecx, str.sqlite_temp_master
mov dword [esp + 0x74], ebx
cmovne ecx, eax
add edx, edx
mov dword [esp + 0x6c], ecx
mov eax, dword [esi + edi*4 + 4]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x18]
add eax, 0x38
mov dword [esp + 0x7c], eax
push dword [esi + edi*4 + 0x10]
mov eax, dword [ebx + 8]
push ecx
push dword [eax + edx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push ebx
call fcn.0040b6b0
add esp, 0x14
mov dword [esp + 0x70], eax
test eax, eax
je 0x42ffc6
push 0
lea eax, [esp + 0x78]
mov byte [ebx + 0x7c], 1
push eax
push fcn.0044d420
push dword [esp + 0x7c]
mov dword [esp + 0x90], 0
push ebx
call fcn.0044a4f0
add esp, 0x14
test eax, eax
cmove eax, dword [esp + 0x80]
mov dword [esp + 0x14], eax
push dword [esp + 0x70]
push ebx
call fcn.00409fe0
mov eax, dword [esp + 0x1c]
add esp, 8
mov esi, dword [esp + 0x10]
mov byte [ebx + 0x7c], 0
cmp eax, 7
je 0x42ffca
jmp 0x42d30b
mov edx, dword [esi + edi*4 + 4]
mov ecx, ebx
call fcn.0043aea0
mov dword [esp + 0x14], eax
jmp 0x42d307
push dword [esi + edi*4 + 0x10]
mov edx, dword [esi + edi*4 + 4]
mov ecx, ebx
call fcn.0043ca20
mov eax, dword [esp + 0x14]
add esp, 4
mov edx, dword [esp + 0x24]
inc eax
jmp 0x429790
push dword [esi + edi*4 + 0x10]
mov edx, dword [esi + edi*4 + 4]
mov ecx, ebx
call fcn.0043c580
mov eax, dword [esp + 0x14]
add esp, 4
mov edx, dword [esp + 0x24]
inc eax
jmp 0x429790
push dword [esi + edi*4 + 0x10]
mov edx, dword [esi + edi*4 + 4]
mov ecx, ebx
call fcn.00456c60
mov eax, dword [esp + 0x14]
add esp, 4
mov edx, dword [esp + 0x24]
inc eax
jmp 0x429790
mov edx, dword [esi + edi*4 + 8]
mov ecx, ebx
mov dword [esp + 0x68], edx
lea edx, [edx*4 + 4]
call fcn.0040a250
mov edx, eax
mov dword [esp + 0x6c], edx
test edx, edx
je 0x42ffc6
mov ecx, dword [esi + edi*4 + 0xc]
mov eax, dword [esp + 0x28]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*8]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esi + edi*4 + 4]
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x28]
lea esi, [ecx + eax*8]
xor eax, eax
mov dword [esp + 0x70], eax
cmp dword [esp + 0x68], eax
jle 0x42e3c9
nop
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.00422b20
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x70]
inc eax
mov dword [esp + 0x70], eax
cmp eax, dword [esp + 0x68]
jl 0x42e3a0
mov edx, dword [esp + 0x6c]
mov dword [edx + eax*4], 0
lea eax, [esp + 0x74]
mov ecx, dword [ebx + 8]
mov edx, dword [esp + 0x6c]
push eax
mov eax, dword [esp + 0x80]
push dword [eax + 0x10]
mov eax, dword [esp + 0x28]
push dword [esp + 0x70]
movzx eax, byte [eax + edi*4 + 3]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00421330
add esp, 0xc
mov dword [esp + 0x78], eax
push dword [esp + 0x6c]
push ebx
call fcn.00409fe0
mov ecx, dword [esp + 0x84]
add esp, 8
mov eax, dword [esp + 0x74]
cdq
sub dword [ecx + 0x10], eax
sbb dword [ecx + 0x14], edx
mov ecx, esi
call fcn.00422da0
cmp dword [esp + 0x74], 0
je 0x42e451
mov edx, dword [esp + 0x78]
test edx, edx
je 0x42ffc6
push fcn.00409f40
push 1
push 0xffffffffffffffff
mov ecx, esi
call fcn.00423020
add esp, 0xc
movzx edx, byte [esp + 0x3f]
mov ecx, esi
call fcn.004226a0
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
inc eax
mov edx, dword [esp + 0x24]
jmp 0x429790
mov eax, dword [esi + edi*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 + edi*4 + 8]
lea edi, [eax + eax*4]
jne 0x42e4a0
mov ecx, esi
call fcn.00422e20
test byte [esi + 0x1c], 0x20
je 0x42ffc6
mov eax, dword [esp + 0x28]
mov ecx, dword [esi + 0x10]
push dword [eax + edi*8 + 0x14]
push dword [eax + edi*8 + 0x10]
call fcn.00411aa0
mov eax, dword [esp + 0x18]
add esp, 8
mov esi, dword [esp + 0x20]
inc eax
mov edx, dword [esp + 0x24]
jmp 0x429790
cmp dword [ebx + 0xe0], 0
jne 0x42ff7b
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea ebx, [ecx + eax*8]
je 0x42e58d
mov esi, dword [ebx + 0x10]
cmp byte [esi + 0x1a], 0
jne 0x42e4ff
mov ecx, esi
call fcn.00411ba0
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x42e52d
lea eax, [esp + 0x64]
push eax
lea edx, [esp + 0x60]
call fcn.00411db0
mov edx, dword [esp + 0x60]
add esp, 4
mov ecx, dword [esi + 8]
mov dword [esi + 0x14], 0
call fcn.00411b30
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x42e589
mov eax, dword [ecx]
mov dword [esp + 0x68], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x6c], eax
mov eax, dword [esi + 8]
mov eax, dword [eax + 8]
mov dword [esi + 8], eax
test eax, eax
jne 0x42e555
mov ecx, esi
call fcn.00411a60
mov esi, dword [esp + 0x20]
push dword [esp + 0x6c]
mov ecx, dword [esp + 0x2c]
push dword [esp + 0x6c]
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00422df0
mov eax, dword [esp + 0x18]
add esp, 8
mov ebx, dword [esp + 0x1c]
inc eax
mov edx, dword [esp + 0x24]
jmp 0x429790
mov esi, dword [esp + 0x20]
mov ecx, ebx
call fcn.00422da0
mov eax, dword [esi + edi*4 + 8]
mov ebx, dword [esp + 0x1c]
dec eax
mov edx, dword [esp + 0x24]
inc eax
jmp 0x429790
mov eax, dword [esi + edi*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 + edi*4 + 0xc]
lea ebx, [eax + eax*4]
mov eax, dword [ecx + edi*4 + 0x10]
mov dword [esp + 0x68], eax
test byte [esi + 0x1c], 0x20
jne 0x42e5e7
mov ecx, esi
call fcn.00422e20
test byte [esi + 0x1c], 0x20
je 0x42ffc2
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x28]
test eax, eax
je 0x42e62f
js 0x42e5f2
and eax, 0xf
jmp 0x42e5f7
mov eax, 0xff
push dword [edx + ebx*8 + 0x14]
mov ecx, dword [esi + 0x10]
push dword [edx + ebx*8 + 0x10]
mov dl, al
call fcn.00411f00
add esp, 8
mov dword [esp + 0x6c], eax
test eax, eax
je 0x42e629
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov eax, dword [esi + edi*4 + 8]
jmp 0x429790
mov eax, dword [esp + 0x68]
test eax, eax
js 0x42f28f
mov edi, dword [esp + 0x28]
mov ecx, dword [esi + 0x10]
push dword [edi + ebx*8 + 0x14]
push dword [edi + ebx*8 + 0x10]
call fcn.00411aa0
mov eax, dword [esp + 0x18]
add esp, 8
mov ebx, dword [esp + 0x1c]
inc eax
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
jmp 0x429790
mov edx, dword [esi + edi*4 + 0x10]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x80], edx
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x70], esi
cmp byte [eax + edi*4 + 3], 0
je 0x42e6ba
mov eax, dword [esp + 0x18]
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x84], ecx
mov eax, dword [eax + 0xa8]
mov dword [esp + 0x7c], eax
test eax, eax
je 0x42e6ba
cmp dword [eax + 0x20], ecx
je 0x42d730
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x7c], eax
test eax, eax
jne 0x42e6a6
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0xb0]
cmp eax, dword [ebx + 0x70]
jge 0x42fdac
test byte [esi + 0x1c], 0x40
jne 0x42e7f6
mov eax, dword [edx + 8]
add eax, dword [edx + 0xc]
mov dword [esp + 0x68], eax
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea eax, [eax + ecx*2]
mov ecx, ebx
lea edx, [eax*4 + 0x40]
mov dword [esp + 0x6c], edx
call fcn.0040a220
mov dword [esp + 0x7c], eax
test eax, eax
je 0x42ffc6
mov ecx, dword [esp + 0x70]
call fcn.00422a90
mov eax, dword [esp + 0x70]
mov ecx, 0x40
mov esi, dword [esp + 0x10]
mov word [eax + 0x1c], cx
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x7c]
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x18]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x68]
mov dword [ecx + 0x24], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x7c]
mov dword [eax + 0x28], ecx
mov eax, dword [esp + 0x7c]
mov dword [eax + 4], esi
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 8]
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [esi + 0x18]
mov dword [eax + 0x14], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [esi + 0x44]
mov dword [eax + 0x18], ecx
mov eax, dword [esp + 0x7c]
mov cx, word [esi + 0x32]
mov word [eax + 0x1c], cx
mov eax, dword [esp + 0x7c]
mov ecx, dword [esi + 4]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 0x10]
mov eax, dword [esp + 0x7c]
mov dword [eax + 0x20], ecx
mov edx, dword [esp + 0x7c]
mov eax, dword [edx + 0x24]
lea ecx, [edx + 0x40]
mov dword [esp + 0x74], ecx
lea eax, [eax + eax*4]
lea eax, [eax + 8]
lea eax, [edx + eax*8]
mov dword [esp + 0x78], eax
cmp ecx, eax
je 0x42e7ff
mov esi, 1
mov word [ecx + 0x1c], si
mov eax, dword [esp + 0x74]
mov dword [eax], ebx
mov ecx, dword [esp + 0x74]
add ecx, 0x28
mov dword [esp + 0x74], ecx
cmp ecx, dword [esp + 0x78]
jne 0x42e7d1
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x7c]
jmp 0x42e7ff
mov edx, dword [esi + 0x10]
mov esi, ecx
mov dword [esp + 0x7c], edx
inc dword [esi + 0xb0]
mov eax, dword [esi + 0xa8]
mov ecx, dword [esp + 0x44]
mov dword [edx + 0x3c], eax
mov eax, dword [esp + 0x7c]
mov dword [eax + 0x30], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x34], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [esi + 0x6c]
mov dword [eax + 0x38], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0x6c], 0
lea edx, [ecx + 0x18]
mov dword [esi + 8], edx
mov eax, dword [ecx + 0x24]
mov dword [esi + 0x18], eax
mov ax, word [ecx + 0x28]
mov ecx, dword [esp + 0x18]
mov word [esi + 0x32], ax
mov eax, dword [esi + 0x18]
inc eax
mov dword [esp + 0x28], edx
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x24]
mov dword [esi + 0x44], eax
mov eax, dword [esp + 0x80]
mov esi, dword [eax]
mov dword [ecx + 4], esi
mov eax, dword [eax + 4]
mov dword [ecx + 0x1c], eax
or eax, 0xffffffff
mov dword [esp + 0x20], esi
inc eax
jmp 0x429790
mov eax, dword [esp + 0x18]
push 0x1000
mov edx, dword [eax + 0xa8]
mov dword [esp + 0x6c], 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 + edi*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 + 0x70], edx
call fcn.00422ec0
mov eax, dword [esp + 0x14]
add esp, 4
mov edx, dword [esp + 0x24]
inc eax
jmp 0x429790
cmp dword [esi + edi*4 + 4], 0
mov eax, dword [esi + edi*4 + 8]
cdq
je 0x42e8f8
add dword [ebx + 0x1f0], eax
mov eax, dword [esp + 0x10]
adc dword [ebx + 0x1f4], edx
inc eax
mov edx, dword [esp + 0x24]
jmp 0x429790
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
jmp 0x429790
cmp dword [esi + edi*4 + 4], 0
je 0x42e940
mov eax, dword [ebx + 0x1f0]
or eax, dword [ebx + 0x1f4]
jne 0x42bcac
mov eax, dword [esi + edi*4 + 8]
mov edx, dword [esp + 0x24]
dec eax
inc eax
jmp 0x429790
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 0x90]
or eax, dword [ecx + 0x94]
jne 0x42bcac
mov eax, dword [esi + edi*4 + 8]
mov edx, dword [esp + 0x24]
dec eax
inc eax
jmp 0x429790
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0xa8]
test edx, edx
je 0x42e99e
mov dword [esp + 0x6c], edx
mov eax, dword [edx + 0x3c]
test eax, eax
je 0x42e98f
mov edx, eax
mov dword [esp + 0x6c], edx
mov eax, dword [edx + 0x3c]
test eax, eax
jne 0x42e982
mov eax, dword [esi + edi*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea esi, [eax + ecx*8]
jmp 0x42e9ac
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
mov dword [esp + 0x68], esi
call fcn.00422b20
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 + edi*4 + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00422b20
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 + 0x68]
cmp dword [eax + 0x14], edx
jg 0x42f293
jl 0x42ea1f
cmp dword [eax + 0x10], ecx
jae 0x42f293
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
jmp 0x429790
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
cmp dword [edx + eax*8 + 0x14], 0
jl 0x42bcac
jg 0x42ea5a
cmp dword [edx + eax*8 + 0x10], 0
jbe 0x42bcac
mov eax, dword [esi + edi*4 + 8]
mov edx, dword [esp + 0x24]
dec eax
inc eax
jmp 0x429790
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
cmp dword [edx + eax*8 + 0x14], 0
jg 0x42bcac
jl 0x42ea5a
cmp dword [edx + eax*8 + 0x10], 0
jae 0x42bcac
mov eax, dword [esi + edi*4 + 8]
mov edx, dword [esp + 0x24]
dec eax
inc eax
jmp 0x429790
mov eax, dword [esi + edi*4 + 4]
mov ebx, dword [esp + 0x28]
lea ecx, [eax + eax*4]
mov eax, dword [esi + edi*4 + 0xc]
cdq
add dword [ebx + ecx*8 + 0x10], eax
mov eax, ebx
adc dword [eax + ecx*8 + 0x14], edx
mov edx, ebx
mov eax, dword [eax + ecx*8 + 0x10]
mov ebx, dword [esp + 0x1c]
or eax, dword [edx + ecx*8 + 0x14]
jne 0x42bcac
mov eax, dword [esi + edi*4 + 8]
mov edx, dword [esp + 0x24]
dec eax
inc eax
jmp 0x429790
movzx ecx, byte [esi + edi*4 + 3]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x68], ecx
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x74], edx
mov esi, dword [eax + 0xc]
xor eax, eax
mov dword [esp + 0xb8], esi
mov dword [esp + 0x6c], eax
test ecx, ecx
jle 0x42eb3f
nop dword [eax + eax]
mov dword [esi + eax*4], edx
mov ecx, dword [esp + 0x74]
call fcn.00429460
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x74]
inc eax
add edx, 0x28
mov dword [esp + 0x6c], eax
mov dword [esp + 0x74], edx
cmp eax, dword [esp + 0x68]
jge 0x42eb3f
mov esi, dword [esp + 0xb8]
jmp 0x42eb10
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + edi*4 + 0x10]
mov dword [esp + 0x78], eax
mov eax, dword [edx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x70], eax
mov dword [esp + 0xa8], eax
inc dword [eax + 0x18]
mov eax, 1
mov ecx, dword [esp + 0x78]
mov word [esp + 0x9c], ax
mov dword [esp + 0x84], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0x80], ebx
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
test byte [ecx + 3], 8
je 0x42ebc7
mov eax, dword [edx + edi*4 - 4]
mov dword [esp + 0xb0], eax
push dword [esp + 0xb8]
lea eax, [esp + 0x7c]
push dword [esp + 0x6c]
push eax
mov eax, dword [ecx + 0x10]
call eax
add esp, 0xc
cmp dword [esp + 0xac], 0
je 0x42ec19
mov dl, 1
lea ecx, [esp + 0x80]
call fcn.004235c0
push eax
mov eax, dword [esp + 0x1c]
push 0x4a39f0
add eax, 0x38
push ebx
push eax
call fcn.0040a400
mov eax, dword [esp + 0xbc]
add esp, 0x10
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x80]
call fcn.00422a90
jmp case.0x429821.17
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x68], ecx
mov edx, dword [esi + edi*4 + 0x10]
call fcn.004229a0
mov dword [esp + 0x14], eax
test eax, eax
je 0x42ec6f
mov ecx, dword [esp + 0x68]
mov dl, 1
call fcn.004235c0
push eax
mov eax, dword [esp + 0x1c]
push 0x4a39f0
add eax, 0x38
push ebx
push eax
call fcn.0040a400
add esp, 0x10
movzx edx, byte [esp + 0x3f]
mov ecx, dword [esp + 0x68]
call fcn.004226a0
mov eax, dword [esp + 0x68]
movzx ecx, word [eax + 0x1c]
test cl, 0x12
je case.0x429821.17
mov edx, dword [eax + 0x18]
test ecx, 0x4000
je 0x42ec9c
add edx, dword [eax + 0x10]
mov eax, dword [eax]
jmp 0x42a457
lea eax, [esp + 0x74]
mov dword [esp + 0x6c], 0
push eax
lea eax, [esp + 0x74]
mov dword [esp + 0x78], 0xffffffff
mov dword [esp + 0x74], 0xffffffff
mov ecx, ebx
mov edx, dword [esi + edi*4 + 4]
push eax
push dword [esi + edi*4 + 8]
call fcn.004658e0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x14], edx
cmp edx, 5
jne 0x42ecf2
mov dword [esp + 0x14], 0
mov dword [esp + 0x6c], 1
mov edx, dword [esp + 0x28]
xor eax, eax
mov dword [esp + 0x68], eax
mov ecx, dword [esi + edi*4 + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x78], ecx
nop word [eax + eax]
mov eax, dword [esp + eax*4 + 0x6c]
cdq
push edx
push eax
call fcn.00422df0
mov eax, dword [esp + 0x70]
add esp, 8
mov ecx, dword [esp + 0x78]
inc eax
add ecx, 0x28
mov dword [esp + 0x68], eax
mov dword [esp + 0x78], ecx
cmp eax, 3
jl 0x42ed10
jmp case.0x429821.17
mov esi, dword [esi + edi*4 + 0xc]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x70], esi
mov ecx, dword [eax + edi*4 + 4]
mov eax, dword [ebx + 8]
add ecx, ecx
cmp esi, 0xffffffff
mov ebx, dword [eax + ecx*8 + 4]
mov dword [esp + 0x68], ebx
mov eax, dword [ebx + 4]
mov ecx, dword [eax]
mov dword [esp + 0x6c], ecx
movzx edx, byte [ecx + 5]
cmove esi, edx
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], esi
cmp byte [ecx + 0xf], 3
jae 0x42ed91
mov eax, dword [ecx + 0x40]
cmp dword [eax], 0
je 0x42ed97
cmp dword [ecx + 0x4c], 0
jl 0x42ed97
jg 0x42ed91
cmp dword [ecx + 0x48], 0
jbe 0x42ed97
mov esi, edx
mov dword [esp + 0x70], esi
mov eax, dword [ecx + 0x90]
mov dword [esp + 0x78], eax
cmp esi, 5
jne 0x42edcc
cmp byte [eax], 0
je 0x42edc1
cmp byte [ecx + 4], 0
mov eax, dword [ecx + 0x3c]
mov eax, dword [eax]
jne 0x42edcc
cmp dword [eax], 2
jl 0x42edc1
cmp dword [eax + 0x34], 0
jne 0x42edcc
mov esi, edx
mov dword [esp + 0x70], esi
jmp 0x42ee5a
cmp esi, edx
je 0x42ee5a
cmp edx, 5
je 0x42ede2
cmp esi, 5
jne 0x42ee5a
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x1c], 0
je 0x42fdd5
cmp dword [eax + 0x8c], 1
jg 0x42fdd5
cmp edx, 5
jne 0x42ee19
call fcn.004166f0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42ee48
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
jmp 0x42ee23
cmp edx, 4
jne 0x42ee30
mov edx, 2
call fcn.004164a0
mov ebx, dword [esp + 0x68]
mov esi, dword [esp + 0x70]
xor edx, edx
mov ecx, ebx
cmp esi, 5
sete dl
inc edx
call fcn.00421a90
mov dword [esp + 0x14], eax
test eax, eax
je 0x42ee52
mov esi, dword [esp + 0x74]
mov dword [esp + 0x70], esi
jmp 0x42ee56
mov esi, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, esi
call fcn.004164a0
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + edi*4 + 8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, 0xa02
mov word [edi + 0x1c], ax
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x2c], edi
cmp ecx, 6
jne 0x42ee91
xor ecx, ecx
jmp 0x42ee98
mov ecx, dword [ecx*4 + 0x49f1ec]
mov dword [edi + 4], ecx
call fcn.0040c250
movzx edx, byte [esp + 0x3f]
mov ecx, edi
mov dword [edi + 0x18], eax
mov byte [edi + 0x1f], 1
call fcn.004226a0
jmp 0x42d2ff
mov ecx, dword [esp + 0x18]
mov edx, ebx
lea ecx, [ecx + 0x38]
call fcn.004593c0
mov dword [esp + 0x14], eax
jmp 0x42d307
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [ebx + 8]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [esp + 0x68], ecx
call fcn.0041ba00
mov dword [esp + 0x14], eax
cmp eax, 0x65
jne 0x42d307
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x42d307
cmp dword [esi + edi*4 + 4], 0
jne 0x42ef22
mov ecx, ebx
call fcn.00427080
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc eax
jmp 0x429790
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov byte [eax + 0x63], 1
mov eax, dword [esp + 0x10]
inc eax
jmp 0x429790
mov al, byte [esi + edi*4 + 0xc]
mov byte [esp + 0x60], al
test al, al
jne 0x42ef51
test dword [ebx + 0xc], 0x80000
jne case.0x429821.17
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebx + 8]
add eax, eax
push dword [esp + 0x60]
mov edx, dword [esi + edi*4 + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00421930
add esp, 4
mov dword [esp + 0x14], eax
cmp al, 6
jne 0x42d307
push dword [esi + edi*4 + 0x10]
mov eax, dword [esp + 0x1c]
push str.database_table_is_locked:__s
add eax, 0x38
push ebx
push eax
call fcn.0040a400
add esp, 0x10
jmp case.0x429821.17
mov edx, dword [esi + edi*4 + 0x10]
mov ecx, ebx
mov dword [esp + 0x68], edx
call fcn.0045a740
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
test eax, eax
je case.0x429821.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.00409fe0
mov ebx, dword [edi + 8]
add esp, 8
test ebx, ebx
jne 0x42efdc
xor esi, esi
jmp 0x42f011
cmp byte [ebx], 0
mov eax, ebx
je 0x42efe9
inc eax
cmp byte [eax], 0
jne 0x42efe3
sub eax, ebx
mov ecx, esi
and eax, 0x3fffffff
lea edi, [eax + 1]
mov edx, edi
call fcn.0040a250
mov esi, eax
test esi, esi
je 0x42f00d
push edi
push ebx
push esi
call fcn.00474330
add esp, 0xc
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
mov dword [eax + 0x38], esi
push dword [edi + 8]
call fcn.00409f40
add esp, 4
mov dword [edi + 8], 0
jmp 0x42d2ff
mov eax, dword [esp + 0x18]
mov ecx, ebx
mov edx, dword [esi + edi*4 + 4]
add eax, 0x38
push eax
push dword [esi + edi*4 + 0x10]
call fcn.0045a2a0
add esp, 8
mov dword [esp + 0x14], eax
jmp 0x42d307
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], 0
mov byte [eax + 0x66], 2
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [ebx + 8]
add ecx, ecx
mov edx, dword [esi + edi*4 + 0x10]
push dword [eax + ecx*8]
mov ecx, ebx
call fcn.0043c300
mov edi, eax
add esp, 4
test edi, edi
je 0x42f0e6
cmp dword [edi + 0x34], 0
je 0x42f0d5
mov edx, edi
mov ecx, ebx
call fcn.004598b0
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 0x42f0e8
mov dword [esi + 8], eax
mov dword [edi + 0x34], eax
add dword [esi + 0xc], 0xffffffff
mov edi, dword [esi]
jne 0x42f0e8
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x42f0cb
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 0x10]
call eax
add esp, 4
push esi
push edi
call fcn.00409fe0
add esp, 8
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov byte [esi + 0x66], 0
jmp 0x42d307
xor eax, eax
mov esi, dword [esp + 0x18]
mov byte [esi + 0x66], 0
jmp 0x42d307
mov dword [esp + 0x68], 0
lea edx, [esp + 0x6c]
mov dword [esp + 0x6c], 0
mov eax, dword [esi + edi*4 + 0x10]
push edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x74], ecx
push ecx
mov eax, dword [ecx]
mov dword [esp + 0x7c], eax
mov eax, dword [eax + 0x18]
call eax
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x40], ebx
push dword [eax + 0x38]
mov esi, dword [eax]
push esi
call fcn.00409fe0
mov ecx, dword [ebx + 8]
add esp, 0x10
mov dword [esp + 0x30], ecx
test ecx, ecx
jne 0x42f14e
xor esi, esi
jmp 0x42f186
cmp byte [ecx], 0
mov eax, ecx
je 0x42f15b
inc eax
cmp byte [eax], 0
jne 0x42f155
sub eax, ecx
mov ecx, esi
and eax, 0x3fffffff
lea ebx, [eax + 1]
mov edx, ebx
call fcn.0040a250
mov esi, eax
test esi, esi
je 0x42f182
push ebx
push dword [esp + 0x34]
push esi
call fcn.00474330
add esp, 0xc
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x18]
mov dword [eax + 0x38], esi
push dword [ebx + 8]
call fcn.00409f40
mov eax, dword [esp + 0x18]
add esp, 4
mov dword [ebx + 8], 0
test eax, eax
jne 0x42b307
mov eax, dword [esp + 0x6c]
xor esi, esi
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x18]
mov dword [eax], ecx
mov eax, dword [esp + 0x20]
mov ebx, dword [eax + edi*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 0x42f230
mov eax, dword [esp + 0x18]
mov edx, edi
mov ecx, dword [eax]
call fcn.00431470
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x42f1fa
call fcn.0041a880
jmp 0x42f205
mov ecx, dword [edi]
test ecx, ecx
je 0x42f205
call fcn.0041c2d0
mov ecx, dword [edi + 0x24]
test ecx, ecx
je 0x42f226
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 0x42f22a
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.004226c0
add esp, 4
test eax, eax
jne 0x42f271
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.004760a0
add esp, 0xc
mov dword [esi + 0xc], 0xffffffff
mov dword [esi + 0x14], 0
mov dword [esp + 0x68], esi
test esi, esi
je 0x42f2a5
mov eax, dword [esp + 0x6c]
mov dword [esi + 0x24], eax
mov eax, dword [esp + 0x6c]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [esp + 0x68]
mov dword [eax + 0x28], ecx
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
inc eax
mov edx, dword [esp + 0x24]
jmp 0x429790
mov ebx, dword [esp + 0x1c]
mov byte [ebx + 0x1e], 1
mov eax, dword [esp + 0x74]
push dword [esp + 0x6c]
mov eax, dword [eax + 0x1c]
call eax
add esp, 4
jmp case.0x429821.17
mov eax, dword [esi + edi*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 + 0x74], edx
lea esi, [edx + 0x28]
mov dword [esp + 0x78], esi
mov ecx, dword [eax + edi*4 + 4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x84], eax
mov ebx, dword [eax + 0x24]
mov dword [esp + 0x7c], ebx
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x68], eax
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x88], 0
mov edx, dword [ecx + 0xc]
xor ecx, ecx
mov dword [esp + 0x90], edx
mov dword [esp + 0x8c], ecx
test eax, eax
jle 0x42f39a
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov ecx, dword [ecx + eax*4]
call fcn.00429460
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x68]
inc ecx
mov edx, dword [esp + 0x90]
mov dword [esp + 0x8c], ecx
cmp ecx, eax
jge 0x42f38c
mov esi, dword [esp + 0x78]
jmp 0x42f346
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0x6c]
jmp 0x42f3a2
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
push edx
push eax
mov eax, dword [esp + 0x28]
mov byte [edi + 0x66], 1
mov edi, dword [esp + 0x38]
push dword [eax + edi*4 + 0x10]
mov eax, dword [ecx + 0x20]
push esi
push ebx
call eax
mov ebx, dword [esp + 0x94]
add esp, 0x14
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x38], ebx
push dword [eax + 0x38]
mov esi, dword [eax]
push esi
mov byte [eax + 0x66], 0
call fcn.00409fe0
mov ecx, dword [ebx + 8]
add esp, 8
mov dword [esp + 0x30], ecx
test ecx, ecx
jne 0x42f3f6
xor esi, esi
jmp 0x42f431
cmp byte [ecx], 0
mov eax, ecx
je 0x42f406
nop dword [eax]
inc eax
cmp byte [eax], 0
jne 0x42f400
sub eax, ecx
mov ecx, esi
and eax, 0x3fffffff
lea ebx, [eax + 1]
mov edx, ebx
call fcn.0040a250
mov esi, eax
test esi, esi
je 0x42f42d
push ebx
push dword [esp + 0x34]
push esi
call fcn.00474330
add esp, 0xc
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x18]
mov dword [eax + 0x38], esi
push dword [ebx + 8]
call fcn.00409f40
add esp, 4
mov dword [ebx + 8], 0
cmp dword [esp + 0x14], 0
jne 0x42f46a
mov eax, dword [esp + 0x70]
push dword [esp + 0x7c]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [esp + 0x88], eax
jmp 0x42f471
mov eax, dword [esp + 0x88]
test eax, eax
je 0x42f482
mov eax, dword [esp + 0x20]
mov eax, dword [eax + edi*4 + 8]
dec eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x84]
mov byte [eax + 0x1c], 0
jmp 0x42d2ff
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x70], ecx
cmp byte [ebx + 0x1c], 0
je 0x42f4cf
call fcn.00422da0
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
inc eax
mov edx, dword [esp + 0x24]
jmp 0x429790
mov eax, dword [ebx + 0x24]
push 0x40
push 0
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov eax, dword [eax]
mov dword [esp + 0x74], eax
lea eax, [esp + 0x80]
push eax
call fcn.004760a0
mov esi, dword [esp + 0x7c]
lea ecx, [esp + 0x8c]
add esp, 0xc
call fcn.00422a90
movups xmm0, xmmword [esi]
mov eax, 1
movups xmmword [esp + 0x80], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [esp + 0x90], xmm0
movq xmm0, qword [esi + 0x20]
movq qword [esp + 0xa0], xmm0
mov word [esi + 0x1c], ax
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov eax, dword [esp + 0x9c]
and eax, 0xbf01
or eax, 1
mov word [esp + 0x9c], ax
mov eax, dword [esp + 0x20]
push dword [eax + edi*4 + 8]
lea eax, [esp + 0x7c]
push eax
mov eax, dword [esp + 0x74]
push dword [ebx + 0x24]
mov eax, dword [eax + 0x2c]
call eax
mov edi, dword [esp + 0x74]
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.00409fe0
mov ebx, dword [edi + 8]
add esp, 8
test ebx, ebx
jne 0x42f59a
xor esi, esi
jmp 0x42f5cf
cmp byte [ebx], 0
mov eax, ebx
je 0x42f5a7
inc eax
cmp byte [eax], 0
jne 0x42f5a1
sub eax, ebx
mov ecx, esi
and eax, 0x3fffffff
lea edi, [eax + 1]
mov edx, edi
call fcn.0040a250
mov esi, eax
test esi, esi
je 0x42f5cb
push edi
push ebx
push esi
call fcn.00474330
add esp, 0xc
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
mov dword [eax + 0x38], esi
push dword [edi + 8]
call fcn.00409f40
mov ecx, dword [esp + 0x18]
add esp, 4
movzx edx, byte [esp + 0x3f]
mov dword [edi + 8], 0
mov eax, dword [esp + 0xac]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x80]
call fcn.004226a0
mov esi, dword [esp + 0x70]
mov ecx, esi
call fcn.00422a90
movups xmm0, xmmword [esp + 0x80]
mov eax, 1
movups xmmword [esi], xmm0
movups xmm0, xmmword [esp + 0x90]
movups xmmword [esi + 0x10], xmm0
movq xmm0, qword [esp + 0xa0]
movq qword [esi + 0x20], xmm0
mov word [esp + 0x9c], ax
mov eax, dword [esp + 0x70]
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
movzx ecx, word [eax + 0x1c]
test cl, 0x12
je 0x42fa04
mov edx, dword [eax + 0x18]
test ecx, 0x4000
je 0x42f67f
add edx, dword [eax + 0x10]
mov eax, dword [eax]
mov ebx, dword [esp + 0x1c]
jmp 0x42a457
mov dword [esp + 0x70], 0
mov ecx, dword [esi + edi*4 + 4]
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x74], ecx
cmp byte [ecx + 0x1c], 0
jne case.0x429821.17
mov eax, dword [ecx + 0x24]
mov eax, dword [eax]
mov dword [esp + 0x68], eax
mov eax, dword [eax]
mov dword [esp + 0x6c], eax
mov byte [esi + 0x66], 1
push dword [ecx + 0x24]
mov eax, dword [eax + 0x24]
call eax
mov ebx, dword [esp + 0x6c]
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 + 0x38], ebx
push dword [eax + 0x38]
push esi
call fcn.00409fe0
mov ecx, dword [ebx + 8]
add esp, 8
mov dword [esp + 0x30], ecx
test ecx, ecx
jne 0x42f6fd
xor esi, esi
jmp 0x42f735
cmp byte [ecx], 0
mov eax, ecx
je 0x42f70a
inc eax
cmp byte [eax], 0
jne 0x42f704
sub eax, ecx
mov ecx, esi
and eax, 0x3fffffff
lea ebx, [eax + 1]
mov edx, ebx
call fcn.0040a250
mov esi, eax
test esi, esi
je 0x42f731
push ebx
push dword [esp + 0x34]
push esi
call fcn.00474330
add esp, 0xc
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x18]
mov dword [eax + 0x38], esi
push dword [ebx + 8]
call fcn.00409f40
add esp, 4
mov dword [ebx + 8], 0
cmp dword [esp + 0x14], 0
jne 0x42f76e
mov eax, dword [esp + 0x74]
push dword [eax + 0x24]
mov eax, dword [esp + 0x70]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [esp + 0x70], eax
jmp 0x42f772
mov eax, dword [esp + 0x70]
mov ebx, dword [esp + 0x1c]
test eax, eax
jne case.0x429821.17
mov eax, dword [esp + 0x20]
mov eax, dword [eax + edi*4 + 8]
dec eax
mov dword [esp + 0x10], eax
jmp case.0x429821.17
mov eax, dword [esi + edi*4 + 0x10]
mov ecx, dword [esp + 0x28]
mov edx, dword [eax + 8]
mov dword [esp + 0x68], edx
mov eax, dword [esi + edi*4 + 4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x6c], eax
mov ecx, dword [edx]
push dword [eax + 4]
push edx
mov eax, dword [ecx + 0x4c]
call eax
mov edi, dword [esp + 0x70]
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.00409fe0
mov ebx, dword [edi + 8]
add esp, 0x10
test ebx, ebx
jne 0x42f7e1
xor esi, esi
jmp 0x42f816
cmp byte [ebx], 0
mov eax, ebx
je 0x42f7ee
inc eax
cmp byte [eax], 0
jne 0x42f7e8
sub eax, ebx
mov ecx, esi
and eax, 0x3fffffff
lea edi, [eax + 1]
mov edx, edi
call fcn.0040a250
mov esi, eax
test esi, esi
je 0x42f812
push edi
push ebx
push esi
call fcn.00474330
add esp, 0xc
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x18]
mov dword [ebx + 0x38], esi
push dword [edi + 8]
call fcn.00409f40
mov dword [edi + 8], 0
add esp, 4
mov byte [ebx + 0x63], 0
jmp 0x42d2ff
mov eax, dword [esi + edi*4 + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x68], eax
mov eax, dword [eax]
mov dword [esp + 0x6c], eax
mov edx, dword [esi + edi*4 + 8]
mov dword [esp + 0x70], edx
cmp dword [eax + 0x34], 0
je case.0x429821.17
mov eax, dword [esp + 0x18]
mov bl, byte [ebx + 0x22]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x80], eax
mov eax, dword [esi + edi*4 + 0xc]
mov dword [esp + 0x74], 0
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x84], ecx
test edx, edx
jle 0x42f8ca
nop dword [eax]
call fcn.00429460
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x84]
inc eax
add ecx, 0x28
mov dword [esp + 0x74], eax
mov dword [esp + 0x84], ecx
cmp eax, dword [esp + 0x70]
jl 0x42f890
mov al, byte [esi + edi*4 + 3]
mov esi, dword [esp + 0x1c]
mov byte [esi + 0x22], al
lea eax, [esp + 0x78]
push eax
push dword [esp + 0x84]
mov eax, dword [esp + 0x74]
push dword [esp + 0x78]
push dword [esp + 0x74]
mov eax, dword [eax + 0x34]
call eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x28]
mov byte [esi + 0x22], bl
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x48], ebx
push dword [eax + 0x38]
mov esi, dword [eax]
push esi
call fcn.00409fe0
mov ecx, dword [ebx + 8]
add esp, 0x18
mov dword [esp + 0x30], ecx
test ecx, ecx
jne 0x42f922
xor esi, esi
jmp 0x42f961
cmp byte [ecx], 0
mov eax, ecx
je 0x42f936
nop dword [eax]
inc eax
cmp byte [eax], 0
jne 0x42f930
sub eax, ecx
mov ecx, esi
and eax, 0x3fffffff
lea ebx, [eax + 1]
mov edx, ebx
call fcn.0040a250
mov esi, eax
test esi, esi
je 0x42f95d
push ebx
push dword [esp + 0x34]
push esi
call fcn.00474330
add esp, 0xc
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x18]
mov dword [eax + 0x38], esi
push dword [ebx + 8]
call fcn.00409f40
mov eax, dword [esp + 0x18]
add esp, 4
mov dword [ebx + 8], 0
test eax, eax
jne 0x42f9ba
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
cmp dword [ecx + edi*4 + 4], eax
je 0x42f9f8
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov esi, dword [esp + 0x18]
mov dword [ebx + 0x30], eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x7c]
mov dword [ebx + 0x34], eax
mov eax, dword [esp + 0x14]
inc dword [esi + 0x6c]
mov dword [esp + 0x48], ecx
jmp 0x42d307
cmp eax, 0x13
jne 0x42f9f4
mov esi, dword [esp + 0x20]
mov eax, dword [esi + edi*4 + 0x10]
cmp byte [eax + 0x10], 0
je 0x42f9f0
cmp byte [esi + edi*4 + 3], 4
jne 0x42fe3b
mov ebx, dword [esp + 0x1c]
xor eax, eax
mov edx, dword [esp + 0x24]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
inc eax
jmp 0x429790
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
inc dword [esi + 0x6c]
jmp 0x42d307
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
jmp 0x42d307
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [ebx + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x30]
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x10]
mov dword [edx + 0x14], 0
inc eax
mov edx, dword [esp + 0x24]
jmp 0x429790
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [ebx + 8]
add ecx, ecx
xor ebx, ebx
mov esi, dword [eax + ecx*8 + 4]
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + edi*4 + 0xc]
test ecx, ecx
je 0x42fa62
mov eax, dword [esi + 4]
mov ebx, dword [eax + 0x30]
cmp ebx, ecx
cmovb ebx, ecx
mov ecx, esi
call fcn.00418c50
mov eax, dword [esi + 4]
mov eax, dword [eax]
test ebx, ebx
jle 0x42fa78
mov dword [eax + 0x84], ebx
cmp byte [esi + 9], 0
mov edi, dword [eax + 0x84]
je 0x42faa2
add dword [esi + 0xc], 0xffffffff
jne 0x42faa2
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x42fa9e
push ecx
call dword [0x4aeeec]
add esp, 4
mov byte [esi + 0xa], 0
mov ecx, dword [esp + 0x2c]
mov eax, edi
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
cdq
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x14], edx
inc eax
mov edx, dword [esp + 0x24]
jmp 0x429790
cmp dword [ebx + 0x98], 0
je case.0x429821.17
mov edx, dword [esi + edi*4 + 0x10]
mov eax, dword [esp + 0x18]
test edx, edx
jne 0x42fae4
mov edx, dword [eax + 0xa0]
mov dword [esp + 0x68], edx
test edx, edx
je case.0x429821.17
mov ecx, eax
call fcn.00429080
push eax
mov dword [esp + 0x70], eax
push dword [ebx + 0x9c]
mov eax, dword [ebx + 0x98]
call eax
push dword [esp + 0x74]
push ebx
call fcn.00409fe0
add esp, 0x10
jmp case.0x429821.17
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.0040b9d0
mov ecx, dword [esp + 0x2c]
add esp, 0x14
call fcn.00425c40
cmp dword [esp + 0x14], 0xc0a
jne 0x42fb5f
mov byte [ebx + 0x1e], 1
mov al, byte [esp + 0x43]
mov esi, 1
test al, al
je 0x42fb77
movzx edx, al
mov ecx, ebx
dec edx
call fcn.0043c680
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x18]
mov dword [edi + 0x30], eax
mov eax, dword [esp + 0x48]
mov dword [edi + 0x34], eax
call fcn.004247c0
mov ecx, dword [esp + 0x134]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0047137e
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + edi*4 + 4]
mov dword [edx + 0x5c], ecx
mov al, byte [esi + edi*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 + edi*4 + 0x10]
test eax, eax
je 0x42fc00
push eax
push 0x4a39f0
push ebx
mov ebx, dword [esp + 0x24]
lea eax, [ebx + 0x38]
push eax
call fcn.0040a400
mov eax, dword [esp + 0x30]
push dword [eax + edi*4 + 0x10]
push dword [ebx + 0xa0]
push esi
push str.abort_at__d_in___s_:__s
push dword [eax + edi*4 + 4]
call fcn.0040b9d0
add esp, 0x24
jmp 0x42fc20
test ecx, ecx
je 0x42fc20
mov eax, dword [esp + 0x18]
push dword [eax + 0xa0]
push esi
push str.constraint_failed_at__d_in___s_
push dword [edx + edi*4 + 4]
call fcn.0040b9d0
add esp, 0x10
mov edi, dword [esp + 0x18]
mov ecx, edi
call fcn.00425c40
cmp eax, 5
je 0x42fcf6
cmp dword [edi + 0x5c], 0
mov esi, 0x65
mov eax, 1
cmovne esi, eax
jmp 0x42fb77
cmp byte [ebx + 0x1e], 0
jne 0x42ffc6
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
inc eax
mov dword [esi + 0x58], eax
mov esi, 0x64
jmp 0x42fb77
lea ecx, [esp + 0x78]
call fcn.00422a90
jmp 0x42ffc6
push str.cannot_open_savepoint___SQL_statements_in_progress
mov eax, dword [esp + 0x1c]
add eax, 0x38
push ebx
push eax
call fcn.0040a400
mov esi, dword [esp + 0x1c]
mov eax, 5
add esp, 0xc
mov dword [esp + 0x14], eax
inc esi
jmp 0x42fb29
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 0x42fb7b
mov ebx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x1c]
push str.no_such_savepoint:__s
add eax, 0x38
push ebx
push eax
call fcn.0040a400
mov esi, dword [esp + 0x20]
mov eax, 1
add esp, 0x10
mov dword [esp + 0x14], eax
inc esi
jmp 0x42fb29
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov dword [edi + 0x58], esi
mov esi, 5
mov dword [edi + 0x5c], esi
jmp 0x42fb77
mov ecx, 0x10474
call fcn.00466bb0
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x1c]
jmp 0x42fd4e
mov esi, dword [esp + 0x10]
mov eax, 4
mov dword [esp + 0x14], eax
inc esi
jmp 0x42fb29
mov ebx, dword [esp + 0x1c]
mov eax, 0xd
mov dword [esp + 0x14], eax
jmp 0x42fd4e
mov esi, dword [esp + 0x10]
mov eax, 7
mov dword [esp + 0x14], eax
inc esi
jmp 0x42fb29
mov ebx, edi
mov esi, dword [esp + 0x18]
cmp byte [ebx + 0x1e], 0
je 0x42fd63
mov eax, 7
mov dword [esp + 0x14], eax
jmp 0x42fd6e
cmp eax, 0xc0a
je 0x42fb25
mov ecx, eax
call fcn.00464f30
push eax
push 0x4a39f0
lea eax, [esi + 0x38]
push ebx
push eax
call fcn.0040a400
mov eax, dword [esp + 0x24]
add esp, 0x10
jmp 0x42fb25
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 0x42fb29
push str.too_many_levels_of_trigger_recursion
lea eax, [ecx + 0x38]
mov dword [esp + 0x18], 1
push ebx
push eax
call fcn.0040a400
mov esi, dword [esp + 0x1c]
add esp, 0xc
inc esi
mov eax, 1
jmp 0x42fb29
mov ebx, 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 ebx
push eax
call fcn.0040a400
mov esi, dword [esp + 0x20]
add esp, 0x10
inc esi
mov eax, 1
jmp 0x42fb29
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push str.string_or_blob_too_big
add eax, 0x38
push ebx
push eax
call fcn.0040a400
add esp, 0xc
mov eax, 0x12
jmp 0x42fb21
mov al, byte [esi + edi*4 + 3]
cmp al, 5
jne 0x42fe4a
mov eax, 2
jmp 0x42fe4d
movzx eax, al
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
inc esi
mov byte [ebx + 0x60], al
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
jmp 0x42fb29
mov edx, dword [esi + edi*4 + 4]
mov dword [esp + 0x68], edx
mov ecx, dword [esi + edi*4 + 8]
mov dword [esp + 0x6c], ecx
test edx, edx
je 0x42feb2
cmp byte [ebx + 0x1c], 0
jne 0x42feb2
mov dword [esp + 0x70], 1
test ecx, ecx
je 0x42fe9f
cmp dword [ebx + 0x8c], 1
jle 0x42feba
push str.cannot_rollback_transaction___SQL_statements_in_progress
jmp 0x42fc7d
cmp dword [ebx + 0x90], 0
jle 0x42feba
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x42fc7d
mov dword [esp + 0x70], 0
movzx eax, byte [ebx + 0x1c]
cmp edx, eax
jne 0x42ff01
test edx, edx
jne 0x42fecd
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x42fedc
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 ebx
push eax
call fcn.0040a400
mov esi, dword [esp + 0x1c]
mov eax, 1
add esp, 0xc
mov dword [esp + 0x14], eax
inc esi
jmp 0x42fb29
test ecx, ecx
je 0x42ff31
mov ecx, ebx
call fcn.00464e50
mov edi, dword [esp + 0x18]
mov byte [ebx + 0x1c], 1
mov ecx, ebx
call fcn.00464850
cmp dword [edi + 0x5c], 0
mov esi, 1
mov eax, 0x65
cmove esi, eax
jmp 0x42fb77
mov edi, dword [esp + 0x18]
mov edx, 1
mov ecx, edi
call fcn.00425be0
mov esi, eax
test esi, esi
jne 0x42fb77
mov al, byte [esp + 0x68]
mov ecx, edi
mov byte [ebx + 0x1c], al
call fcn.00425c40
cmp eax, 5
jne 0x42ff14
mov esi, dword [esp + 0x10]
mov al, 1
sub al, byte [esp + 0x68]
mov dword [edi + 0x58], esi
mov esi, 5
mov byte [ebx + 0x1c], al
mov dword [edi + 0x5c], esi
jmp 0x42fb77
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov eax, dword [str.interrupted]
test eax, eax
mov dword [ecx + 0x5c], 9
mov ecx, str.unknown_error
cmovne ecx, eax
mov dword [esp + 0x14], 9
mov eax, dword [esp + 0x18]
push ecx
push 0x4a39f0
add eax, 0x38
push ebx
push eax
call fcn.0040a400
add esp, 0x10
mov eax, 9
jmp 0x42fb29
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
push str.out_of_memory
lea eax, [ecx + 0x38]
mov byte [ebx + 0x1e], 1
push ebx
push eax
call fcn.0040a400
mov eax, 7
add esp, 0xc
mov dword [esp + 0x14], eax
jmp 0x42fb29