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

Disassembly:
sub esp, 0x124
mov eax, dword [0x50e74c]
xor eax, esp
mov dword [esp + 0x11c], eax
mov eax, dword [ecx + 4]
push ebx
push ebp
mov ebp, dword [ecx]
xor ebx, ebx
mov dword [esp + 0xc], eax
push esi
xor esi, esi
mov dword [esp + 0xc], ecx
mov eax, dword [ebp + 0x10]
push edi
mov edi, dword [ecx + 8]
mov dword [esp + 0x18], esi
mov eax, dword [eax + 0xc]
mov dword [esp + 0x28], ebp
mov byte [esp + 0x3f], 0
mov dword [esp + 0x54], esi
mov al, byte [eax + 0x4d]
mov byte [esp + 0x2c], al
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x48], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x44], eax
call fcn.00424f50
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x5c], 7
je 0x42f9d7
mov dword [ecx + 0x5c], ebx
mov dword [ecx + 0x98], ebx
mov dword [ecx + 0x9c], ebx
mov dword [ecx + 0x14], ebx
mov dword [ebp + 0x1bc], ebx
cmp dword [ebp + 0xe8], ebx
jne 0x42fd15
cmp dword [ebp + 0x11c], ebx
je 0x42a34b
mov eax, dword [ecx + 0x88]
test eax, eax
jne 0x42a33f
mov edx, dword [ebp + 0x124]
jmp 0x42a347
xor edx, edx
div dword [ebp + 0x124]
mov dword [esp + 0x50], edx
mov esi, dword [ecx + 0x58]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1c], esi
cmp byte [ebp + 0x40], 0
jne 0x42f9d3
inc dword [esp + 0x48]
lea edi, [esi + esi*4]
test byte [edx + edi*4 + 2], 2
je 0x42a3a3
mov eax, dword [edx + edi*4 + 8]
mov ebx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov eax, 0x2460
mov dword [esp + 0x24], ebx
test word [ebx + 0x1c], ax
je 0x42a39a
mov ecx, ebx
call fcn.00423160
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov eax, 4
mov word [ebx + 0x1c], ax
movzx eax, byte [edx + edi*4]
dec eax
cmp eax, 0x93
ja case.default.0x42a3b3
jmp dword [eax*4 + 0x42fd60]
mov ecx, dword [edx + edi*4 + 4]
mov edx, 4
mov eax, dword [esp + 0x20]
lea ecx, [ecx + ecx*4]
mov word [eax + ecx*8 + 0x1c], dx
mov eax, esi
mov esi, dword [esp + 0x20]
cdq
mov dword [esi + ecx*8 + 0x10], eax
mov eax, esi
mov dword [eax + ecx*8 + 0x14], edx
mov edx, dword [esp + 0x14]
mov esi, dword [edx + edi*4 + 8]
mov ecx, dword [esp + 0x10]
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
mov esi, dword [esp + 0x20]
lea eax, [eax + eax*4]
mov esi, dword [esi + eax*8 + 0x10]
inc esi
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
mov edi, dword [esp + 0x20]
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 + 0x60], eax
mov eax, esi
cdq
mov dword [edi + ecx*8 + 0x10], eax
mov dword [edi + ecx*8 + 0x14], edx
mov esi, dword [esp + 0x60]
mov ecx, dword [esp + 0x10]
inc esi
jmp 0x42a34e
mov eax, dword [edx + edi*4 + 0xc]
mov ebx, dword [esp + 0x20]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
mov ebx, dword [esp + 0x24]
je case.default.0x42a3b3
cmp dword [edx + edi*4 + 4], 0
jne 0x42f884
mov ecx, dword [ecx + 0xc0]
test ecx, ecx
je 0x42f884
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
dec dword [edx + 0xc8]
mov dword [edx + 0xc0], eax
mov eax, dword [edx + 0x68]
add dword [ebp + 0x54], eax
mov dword [ebp + 0x50], eax
call fcn.00425a50
mov esi, eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x14]
cmp dword [eax + edi*4 + 8], 4
jne 0x42a4ba
mov eax, dword [esp + 0x10]
lea ecx, [esi + esi*4]
mov eax, dword [eax + 4]
mov esi, dword [eax + ecx*4 + 8]
dec esi
mov ecx, dword [esp + 0x10]
inc esi
mov edx, dword [ecx + 4]
mov eax, dword [ecx + 8]
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], eax
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
inc esi
cdq
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp 0x42a34e
mov ecx, dword [edx + edi*4 + 0x10]
inc esi
mov eax, dword [ecx]
mov dword [ebx + 0x10], eax
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x10]
mov dword [ebx + 0x14], eax
jmp 0x42a352
mov eax, 8
inc esi
mov word [ebx + 0x1c], ax
mov eax, dword [edx + edi*4 + 0x10]
movsd xmm0, qword [eax]
movsd qword [ebx + 8], xmm0
jmp 0x42a352
mov ebx, dword [edx + edi*4 + 0x10]
mov ecx, ebx
mov byte [edx + edi*4], 0x17
call fcn.00409a90
cmp byte [esp + 0x2c], 1
mov dword [edx + edi*4 + 4], eax
je 0x42a671
test ebx, ebx
jne 0x42a583
mov ebx, dword [esp + 0x24]
test byte [ebx + 0x1c], 0x40
je 0x42a558
mov edx, dword [ebx + 0x10]
mov ecx, dword [edx]
mov eax, dword [ecx + 0xc4]
mov dword [edx + 4], eax
mov dword [ecx + 0xc4], edx
test byte [ebx + 0x1c], 0x20
je 0x42a566
mov ecx, dword [ebx + 0x10]
call fcn.00410150
mov ax, word [ebx + 0x1c]
mov ecx, 0xbe01
and ax, cx
mov byte [ebx + 0x1e], 5
or ax, 1
mov word [ebx + 0x1c], ax
jmp 0x42a60d
mov eax, dword [esp + 0x24]
mov ebp, dword [eax]
test ebp, ebp
je 0x42a592
mov ebp, dword [ebp + 0x58]
jmp 0x42a597
mov ebp, 0x3b9aca00
xor esi, esi
test ebp, ebp
js 0x42a5ab
lea ecx, [ecx]
cmp byte [esi + ebx], 0
je 0x42a5ab
inc esi
cmp esi, ebp
jle 0x42a5a0
xor ecx, ecx
mov dword [esp + 0x30], 0x202
cmp ecx, 0x407690
mov ecx, eax
jne 0x42a5d4
call fcn.004231c0
mov eax, dword [esp + 0x24]
mov dword [eax + 4], ebx
mov dword [eax + 0x24], ebx
mov eax, dword [esp + 0x30]
jmp 0x42a5e5
call fcn.004231c0
mov eax, dword [esp + 0x24]
mov dword [eax + 4], ebx
mov eax, 0xa02
mov ebx, dword [esp + 0x24]
cmp esi, ebp
mov ebp, dword [esp + 0x28]
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x18], esi
mov word [ebx + 0x1c], ax
mov word [ebx + 0x1e], 0x103
jg 0x42fbc6
mov esi, dword [esp + 0x1c]
movzx edx, byte [esp + 0x2c]
mov ecx, ebx
mov dword [esp + 0x18], 0
call fcn.00422db0
test eax, eax
jne 0x42f9cf
mov edx, dword [esp + 0x14]
mov ecx, 0xfbff
mov dword [ebx + 0x24], eax
mov ax, word [ebx + 0x1c]
and ax, cx
mov ecx, 0x800
or ax, cx
mov word [ebx + 0x1c], ax
cmp byte [edx + edi*4 + 1], 0xff
jne 0x42a65e
mov edx, dword [edx + edi*4 + 0x10]
mov ecx, ebp
call fcn.00407740
mov edx, dword [esp + 0x14]
mov byte [edx + edi*4 + 1], 0xff
mov eax, dword [ebx + 4]
mov dword [edx + edi*4 + 0x10], eax
mov eax, dword [ebx + 0x18]
mov dword [edx + edi*4 + 4], eax
mov eax, dword [edx + edi*4 + 4]
cmp eax, dword [ebp + 0x58]
jg 0x42fbc6
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
mov eax, 0xa02
mov word [ebx + 0x1c], ax
inc esi
mov eax, dword [edx + edi*4 + 0x10]
mov dword [ebx + 4], eax
mov eax, dword [edx + edi*4 + 4]
mov dword [ebx + 0x18], eax
mov al, byte [esp + 0x2c]
mov byte [ebx + 0x1f], al
jmp 0x42a352
mov eax, dword [edx + edi*4 + 0xc]
mov ecx, 0x101
sub eax, dword [edx + edi*4 + 8]
mov dword [esp + 0x60], eax
mov eax, 1
cmp dword [edx + edi*4 + 4], 0
cmovne eax, ecx
mov word [esp + 0x64], ax
mov word [ebx + 0x1c], ax
cmp dword [esp + 0x60], 0
jle 0x42a712
mov ebp, 0x2460
lea ecx, [ecx]
add ebx, 0x28
test word [ebx + 0x1c], bp
je 0x42a6f0
mov ecx, ebx
call fcn.00423160
mov ax, word [esp + 0x64]
mov word [ebx + 0x1c], ax
mov eax, dword [esp + 0x60]
dec eax
mov dword [esp + 0x60], eax
test eax, eax
jg 0x42a6e0
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x24], ebx
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
inc esi
jmp 0x42a352
push 0
push 0
push dword [edx + edi*4 + 4]
mov edx, dword [edx + edi*4 + 0x10]
mov ecx, ebx
call fcn.00423910
mov al, byte [esp + 0x38]
add esp, 0xc
mov ecx, dword [esp + 0x10]
inc esi
mov byte [ebx + 0x1f], al
jmp 0x42a34e
mov eax, dword [edx + edi*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x10]
lea ecx, [ecx - 5]
mov eax, dword [eax + 0x48]
lea esi, [eax + ecx*8]
mov ecx, esi
mov dword [esp + 0x60], esi
call fcn.00423780
test eax, eax
jne 0x42fbc6
push 0x800
mov edx, esi
mov ecx, ebx
call fcn.004237b0
add esp, 4
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
inc esi
mov ecx, dword [esp + 0x10]
jmp 0x42a352
mov edx, dword [edx + edi*4 + 0xc]
mov ecx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x64], edx
mov eax, dword [ecx + edi*4 + 4]
mov dword [esp + 0x68], eax
mov ecx, dword [ecx + edi*4 + 8]
mov edi, dword [esp + 0x20]
lea eax, [eax + eax*4]
mov dword [esp + 0x6c], ecx
lea esi, [edi + eax*8]
lea eax, [ecx + ecx*4]
lea ebx, [edi + eax*8]
mov dword [esp + 0x24], ebx
je 0x42a7f5
dec edx
mov ecx, ebx
mov dword [esp + 0x64], edx
mov edx, esi
mov eax, dword [ebx + 0x24]
mov dword [esp + 0x60], eax
mov dword [ebx + 0x24], 0
call fcn.00423890
mov eax, dword [esp + 0x60]
add ebx, 0x28
mov dword [esi + 0x24], eax
add esi, 0x28
mov edx, dword [esp + 0x64]
test edx, edx
jne 0x42a7c0
mov dword [esp + 0x24], ebx
mov esi, dword [esp + 0x1c]
dec edx
mov ecx, dword [esp + 0x10]
inc esi
mov dword [esp + 0x64], edx
jmp 0x42a34e
mov eax, dword [edx + edi*4 + 0xc]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x60], eax
mov eax, dword [edx + edi*4 + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + edi*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
push 0x1000
mov edx, esi
mov dword [esp + 0x28], ebx
mov ecx, ebx
call fcn.004237b0
mov eax, 0x1000
add esp, 4
test word [ebx + 0x1c], ax
je 0x42a857
mov ecx, ebx
call fcn.00422ef0
test eax, eax
jne 0x42f9cf
mov eax, dword [esp + 0x60]
mov ecx, eax
dec eax
mov dword [esp + 0x60], eax
test ecx, ecx
je 0x42a77b
add ebx, 0x28
add esi, 0x28
jmp 0x42a828
mov eax, dword [edx + edi*4 + 8]
mov ecx, dword [esp + 0x20]
push 0x1000
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edx + edi*4 + 4]
mov dword [esp + 0x28], ebx
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov ecx, ebx
call fcn.004237b0
mov ecx, dword [esp + 0x14]
add esp, 4
inc esi
jmp 0x42a34e
xor edx, edx
call fcn.004265c0
mov ecx, dword [esp + 0x10]
mov edx, eax
mov dword [esp + 0x18], edx
test edx, edx
jne 0x42a8d6
lea edx, [eax + 1]
call fcn.00426490
mov ecx, dword [esp + 0x10]
mov edx, eax
mov dword [esp + 0x18], edx
test edx, edx
je 0x42f915
mov edx, dword [esp + 0x14]
jmp case.default.0x42a3b3
mov ecx, dword [esp + 0x20]
mov eax, dword [edx + edi*4 + 4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edx + edi*4 + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
movzx ecx, word [ebx + 0x1c]
mov dword [esp + 0x24], eax
mov al, byte [esi + 0x1c]
or al, cl
test al, 1
je 0x42a92b
mov ebx, dword [esp + 0x24]
mov ecx, ebx
call fcn.00423530
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
inc esi
jmp 0x42a34e
test ecx, 0x4000
je 0x42a942
mov ecx, ebx
call fcn.00422f50
test eax, eax
jne 0x42f9cf
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x42a95c
mov ecx, esi
call fcn.00422f50
test eax, eax
jne 0x42f9cf
test byte [ebx + 0x1c], 0x12
jne 0x42a976
movzx edx, byte [esp + 0x2c]
mov ecx, ebx
call fcn.00423000
test eax, eax
jne 0x42f9cf
test byte [esi + 0x1c], 0x12
jne 0x42a990
movzx edx, byte [esp + 0x2c]
mov ecx, esi
call fcn.00423000
test eax, eax
jne 0x42f9cf
mov eax, dword [esi + 0x18]
add eax, dword [ebx + 0x18]
cdq
mov edi, eax
mov ecx, edx
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], ecx
mov eax, dword [ebp + 0x58]
cdq
cmp ecx, edx
jg 0x42fbc6
jl 0x42a9b9
cmp edi, eax
ja 0x42fbc6
mov edi, dword [esp + 0x24]
mov ecx, 0xbe02
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 + 0x60]
cmp edi, esi
sete al
push eax
lea edx, [edx + 2]
call fcn.00422dd0
add esp, 4
test eax, eax
jne 0x42f9cf
cmp edi, esi
je 0x42aa07
push dword [esi + 0x18]
push dword [esi + 4]
push dword [edi + 4]
call fcn.004c9320
add esp, 0xc
push dword [ebx + 0x18]
mov eax, dword [esi + 0x18]
push dword [ebx + 4]
mov ebx, dword [esp + 0x2c]
add eax, dword [ebx + 4]
push eax
call fcn.004c9320
mov eax, dword [esp + 0x6c]
add esp, 0xc
mov ecx, dword [ebx + 4]
mov esi, dword [esp + 0x1c]
mov byte [eax + ecx], 0
mov eax, dword [esp + 0x60]
mov ecx, dword [ebx + 4]
mov byte [eax + ecx + 1], 0
mov eax, 0x200
or word [ebx + 0x1c], ax
inc esi
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x10]
mov dword [ebx + 0x18], eax
mov al, byte [esp + 0x2c]
mov byte [ebx + 0x1f], al
jmp 0x42a34e
mov eax, dword [edx + edi*4 + 4]
mov ebx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov ecx, esi
call fcn.0042a140
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + edi*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov ecx, ebx
call fcn.0042a140
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + edi*4 + 0xc]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
movzx ecx, word [ebx + 0x1c]
mov dword [esp + 0x24], eax
movzx eax, word [esi + 0x1c]
or ecx, eax
mov dword [esp + 0x64], ecx
test cl, 1
jne 0x42ad2e
mov al, byte [ebx + 0x1c]
and al, byte [esi + 0x1c]
test al, 4
je 0x42ac25
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x68], ecx
mov edx, dword [esi + 0x14]
mov dword [esp + 0x6c], edx
mov ebp, dword [ebx + 0x10]
mov dword [esp + 0x70], ebp
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x30], eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x14]
mov byte [esp + 0x60], 1
movzx eax, byte [eax + edi*4]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x42aafa
jmp dword [eax*4 + 0x42ffb0]
push edx
push ecx
lea ecx, [esp + 0x78]
call fcn.0040abb0
add esp, 8
test eax, eax
je 0x42abe9
mov ebp, dword [esp + 0x28]
mov ecx, esi
call fcn.004232b0
mov ecx, ebx
movsd qword [esp + 0x78], xmm0
call fcn.004232b0
mov eax, dword [esp + 0x14]
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x30], xmm0
movzx eax, byte [eax + edi*4]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x42ab52
jmp dword [eax*4 + 0x42ffc0]
push edx
push ecx
lea ecx, [esp + 0x78]
call fcn.0040ac50
add esp, 8
test eax, eax
jne 0x42ab17
jmp 0x42abe9
push edx
push ecx
lea ecx, [esp + 0x78]
call fcn.0040aca0
add esp, 8
test eax, eax
jne 0x42ab17
jmp 0x42abe9
mov eax, ecx
or eax, edx
je 0x42ad2e
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
mov eax, dword [esp + 0x30]
jne 0x42aba7
test ebp, ebp
jne 0x42aba7
cmp eax, 0x80000000
je 0x42ab17
push edx
push ecx
push eax
push ebp
call fcn.004d4320
jmp 0x42abe1
mov eax, ecx
or eax, edx
je 0x42ad2e
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x42abd4
mov ecx, 1
xor edx, edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], edx
mov eax, dword [esp + 0x30]
push edx
push ecx
push eax
push ebp
call fcn.004d43d0
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], eax
mov ebx, dword [esp + 0x24]
mov ecx, 0xbe04
mov eax, dword [esp + 0x70]
mov ebp, dword [esp + 0x28]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x74]
mov dword [ebx + 0x14], eax
mov ax, word [ebx + 0x1c]
and ax, cx
or ax, 4
mov word [ebx + 0x1c], ax
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
inc esi
jmp 0x42a352
mov byte [esp + 0x60], 0
jmp 0x42ab1b
addsd xmm0, qword [esp + 0x78]
jmp 0x42acc7
subsd xmm0, qword [esp + 0x78]
jmp 0x42acc7
mulsd xmm0, qword [esp + 0x78]
jmp 0x42acc7
movsd xmm1, qword [esp + 0x78]
ucomisd xmm1, qword [0x502060]
lahf
test ah, 0x44
jnp 0x42ad2e
divsd xmm0, xmm1
jmp 0x42acc7
movsd xmm0, qword [esp + 0x78]
call fcn.004e4e6f
movsd xmm0, qword [esp + 0x30]
mov esi, eax
mov edi, edx
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], edi
call fcn.004e4e6f
mov ecx, esi
mov dword [esp + 0x70], eax
or ecx, edi
mov dword [esp + 0x74], edx
je 0x42ad2e
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x42acb7
mov esi, 1
xor edi, edi
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], edi
push edi
push esi
push edx
push eax
call fcn.004d43d0
mov ecx, eax
call fcn.004e500f
movsd qword [esp + 0x80], xmm0
call fcn.00409a50
test eax, eax
jne 0x42ad2e
mov ebx, dword [esp + 0x24]
mov ecx, 0xbe08
movsd xmm0, qword [esp + 0x80]
mov ax, word [ebx + 0x1c]
and ax, cx
movsd qword [ebx + 8], xmm0
or ax, 8
mov word [ebx + 0x1c], ax
test byte [esp + 0x64], 8
jne 0x42a77b
cmp byte [esp + 0x60], 0
jne 0x42a77b
mov ecx, ebx
call fcn.00423310
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
inc esi
mov ecx, dword [esp + 0x10]
jmp 0x42a352
mov ebx, dword [esp + 0x24]
mov ecx, ebx
call fcn.00423530
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x28]
inc esi
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
test eax, eax
je 0x42ac1b
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
push 0
push 0
lea ecx, [ecx + eax*8]
call fcn.00423580
mov edx, dword [esp + 0x1c]
add esp, 8
mov ecx, dword [esp + 0x10]
inc esi
jmp 0x42a352
movzx ecx, byte [edx + edi*4 + 3]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x20]
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 ebx, [ebx + eax*8]
mov eax, dword [edx + edi*4 + 8]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x24], ebx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
xor eax, eax
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
test ecx, ecx
jle 0x42ae1e
jmp 0x42add0
mov dword [esi + eax*4], edx
mov eax, 0x1000
mov ecx, dword [esp + 0x64]
test word [ecx + 0x1c], ax
je 0x42adf3
call fcn.00422ef0
test eax, eax
jne 0x42f9cf
mov ecx, dword [esp + 0x64]
call fcn.0042a000
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
inc eax
add edx, 0x28
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
cmp eax, dword [esp + 0xb4]
jge 0x42ae1e
mov esi, dword [esp + 0xb0]
jmp 0x42add0
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x70]
mov esi, dword [esp + 0x1c]
mov edx, ebx
mov eax, dword [eax + edi*4 + 0x10]
mov dword [esp + 0x68], eax
mov eax, 1
mov word [esp + 0x8c], ax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x70], ebp
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa0], eax
call fcn.00423890
mov eax, dword [esp + 0x8c]
and eax, 0xbe01
mov byte [esp + 0xad], 0
or eax, 1
mov word [esp + 0x8c], ax
mov eax, dword [esp + 0x68]
test byte [eax + 2], 0x20
je 0x42aeaa
mov eax, dword [esp + 0x14]
mov eax, dword [eax + edi*4 - 4]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x40]
mov dword [ebp + 0x20], eax
mov eax, dword [esp + 0x44]
mov dword [ebp + 0x24], eax
lea eax, [esp + 0x68]
push dword [esp + 0xb0]
push dword [esp + 0xb8]
push eax
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 0xc]
call eax
mov eax, dword [ebp + 0x20]
add esp, 0xc
cmp byte [ebp + 0x40], 0
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x44], eax
jne 0x42f9c6
cmp byte [esp + 0xad], 0
je 0x42af46
cmp dword [esp + 0xa8], 0
je 0x42af30
mov dl, 1
lea ecx, [esp + 0x70]
call fcn.00423f30
push eax
mov eax, dword [esp + 0x14]
push 0x4f4050
add eax, 0x38
push ebp
push eax
call fcn.00407b40
mov eax, dword [esp + 0xb8]
add esp, 0x10
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
mov edx, esi
mov ecx, dword [esp + 0x10]
push dword [eax + edi*4 + 4]
call fcn.00426c00
add esp, 4
movzx edx, byte [esp + 0x2c]
lea ecx, [esp + 0x70]
call fcn.00422db0
lea edx, [esp + 0x70]
mov ecx, ebx
call fcn.00423890
mov ecx, ebx
call fcn.00423780
test eax, eax
jne 0x42fbc6
mov edx, dword [esp + 0x14]
jmp 0x42bc2a
mov eax, dword [edx + edi*4 + 4]
mov ebx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov eax, dword [edx + edi*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov al, byte [ecx + 0x1c]
or al, byte [esi + 0x1c]
mov dword [esp + 0x24], ebx
test al, 1
je 0x42afc0
mov ecx, ebx
call fcn.00423530
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
inc esi
mov ecx, dword [esp + 0x10]
jmp 0x42a352
call fcn.00423200
mov ecx, esi
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
call fcn.00423200
mov esi, eax
mov dword [esp + 0x74], edx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x70], esi
mov cl, byte [eax + edi*4]
mov byte [esp + 0x78], cl
cmp cl, 0x52
jne 0x42b001
mov ecx, dword [esp + 0x60]
and ecx, esi
and dword [esp + 0x64], edx
mov dword [esp + 0x60], ecx
jmp 0x42b11b
cmp cl, 0x53
jne 0x42b019
mov ecx, dword [esp + 0x60]
or ecx, esi
or dword [esp + 0x64], edx
mov dword [esp + 0x60], ecx
jmp 0x42b11b
mov eax, esi
or eax, edx
je 0x42b117
test edx, edx
jg 0x42b05d
jl 0x42b02d
test esi, esi
jae 0x42b052
mov al, 0xa9
sub al, cl
mov cl, al
mov byte [esp + 0x78], cl
cmp edx, 0xffffffff
jl 0x42b085
jg 0x42b043
cmp esi, 0xffffffc0
jbe 0x42b085
neg esi
mov dword [esp + 0x70], esi
adc edx, 0
neg edx
mov dword [esp + 0x74], edx
test edx, edx
jl 0x42b0a6
jg 0x42b05d
cmp esi, 0x40
jb 0x42b0a6
cmp dword [esp + 0x64], 0
jg 0x42b097
jl 0x42b06d
cmp dword [esp + 0x60], 0
jae 0x42b097
cmp cl, 0x54
je 0x42b097
or eax, 0xffffffff
cdq
mov ecx, eax
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], ecx
jmp 0x42b11b
mov dword [esp + 0x70], 0x40
mov dword [esp + 0x74], 0
jmp 0x42b05d
xor eax, eax
cdq
mov ecx, eax
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], ecx
jmp 0x42b11b
movq xmm1, qword [esp + 0x60]
movd xmm0, esi
cmp cl, 0x54
jne 0x42b0d1
psllq xmm1, xmm0
movq qword [esp + 0x68], xmm1
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], eax
jmp 0x42b11b
cmp dword [esp + 0x64], 0
psrlq xmm1, xmm0
movq qword [esp + 0x68], xmm1
jg 0x42b105
jl 0x42b0eb
cmp dword [esp + 0x60], 0
jae 0x42b105
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, esi
or edx, 0xffffffff
call fcn.004e4bd0
or dword [esp + 0x68], eax
or dword [esp + 0x6c], edx
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], eax
jmp 0x42b11b
mov ecx, dword [esp + 0x60]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov dword [ebx + 0x10], ecx
mov ecx, 0xbe04
mov eax, dword [esp + 0x64]
mov dword [ebx + 0x14], eax
mov ax, word [ebx + 0x1c]
and ax, cx
mov ecx, dword [esp + 0x10]
or ax, 4
inc esi
mov word [ebx + 0x1c], ax
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004233b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + edi*4 + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
inc esi
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0042a140
test byte [esi + 0x1c], 8
je 0x42b1a3
mov ecx, esi
call fcn.00423310
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x42b1c6
mov edx, dword [esp + 0x14]
mov eax, dword [edx + edi*4 + 8]
test eax, eax
je 0x42f9ff
mov ecx, dword [esp + 0x10]
mov esi, eax
jmp 0x42a352
mov edx, dword [esp + 0x14]
and eax, 0xbe04
mov ecx, dword [esp + 0x10]
or eax, 4
mov word [esi + 0x1c], ax
mov esi, dword [esp + 0x1c]
inc esi
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 4
lea ecx, [ecx + eax*8]
je 0x42a712
call fcn.004233e0
mov edx, dword [esp + 0x14]
inc esi
mov ecx, dword [esp + 0x10]
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx ecx, word [esi + 0x1c]
test cl, 1
jne 0x42bc26
mov eax, ecx
shr eax, 3
and eax, 2
or eax, ecx
mov word [esi + 0x1c], ax
test al, 2
jne 0x42b24d
test al, 0xc
je 0x42b24d
movzx edx, byte [esp + 0x2c]
mov ecx, esi
call fcn.00423000
mov eax, 0xfff3
and word [esi + 0x1c], ax
movzx eax, word [esi + 0x1c]
test eax, 0x4000
je 0x42b27e
mov ecx, esi
call fcn.00422f50
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
mov eax, 0xbfe3
and word [esi + 0x1c], ax
jmp 0x42bc26
mov edx, dword [esp + 0x14]
mov eax, 0xbfe3
and word [esi + 0x1c], ax
mov dword [esp + 0x18], 0
jmp 0x42bc26
mov eax, dword [edx + edi*4 + 4]
mov esi, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
movzx eax, word [esi + 0x1c]
test al, 1
jne 0x42ca27
test al, 0x10
jne 0x42b2f0
test al, 2
jne 0x42b2ce
test al, 0xc
je 0x42b2ce
movzx edx, byte [esp + 0x2c]
mov ecx, esi
call fcn.00423000
mov edx, dword [esp + 0x14]
mov ax, word [esi + 0x1c]
mov ecx, 0xbe10
and ax, cx
mov ecx, dword [esp + 0x10]
or ax, 0x10
mov word [esi + 0x1c], ax
mov esi, dword [esp + 0x1c]
inc esi
jmp 0x42a352
and eax, 0xfe10
mov word [esi + 0x1c], ax
mov esi, dword [esp + 0x1c]
inc esi
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00423460
mov edx, dword [esp + 0x14]
inc esi
mov ecx, dword [esp + 0x10]
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
jne 0x42a712
call fcn.004233b0
mov edx, dword [esp + 0x14]
inc esi
mov ecx, dword [esp + 0x10]
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
jne 0x42a712
call fcn.004233e0
mov edx, dword [esp + 0x14]
inc esi
mov ecx, dword [esp + 0x10]
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
mov ecx, 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 ebx, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
mov word [esp + 0x66], ax
movzx eax, word [ebx + 0x1c]
mov cl, byte [esp + 0x66]
mov dl, al
mov word [esp + 0x68], ax
or al, cl
test al, 1
mov eax, dword [esp + 0x14]
je 0x42b44a
mov al, byte [eax + edi*4 + 3]
test al, al
jns 0x42b3e7
test cl, 1
je 0x42b3dd
test dl, 1
je 0x42b3dd
test dword [esp + 0x68], 0x100
jne 0x42b3dd
xor edx, edx
jmp 0x42b4bb
mov edx, 1
jmp 0x42b4bb
mov edx, dword [esp + 0x14]
test al, 8
je 0x42b400
mov esi, dword [edx + edi*4 + 8]
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
jmp 0x42a352
test al, 0x10
je 0x42b438
mov eax, dword [edx + edi*4 + 8]
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, 0xbe01
mov ax, word [ebx + 0x1c]
and ax, cx
mov dword [esp + 0x24], ebx
mov ecx, dword [esp + 0x10]
or ax, 1
mov word [ebx + 0x1c], ax
inc esi
jmp 0x42a352
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
inc esi
mov ecx, dword [esp + 0x10]
jmp 0x42a352
mov dl, byte [eax + edi*4 + 3]
and dl, 0x67
mov byte [esp + 0x64], dl
je 0x42b481
push dword [esp + 0x2c]
mov ecx, esi
call fcn.0042a1d0
mov dl, byte [esp + 0x68]
add esp, 4
mov ecx, ebx
push dword [esp + 0x2c]
call fcn.0042a1d0
add esp, 4
cmp byte [ebp + 0x40], 0
jne 0x42f9cf
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x42b498
mov ecx, esi
call fcn.00422f50
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x42b4a5
mov ecx, ebx
call fcn.00422f50
mov eax, dword [esp + 0x14]
mov edx, esi
mov ecx, ebx
push dword [eax + edi*4 + 0x10]
call fcn.00423ad0
add esp, 4
mov edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x60], edx
movzx ecx, byte [eax + edi*4]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x42b4cf
jmp dword [ecx*4 + 0x42ffd0]
xor eax, eax
test edx, edx
sete al
jmp 0x42b50a
xor eax, eax
test edx, edx
setne al
jmp 0x42b50a
xor eax, eax
test edx, edx
sets al
jmp 0x42b50a
xor eax, eax
test edx, edx
setle al
jmp 0x42b50a
xor eax, eax
test edx, edx
setg al
jmp 0x42b50a
xor eax, eax
test edx, edx
setns al
mov edx, dword [esp + 0x14]
mov dword [esp + 0x60], eax
test byte [edx + edi*4 + 3], 0x10
je 0x42b550
mov eax, dword [edx + edi*4 + 8]
mov edx, 0xbe04
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov ax, word [ecx + 0x1c]
and ax, dx
mov dword [esp + 0x24], ecx
or ax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [esp + 0x60]
cdq
mov dword [ecx + 0x14], edx
mov edx, dword [esp + 0x14]
mov dword [ecx + 0x10], eax
jmp 0x42b55d
test eax, eax
je 0x42b55d
mov eax, dword [edx + edi*4 + 8]
dec eax
mov dword [esp + 0x1c], eax
movzx eax, word [esi + 0x1c]
mov edi, 0x1ff
xor ax, word [esp + 0x66]
mov ecx, dword [esp + 0x10]
and ax, di
xor word [esi + 0x1c], ax
movzx eax, word [ebx + 0x1c]
xor ax, word [esp + 0x68]
mov esi, dword [esp + 0x1c]
and ax, di
xor word [ebx + 0x1c], ax
inc esi
mov ebx, dword [esp + 0x24]
jmp 0x42a352
mov eax, dword [edx + edi*4 + 0x10]
inc esi
mov dword [esp + 0x4c], eax
jmp 0x42a352
test byte [edx + edi*4 + 3], 1
mov eax, 0
mov ecx, dword [esp + 0x4c]
cmove ecx, eax
mov eax, dword [edx + edi*4 + 0xc]
mov dword [esp + 0x60], eax
mov ebx, dword [edx + edi*4 + 0x10]
mov dword [esp + 0x70], ebx
mov ebp, dword [edx + edi*4 + 4]
mov dword [esp + 0x68], ebp
mov edi, dword [edx + edi*4 + 8]
xor edx, edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x6c], edi
mov dword [esp + 0x64], edx
test eax, eax
jle 0x42b663
test ecx, ecx
je 0x42b5ee
mov esi, dword [ecx + edx*4]
jmp 0x42b5f0
mov esi, edx
mov dword [esp + 0x74], esi
mov ecx, dword [ebx + edx*4 + 0xc]
mov dword [esp + 0x78], ecx
mov eax, dword [ebx + 8]
push ecx
movzx eax, byte [eax + edx]
mov dword [esp + 0x80], eax
lea eax, [esi + edi]
mov edi, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
lea eax, [esi + ebp]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
call fcn.00423ad0
add esp, 4
mov dword [esp + 0x54], eax
test eax, eax
jne 0x42b652
mov edx, dword [esp + 0x64]
inc edx
mov dword [esp + 0x64], edx
cmp edx, dword [esp + 0x60]
jge 0x42b65f
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
mov ecx, dword [esp + 0x4c]
jmp 0x42b5e5
cmp dword [esp + 0x7c], 0
je 0x42b65f
neg eax
mov dword [esp + 0x54], eax
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x28]
xor eax, eax
mov ebx, dword [esp + 0x24]
inc esi
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x4c], eax
jmp 0x42a352
mov eax, dword [esp + 0x54]
test eax, eax
jns 0x42b690
mov esi, dword [edx + edi*4 + 4]
jmp 0x42a352
jne 0x42b69b
mov esi, dword [edx + edi*4 + 8]
jmp 0x42a352
mov esi, dword [edx + edi*4 + 0xc]
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
mov ebx, dword [esp + 0x20]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
lea ecx, [ebx + eax*8]
je 0x42b6c0
mov ecx, 2
jmp 0x42b6d6
call fcn.00423200
or eax, edx
mov edx, dword [esp + 0x14]
je 0x42b6d4
mov ecx, 1
jmp 0x42b6d6
xor ecx, ecx
mov dword [esp + 0x60], ecx
mov eax, dword [edx + edi*4 + 8]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
lea eax, [ebx + eax*8]
je 0x42b6f2
mov eax, 2
jmp 0x42b70e
mov ecx, eax
call fcn.00423200
mov ecx, dword [esp + 0x60]
or eax, edx
mov edx, dword [esp + 0x14]
je 0x42b70c
mov eax, 1
jmp 0x42b70e
xor eax, eax
mov dword [esp + 0x64], eax
lea eax, [eax + ecx*2]
cmp byte [edx + edi*4], 0x45
jne 0x42b725
movzx ecx, byte [ecx + eax + 0x4f7b18]
jmp 0x42b72d
movzx ecx, byte [ecx + eax + 0x4f4bb8]
mov dword [esp + 0x60], ecx
mov eax, dword [edx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov dword [esp + 0x24], ebx
cmp ecx, 2
jne 0x42b762
mov ax, word [ebx + 0x1c]
mov ecx, 0xbe01
and ax, cx
mov ecx, dword [esp + 0x10]
or ax, 1
inc esi
mov word [ebx + 0x1c], ax
jmp 0x42a352
mov eax, ecx
mov ecx, 0xbe04
cdq
mov dword [ebx + 0x10], eax
mov ax, word [ebx + 0x1c]
and ax, cx
mov dword [ebx + 0x14], edx
mov edx, dword [esp + 0x14]
or ax, 4
mov ecx, dword [esp + 0x10]
inc esi
mov word [ebx + 0x1c], ax
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
mov ebx, dword [esp + 0x20]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
lea ecx, [ebx + eax*8]
mov eax, dword [edx + edi*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov dword [esp + 0x24], ebx
je 0x42b7c5
mov ecx, ebx
call fcn.00423530
mov edx, dword [esp + 0x14]
inc esi
mov ecx, dword [esp + 0x10]
jmp 0x42a352
call fcn.00423200
or eax, edx
jne 0x42b7ee
mov eax, 1
mov ecx, ebx
cdq
push edx
push eax
call fcn.00423580
mov edx, dword [esp + 0x1c]
add esp, 8
mov ecx, dword [esp + 0x10]
inc esi
jmp 0x42a352
xor eax, eax
cdq
push edx
push eax
mov ecx, ebx
call fcn.00423580
mov edx, dword [esp + 0x1c]
add esp, 8
mov ecx, dword [esp + 0x10]
inc esi
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
mov ebx, dword [esp + 0x20]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
lea ecx, [ebx + eax*8]
mov eax, dword [edx + edi*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov dword [esp + 0x24], ebx
je 0x42b843
mov ecx, ebx
call fcn.00423530
mov edx, dword [esp + 0x14]
inc esi
mov ecx, dword [esp + 0x10]
jmp 0x42a352
call fcn.00423200
not eax
not edx
jmp 0x42b7f1
mov eax, dword [ecx + 0xd8]
mov ecx, dword [edx + edi*4 + 4]
cmp byte [eax + ecx], 0
je 0x42b86b
mov esi, dword [edx + edi*4 + 8]
mov ecx, dword [esp + 0x10]
jmp 0x42a352
mov byte [eax + ecx], 1
inc esi
mov ecx, dword [esp + 0x10]
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
je 0x42b894
mov ecx, dword [edx + edi*4 + 0xc]
jmp 0x42b8c7
call fcn.004232b0
ucomisd xmm0, qword [0x502060]
lahf
test ah, 0x44
jnp 0x42b8ae
mov ecx, 1
jmp 0x42b8b0
xor ecx, ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x60], ecx
cmp byte [edx + edi*4], 0x28
jne 0x42b8cb
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
mov dword [esp + 0x60], ecx
test ecx, ecx
je 0x42ac1b
mov esi, dword [edx + edi*4 + 8]
mov ecx, dword [esp + 0x10]
dec esi
inc esi
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
mov ebp, dword [esp + 0x20]
lea eax, [eax + eax*4]
test byte [ebp + eax*8 + 0x1c], 1
mov ebp, dword [esp + 0x28]
je 0x42b8fd
mov esi, dword [edx + edi*4 + 8]
dec esi
inc esi
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
mov ebp, dword [esp + 0x20]
lea eax, [eax + eax*4]
test byte [ebp + eax*8 + 0x1c], 1
mov ebp, dword [esp + 0x28]
jne 0x42b8fd
mov esi, dword [edx + edi*4 + 8]
dec esi
inc esi
jmp 0x42a352
mov ecx, dword [edx + edi*4 + 4]
xorps xmm0, xmm0
mov esi, dword [esp + 0x20]
mov dword [esp + 0x70], ecx
mov ebx, dword [edx + edi*4 + 8]
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], ebx
movdqu xmmword [esp + 0xa0], xmm0
movdqu xmmword [esp + 0xb0], xmm0
movq qword [esp + 0xc0], xmm0
mov eax, dword [edx + edi*4 + 0xc]
mov dword [esp + 0x7c], 0
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x9c], esi
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x78], ecx
mov eax, dword [ecx]
mov dword [esp + 0x80], eax
test eax, eax
je 0x42ba3b
call fcn.004271c0
mov edx, eax
mov dword [esp + 0x18], edx
test edx, edx
jne 0x42fad0
mov ecx, dword [esp + 0x78]
cmp byte [ecx + 0x1c], al
je 0x42b9eb
mov esi, dword [esp + 0x9c]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x60], 0
mov ax, word [esi + 0x1c]
mov ecx, 0xbe01
mov ebx, dword [esp + 0x24]
and ax, cx
mov ecx, dword [esp + 0x10]
or ax, 1
mov word [esi + 0x1c], ax
mov esi, dword [esp + 0x1c]
inc esi
jmp 0x42a352
mov ebx, dword [esp + 0x10]
mov eax, dword [ecx + 0x50]
cmp eax, dword [ebx + 0x54]
jne 0x42ba0a
mov edx, dword [ecx + 0x54]
mov dword [esp + 0x60], edx
mov eax, dword [ecx + 0x60]
mov dword [esp + 0x7c], eax
jmp 0x42bad6
cmp byte [ecx + 0x1f], 0
mov ecx, dword [esp + 0x80]
je 0x42ba2d
lea edx, [esp + 0x68]
call fcn.0041c180
mov edx, dword [esp + 0x68]
mov dword [esp + 0x60], edx
jmp 0x42bad2
lea edx, [esp + 0x60]
call fcn.0041c200
jmp 0x42bace
mov eax, dword [ecx + 0x10]
test eax, eax
jle 0x42b9bd
mov edx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov dword [esp + 0xe4], edx
cmp byte [ecx + 0x22], 0
je 0x42baa7
lea eax, [ebx + ebx*4]
mov ecx, esi
push 0x1000
lea edx, [edx + eax*8]
call fcn.004237b0
mov ecx, dword [esp + 0xa0]
mov eax, 0x1000
add esp, 4
test word [ecx + 0x1c], ax
je 0x42ba91
call fcn.00422ef0
test eax, eax
jne 0x42f9cf
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
inc esi
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
jmp 0x42a352
mov eax, dword [edx + 0x18]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x60], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x14]
test byte [eax + edi*4 + 3], 0x20
je 0x42bac8
xor eax, eax
jmp 0x42bacb
mov eax, dword [ebx + 0x54]
mov dword [ecx + 0x50], eax
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x78]
test edx, edx
je 0x42c0b5
cmp edx, dword [ebp + 0x58]
ja 0x42fbc6
mov esi, dword [ecx + 0x14]
mov dword [esp + 0x8c], esi
mov edx, dword [ecx + 0x58]
mov dword [esp + 0x84], edx
mov eax, dword [ecx + 0x50]
cmp eax, dword [ebx + 0x54]
jne 0x42bb12
mov ecx, dword [ecx + 0x5c]
mov dword [esp + 0x88], ecx
jmp 0x42beab
lea eax, [edx + esi*4]
mov dword [esp + 0xdc], 0
mov dword [esp + 0x88], eax
mov dword [ecx + 0x5c], eax
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x60]
mov dword [ecx + 0x54], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [ebx + 0x54]
mov dword [eax + 0x50], ecx
mov ecx, dword [esp + 0x7c]
test ecx, ecx
je 0x42bb50
mov dword [esp + 0x98], ecx
jmp 0x42bbc2
mov edx, dword [esp + 0x78]
cmp byte [edx + 0x1f], 0
je 0x42bb6f
mov ecx, dword [esp + 0x80]
lea edx, [esp + 0xdc]
call fcn.0041c8d0
jmp 0x42bb91
mov eax, dword [esp + 0x80]
xor ecx, ecx
cmp byte [eax + 0x5b], 1
jne 0x42bb97
push 1
lea edx, [esp + 0xe0]
mov ecx, eax
call fcn.0041c840
add esp, 4
mov edx, dword [esp + 0x78]
mov ecx, eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x98], ecx
cmp eax, dword [esp + 0xdc]
ja 0x42bbb4
mov dword [esp + 0x7c], ecx
mov dword [edx + 0x60], ecx
jmp 0x42bbbb
mov dword [edx + 0x60], 0
mov ecx, dword [esp + 0x98]
mov al, byte [ecx]
cmp al, 0x80
jae 0x42bbd9
movzx edx, al
mov eax, 1
mov dword [esp + 0xd0], edx
jmp 0x42bbf6
lea edx, [esp + 0xd0]
call fcn.0040a9e0
mov edx, dword [esp + 0xd0]
mov ecx, dword [esp + 0x98]
movzx eax, al
movzx ebp, al
mov dword [esp + 0xd8], ebp
cmp edx, 0x18003
jbe 0x42bcef
mov ecx, 0x10b8f
call fcn.004726e0
mov dword [esp + 0x18], eax
mov ebp, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
inc esi
mov dword [esp + 0x1c], esi
test eax, eax
je 0x42a356
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
push dword [ecx + 0x38]
mov dword [ecx + 0x5c], edx
push dword [ecx + 0xb8]
push esi
push str.statement_aborts_at__d:___s___s
push edx
call fcn.004091d0
mov ebx, dword [esp + 0x24]
add esp, 0x14
mov ecx, ebx
call fcn.00426630
cmp dword [esp + 0x18], 0xc0a
jne 0x42bc7b
mov byte [ebp + 0x40], 1
mov al, byte [esp + 0x3f]
mov edi, 1
test al, al
je 0x42bcb1
movzx esi, al
mov eax, dword [ebp + 0x10]
dec esi
mov ecx, esi
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.00442e40
add esp, 4
cmp esi, edi
je 0x42bcb1
mov eax, dword [ebp + 0x10]
push dword [eax + 0x1c]
call fcn.00442e40
add esp, 4
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x44]
mov dword [eax + 0x24], ecx
mov ecx, ebx
mov eax, dword [esp + 0x48]
add dword [ebx + 0x88], eax
call fcn.00424fb0
mov ecx, dword [esp + 0x12c]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004c515f
add esp, 0x124
ret
mov ebx, dword [esp + 0x8c]
lea esi, [ebx*4 + 3]
add esi, ebx
cmp esi, edx
cmovg esi, edx
cmp dword [esp + 0x7c], 0
mov dword [esp + 0x90], esi
jne 0x42bd87
cmp dword [esp + 0xdc], esi
jge 0x42bd87
mov ecx, dword [esp + 0x80]
xor eax, eax
mov word [esp + 0xbc], ax
xor edx, edx
mov dword [esp + 0xa0], eax
lea eax, [esp + 0xa0]
push eax
mov eax, dword [esp + 0x7c]
movzx eax, byte [eax + 0x1f]
push eax
push esi
call fcn.00423dc0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x42f86f
mov ecx, dword [esp + 0xa4]
mov ebp, dword [esp + 0xd8]
mov edx, dword [esp + 0xd0]
mov esi, dword [esp + 0x90]
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0x98], ecx
lea eax, [ecx + esi]
lea esi, [ecx + ebp]
mov dword [esp + 0xcc], eax
xor ecx, ecx
mov dword [esp + 0xc8], esi
mov dword [esp + 0x94], ecx
test ebx, ebx
jle 0x42be4b
lea esp, [esp]
cmp esi, eax
mov eax, dword [esp + 0x88]
jae 0x42bf02
mov dword [eax + ecx*4], edx
mov ecx, dword [esp + 0xc8]
mov al, byte [ecx]
cmp al, 0x80
jae 0x42bde3
movzx edx, al
inc ecx
mov dword [esp + 0xe0], edx
mov dword [esp + 0xc8], ecx
jmp 0x42be00
lea edx, [esp + 0xe0]
call fcn.0040a9e0
mov edx, dword [esp + 0xe0]
movzx eax, al
add dword [esp + 0xc8], eax
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x84]
mov dword [eax + ecx*4], edx
mov ecx, dword [esp + 0xe0]
call fcn.00427380
mov edx, dword [esp + 0xd0]
add edx, eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd0], edx
cmp edx, eax
jae 0x42bf10
mov eax, dword [esp + 0xcc]
inc eax
mov dword [esp + 0xc8], eax
lea ecx, [esp + 0xa0]
call fcn.004231c0
mov edx, dword [esp + 0xc8]
mov eax, 1
mov esi, dword [esp + 0xcc]
mov word [esp + 0xbc], ax
cmp edx, esi
ja 0x42c0a2
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x60]
cmp eax, ecx
ja 0x42c0a2
cmp edx, esi
jne 0x42be99
cmp eax, ecx
jne 0x42c0a2
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x74]
cmp dword [ecx + eax*4], 0
je 0x42c008
cmp dword [esp + 0x7c], 0
je 0x42bf3f
mov esi, dword [esp + 0x9c]
mov ebx, 0x2460
test word [esi + 0x1c], bx
je 0x42bef2
mov ecx, esi
call fcn.00423160
mov esi, dword [esp + 0x9c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x74]
mov ecx, dword [ecx + eax*4]
add ecx, dword [esp + 0x7c]
mov edx, dword [edx + eax*4]
push esi
jmp 0x42bff0
mov dword [eax + ecx*4], 0
mov edx, dword [esp + 0xd0]
mov ecx, dword [esp + 0x94]
inc ecx
mov dword [esp + 0x94], ecx
cmp ecx, dword [esp + 0x8c]
jge 0x42be4b
mov eax, dword [esp + 0xcc]
mov esi, dword [esp + 0xc8]
jmp 0x42bdb0
mov edx, dword [edx + eax*4]
mov eax, dword [esp + 0x14]
mov dword [esp + 0xe0], edx
mov al, byte [eax + edi*4 + 3]
test al, 0xc0
je 0x42bf70
cmp edx, 0xc
jb 0x42bf5f
test dl, 1
je 0x42bf63
test al, al
jns 0x42bf70
cmp edx, 0xc
lea eax, [esp + 0x68]
sbb ecx, ecx
and ecx, eax
jmp 0x42bfe2
mov ecx, edx
call fcn.00427380
mov edx, dword [esp + 0x9c]
lea ecx, [esp + 0xa0]
mov dword [esp + 0x90], eax
call fcn.00423890
mov edx, dword [esp + 0x74]
lea eax, [esp + 0xa0]
mov ecx, dword [esp + 0x80]
push eax
mov eax, dword [esp + 0x7c]
movzx eax, byte [eax + 0x1f]
push eax
mov eax, dword [esp + 0x90]
push dword [esp + 0x98]
mov edx, dword [eax + edx*4]
call fcn.00423dc0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x42f873
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xe0]
push dword [esp + 0x9c]
mov dword [esp + 0x9c], ecx
call fcn.00427460
mov eax, dword [esp + 0xa0]
add esp, 4
mov cl, byte [esp + 0x2c]
mov byte [eax + 0x1f], cl
jmp 0x42c041
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x9c]
cmp byte [eax + edi*4 + 1], 0xf8
jne 0x42c02d
mov edx, dword [eax + edi*4 + 0x10]
push 0x800
call fcn.004237b0
add esp, 4
jmp 0x42c041
mov ax, word [ecx + 0x1c]
mov edx, 0xbe01
and ax, dx
or ax, 1
mov word [ecx + 0x1c], ax
cmp dword [esp + 0xc4], 0
je 0x42c08d
mov eax, dword [esp + 0x9c]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov ecx, 0x200
mov eax, dword [esp + 0x9c]
or word [eax + 0x1c], cx
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0xa4]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0x24], ecx
mov ecx, dword [esp + 0x9c]
call fcn.00422ef0
mov dword [esp + 0x18], eax
jmp 0x42bc1e
mov ecx, 0x10bdf
call fcn.004726e0
mov dword [esp + 0x18], eax
jmp 0x42bc1a
mov esi, dword [esp + 0x9c]
mov edx, dword [esp + 0x14]
jmp 0x42b9c5
mov ecx, dword [edx + edi*4 + 0x10]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x60], ecx
mov eax, dword [edx + edi*4 + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov al, byte [ecx]
mov byte [esp + 0x64], al
test al, al
je 0x42c12f
mov ebp, 0x4000
lea ebx, [ebx]
inc ecx
mov dword [esp + 0x60], ecx
test word [esi + 0x1c], bp
je 0x42c106
mov ecx, esi
call fcn.00422f50
mov al, byte [esp + 0x64]
push dword [esp + 0x2c]
mov dl, al
mov ecx, esi
call fcn.0042a1d0
mov ecx, dword [esp + 0x64]
add esp, 4
add esi, 0x28
mov al, byte [ecx]
mov byte [esp + 0x64], al
test al, al
jne 0x42c0f0
mov ebp, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x60], ecx
inc esi
mov ecx, dword [esp + 0x10]
jmp 0x42a352
mov ecx, dword [esp + 0x20]
xor ebp, ebp
mov esi, dword [esp + 0x14]
xor ebx, ebx
mov dword [esp + 0x70], ebp
xorps xmm0, xmm0
movlpd qword [esp + 0x68], xmm0
mov dword [esp + 0x80], ebx
mov eax, dword [edx + edi*4 + 4]
mov dword [esp + 0x94], eax
mov edx, dword [edx + edi*4 + 0x10]
mov dword [esp + 0x98], edx
lea eax, [eax + eax*4]
mov dword [esp + 0x30], edx
lea ecx, [ecx + eax*8]
mov dword [esp + 0x8c], ecx
mov eax, dword [esi + edi*4 + 8]
mov dword [esp + 0x94], eax
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x10]
add ecx, 0xffffffd8
mov dword [esp + 0x90], ecx
movzx eax, byte [eax + 0x61]
mov dword [esp + 0x9c], eax
mov eax, dword [esi + edi*4 + 0xc]
mov esi, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x8c]
mov esi, eax
mov dword [esp + 0x64], esi
cmp eax, ecx
ja 0x42c2d6
lea ebx, [ebx]
test edx, edx
je 0x42c228
push dword [esp + 0x2c]
mov ecx, esi
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, esi
call fcn.0042a1d0
mov ecx, dword [esp + 0x9c]
add esp, 4
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x64]
mov dword [esp + 0x30], ecx
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x42c25a
cmp dword [esi + 0x18], 0
jle 0x42c25a
mov ecx, esi
call fcn.00422f50
mov ecx, dword [esp + 0x98]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x64]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x9c]
mov ecx, esi
call fcn.00427270
mov ecx, eax
mov dword [esp + 0x88], ecx
call fcn.00427380
mov edi, eax
cdq
add dword [esp + 0x68], eax
push 0
adc dword [esp + 0x70], edx
push ecx
mov dword [esp + 0xac], edi
call fcn.0040aa60
add ebp, eax
add esp, 8
mov eax, 0x4000
mov dword [esp + 0x70], ebp
test word [esi + 0x1c], ax
je 0x42c2a9
add ebx, dword [esi + 0x10]
jmp 0x42c2b0
xor eax, eax
test edi, edi
cmovne ebx, eax
mov edx, dword [esp + 0x30]
add esi, 0x28
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x64], esi
cmp esi, dword [esp + 0x90]
jbe 0x42c1e0
mov eax, ebp
cdq
push edx
push eax
call fcn.0040aa60
mov esi, eax
add ebp, esi
mov dword [esp + 0x8c], esi
mov eax, ebp
mov dword [esp + 0x78], ebp
cdq
push edx
push eax
call fcn.0040aa60
add esp, 0x10
cmp esi, eax
jge 0x42c305
inc ebp
mov dword [esp + 0x70], ebp
mov eax, ebx
cdq
mov ecx, eax
mov esi, edx
mov eax, ebp
mov ebp, dword [esp + 0x28]
cdq
mov ebx, eax
mov edi, edx
sub ebx, ecx
sbb edi, esi
add ebx, dword [esp + 0x68]
mov dword [esp + 0x78], ebx
adc edi, dword [esp + 0x6c]
mov dword [esp + 0x7c], edi
mov eax, dword [ebp + 0x58]
cdq
cmp edi, edx
jg 0x42fbc6
jl 0x42c341
cmp ebx, eax
ja 0x42fbc6
mov edx, ebx
mov ebx, dword [esp + 0x24]
push 0
mov ecx, ebx
call fcn.00422dd0
add esp, 4
test eax, eax
jne 0x42f9cf
mov edx, dword [esp + 0x70]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x60], ecx
cmp edx, 0x80
jae 0x42c379
mov al, dl
mov byte [ecx], al
mov eax, 1
jmp 0x42c37e
call fcn.0040a830
mov ecx, dword [esp + 0x90]
movzx esi, al
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xa0], esi
mov dword [esp + 0x64], eax
cmp eax, ecx
ja 0x42c40b
mov edi, edi
mov edx, dword [esp + 0x9c]
mov ecx, eax
call fcn.00427270
mov edx, eax
mov dword [esp + 0x88], edx
cmp edx, 0x80
jae 0x42c3cf
mov cl, al
mov eax, dword [esp + 0x60]
mov byte [esi + eax], cl
mov eax, 1
jmp 0x42c3db
mov ecx, dword [esp + 0x60]
lea ecx, [esi + ecx]
call fcn.0040a830
mov esi, dword [esp + 0xa0]
mov ecx, dword [esp + 0x90]
movzx eax, al
add esi, eax
mov eax, dword [esp + 0x64]
add eax, 0x28
mov dword [esp + 0xa0], esi
mov dword [esp + 0x64], eax
cmp eax, ecx
jbe 0x42c3a0
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x64], eax
cmp eax, ecx
ja 0x42c461
jmp 0x42c420
mov ecx, dword [esp + 0x60]
push dword [esp + 0x9c]
mov edx, dword [esp + 0x7c]
push eax
sub edx, esi
lea ecx, [esi + ecx]
call fcn.004273a0
mov esi, dword [esp + 0xa8]
add esp, 8
add esi, eax
mov eax, dword [esp + 0x64]
add eax, 0x28
mov dword [esp + 0xa0], esi
mov dword [esp + 0x64], eax
cmp eax, dword [esp + 0x90]
jbe 0x42c420
mov eax, dword [esp + 0x78]
mov dword [ebx + 0x18], eax
mov eax, 0x410
mov word [ebx + 0x1c], ax
mov dword [ebx + 0x20], 0
mov eax, dword [esp + 0x80]
test eax, eax
je 0x42c48f
mov dword [ebx + 0x10], eax
mov eax, 0x4410
mov word [ebx + 0x1c], ax
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
inc esi
mov ecx, dword [esp + 0x10]
mov byte [ebx + 0x1f], 1
jmp 0x42a352
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
mov dword [esp + 0x68], ecx
test ecx, ecx
je 0x42c4e1
lea edx, [esp + 0x60]
call fcn.00420aa0
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x60]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x64]
mov dword [ebx + 0x14], eax
jmp 0x42bc2a
xorps xmm0, xmm0
movlpd qword [esp + 0x60], xmm0
mov eax, dword [esp + 0x60]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x64]
mov dword [ebx + 0x14], eax
jmp 0x42bc2a
mov ebx, dword [edx + edi*4 + 4]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x60], ebx
mov ebp, dword [edx + edi*4 + 0x10]
mov dword [esp + 0x64], ebp
test ebx, ebx
jne 0x42c5fb
cmp dword [eax + 0x94], ebx
jg 0x42fa0d
mov ecx, ebp
call fcn.00409a90
mov ebp, dword [esp + 0x28]
xor edx, edx
mov dword [esp + 0x68], eax
mov ecx, ebp
mov eax, dword [ebp + 0x1ec]
add eax, dword [ebp + 0x1e8]
push eax
call fcn.00462f90
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
jne 0x42fad0
mov edx, dword [esp + 0x68]
mov ecx, ebp
lea edx, [edx + 0x21]
call fcn.00407990
mov dword [esp + 0x6c], eax
test eax, eax
je 0x42c5ed
lea ecx, [eax + 0x20]
mov dword [eax], ecx
mov eax, dword [esp + 0x68]
inc eax
push eax
mov eax, dword [esp + 0x70]
push dword [esp + 0x68]
push dword [eax]
call fcn.004c9320
add esp, 0xc
cmp byte [ebp + 0x3e], bl
je 0x42c59c
mov byte [ebp + 0x3e], bl
mov byte [ebp + 0x45], 1
jmp 0x42c5a2
inc dword [ebp + 0x1e8]
mov eax, dword [esp + 0x6c]
mov ecx, dword [ebp + 0x1e0]
mov dword [eax + 0x18], ecx
mov eax, dword [esp + 0x6c]
mov ecx, dword [ebp + 0x1f0]
mov dword [ebp + 0x1e0], eax
mov eax, dword [esp + 0x6c]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x6c]
mov ecx, dword [ebp + 0x1f4]
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x6c]
mov ecx, dword [ebp + 0x1f8]
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x6c]
mov ecx, dword [ebp + 0x1fc]
mov dword [eax + 0x14], ecx
mov ebx, dword [esp + 0x24]
inc esi
mov ecx, dword [esp + 0x10]
jmp 0x42a34e
xor edi, edi
mov dword [esp + 0x78], edi
mov esi, dword [eax + 0x1e0]
mov dword [esp + 0x70], esi
test esi, esi
je 0x42c62f
nop
push ebp
push dword [esi]
call fcn.00409d00
add esp, 8
test eax, eax
je 0x42c661
inc edi
mov dword [esp + 0x78], edi
mov esi, dword [esi + 0x18]
mov dword [esp + 0x70], esi
test esi, esi
jne 0x42c610
mov eax, dword [esp + 0x10]
push ebp
mov ebp, dword [esp + 0x2c]
add eax, 0x38
push str.no_such_savepoint:__s
push ebp
push eax
call fcn.00407b40
mov esi, dword [esp + 0x2c]
mov edx, 1
mov ecx, dword [esp + 0x20]
add esp, 0x10
mov dword [esp + 0x18], edx
inc esi
jmp 0x42bc47
mov ebp, dword [esp + 0x28]
cmp dword [ebp + 0x94], 0
jle 0x42c677
cmp ebx, 1
je 0x42fa38
cmp dword [esi + 0x18], 0
jne 0x42c6cf
cmp byte [ebp + 0x45], 0
je 0x42c6cf
mov ebp, 1
mov dword [esp + 0x30], ebp
cmp ebx, ebp
jne 0x42c6d5
mov ebx, dword [esp + 0x10]
mov edx, ebp
mov ecx, ebx
call fcn.004265c0
mov edi, eax
test edi, edi
jne 0x42bcb1
mov edi, dword [esp + 0x28]
mov ecx, ebx
mov byte [edi + 0x3e], 1
call fcn.00426630
cmp eax, 5
je 0x42fa65
mov byte [edi + 0x45], 0
mov eax, dword [ebx + 0x5c]
mov dword [esp + 0x18], eax
jmp 0x42c789
xor ebp, ebp
mov dword [esp + 0x30], ebp
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x1e8]
sub eax, edi
mov edi, dword [esp + 0x28]
dec eax
mov dword [esp + 0x78], eax
cmp ebx, 2
jne 0x42c72a
xor eax, eax
mov dword [esp + 0x7c], eax
cmp dword [edi + 0x14], eax
jle 0x42c72a
mov ebp, 4
nop
mov ecx, dword [edi + 0x10]
add eax, eax
mov edx, ebp
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0041bc50
mov eax, dword [esp + 0x7c]
inc eax
mov dword [esp + 0x7c], eax
cmp eax, dword [edi + 0x14]
jl 0x42c700
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x70]
mov ebx, dword [esp + 0x60]
xor eax, eax
mov dword [esp + 0x7c], eax
cmp dword [edi + 0x14], eax
jle 0x42c770
mov ecx, dword [edi + 0x10]
add eax, eax
push dword [esp + 0x78]
mov edx, ebx
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0041beb0
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
jne 0x42facc
mov eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0x60]
inc eax
mov dword [esp + 0x7c], eax
cmp eax, dword [edi + 0x14]
jl 0x42c735
mov esi, dword [esp + 0x70]
cmp ebx, 2
jne 0x42c791
test byte [edi + 0x18], bl
je 0x42c791
mov ecx, edi
call fcn.00427ca0
call fcn.0043da60
or dword [edi + 0x18], ebx
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x70]
cmp dword [edi + 0x1e0], esi
je 0x42c7d4
lea esp, [esp]
mov eax, dword [edi + 0x1e0]
mov ecx, edi
mov dword [esp + 0x74], eax
mov eax, dword [eax + 0x18]
mov dword [edi + 0x1e0], eax
mov edx, dword [esp + 0x74]
call fcn.00407740
dec dword [edi + 0x1e8]
mov esi, dword [esp + 0x70]
cmp dword [edi + 0x1e0], esi
jne 0x42c7a0
mov ebx, dword [esp + 0x60]
cmp ebx, 1
jne 0x42c801
mov eax, dword [esi + 0x18]
mov ecx, edi
mov dword [edi + 0x1e0], eax
mov edx, dword [esp + 0x70]
call fcn.00407740
test ebp, ebp
mov ebp, dword [esp + 0x28]
jne 0x42f873
dec dword [ebp + 0x1e8]
jmp 0x42c835
mov eax, dword [esi + 8]
test ebp, ebp
mov ebp, dword [esp + 0x28]
mov dword [edi + 0x1f0], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 0x1f4], eax
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 0x10]
mov dword [edi + 0x1f8], eax
mov eax, dword [ecx + 0x14]
mov dword [edi + 0x1fc], eax
jne 0x42f873
push dword [esp + 0x78]
mov edx, dword [esp + 0x64]
mov ecx, ebp
call fcn.00462f90
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
jne 0x42fad0
jmp 0x42bc1e
cmp dword [edx + edi*4 + 8], 0
je 0x42c86e
test dword [ebp + 0x18], 0x2000000
jne 0x42fa7d
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [esp + 0x60], ecx
test ecx, ecx
je 0x42bc2a
mov edx, dword [edx + edi*4 + 8]
call fcn.0041ac70
mov edx, eax
mov dword [esp + 0x18], edx
cmp edx, 5
je 0x42fa88
test edx, edx
jne 0x42fad0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
cmp dword [edx + edi*4 + 8], eax
je case.default.0x42a3b3
test byte [ecx + 0x64], 0x80
je case.default.0x42a3b3
cmp byte [ebp + 0x3e], al
je 0x42c8d5
cmp dword [ebp + 0x90], 1
jle case.default.0x42a3b3
cmp dword [ecx + 0x74], 0
jne 0x42c8f0
mov eax, dword [ebp + 0x1e8]
inc dword [ebp + 0x1ec]
add eax, dword [ebp + 0x1ec]
mov dword [ecx + 0x74], eax
mov eax, dword [ecx + 0x74]
xor edx, edx
dec eax
mov ecx, ebp
push eax
call fcn.00462f90
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
jne 0x42c91f
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
mov edx, dword [eax + 0x74]
call fcn.0041be60
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [ebp + 0x1f0]
mov edx, dword [esp + 0x14]
mov dword [ecx + 0xa8], eax
mov eax, dword [ebp + 0x1f4]
mov dword [ecx + 0xac], eax
mov eax, dword [ebp + 0x1f8]
mov dword [ecx + 0xb0], eax
mov eax, dword [ebp + 0x1fc]
mov dword [ecx + 0xb4], eax
jmp case.default.0x42a3b3
mov eax, dword [edx + edi*4 + 4]
lea ecx, [esp + 0x60]
mov dword [esp + 0x64], eax
add eax, eax
mov edx, dword [edx + edi*4 + 0xc]
mov dword [esp + 0x68], edx
push ecx
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004209a0
mov eax, dword [esp + 0x64]
add esp, 4
mov ecx, dword [esp + 0x10]
inc esi
cdq
mov dword [ebx + 0x14], edx
mov edx, dword [esp + 0x14]
mov dword [ebx + 0x10], eax
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [esp + 0x20]
shl eax, 4
add eax, dword [ebp + 0x10]
mov dword [esp + 0x60], eax
mov eax, dword [edx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004233b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x60]
push dword [esi + 0x10]
mov edx, dword [eax + edi*4 + 8]
mov ecx, dword [ecx + 4]
call fcn.00420a10
mov edx, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x18], eax
mov eax, dword [edx + edi*4 + 8]
cmp eax, 1
jne 0x42c9fb
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x10]
mov dword [ecx], eax
or dword [ebp + 0x18], 2
jmp 0x42ca0d
cmp eax, 2
jne 0x42ca0d
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 0xc]
mov al, byte [esi + 0x10]
mov byte [ecx + 0x4c], al
cmp dword [edx + edi*4 + 4], 1
jne 0x42bc26
mov ecx, ebp
call fcn.00427ca0
mov ecx, dword [esp + 0x10]
and dword [ecx + 0x64], 0xffffffdf
mov esi, dword [esp + 0x1c]
jmp case.default.0x42a3b3
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [esp + 0x68], ecx
test ecx, ecx
je 0x42ca71
lea eax, [esp + 0x60]
mov edx, 1
push eax
call fcn.004209a0
mov edx, dword [esp + 0x18]
add esp, 4
mov eax, dword [ebp + 0x10]
mov ecx, dword [edx + edi*4 + 4]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [esp + 0x60]
mov eax, dword [eax + 4]
jmp 0x42ca79
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], eax
cmp ecx, dword [edx + edi*4 + 8]
jne 0x42ca8d
cmp eax, dword [edx + edi*4 + 0xc]
je 0x42bc2a
mov eax, dword [esp + 0x10]
mov ecx, ebp
mov edx, dword [eax + 0x38]
call fcn.00407740
mov edx, str.database_schema_has_changed
mov ecx, ebp
call fcn.00407ab0
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + edi*4 + 4]
mov ecx, edx
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [esp + 0x60]
je 0x42cad0
mov ecx, ebp
call fcn.0043da20
mov ecx, dword [esp + 0x10]
mov eax, 0x11
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], 0x11
or dword [ecx + 0x64], 0x20
jmp 0x42bc32
test byte [ecx + 0x64], 0x20
jne 0x42faae
xor ecx, ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], ecx
mov ebx, dword [edx + edi*4 + 8]
mov dword [esp + 0x68], ebx
mov esi, dword [edx + edi*4 + 0xc]
mov edx, esi
mov dword [esp + 0x6c], esi
shl edx, 4
add edx, dword [ebp + 0x10]
mov dword [esp + 0x7c], edx
mov eax, dword [edx + 4]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x14]
cmp byte [eax + edi*4], 0x31
jne 0x42cb4b
mov dword [esp + 0x70], 1
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x10]
mov al, byte [eax + 0x4c]
cmp al, byte [edx + 0x61]
jae 0x42cb4f
mov byte [edx + 0x61], al
jmp 0x42cb4f
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0x14]
test byte [edx + edi*4 + 3], 2
je 0x42cb87
mov ecx, dword [esp + 0x20]
lea eax, [ebx + ebx*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004233b0
mov eax, dword [esi + 0x10]
mov dword [esp + 0x68], eax
cmp eax, 2
jl 0x42fa9c
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x14]
mov al, byte [edx + edi*4 + 1]
cmp al, 0xfa
jne 0x42cbb8
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + edi*4 + 0x10]
mov dword [esp + 0x64], ecx
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0x6c]
movzx ecx, word [eax + 6]
inc ecx
jmp 0x42cbc0
cmp al, 0xf2
jne 0x42cbc4
mov ecx, dword [edx + edi*4 + 0x10]
mov dword [esp + 0x60], ecx
mov edx, dword [edx + edi*4 + 4]
push 1
push esi
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.0042a030
add esp, 0xc
mov dword [esp + 0x78], eax
test eax, eax
je 0x42f9cf
mov byte [eax + 0x1c], 1
mov eax, dword [esp + 0x78]
mov byte [eax + 0x20], 1
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x74]
push dword [eax]
push dword [esp + 0x68]
push dword [esp + 0x78]
call fcn.0041bfe0
mov ecx, dword [esp + 0x84]
add esp, 0xc
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x64]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x78]
mov cl, byte [edx + edi*4 + 3]
and cl, 1
mov eax, dword [eax]
mov byte [eax + 0x5d], cl
cmp byte [edx + edi*4 + 1], 0xfa
mov eax, dword [esp + 0x78]
setne cl
mov byte [eax + 0x1e], cl
mov ecx, dword [esp + 0x78]
cmp byte [ecx + 0x1e], 0
sete al
mov byte [ecx + 0x1f], al
jmp 0x42bc22
push 1
push 0xffffffffffffffff
push dword [edx + edi*4 + 8]
mov edx, dword [edx + edi*4 + 4]
call fcn.0042a030
add esp, 0xc
mov dword [esp + 0x60], eax
test eax, eax
je 0x42f9cf
mov byte [eax + 0x1c], 1
xor edx, edx
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp]
push 0x41e
movzx eax, byte [eax + edi*4 + 3]
or eax, 5
push eax
mov eax, dword [esp + 0x68]
add eax, 4
push eax
push ebp
call fcn.00419cd0
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
jne 0x42cd6f
mov ecx, dword [esp + 0x60]
lea edx, [eax + 1]
mov ecx, dword [ecx + 4]
call fcn.0041ac70
mov dword [esp + 0x18], eax
test eax, eax
jne 0x42cd6f
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x60]
cmp dword [eax + edi*4 + 0x10], 0
je 0x42cd4d
movzx eax, byte [eax + edi*4 + 3]
lea edx, [esp + 0x58]
mov ecx, dword [ecx + 4]
or eax, 2
push eax
call fcn.004204e0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x42cd43
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x58]
push dword [ecx]
mov ecx, dword [ecx + 4]
push dword [eax + edi*4 + 0x10]
push 1
call fcn.0041bfe0
mov dword [esp + 0x24], eax
add esp, 0xc
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edi*4 + 0x10]
mov eax, dword [esp + 0x60]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [esp + 0x60]
mov byte [eax + 0x1e], 0
jmp 0x42cd6f
push dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, 1
push 0
push 1
call fcn.0041bfe0
mov dword [esp + 0x24], eax
add esp, 0xc
mov eax, dword [esp + 0x60]
mov byte [eax + 0x1e], 1
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x60]
cmp byte [edx + edi*4 + 3], 8
setne cl
mov byte [eax + 0x20], cl
mov ecx, dword [esp + 0x60]
cmp byte [ecx + 0x1e], 0
sete al
mov byte [ecx + 0x1f], al
jmp 0x42bc2a
push 1
push 0xffffffffffffffff
push dword [edx + edi*4 + 8]
mov edx, dword [edx + edi*4 + 4]
call fcn.0042a030
add esp, 0xc
mov dword [esp + 0x60], eax
test eax, eax
je 0x42f9cf
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + edi*4 + 0x10]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x4d]
mov byte [ecx + 4], al
mov ecx, ebp
mov eax, dword [esp + 0x60]
mov byte [eax + 0x21], 1
mov edx, dword [esp + 0x60]
call fcn.00431130
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
jmp 0x42bc2a
push 0
push 0xffffffffffffffff
push dword [edx + edi*4 + 0xc]
mov edx, dword [edx + edi*4 + 4]
call fcn.0042a030
add esp, 0xc
mov dword [esp + 0x60], eax
test eax, eax
je 0x42f9cf
mov edx, dword [esp + 0x14]
inc esi
mov byte [eax + 0x1c], 1
mov eax, dword [esp + 0x60]
mov ecx, dword [edx + edi*4 + 8]
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x60]
mov byte [eax + 0x1e], 1
mov eax, dword [esp + 0x60]
mov byte [eax + 0x1f], 0
mov eax, dword [esp + 0x60]
mov cl, byte [edx + edi*4 + 3]
mov byte [eax + 0x22], cl
mov ecx, dword [esp + 0x10]
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
mov edx, dword [ecx + 0x44]
mov edx, dword [edx + eax*4]
call fcn.004259f0
mov edx, dword [esp + 0x14]
inc esi
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov dword [eax + ecx*4], 0
mov ecx, dword [esp + 0x10]
jmp 0x42a352
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x68], ecx
cmp dword [ecx], 0
je 0x42a3e4
movzx eax, byte [edx + edi*4]
mov dword [esp + 0x64], eax
mov byte [ecx + 0x1c], 0
mov ecx, dword [esp + 0x68]
cmp byte [ecx + 0x1e], 0
je 0x42d085
mov eax, dword [edx + edi*4 + 0xc]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea ebp, [ecx + eax*8]
mov ecx, ebp
call fcn.0042a140
mov ecx, ebp
call fcn.00423200
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x94], edx
mov byte [eax + 0x19], 0
movzx eax, word [ebp + 0x1c]
test al, 4
jne 0x42d015
test al, 8
jne 0x42cf0c
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
mov esi, dword [edx + edi*4 + 8]
jmp 0x42a352
mov ebx, dword [esp + 0x90]
mov esi, dword [esp + 0x94]
test ebx, ebx
jne 0x42cfb7
cmp esi, 0x80000000
jne 0x42cfb7
mov edx, esi
xor ecx, ecx
call fcn.004e500f
movsd xmm1, qword [ebp + 8]
comisd xmm0, xmm1
xorps xmm0, xmm0
ja 0x42cf4b
comisd xmm1, xmm0
jbe 0x42cfb7
mov dword [esp + 0x60], 1
comisd xmm0, xmmword [ebp + 8]
jbe 0x42cf72
cmp dword [esp + 0x64], 0x39
jl 0x42cfa1
mov ecx, dword [esp + 0x68]
lea edx, [esp + 0x60]
mov ecx, dword [ecx]
call fcn.0041ccb0
jmp 0x42cf88
cmp dword [esp + 0x64], 0x38
jg 0x42cfa1
mov ecx, dword [esp + 0x68]
lea edx, [esp + 0x60]
mov ecx, dword [ecx]
call fcn.0041cce0
mov edx, eax
mov dword [esp + 0x18], edx
test edx, edx
jne 0x42facc
cmp dword [esp + 0x60], 0
je 0x42f86f
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov esi, dword [edx + edi*4 + 8]
dec esi
jmp 0x42bc2a
mov eax, dword [esp + 0x64]
cmp eax, 0x37
je 0x42cfeb
cmp eax, 0x39
je 0x42cfeb
mov edx, esi
mov ecx, ebx
call fcn.004e500f
comisd xmm0, xmmword [ebp + 8]
jbe 0x42d023
add ebx, 0xffffffff
mov dword [esp + 0x90], ebx
adc esi, 0xffffffff
mov dword [esp + 0x94], esi
jmp 0x42d023
mov edx, esi
mov ecx, ebx
call fcn.004e500f
movsd xmm1, qword [ebp + 8]
comisd xmm1, xmm0
jbe 0x42d023
add ebx, 1
mov dword [esp + 0x90], ebx
adc esi, 0
mov dword [esp + 0x94], esi
jmp 0x42d023
mov esi, dword [esp + 0x94]
mov ebx, dword [esp + 0x90]
mov ecx, dword [esp + 0x68]
lea eax, [esp + 0x60]
push eax
push 0
push esi
mov ecx, dword [ecx]
xor edx, edx
push ebx
call fcn.0041cd30
mov edx, eax
add esp, 0x10
mov dword [esp + 0x18], edx
test edx, edx
jne 0x42facc
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x1c]
cmp dword [esp + 0x60], eax
jne 0x42d10c
mov eax, dword [esp + 0x68]
mov byte [eax + 0x19], 1
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x90]
mov dword [eax + 0x40], ecx
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x94]
mov dword [eax + 0x44], ecx
jmp 0x42d10c
mov eax, dword [edx + edi*4 + 0x10]
mov dword [esp + 0x88], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x70], eax
mov ax, word [esp + 0x88]
mov word [esp + 0x74], ax
mov al, byte [esp + 0x64]
dec al
and al, 1
mov byte [esp + 0x76], al
mov eax, dword [edx + edi*4 + 0xc]
mov edx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, 0x4000
mov dword [esp + 0x80], eax
test word [eax + 0x1c], dx
je 0x42d0db
mov ecx, eax
call fcn.00422f50
mov ecx, dword [esp + 0x68]
mov ecx, dword [ecx]
lea eax, [esp + 0x60]
push eax
push 0
push 0
push 0
lea edx, [esp + 0x80]
call fcn.0041cd30
mov edx, eax
add esp, 0x10
mov dword [esp + 0x18], edx
test edx, edx
jne 0x42fad0
mov eax, dword [esp + 0x68]
mov byte [eax + 0x19], dl
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0x68]
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
cmp eax, 0x39
jl 0x42d163
test ecx, ecx
js 0x42d151
jne 0x42d137
cmp eax, 0x3a
je 0x42d151
mov dword [esp + 0x60], 0
mov edx, dword [esp + 0x14]
inc esi
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
jmp 0x42a352
lea eax, [esp + 0x60]
push eax
mov eax, dword [esp + 0x6c]
push dword [eax]
call fcn.0041d100
jmp 0x42d193
test ecx, ecx
jg 0x42d183
jne 0x42d16e
cmp eax, 0x37
je 0x42d183
mov eax, dword [esp + 0x68]
xor ecx, ecx
mov eax, dword [eax]
cmp byte [eax + 0x5b], 1
setne cl
mov dword [esp + 0x60], ecx
jmp 0x42d1ac
lea eax, [esp + 0x60]
push eax
mov eax, dword [esp + 0x6c]
push dword [eax]
call fcn.0041d290
mov edx, eax
add esp, 8
mov dword [esp + 0x18], edx
test edx, edx
jne 0x42fad0
mov eax, dword [esp + 0x68]
mov byte [eax + 0x19], 0
cmp dword [esp + 0x60], 0
je 0x42d13f
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
mov esi, dword [edx + edi*4 + 8]
dec esi
inc esi
jmp 0x42a352
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x60], eax
cmp dword [eax], 0
je 0x42ac1b
mov ecx, dword [esp + 0x20]
mov byte [eax + 0x1c], 0
mov eax, dword [edx + edi*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00423200
mov ecx, dword [esp + 0x60]
inc esi
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x10]
mov dword [eax + 0x3c], edx
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x14]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x60]
mov byte [eax + 0x1d], 1
jmp 0x42a352
mov esi, dword [esp + 0x14]
xor edx, edx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x60], edx
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x64], ecx
mov eax, dword [esi + edi*4 + 0xc]
mov esi, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
cmp dword [ecx], edx
je 0x42d33c
mov edx, dword [esp + 0x14]
cmp dword [edx + edi*4 + 0x10], 0
jle 0x42d28c
mov eax, dword [ecx + 8]
mov dword [esp + 0x78], eax
mov ax, word [edx + edi*4 + 0x10]
lea edx, [esp + 0x78]
mov word [esp + 0x7c], ax
mov dword [esp + 0x88], esi
mov byte [esp + 0x7e], 2
mov dword [esp + 0x70], edx
jmp 0x42d2da
mov ecx, dword [ecx + 8]
lea eax, [esp + 0x6c]
push eax
push 0x97
lea edx, [esp + 0x98]
call fcn.004276b0
add esp, 8
mov dword [esp + 0x70], eax
test eax, eax
je 0x42f9cf
mov ecx, dword [esp + 0x64]
mov edx, dword [esi + 0x18]
push eax
push dword [esi + 4]
mov ecx, dword [ecx + 8]
call fcn.00427720
mov eax, dword [esp + 0x78]
add esp, 8
or byte [eax + 6], 2
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x64]
mov ecx, dword [ecx]
lea eax, [esp + 0x68]
push eax
push 0
push 0
push 0
call fcn.0041cd30
mov edx, dword [esp + 0x24]
add esp, 0x10
mov dword [esp + 0x18], eax
cmp dword [edx + edi*4 + 0x10], 0
jne 0x42d30d
mov edx, dword [esp + 0x6c]
mov ecx, ebp
call fcn.00407740
mov edx, dword [esp + 0x14]
cmp dword [esp + 0x18], 0
jne 0x42bc26
xor eax, eax
cmp dword [esp + 0x68], eax
sete al
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x64]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0x64]
mov dword [eax + 0x50], 0
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x14]
cmp byte [eax + edi*4], 0x3d
jne 0x42d35f
test edx, edx
je 0x42ac13
mov ecx, dword [esp + 0x10]
mov edx, eax
mov esi, dword [edx + edi*4 + 8]
dec esi
inc esi
jmp 0x42a352
test edx, edx
jne 0x42ac13
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov esi, dword [edx + edi*4 + 8]
dec esi
inc esi
jmp 0x42a352
mov eax, dword [edx + edi*4 + 0xc]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edx + edi*4 + 0x10]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x70], eax
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [esp + 0x64], eax
mov dword [eax + 0x4c], 0
mov eax, dword [esp + 0x64]
mov dword [eax + 0x50], 0
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x70]
mov eax, dword [ebp]
mov dword [esp + 0x68], eax
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 8]
mov dx, word [eax + 6]
xor eax, eax
mov word [esp + 0x6c], dx
mov word [esp + 0x60], cx
cmp ax, dx
jae 0x42d40d
jmp 0x42d3f0
movzx eax, cx
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
jne 0x42d4b3
inc cx
mov word [esp + 0x60], cx
cmp cx, dx
jb 0x42d3f0
cmp dword [esp + 0x30], 0
je 0x42f86f
mov eax, dword [ebp + 8]
mov ecx, ebx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x6c]
inc eax
mov byte [esp + 0x7e], 4
mov word [esp + 0x7c], ax
mov dword [esp + 0x88], esi
call fcn.004233b0
mov eax, dword [ebx + 0x10]
lea edx, [esp + 0x78]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x90], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x64]
add eax, 0x4c
push eax
push 0
push 0
push 0
call fcn.0041cd30
add esp, 0x10
mov dword [esp + 0x18], eax
test byte [esp + 0x7e], 4
jne 0x42cfa1
mov ecx, dword [esp + 0x80]
cmp ecx, dword [esp + 0x90]
jne 0x42d4a1
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0x94]
je 0x42cfa1
mov dword [ebx + 0x10], ecx
mov eax, dword [esp + 0x84]
mov dword [ebx + 0x14], eax
jmp 0x42bc1a
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov esi, dword [edx + edi*4 + 8]
dec esi
mov dword [esp + 0x68], 0
jmp 0x42bc2a
mov eax, dword [edx + edi*4 + 0xc]
mov ecx, dword [edx + edi*4 + 4]
lea ebx, [eax + eax*4]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x60], eax
mov esi, dword [eax]
mov dword [esp + 0x64], esi
test esi, esi
je 0x42d5a9
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x68]
push edx
mov dword [esp + 0x6c], 0
xor edx, edx
push 0
mov ecx, dword [eax + ebx*8 + 0x10]
mov dword [esp + 0x78], ecx
mov eax, dword [eax + ebx*8 + 0x14]
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x84], eax
call fcn.0041cd30
mov edx, dword [esp + 0x30]
add esp, 0x10
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [edx + ebx*8 + 0x10]
mov dword [eax + 0x40], ecx
mov eax, dword [esp + 0x60]
mov ecx, dword [edx + ebx*8 + 0x14]
mov edx, dword [esp + 0x14]
mov dword [eax + 0x44], ecx
cmp dword [esp + 0x68], 0
mov eax, dword [esp + 0x60]
sete cl
mov byte [eax + 0x19], cl
mov eax, dword [esp + 0x60]
mov byte [eax + 0x1c], 0
mov eax, dword [esp + 0x60]
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x60]
mov byte [eax + 0x1d], 0
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x42d595
mov eax, dword [esp + 0x60]
mov esi, dword [edx + edi*4 + 8]
mov ebx, dword [esp + 0x24]
dec esi
mov dword [eax + 0x4c], ecx
jmp 0x42bc2a
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
mov dword [eax + 0x4c], ecx
jmp 0x42bc2a
mov esi, dword [edx + edi*4 + 8]
mov ebx, dword [esp + 0x24]
dec esi
mov dword [eax + 0x4c], 0
jmp 0x42bc2a
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x30]
mov dword [ebx + 0x10], eax
mov eax, dword [ecx + 0x34]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x10]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
inc esi
jmp 0x42a352
mov eax, dword [esp + 0x10]
xorps xmm0, xmm0
movlpd qword [esp + 0x60], xmm0
mov dword [esp + 0x6c], 0
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + ecx*4]
mov dword [esp + 0x68], esi
mov edx, dword [esi]
test edx, edx
je 0x42d89d
cmp byte [esi + 0x1b], 0
jne 0x42d7ba
mov ecx, dword [edx + 0x20]
mov eax, ecx
mov dword [esp + 0x60], ecx
mov edx, dword [edx + 0x24]
or eax, edx
mov dword [esp + 0x64], edx
jne 0x42d6b5
mov ecx, dword [esi]
lea edx, [esp + 0x6c]
call fcn.0041cce0
mov edx, eax
mov dword [esp + 0x18], edx
test edx, edx
jne 0x42fad0
cmp dword [esp + 0x6c], eax
je 0x42d667
lea ecx, [eax + 1]
jmp 0x42d6a9
mov ecx, dword [esp + 0x68]
lea edx, [esp + 0x60]
mov ecx, dword [ecx]
call fcn.0041c180
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x18], eax
cmp edx, 0x7fffffff
jl 0x42d6a3
jg 0x42d691
cmp ecx, 0xffffffff
jb 0x42d6a3
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1b], 1
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
jmp 0x42d6b1
add ecx, 1
adc edx, 0
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], ecx
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + edi*4 + 0xc]
test eax, eax
je 0x42d778
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0xc0]
test edx, edx
je 0x42d700
mov dword [esp + 0x78], edx
mov eax, dword [edx + 4]
test eax, eax
je 0x42d6ed
mov edi, edi
mov edx, eax
mov dword [esp + 0x78], edx
mov eax, dword [edx + 4]
test eax, eax
jne 0x42d6e0
mov eax, dword [esp + 0x14]
mov eax, dword [eax + edi*4 + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea ecx, [eax + ecx*8]
jmp 0x42d70a
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x74], ecx
call fcn.004233b0
mov esi, dword [esp + 0x74]
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
cmp edx, 0xffffffff
jne 0x42d72e
cmp ecx, 0x7fffffff
je 0x42fac1
mov eax, dword [esp + 0x68]
cmp byte [eax + 0x1b], 0
jne 0x42fac1
add edx, 1
adc ecx, 0
cmp dword [esp + 0x64], ecx
jg 0x42d75e
jl 0x42d752
mov eax, dword [esp + 0x60]
cmp eax, edx
jae 0x42d762
mov eax, edx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], eax
jmp 0x42d762
mov eax, dword [esp + 0x60]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x64]
mov dword [esi + 0x14], eax
mov esi, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
cmp edx, 0x7fffffff
jg 0x42d78f
jl 0x42d787
cmp ecx, 0xffffffff
jae 0x42d78f
add ecx, 1
adc edx, 0
jmp 0x42d7a0
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
push edx
push ecx
mov ecx, dword [esi]
call fcn.0041c030
mov esi, dword [esp + 0x70]
add esp, 8
cmp byte [esi + 0x1b], 0
je 0x42d886
mov eax, dword [esp + 0x44]
lea edx, [esp + 0x6c]
mov ecx, dword [esp + 0x40]
and eax, 0x3fffffff
add ecx, 1
mov dword [esp + 0x70], 0
push edx
adc eax, 0
mov dword [esp + 0x64], ecx
push 0
push eax
mov dword [esp + 0x70], eax
xor edx, edx
push ecx
mov ecx, dword [esi]
call fcn.0041cd30
mov edx, eax
add esp, 0x10
mov dword [esp + 0x18], edx
test edx, edx
jne 0x42d882
mov ecx, dword [esp + 0x6c]
test ecx, ecx
jne 0x42d876
mov eax, dword [esp + 0x70]
inc eax
mov dword [esp + 0x70], eax
cmp eax, 0x64
jge 0x42d876
lea eax, [esp + 0x60]
push eax
push 8
call fcn.00409220
mov eax, dword [esp + 0x68]
add esp, 8
cmp dword [esp + 0x70], 5
jge 0x42d839
and eax, 0xffffff
xor ecx, ecx
jmp 0x42d843
mov ecx, dword [esp + 0x64]
and ecx, 0x3fffffff
add eax, 1
lea edx, [esp + 0x6c]
push edx
adc ecx, 0
mov dword [esp + 0x64], eax
push 0
push ecx
mov dword [esp + 0x70], ecx
xor edx, edx
mov ecx, dword [esp + 0x74]
push eax
mov ecx, dword [ecx]
call fcn.0041cd30
mov edx, eax
add esp, 0x10
mov dword [esp + 0x18], edx
test edx, edx
je 0x42d800
jmp 0x42d882
test edx, edx
jne 0x42d882
test ecx, ecx
je 0x42fac1
mov esi, dword [esp + 0x68]
mov byte [esi + 0x19], 0
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0x68]
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x14]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x64]
mov dword [ebx + 0x14], eax
jmp 0x42bc26
mov eax, dword [edx + edi*4 + 8]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x60], esi
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ebx, dword [eax + ecx*4]
mov dword [esp + 0x70], ebx
cmp byte [edx + edi*4], 0x42
mov eax, dword [edx + edi*4 + 0xc]
jne 0x42d8fc
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x64], eax
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x68], ecx
mov edx, dword [eax + 0x14]
jmp 0x42d903
cdq
mov ecx, eax
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x6c], edx
test byte [eax + edi*4 + 3], 1
je 0x42d91d
mov ebp, dword [esp + 0x10]
inc dword [ebp + 0x68]
mov ebp, dword [esp + 0x28]
test byte [eax + edi*4 + 3], 2
je 0x42d93e
mov dword [ebp + 0x20], ecx
mov eax, dword [esp + 0x6c]
mov dword [ebp + 0x24], eax
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x60]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
test byte [esi + 0x1c], 1
je 0x42d95e
mov dword [esi + 4], 0
mov eax, dword [esp + 0x60]
mov dword [eax + 0x18], 0
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x60]
mov eax, dword [esp + 0x14]
test byte [eax + edi*4 + 3], 0x10
je 0x42d972
mov eax, dword [ebx + 0x4c]
mov dword [esp + 0x78], eax
jmp 0x42d97a
mov dword [esp + 0x78], 0
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x42d98e
mov eax, dword [esi + 0x10]
mov dword [esp + 0x74], eax
jmp 0x42d996
mov dword [esp + 0x74], 0
mov ecx, dword [ebx]
push 0
push 0
call fcn.0041c030
push dword [esp + 0x80]
mov eax, dword [esp + 0x20]
xor edx, edx
mov ecx, dword [esp + 0x7c]
movzx eax, byte [eax + edi*4 + 3]
mov ecx, dword [ecx]
and eax, 8
push eax
push dword [esp + 0x84]
mov eax, dword [esp + 0x74]
push dword [eax + 0x18]
push dword [eax + 4]
push dword [esp + 0x88]
push dword [esp + 0x88]
call fcn.0041fda0
mov edx, eax
add esp, 0x24
mov eax, dword [esp + 0x70]
test edx, edx
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x14]
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
jne 0x42bc22
cmp dword [ebp + 0xc8], 0
je 0x42bc22
cmp dword [edx + edi*4 + 0x10], 0
je 0x42bc22
mov eax, dword [esp + 0x70]
mov ebx, 0x17
push dword [esp + 0x6c]
push dword [esp + 0x6c]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov edx, dword [eax + ecx*8]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x84], edx
mov ecx, dword [eax + edi*4 + 0x10]
mov dword [esp + 0x88], ecx
test byte [eax + edi*4 + 3], 4
mov eax, 0x12
push ecx
cmovne eax, ebx
push edx
push eax
mov dword [esp + 0x98], eax
push dword [ebp + 0xc4]
mov eax, dword [ebp + 0xc8]
call eax
add esp, 0x18
jmp 0x42bc1e
mov eax, dword [esp + 0x10]
xorps xmm0, xmm0
movlpd qword [esp + 0x60], xmm0
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x68], ecx
cmp dword [ebp + 0xc8], 0
je 0x42dac1
cmp dword [edx + edi*4 + 0x10], 0
je 0x42dac1
mov eax, dword [ecx + 0x40]
mov dword [esp + 0x60], eax
mov eax, dword [ecx + 0x44]
mov dword [esp + 0x64], eax
call fcn.004271c0
mov edx, eax
mov dword [esp + 0x18], edx
test edx, edx
jne 0x42fad0
mov ecx, dword [esp + 0x68]
push eax
push eax
mov ecx, dword [ecx]
call fcn.0041c030
mov ecx, dword [esp + 0x70]
add esp, 8
mov ecx, dword [ecx]
call fcn.0041ffd0
mov edx, eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x18], edx
mov dword [eax + 0x50], 0
test edx, edx
jne 0x42db3f
mov edx, dword [ebp + 0xc8]
test edx, edx
je 0x42db3f
mov eax, dword [esp + 0x14]
mov eax, dword [eax + edi*4 + 0x10]
test eax, eax
je 0x42db3f
push dword [esp + 0x64]
push dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp + 0x10]
add ecx, ecx
push dword [eax + ecx*8]
push 9
push dword [ebp + 0xc4]
call edx
add esp, 0x18
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
test byte [edx + edi*4 + 8], 1
je 0x42bc32
inc dword [ecx + 0x68]
jmp 0x42bc32
mov eax, dword [ecx + 0x68]
add dword [ebp + 0x54], eax
inc esi
mov dword [ebp + 0x50], eax
mov dword [ecx + 0x68], 0
jmp 0x42a352
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x60], ecx
mov eax, dword [edx + edi*4 + 0xc]
mov edx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [esp + 0x64]
push eax
call fcn.00431e10
mov edx, dword [esp + 0x18]
add esp, 4
cmp dword [esp + 0x64], 0
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], eax
je 0x42bc32
mov esi, dword [edx + edi*4 + 8]
dec esi
jmp 0x42bc32
mov eax, dword [edx + edi*4 + 8]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + edi*4 + 4]
mov edx, ebx
mov dword [esp + 0x24], ebx
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x60], ecx
call fcn.00431da0
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
jmp 0x42bc2a
mov eax, dword [edx + edi*4 + 8]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, dword [edx + edi*4 + 4]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x24], ebx
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x60], ecx
mov eax, dword [ecx]
mov dword [esp + 0x64], eax
call fcn.004271c0
mov edx, eax
mov dword [esp + 0x18], edx
test edx, edx
jne 0x42fad4
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
cmp byte [eax + 0x1f], dl
je 0x42dc6f
lea edx, [esp + 0x70]
call fcn.0041c180
mov eax, dword [ebp + 0x58]
cdq
cmp dword [esp + 0x74], edx
jg 0x42fbc6
mov edx, dword [esp + 0x70]
jl 0x42dc69
cmp edx, eax
ja 0x42fbc6
mov dword [esp + 0x68], edx
jmp 0x42dc85
lea edx, [esp + 0x68]
call fcn.0041c200
mov edx, dword [esp + 0x68]
cmp edx, dword [ebp + 0x58]
ja 0x42fbc6
push 0
mov ecx, ebx
call fcn.00422dd0
add esp, 4
test eax, eax
jne 0x42fd58
mov eax, dword [esp + 0x68]
mov ecx, 0xbe10
mov dword [ebx + 0x18], eax
mov ax, word [ebx + 0x1c]
and ax, cx
or ax, 0x10
mov word [ebx + 0x1c], ax
mov eax, dword [esp + 0x60]
cmp byte [eax + 0x1f], 0
je 0x42dce8
mov ecx, dword [esp + 0x64]
xor edx, edx
push 0
push dword [ebx + 4]
push dword [esp + 0x70]
call fcn.0041c430
mov edx, dword [esp + 0x20]
add esp, 0xc
mov dword [esp + 0x18], eax
mov ecx, edi
mov byte [ebx + 0x1f], 1
jmp case.default.0x42a3b3
push dword [ebx + 4]
push dword [esp + 0x6c]
push 0
push dword [esp + 0x70]
call fcn.0041c800
mov edx, dword [esp + 0x24]
add esp, 0x10
mov dword [esp + 0x18], eax
mov ecx, edi
mov byte [ebx + 0x1f], 1
jmp case.default.0x42a3b3
mov ecx, dword [edx + edi*4 + 4]
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x60], ecx
cmp byte [ecx + 0x1c], 0
je 0x42dd39
mov eax, 1
inc esi
mov word [ebx + 0x1c], ax
mov ecx, edi
jmp 0x42a352
cmp byte [ecx + 0x1d], 0
je 0x42dd4f
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x68], eax
mov eax, dword [ecx + 0x3c]
mov dword [esp + 0x6c], eax
jmp 0x42ddc2
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x42dd83
mov eax, dword [eax]
lea edx, [esp + 0x68]
mov dword [esp + 0x70], eax
push edx
mov eax, dword [eax]
mov dword [esp + 0x78], eax
push dword [ecx + 0x24]
mov eax, dword [eax + 0x30]
call eax
mov edx, dword [esp + 0x78]
add esp, 8
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.00427db0
jmp 0x42ddbe
call fcn.004271c0
mov edx, eax
mov dword [esp + 0x18], edx
test edx, edx
jne 0x42fad4
mov ecx, dword [esp + 0x60]
cmp byte [ecx + 0x19], al
je 0x42ddaf
mov eax, dword [ecx + 0x40]
mov dword [esp + 0x68], eax
mov eax, dword [ecx + 0x44]
mov dword [esp + 0x6c], eax
jmp 0x42ddbe
mov ecx, dword [ecx]
lea edx, [esp + 0x68]
call fcn.0041c180
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x68]
mov ecx, edi
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x14], eax
jmp case.default.0x42a3b3
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x60], eax
mov byte [eax + 0x1c], 1
mov eax, dword [esp + 0x60]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
test ecx, ecx
je 0x42a712
call fcn.00418a70
mov edx, dword [esp + 0x14]
inc esi
mov ecx, dword [esp + 0x10]
jmp 0x42a352
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x60], ecx
mov eax, dword [ecx]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], 0
test eax, eax
je 0x42de51
lea edx, [esp + 0x68]
mov ecx, eax
call fcn.0041cce0
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
mov al, byte [esp + 0x68]
mov byte [ecx + 0x1c], al
mov eax, dword [esp + 0x60]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0x60]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x60]
mov dword [eax + 0x50], 0
mov eax, dword [edx + edi*4 + 8]
test eax, eax
jle 0x42bc2a
cmp dword [esp + 0x68], 0
mov ecx, dword [esp + 0x10]
je case.default.0x42a3b3
lea esi, [eax - 1]
jmp case.default.0x42a3b3
inc dword [ecx + 0x80]
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x68], 1
cmp dword [ecx + 0x48], 0
je 0x42ded3
lea eax, [esp + 0x68]
mov edx, ecx
push eax
mov ecx, ebp
call fcn.00431a00
add esp, 4
mov dword [esp + 0x18], eax
jmp 0x42df10
mov ecx, dword [ecx]
lea edx, [esp + 0x68]
mov dword [esp + 0x64], ecx
call fcn.0041ccb0
cmp dword [esp + 0x68], 0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x60]
sete cl
mov byte [eax + 0x1a], cl
mov eax, dword [esp + 0x60]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0x60]
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x60]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x60]
mov cl, byte [esp + 0x68]
mov edx, dword [esp + 0x14]
mov byte [eax + 0x1c], cl
cmp dword [esp + 0x68], 0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
je 0x42bc32
mov esi, dword [edx + edi*4 + 8]
dec esi
jmp 0x42bc32
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x60], eax
test eax, eax
je 0x42bc2a
cmp dword [eax + 0x48], 0
lea ecx, [esp + 0x64]
push ecx
je 0x42df6f
mov edx, eax
mov ecx, ebp
call fcn.00431d00
add esp, 4
jmp 0x42df7a
push dword [eax]
mov eax, dword [edx + edi*4 + 0x10]
call eax
add esp, 8
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
mov al, byte [esp + 0x64]
mov byte [ecx + 0x1c], al
mov eax, dword [esp + 0x60]
mov dword [eax + 0x50], 0
cmp dword [esp + 0x64], 0
jne 0x42dfb5
mov esi, dword [edx + edi*4 + 8]
movzx eax, byte [edx + edi*4 + 3]
dec esi
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], esi
inc dword [ecx + eax*4 + 0x78]
mov eax, dword [esp + 0x60]
mov byte [eax + 0x19], 0
jmp 0x42f579
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + edi*4 + 4]
mov ebx, dword [esp + 0x20]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x60], ecx
mov eax, dword [edx + edi*4 + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov ebx, dword [ecx]
mov dword [esp + 0x64], ebx
test ebx, ebx
je 0x42bc22
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x42e018
mov ecx, esi
call fcn.00422f50
mov edx, eax
mov dword [esp + 0x18], edx
test edx, edx
jne 0x42f873
mov ebx, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
cmp dword [ecx + 0x48], 0
je 0x42e034
mov edx, ecx
mov ecx, ebp
push esi
call fcn.00431890
add esp, 4
mov dword [esp + 0x18], eax
jmp 0x42bc1e
mov edx, dword [esi + 0x18]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x68], edx
mov esi, dword [esi + 4]
mov dword [esp + 0x6c], esi
test byte [eax + edi*4 + 3], 0x10
je 0x42e052
mov eax, dword [ecx + 0x4c]
jmp 0x42e054
xor eax, eax
push eax
mov eax, dword [esp + 0x18]
mov ecx, ebx
push dword [eax + edi*4 + 0xc]
mov eax, edx
push 0
push 0
cdq
push 0x4f409e
push edx
push eax
mov edx, esi
call fcn.0041fda0
mov dword [esp + 0x34], eax
add esp, 0x1c
mov eax, dword [esp + 0x60]
mov dword [eax + 0x50], 0
jmp 0x42bc1e
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x60], eax
mov ecx, dword [eax]
mov dword [esp + 0x64], ecx
test ecx, ecx
je 0x42bc2a
mov eax, dword [eax + 8]
mov dword [esp + 0x70], eax
mov ax, word [edx + edi*4 + 0xc]
mov word [esp + 0x74], ax
mov byte [esp + 0x76], 0
mov eax, dword [edx + edi*4 + 8]
mov edx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0x80], eax
lea edx, [esp + 0x70]
lea eax, [esp + 0x68]
push eax
push 0
push 0
push 0
call fcn.0041cd30
mov edx, eax
add esp, 0x10
mov dword [esp + 0x18], edx
test edx, edx
jne 0x42e10a
cmp dword [esp + 0x68], eax
jne 0x42e10a
mov ecx, dword [esp + 0x64]
call fcn.0041ffd0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x14]
mov dword [eax + 0x50], 0
jmp 0x42bc2a
mov ecx, dword [edx + edi*4 + 4]
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x64], eax
mov eax, dword [eax]
mov dword [esp + 0x60], eax
mov eax, 1
mov word [ebx + 0x1c], ax
cmp dword [esp + 0x60], 0
je 0x42e1a0
mov ecx, dword [esp + 0x64]
call fcn.004271c0
mov edx, eax
mov dword [esp + 0x18], edx
test edx, edx
jne 0x42fad4
mov eax, dword [esp + 0x64]
cmp byte [eax + 0x1c], dl
jne 0x42e19c
mov edx, dword [esp + 0x60]
lea eax, [esp + 0x68]
push eax
call fcn.00427a40
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
jne 0x42fad4
mov eax, dword [esp + 0x68]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x14], eax
mov eax, 4
mov word [ebx + 0x1c], ax
mov edx, dword [esp + 0x14]
inc esi
mov ecx, edi
jmp 0x42a352
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x60], ecx
cmp dword [ecx], 0
je 0x42bc2a
mov eax, dword [ecx + 8]
mov dword [esp + 0x68], eax
mov ax, word [edx + edi*4 + 0x10]
mov word [esp + 0x6c], ax
cmp byte [edx + edi*4 + 3], 0
setne al
add al, 2
mov byte [esp + 0x6e], al
mov eax, dword [edx + edi*4 + 0xc]
mov edx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0x78], eax
lea edx, [esp + 0x68]
lea eax, [esp + 0x64]
push eax
call fcn.00427bc0
mov edx, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x64]
cmp byte [edx + edi*4], 0x6a
jne 0x42e21b
neg eax
jmp 0x42e21c
inc eax
mov ecx, dword [esp + 0x10]
test eax, eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x18]
jle 0x42bc32
mov esi, dword [edx + edi*4 + 8]
dec esi
jmp 0x42bc32
xor edx, edx
mov dword [esp + 0x64], edx
mov eax, dword [ebp + 4]
mov dword [esp + 0x68], eax
test eax, eax
je 0x42e282
jmp 0x42e250
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x42e277
mov ecx, dword [eax + 0x64]
test ecx, 0x200
je 0x42e277
and cl, 0xc
cmp cl, 8
jae 0x42e277
cmp dword [eax + 0x58], 0
jl 0x42e277
inc edx
mov dword [esp + 0x64], edx
mov eax, dword [eax + 0x40]
mov dword [esp + 0x68], eax
test eax, eax
jne 0x42e250
mov eax, 1
mov word [ebx + 0x1c], ax
cmp dword [esp + 0x64], eax
jg 0x42fb38
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x60]
push ecx
mov eax, dword [edx + edi*4 + 0xc]
mov dword [esp + 0x70], eax
add eax, eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [edx + edi*4 + 4]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00420950
mov dword [esp + 0x1c], eax
add esp, 4
cmp dword [esp + 0x18], 0
mov eax, 4
mov word [ebx + 0x1c], ax
mov eax, dword [esp + 0x60]
cdq
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jne 0x42af6e
mov eax, dword [esp + 0x60]
test eax, eax
je 0x42af6e
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x6c]
push dword [ecx + edi*4 + 4]
mov ecx, ebp
push eax
call fcn.0043fa20
mov al, byte [esp + 0x74]
add esp, 8
mov edx, dword [esp + 0x14]
inc al
mov byte [esp + 0x3f], al
jmp 0x42bc2a
mov dword [esp + 0x60], 0
lea eax, [esp + 0x60]
xor ecx, ecx
cmp dword [edx + edi*4 + 0xc], ecx
cmove eax, ecx
mov ecx, dword [ebp + 0x10]
push eax
mov eax, dword [edx + edi*4 + 8]
mov edx, dword [edx + edi*4 + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004206d0
mov edx, dword [esp + 0x18]
add esp, 4
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], eax
cmp dword [edx + edi*4 + 0xc], 0
je case.default.0x42a3b3
mov eax, dword [esp + 0x60]
add dword [ecx + 0x68], eax
mov ecx, dword [edx + edi*4 + 0xc]
test ecx, ecx
jle 0x42bc2a
mov edi, dword [esp + 0x20]
lea ecx, [ecx + ecx*4]
cdq
add dword [edi + ecx*8 + 0x10], eax
adc dword [edi + ecx*8 + 0x14], edx
mov edx, dword [esp + 0x14]
jmp 0x42bc2a
mov dword [esp + 0x60], 0
xor eax, eax
mov ecx, dword [edx + edi*4 + 4]
shl ecx, 4
add ecx, dword [ebp + 0x10]
mov dword [esp + 0x68], ecx
cmp byte [edx + edi*4], 0x6f
lea edx, [esp + 0x60]
setne al
inc eax
mov dword [esp + 0x64], eax
mov ecx, dword [ecx + 4]
push eax
call fcn.004204e0
mov dword [esp + 0x1c], eax
add esp, 4
mov eax, dword [esp + 0x60]
cdq
mov dword [ebx + 0x14], edx
mov edx, dword [esp + 0x14]
mov dword [ebx + 0x10], eax
jmp 0x42bc2a
mov edx, dword [edx + edi*4 + 4]
mov eax, str.sqlite_master
cmp edx, 1
mov dword [esp + 0x60], edx
mov ecx, str.sqlite_temp_master
mov dword [esp + 0x6c], ebp
cmovne ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x64], ecx
add edx, edx
mov eax, dword [eax + edi*4 + 4]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x10]
add eax, 0x38
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x14]
push dword [eax + edi*4 + 0x10]
mov eax, dword [ebp + 0x10]
push ecx
push dword [eax + edx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push ebp
call fcn.00408e50
add esp, 0x14
mov dword [esp + 0x68], eax
test eax, eax
jne 0x42e43a
mov dword [esp + 0x18], 7
jmp 0x42e48a
push 0
lea eax, [esp + 0x70]
mov byte [ebp + 0x89], 1
push eax
push fcn.00451a40
push dword [esp + 0x74]
mov dword [esp + 0x88], 0
push ebp
call fcn.0044e0d0
mov edx, dword [esp + 0x7c]
add esp, 0x14
test eax, eax
mov ecx, ebp
cmove eax, dword [esp + 0x78]
mov dword [esp + 0x18], eax
call fcn.00407740
mov edx, dword [esp + 0x18]
mov byte [ebp + 0x89], 0
test edx, edx
je 0x42e495
mov ecx, ebp
call fcn.0043da60
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
cmp edx, 7
je 0x42f9d3
mov edx, dword [esp + 0x14]
jmp case.default.0x42a3b3
mov edx, dword [edx + edi*4 + 4]
mov ecx, ebp
call fcn.0043be00
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
jmp 0x42bc2a
push dword [edx + edi*4 + 0x10]
mov edx, dword [edx + edi*4 + 4]
mov ecx, ebp
call fcn.0043dce0
mov edx, dword [esp + 0x18]
add esp, 4
mov ecx, dword [esp + 0x10]
inc esi
jmp 0x42a352
push dword [edx + edi*4 + 0x10]
mov edx, dword [edx + edi*4 + 4]
mov ecx, ebp
call fcn.0043d7a0
mov edx, dword [esp + 0x18]
add esp, 4
mov ecx, dword [esp + 0x10]
inc esi
jmp 0x42a352
push dword [edx + edi*4 + 0x10]
mov edx, dword [edx + edi*4 + 4]
mov ecx, ebp
call fcn.0045d7a0
mov edx, dword [esp + 0x18]
add esp, 4
mov ecx, dword [esp + 0x10]
inc esi
jmp 0x42a352
mov edx, dword [edx + edi*4 + 8]
mov ecx, ebp
mov dword [esp + 0x60], edx
lea edx, [edx*4 + 4]
call fcn.00407990
mov edx, eax
mov dword [esp + 0x64], edx
test edx, edx
je 0x42f9cf
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
mov ecx, dword [eax + edi*4 + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [esi + ecx*8]
mov dword [esp + 0x74], ecx
mov ecx, dword [eax + edi*4 + 4]
lea eax, [ecx + ecx*4]
lea esi, [esi + eax*8]
xor eax, eax
mov dword [esp + 0x68], eax
cmp dword [esp + 0x60], eax
jle 0x42e59c
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.00423200
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x68]
inc eax
mov dword [esp + 0x68], eax
cmp eax, dword [esp + 0x60]
jl 0x42e573
mov edx, dword [esp + 0x64]
mov dword [edx + eax*4], 0
lea eax, [esp + 0x6c]
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x78]
push dword [eax + 0x10]
mov eax, dword [esp + 0x1c]
push dword [esp + 0x68]
movzx eax, byte [eax + edi*4 + 3]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004217a0
mov edx, dword [esp + 0x70]
add esp, 0xc
mov ecx, ebp
mov dword [esp + 0x70], eax
call fcn.00407740
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x6c]
cdq
sub dword [ecx + 0x10], eax
sbb dword [ecx + 0x14], edx
mov ecx, esi
call fcn.00423530
cmp dword [esp + 0x6c], 0
je 0x42e61c
mov edx, dword [esp + 0x70]
test edx, edx
je 0x42f9cf
push fcn.004076a0
push 1
push 0xffffffffffffffff
mov ecx, esi
call fcn.00423910
add esp, 0xc
movzx edx, byte [esp + 0x2c]
mov ecx, esi
call fcn.00422db0
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
inc esi
mov ecx, dword [esp + 0x10]
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [edx + edi*4 + 8]
lea edi, [eax + eax*4]
jne 0x42e667
mov ecx, esi
call fcn.004236b0
test byte [esi + 0x1c], 0x20
je 0x42f9cf
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 0x10]
push dword [eax + edi*8 + 0x14]
push dword [eax + edi*8 + 0x10]
call fcn.00410200
mov esi, dword [esp + 0x24]
add esp, 8
mov edx, dword [esp + 0x14]
inc esi
mov ecx, dword [esp + 0x10]
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea esi, [ecx + eax*8]
je 0x42e6e0
mov ecx, dword [esi + 0x10]
lea edx, [esp + 0x60]
call fcn.004105d0
test eax, eax
je 0x42e6e0
mov eax, dword [esp + 0x14]
push dword [esp + 0x64]
mov ecx, dword [esp + 0x24]
push dword [esp + 0x64]
mov eax, dword [eax + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00423580
mov esi, dword [esp + 0x24]
add esp, 8
jmp 0x42f575
mov ecx, esi
call fcn.00423530
mov edx, dword [esp + 0x14]
mov esi, dword [edx + edi*4 + 8]
dec esi
mov dword [esp + 0x1c], esi
jmp 0x42f579
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + edi*4 + 0xc]
lea ebx, [eax + eax*4]
mov eax, dword [edx + edi*4 + 0x10]
mov dword [esp + 0x60], eax
test byte [esi + 0x1c], 0x20
jne 0x42e735
mov ecx, esi
call fcn.004236b0
test byte [esi + 0x1c], 0x20
je 0x42f9cf
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x20]
test eax, eax
je 0x42e77d
js 0x42e740
and eax, 0xf
jmp 0x42e745
mov eax, 0xff
push dword [ecx + ebx*8 + 0x14]
mov dl, al
push dword [ecx + ebx*8 + 0x10]
mov ecx, dword [esi + 0x10]
call fcn.00410630
add esp, 8
mov dword [esp + 0x64], eax
test eax, eax
je 0x42e777
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
mov esi, dword [edx + edi*4 + 8]
jmp 0x42a352
mov eax, dword [esp + 0x60]
test eax, eax
js 0x42e796
mov edi, dword [esp + 0x20]
mov ecx, dword [esi + 0x10]
push dword [edi + ebx*8 + 0x14]
push dword [edi + ebx*8 + 0x10]
call fcn.00410200
add esp, 8
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
inc esi
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
jmp 0x42a352
mov ecx, dword [esp + 0x14]
mov edx, dword [edx + edi*4 + 0x10]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x78], edx
mov eax, dword [ecx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov dword [esp + 0x68], esi
cmp byte [ecx + edi*4 + 3], 0
mov edi, dword [esp + 0x10]
je 0x42e804
mov eax, dword [edi + 0xc0]
mov ecx, dword [edx + 0x14]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x74], eax
test eax, eax
je 0x42e804
lea ebx, [ebx]
cmp dword [eax + 0x18], ecx
je 0x42e955
mov eax, dword [eax + 4]
mov dword [esp + 0x74], eax
test eax, eax
jne 0x42e7f0
mov eax, dword [edi + 0xc8]
cmp eax, dword [ebp + 0x80]
jge 0x42fb53
test byte [esi + 0x1c], 0x40
jne 0x42e961
mov eax, dword [edx + 8]
add eax, dword [edx + 0xc]
mov dword [esp + 0x60], eax
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea ecx, [eax + ecx*2]
mov eax, dword [edx + 0x10]
lea ecx, [ecx + 0x12]
lea edx, [eax + ecx*4]
mov ecx, ebp
mov dword [esp + 0x64], edx
call fcn.00407960
mov dword [esp + 0x74], eax
test eax, eax
je 0x42f9cf
mov ecx, dword [esp + 0x68]
call fcn.004231c0
mov eax, dword [esp + 0x68]
mov ecx, 0x40
mov esi, dword [esp + 0x1c]
mov word [eax + 0x1c], cx
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x74]
mov dword [eax], edi
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x60]
mov dword [ecx + 0x3c], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x74]
mov dword [eax + 0x40], ecx
mov eax, dword [esp + 0x74]
mov dword [eax + 0x2c], esi
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 8]
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x74]
mov ecx, dword [esi + 0x18]
mov dword [eax + 0x34], ecx
mov eax, dword [esp + 0x74]
mov ecx, dword [esi + 0x44]
mov dword [eax + 0x14], ecx
mov eax, dword [esp + 0x74]
mov ecx, dword [esi + 0x30]
mov dword [eax + 0x28], ecx
mov eax, dword [esp + 0x74]
mov ecx, dword [esi + 4]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x74]
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0x30], ecx
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x14]
mov eax, dword [esp + 0x74]
mov dword [eax + 0x18], ecx
mov eax, dword [esp + 0x74]
mov ecx, dword [esi + 0xd8]
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x74]
mov ecx, dword [esi + 0xd4]
mov dword [eax + 0x38], ecx
mov edx, dword [esp + 0x74]
mov eax, dword [edx + 0x3c]
lea ecx, [edx + 0x48]
mov dword [esp + 0x6c], ecx
lea eax, [eax + eax*4]
lea eax, [eax + 9]
lea eax, [edx + eax*8]
mov dword [esp + 0x70], eax
cmp ecx, eax
je 0x42e96c
mov ebx, 0x80
lea ebx, [ebx]
mov word [ecx + 0x1c], bx
mov eax, dword [esp + 0x6c]
mov dword [eax], ebp
mov ecx, dword [esp + 0x6c]
add ecx, 0x28
mov dword [esp + 0x6c], ecx
cmp ecx, dword [esp + 0x70]
jne 0x42e930
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x74]
jmp 0x42e96c
mov esi, dword [esp + 0x1c]
mov ecx, edi
inc esi
jmp 0x42a34e
mov edx, dword [esi + 0x10]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x74], edx
inc dword [esi + 0xc8]
mov eax, dword [esi + 0xc0]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x40]
mov dword [eax + 0x20], ecx
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x44]
mov dword [eax + 0x24], ecx
mov eax, dword [esp + 0x74]
mov ecx, dword [esi + 0x68]
mov dword [eax + 0x44], ecx
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov dword [esi + 0xc0], ecx
mov dword [esi + 0x68], 0
lea edi, [ecx + 0x20]
mov dword [esi + 8], edi
mov eax, dword [ecx + 0x3c]
mov dword [esi + 0x18], eax
movzx eax, word [ecx + 0x40]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x18]
inc eax
mov dword [esp + 0x20], edi
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov dword [esi + 0x44], ecx
mov eax, dword [edx]
mov dword [esi + 4], eax
mov dword [esp + 0x14], eax
mov eax, dword [edx + 4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x30]
lea ecx, [ecx + eax*4]
mov dword [esi + 0xd8], ecx
mov eax, dword [edx + 0x10]
push eax
push 0
mov dword [esi + 0xd4], eax
or esi, 0xffffffff
push ecx
call fcn.004cb9a0
mov edx, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x10]
inc esi
jmp 0x42a352
mov edx, dword [ecx + 0xc0]
mov dword [esp + 0x60], edx
push 0x1000
mov eax, dword [edx + 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4 + 4]
mov ecx, dword [esp + 0x18]
add eax, dword [ecx + edi*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea edx, [eax + ecx*8]
mov ecx, ebx
mov dword [esp + 0x68], edx
call fcn.004237b0
mov edx, dword [esp + 0x18]
add esp, 4
mov ecx, dword [esp + 0x10]
inc esi
jmp 0x42a352
test dword [ebp + 0x18], 0x1000000
mov eax, dword [edx + edi*4 + 8]
je 0x42ea7e
cdq
add dword [ebp + 0x1f8], eax
adc dword [ebp + 0x1fc], edx
inc esi
jmp 0x42a34e
cmp dword [edx + edi*4 + 4], 0
cdq
je 0x42ea98
add dword [ebp + 0x1f0], eax
adc dword [ebp + 0x1f4], edx
inc esi
jmp 0x42a34e
add dword [ecx + 0xa0], eax
adc dword [ecx + 0xa4], edx
inc esi
jmp 0x42a34e
cmp dword [edx + edi*4 + 4], 0
je 0x42eae0
mov eax, dword [ebp + 0x1f0]
or eax, dword [ebp + 0x1f4]
jne 0x42b8fd
mov eax, dword [ebp + 0x1f8]
or eax, dword [ebp + 0x1fc]
jne 0x42b8fd
mov esi, dword [edx + edi*4 + 8]
dec esi
inc esi
jmp 0x42a352
mov eax, dword [ecx + 0xa0]
or eax, dword [ecx + 0xa4]
jmp 0x42eabd
mov edx, dword [ecx + 0xc0]
test edx, edx
je 0x42eb23
mov dword [esp + 0x64], edx
mov eax, dword [edx + 4]
test eax, eax
je 0x42eb10
mov edx, eax
mov dword [esp + 0x64], edx
mov eax, dword [edx + 4]
test eax, eax
jne 0x42eb03
mov eax, dword [esp + 0x14]
mov eax, dword [eax + edi*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea ecx, [eax + ecx*8]
jmp 0x42eb35
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + edi*4 + 4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x60], ecx
call fcn.004233b0
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + edi*4 + 8]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004233b0
mov eax, dword [esp + 0x60]
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
cmp dword [eax + 0x14], edx
jg 0x42ac13
jl 0x42eb75
cmp dword [eax + 0x10], ecx
jae 0x42ac13
mov esi, dword [esp + 0x1c]
mov dword [eax + 0x10], ecx
inc esi
mov ecx, dword [esp + 0x10]
mov dword [eax + 0x14], edx
mov edx, dword [esp + 0x14]
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
mov ebx, dword [esp + 0x20]
lea eax, [eax + eax*4]
cmp dword [ebx + eax*8 + 0x14], 0
mov ebx, dword [esp + 0x24]
jl 0x42b8fd
jg 0x42b8f8
mov ebx, dword [esp + 0x20]
cmp dword [ebx + eax*8 + 0x10], 0
mov ebx, dword [esp + 0x24]
jbe 0x42b8fd
mov esi, dword [edx + edi*4 + 8]
dec esi
inc esi
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
mov ebx, dword [esp + 0x20]
lea eax, [eax + eax*4]
cmp dword [ebx + eax*8 + 0x14], 0
mov ebx, dword [esp + 0x24]
jg 0x42b8fd
jl 0x42b8f8
mov ebx, dword [esp + 0x20]
cmp dword [ebx + eax*8 + 0x10], 0
mov ebx, dword [esp + 0x24]
jae 0x42b8fd
mov esi, dword [edx + edi*4 + 8]
dec esi
inc esi
jmp 0x42a352
mov eax, dword [edx + edi*4 + 4]
mov ebx, dword [esp + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 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 + 0x24]
or eax, dword [edx + ecx*8 + 0x14]
jne 0x42a70e
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov esi, dword [edx + edi*4 + 8]
dec esi
inc esi
jmp 0x42a352
movzx ecx, byte [edx + edi*4 + 3]
mov dword [esp + 0x60], ecx
mov eax, dword [edx + edi*4 + 8]
mov edx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x6c], edx
mov esi, dword [eax + 0xc]
xor eax, eax
mov dword [esp + 0xb8], esi
mov dword [esp + 0x64], eax
test ecx, ecx
jle 0x42ecaf
lea ecx, [ecx]
mov dword [esi + eax*4], edx
mov ecx, dword [esp + 0x6c]
call fcn.0042a000
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x6c]
inc eax
add edx, 0x28
mov dword [esp + 0x64], eax
mov dword [esp + 0x6c], edx
cmp eax, dword [esp + 0x60]
jge 0x42ecaf
mov esi, dword [esp + 0xb8]
jmp 0x42ec80
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov eax, dword [esi + edi*4 + 0x10]
mov dword [esp + 0x70], eax
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x68], eax
mov dword [esp + 0xa0], eax
inc dword [eax + 0x18]
mov eax, 1
mov ecx, dword [esp + 0x70]
mov word [esp + 0x94], ax
mov dword [esp + 0x7c], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x78], ebp
mov dword [esp + 0xb0], 0
mov dword [esp + 0xa4], 0
mov byte [esp + 0xb4], 0
test byte [ecx + 2], 0x20
je 0x42ed39
mov eax, dword [esi + edi*4 - 4]
mov dword [esp + 0xa4], eax
push dword [esp + 0xb8]
lea eax, [esp + 0x74]
push dword [esp + 0x64]
push eax
mov eax, dword [ecx + 0x10]
call eax
add esp, 0xc
cmp dword [esp + 0xb0], 0
je 0x42ed88
mov dl, 1
lea ecx, [esp + 0x78]
call fcn.00423f30
push eax
mov eax, dword [esp + 0x14]
push 0x4f4050
add eax, 0x38
push ebp
push eax
call fcn.00407b40
mov eax, dword [esp + 0xc0]
add esp, 0x10
mov dword [esp + 0x18], eax
cmp byte [esp + 0xb4], 0
je 0x42edb4
mov eax, dword [esi + edi*4 - 0x10]
mov dword [esp + 0x64], eax
test eax, eax
je 0x42edb4
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ecx + eax*8]
call fcn.00423580
add esp, 8
lea ecx, [esp + 0x78]
call fcn.004231c0
mov edx, dword [esp + 0x14]
jmp 0x42bc26
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x60], ecx
mov edx, dword [edx + edi*4 + 0x10]
call fcn.004230b0
mov dword [esp + 0x18], eax
test eax, eax
je 0x42ee0b
mov ecx, dword [esp + 0x60]
mov dl, 1
call fcn.00423f30
push eax
mov eax, dword [esp + 0x14]
push 0x4f4050
add eax, 0x38
push ebp
push eax
call fcn.00407b40
add esp, 0x10
movzx edx, byte [esp + 0x2c]
mov ecx, dword [esp + 0x60]
call fcn.00422db0
mov ecx, dword [esp + 0x60]
jmp 0x42af61
lea eax, [esp + 0x6c]
mov dword [esp + 0x64], 0
push eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x70], 0xffffffff
mov dword [esp + 0x6c], 0xffffffff
mov ecx, ebp
push eax
push dword [edx + edi*4 + 8]
mov edx, dword [edx + edi*4 + 4]
call fcn.00471240
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
cmp edx, 5
jne 0x42ee71
mov dword [esp + 0x18], 0
mov dword [esp + 0x64], 1
mov ecx, dword [esp + 0x14]
xor eax, eax
mov edx, dword [esp + 0x20]
mov dword [esp + 0x60], eax
mov ecx, dword [ecx + edi*4 + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x70], ecx
lea ecx, [ecx]
mov eax, dword [esp + eax*4 + 0x64]
cdq
push edx
push eax
call fcn.00423580
mov eax, dword [esp + 0x68]
add esp, 8
mov ecx, dword [esp + 0x70]
inc eax
add ecx, 0x28
mov dword [esp + 0x60], eax
mov dword [esp + 0x70], ecx
cmp eax, 3
jl 0x42ee90
mov edx, dword [esp + 0x14]
jmp 0x42bc2a
mov esi, dword [edx + edi*4 + 0xc]
mov dword [esp + 0x68], esi
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [ebp + 0x10]
add ecx, ecx
cmp esi, 0xffffffff
mov ebp, dword [eax + ecx*8 + 4]
mov dword [esp + 0x60], ebp
mov eax, dword [ebp + 4]
mov ebx, dword [eax]
mov dword [esp + 0x64], ebx
movzx edx, byte [ebx + 5]
cmove esi, edx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], esi
cmp byte [ebx + 0xf], 3
jae 0x42ef11
mov eax, dword [ebx + 0x40]
cmp dword [eax], 0
je 0x42ef17
cmp dword [ebx + 0x4c], 0
jl 0x42ef17
jg 0x42ef11
cmp dword [ebx + 0x48], 0
jbe 0x42ef17
mov esi, edx
mov dword [esp + 0x68], esi
cmp byte [ebx + 0xe], 0
mov ecx, 0x4f409e
jne 0x42ef28
mov ecx, dword [ebx + 0xa8]
mov dword [esp + 0x70], ecx
cmp esi, 5
jne 0x42ef50
call fcn.00409a90
test eax, eax
je 0x42ef45
mov ecx, ebx
call fcn.004155d0
test eax, eax
jne 0x42ef50
mov esi, edx
mov dword [esp + 0x68], esi
jmp 0x42efe2
cmp esi, edx
je 0x42efe2
cmp edx, 5
je 0x42ef66
cmp esi, 5
jne 0x42efe2
mov eax, dword [esp + 0x28]
cmp byte [eax + 0x3e], 0
je 0x42fb80
cmp dword [eax + 0x90], 1
jg 0x42fb80
cmp edx, 5
jne 0x42ef9f
mov ecx, ebx
call fcn.00415770
mov dword [esp + 0x18], eax
test eax, eax
jne 0x42efd0
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
jmp 0x42efab
cmp edx, 4
jne 0x42efb8
mov edx, 2
mov ecx, ebx
call fcn.004154a0
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x68]
xor edx, edx
mov ecx, ebp
cmp esi, 5
sete dl
inc edx
call fcn.00421d80
mov dword [esp + 0x18], eax
test eax, eax
je 0x42efda
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x68], esi
jmp 0x42efde
mov esi, dword [esp + 0x68]
mov ebx, dword [esp + 0x64]
mov edx, esi
mov ecx, ebx
call fcn.004154a0
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + edi*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, 0xa02
mov word [ebx + 0x1c], ax
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x24], ebx
cmp ecx, 6
jne 0x42f01b
xor ecx, ecx
jmp 0x42f022
mov ecx, dword [ecx*4 + 0x4f7918]
mov dword [ebx + 4], ecx
call fcn.00409a90
movzx edx, byte [esp + 0x2c]
mov ecx, ebx
mov dword [ebx + 0x18], eax
mov byte [ebx + 0x1f], 1
call fcn.00422db0
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
jmp 0x42bc2a
add ecx, 0x38
mov edx, ebp
call fcn.00461b80
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
jmp 0x42bc2a
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [esp + 0x60], ecx
call fcn.0041b700
mov ecx, dword [esp + 0x10]
mov edx, eax
mov dword [esp + 0x18], edx
cmp edx, 0x65
mov edx, dword [esp + 0x14]
jne case.default.0x42a3b3
mov esi, dword [edx + edi*4 + 8]
dec esi
xor eax, eax
mov dword [esp + 0x18], eax
jmp 0x42bc32
cmp dword [edx + edi*4 + 4], 0
jne 0x42f0ba
mov ecx, ebp
call fcn.00427ca0
mov ecx, dword [esp + 0x10]
inc esi
jmp 0x42a352
or dword [ecx + 0x64], 0x20
inc esi
jmp 0x42a352
mov al, byte [edx + edi*4 + 0xc]
mov byte [esp + 0x5c], al
test al, al
jne 0x42f0dd
test dword [ebp + 0x18], 0x4000
jne case.default.0x42a3b3
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [ebp + 0x10]
add eax, eax
push dword [esp + 0x5c]
mov edx, dword [edx + edi*4 + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00421ca0
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
cmp dl, 6
jne 0x42af6e
mov eax, dword [esp + 0x14]
push dword [eax + edi*4 + 0x10]
mov eax, dword [esp + 0x14]
push str.database_table_is_locked:__s
add eax, 0x38
push ebp
push eax
call fcn.00407b40
mov edx, dword [esp + 0x24]
add esp, 0x10
jmp 0x42bc2a
mov edx, dword [edx + edi*4 + 0x10]
mov ecx, ebp
mov dword [esp + 0x60], edx
call fcn.00462ef0
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], eax
test edx, edx
je 0x42a8d6
mov edx, dword [edx + 8]
call fcn.00427db0
mov edx, dword [esp + 0x14]
jmp 0x42bc2a
lea eax, [ecx + 0x38]
mov ecx, ebp
push eax
push dword [edx + edi*4 + 0x10]
mov edx, dword [edx + edi*4 + 4]
call fcn.00462ac0
mov edx, dword [esp + 0x1c]
add esp, 8
mov dword [esp + 0x18], eax
jmp 0x42bc2a
mov eax, dword [ecx + 0x64]
and eax, 0xfffffffb
or eax, 8
mov dword [ecx + 0x64], eax
mov ecx, ebp
push dword [edx + edi*4 + 0x10]
mov edx, dword [edx + edi*4 + 4]
call fcn.00462d60
mov ecx, dword [esp + 0x14]
add esp, 4
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
and dword [ecx + 0x64], 0xfffffff3
jmp case.default.0x42a3b3
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov eax, dword [edx + edi*4 + 0x10]
lea edx, [esp + 0x64]
push edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x6c], ecx
push ecx
mov eax, dword [ecx]
mov dword [esp + 0x74], eax
mov eax, dword [eax + 0x18]
call eax
mov edx, dword [esp + 0x70]
add esp, 8
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.00427db0
cmp dword [esp + 0x18], 0
jne 0x42af6e
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
push 0
push 0xffffffffffffffff
mov dword [eax], ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push 0
mov edx, dword [eax + edi*4 + 4]
call fcn.0042a030
add esp, 0xc
mov dword [esp + 0x60], eax
test eax, eax
je 0x42f251
mov ecx, dword [esp + 0x64]
inc esi
mov dword [eax + 0x24], ecx
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [esp + 0x60]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0x10]
jmp 0x42a34e
mov byte [ebp + 0x40], 1
mov eax, dword [esp + 0x6c]
push dword [esp + 0x64]
mov eax, dword [eax + 0x1c]
call eax
mov edx, dword [esp + 0x18]
add esp, 4
jmp 0x42bc2a
mov eax, dword [edx + edi*4 + 0xc]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x6c], edx
lea esi, [edx + 0x28]
mov dword [esp + 0x70], esi
mov ecx, dword [eax + edi*4 + 4]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [esp + 0x7c], eax
mov ebp, dword [eax + 0x24]
mov dword [esp + 0x74], ebp
mov eax, dword [ebp]
mov dword [esp + 0x78], eax
mov eax, dword [eax]
mov dword [esp + 0x68], eax
mov ebx, dword [esi + 0x10]
mov dword [esp + 0x30], eax
mov dword [esp + 0x60], ebx
mov eax, dword [edx + 0x10]
mov dword [esp + 0x18], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x88], edx
test ebx, ebx
jle 0x42f34c
lea ecx, [ecx]
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov ecx, dword [ecx + eax*4]
call fcn.0042a000
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x60]
inc ecx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x84], ecx
cmp ecx, ebx
jge 0x42f336
mov esi, dword [esp + 0x70]
jmp 0x42f2f0
mov ecx, dword [esp + 0x68]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x64]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], ecx
jmp 0x42f350
mov esi, dword [esp + 0x18]
mov eax, dword [eax + 0x64]
mov ecx, dword [esp + 0x10]
and eax, 0xfffffff7
or eax, 4
push edx
push ebx
mov dword [ecx + 0x64], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
push dword [eax + edi*4 + 0x10]
mov eax, dword [ecx + 0x20]
push esi
push ebp
call eax
mov edx, dword [esp + 0x8c]
mov ebx, eax
mov eax, dword [esp + 0x24]
add esp, 0x14
mov ecx, eax
mov dword [esp + 0x18], ebx
and dword [eax + 0x64], 0xfffffff3
call fcn.00427db0
test ebx, ebx
jne 0x42f3b1
mov eax, dword [esp + 0x68]
push dword [esp + 0x74]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [esp + 0x80], eax
jmp 0x42f3b8
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x14]
test eax, eax
je 0x42f3da
mov eax, dword [esp + 0x7c]
mov esi, dword [edx + edi*4 + 8]
mov ebp, dword [esp + 0x28]
dec esi
mov ebx, dword [esp + 0x24]
mov byte [eax + 0x1c], 0
jmp 0x42bc2a
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov byte [eax + 0x1c], 0
jmp 0x42bc2a
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + ecx*4]
mov eax, dword [edx + edi*4 + 0xc]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x68], ecx
cmp byte [esi + 0x1c], 0
jne 0x42a918
mov eax, dword [esi + 0x24]
push 0x48
push 0
mov eax, dword [eax]
mov dword [esp + 0x68], eax
mov eax, dword [eax]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x78]
push eax
call fcn.004cb9a0
mov edx, dword [esp + 0x74]
lea ecx, [esp + 0x84]
add esp, 0xc
call fcn.00423890
mov eax, dword [esp + 0x94]
and eax, 0xbe01
or eax, 1
mov word [esp + 0x94], ax
mov eax, dword [esp + 0x14]
push dword [eax + edi*4 + 8]
lea eax, [esp + 0x74]
push eax
mov eax, dword [esp + 0x6c]
push dword [esi + 0x24]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esp + 0x6c]
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.00427db0
mov eax, dword [esp + 0xb0]
test eax, eax
mov ecx, dword [esp + 0x18]
movzx edx, byte [esp + 0x2c]
cmovne ecx, eax
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x78]
call fcn.00422db0
mov ecx, dword [esp + 0x68]
lea edx, [esp + 0x78]
call fcn.00423890
mov ecx, dword [esp + 0x68]
call fcn.00423780
test eax, eax
jne 0x42fbc6
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
jmp 0x42bc2a
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], 0
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov edx, dword [eax + ecx*4]
mov dword [esp + 0x6c], edx
cmp byte [edx + 0x1c], 0
jne 0x42af6e
mov eax, dword [edx + 0x24]
mov ebx, dword [esp + 0x10]
mov eax, dword [eax]
mov dword [esp + 0x60], eax
mov ecx, dword [eax]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x64], ecx
mov eax, dword [eax + 0x64]
and eax, 0xfffffff7
or eax, 4
mov dword [ebx + 0x64], eax
push dword [edx + 0x24]
mov eax, dword [ecx + 0x24]
call eax
mov edx, dword [esp + 0x64]
add esp, 4
mov dword [esp + 0x18], eax
mov eax, ebx
mov ecx, eax
and dword [eax + 0x64], 0xfffffff3
call fcn.00427db0
cmp dword [esp + 0x18], 0
mov ebx, dword [esp + 0x24]
jne 0x42f569
mov eax, dword [esp + 0x6c]
push dword [eax + 0x24]
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [esp + 0x68], eax
jmp 0x42f56d
mov eax, dword [esp + 0x68]
test eax, eax
je 0x42e6e7
mov edx, dword [esp + 0x14]
cmp dword [ebp + 0xe8], 0
jne 0x42fd0d
mov eax, dword [ebp + 0x11c]
test eax, eax
je 0x42bc2a
mov ecx, dword [esp + 0x48]
cmp ecx, dword [esp + 0x50]
jb 0x42bc2a
push dword [ebp + 0x120]
call eax
mov ecx, dword [esp + 0x14]
add esp, 4
test eax, eax
jne 0x42fbee
cmp dword [ebp + 0x11c], eax
je 0x42a8d6
mov edi, dword [ebp + 0x124]
xor edx, edx
mov eax, dword [esp + 0x48]
div edi
sub edi, edx
mov edx, dword [esp + 0x14]
add edi, dword [esp + 0x48]
mov dword [esp + 0x50], edi
jmp case.default.0x42a3b3
mov eax, dword [edx + edi*4 + 0x10]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + 8]
mov dword [esp + 0x60], eax
mov eax, dword [edx + edi*4 + 4]
mov edx, 1
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x64], ecx
call fcn.00422db0
mov edx, eax
mov dword [esp + 0x18], edx
test edx, edx
jne 0x42af6e
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
mov edx, dword [ecx]
push dword [eax + 4]
push ecx
mov eax, dword [edx + 0x4c]
call eax
mov edx, dword [esp + 0x68]
add esp, 8
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.00427db0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
and dword [ecx + 0x64], 0xffffffdf
jmp case.default.0x42a3b3
mov eax, dword [edx + edi*4 + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x60], eax
mov eax, dword [eax]
mov dword [esp + 0x64], eax
mov edx, dword [edx + edi*4 + 8]
mov dword [esp + 0x68], edx
cmp dword [eax + 0x34], 0
je 0x42a8d6
mov eax, dword [ecx + 0xc]
mov bl, byte [ebp + 0x44]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + edi*4 + 0xc]
mov dword [esp + 0x6c], 0
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x7c], ecx
test edx, edx
jle 0x42f6d0
call fcn.0042a000
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x7c]
inc eax
add ecx, 0x28
mov dword [esp + 0x6c], eax
mov dword [esp + 0x7c], ecx
cmp eax, dword [esp + 0x68]
jl 0x42f6a2
mov eax, dword [esp + 0x14]
mov al, byte [eax + edi*4 + 3]
mov byte [ebp + 0x44], al
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x7c]
mov eax, dword [esp + 0x6c]
push dword [esp + 0x70]
push dword [esp + 0x6c]
mov eax, dword [eax + 0x34]
call eax
mov ecx, dword [esp + 0x20]
add esp, 0x10
mov byte [ebp + 0x44], bl
mov edx, dword [esp + 0x60]
mov dword [esp + 0x18], eax
call fcn.00427db0
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
test ebx, ebx
jne 0x42f738
cmp dword [edx + edi*4 + 4], ebx
je 0x42f738
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x40], eax
mov dword [ebp + 0x20], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x44], ecx
mov dword [ebp + 0x24], eax
cmp bl, 0x13
jne 0x42f791
mov eax, dword [edx + edi*4 + 0x10]
cmp byte [eax + 0x10], 0
je 0x42f791
mov al, byte [edx + edi*4 + 3]
cmp al, 4
jne 0x42f765
mov ebx, dword [esp + 0x24]
inc esi
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], 0
jmp 0x42a352
cmp al, 5
jne 0x42f77e
mov ecx, dword [esp + 0x10]
mov eax, 2
mov ebx, dword [esp + 0x24]
mov byte [ecx + 0x60], al
jmp case.default.0x42a3b3
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x24]
movzx eax, al
mov byte [ecx + 0x60], al
jmp case.default.0x42a3b3
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x24]
inc dword [ecx + 0x68]
jmp case.default.0x42a3b3
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [ebp + 0x10]
add ecx, ecx
inc esi
mov eax, dword [eax + ecx*8 + 4]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2c]
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], 0
jmp 0x42a352
mov ecx, dword [edx + edi*4 + 4]
xor edx, edx
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov eax, dword [esp + 0x14]
mov esi, dword [eax + edi*4 + 0xc]
test esi, esi
je 0x42f7ee
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x2c]
cmp edx, esi
cmovb edx, esi
call fcn.0041a7a0
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
inc esi
cdq
mov dword [ebx + 0x14], edx
mov edx, dword [esp + 0x14]
mov dword [ebx + 0x10], eax
jmp 0x42a352
cmp dword [ebp + 0xa4], 0
je case.default.0x42a3b3
test dword [ecx + 0x64], 0x800
jne case.default.0x42a3b3
mov edx, dword [edx + edi*4 + 0x10]
test edx, edx
jne 0x42f834
mov edx, dword [ecx + 0xb8]
mov dword [esp + 0x60], edx
test edx, edx
je 0x42a8d6
call fcn.00429d10
push eax
mov dword [esp + 0x68], eax
push dword [ebp + 0xa8]
mov eax, dword [ebp + 0xa4]
call eax
mov edx, dword [esp + 0x6c]
add esp, 8
mov ecx, ebp
call fcn.00407740
mov edx, dword [esp + 0x14]
jmp 0x42bc2a
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
jmp 0x42bc2a
mov ebx, dword [esp + 0x10]
mov ecx, dword [edx + edi*4 + 4]
mov dword [ebx + 0x5c], ecx
mov al, byte [edx + edi*4 + 8]
mov byte [ebx + 0x60], al
mov dword [ebx + 0x58], esi
mov eax, dword [edx + edi*4 + 0x10]
test eax, eax
je 0x42f8d3
push eax
push 0x4f4050
lea eax, [ebx + 0x38]
push ebp
push eax
call fcn.00407b40
mov eax, dword [esp + 0x24]
push dword [eax + edi*4 + 0x10]
push dword [ebx + 0xb8]
push esi
push str.abort_at__d_in___s_:__s
push dword [eax + edi*4 + 4]
call fcn.004091d0
add esp, 0x24
jmp 0x42f8ef
test ecx, ecx
je 0x42f8ef
push dword [ebx + 0xb8]
push esi
push str.constraint_failed_at__d_in___s_
push dword [edx + edi*4 + 4]
call fcn.004091d0
add esp, 0x10
mov ecx, ebx
call fcn.00426630
cmp eax, 5
je 0x42fa70
cmp dword [ebx + 0x5c], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x42bcb1
mov eax, dword [ecx + 0x54]
mov ebx, dword [esp + 0x14]
add eax, 2
mov edx, dword [esp + 0x20]
or eax, 1
mov dword [ecx + 0x54], eax
mov eax, dword [ebx + edi*4 + 4]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov dword [ecx + 0x14], edx
xor ecx, ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], ecx
cmp dword [ebx + edi*4 + 8], ecx
jle 0x42f9ac
jmp 0x42f950
lea eax, [ecx + ecx*4]
mov ebp, 0x1000
test word [edx + eax*8 + 0x1c], bp
lea eax, [edx + eax*8]
mov ebp, dword [esp + 0x28]
je 0x42f979
mov ecx, eax
call fcn.00422ef0
test eax, eax
jne 0x42f9cf
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
lea eax, [ecx + ecx*4]
lea ecx, [edx + eax*8]
call fcn.00422fb0
mov eax, dword [esp + 0x64]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x60]
lea ecx, [eax + ecx*8]
call fcn.0042a000
mov ecx, dword [esp + 0x64]
inc ecx
mov dword [esp + 0x64], ecx
cmp ecx, dword [ebx + edi*4 + 8]
jge 0x42f9ac
mov edx, dword [esp + 0x60]
jmp 0x42f950
cmp byte [ebp + 0x40], 0
jne 0x42f9cf
mov ebx, dword [esp + 0x10]
lea eax, [esi + 1]
mov edi, 0x64
mov dword [ebx + 0x58], eax
jmp 0x42bcb1
lea ecx, [esp + 0x70]
call fcn.004231c0
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
push str.out_of_memory
lea eax, [ecx + 0x38]
mov byte [ebp + 0x40], 1
push ebp
push eax
call fcn.00407b40
mov ecx, dword [esp + 0x1c]
mov edx, 7
add esp, 0xc
mov dword [esp + 0x18], edx
jmp 0x42bc47
mov edx, 0x14
mov dword [esp + 0x18], edx
jmp 0x42fad0
mov ebp, eax
lea eax, [ecx + 0x38]
push str.cannot_open_savepoint___SQL_statements_in_progress
push ebp
push eax
call fcn.00407b40
add esp, 0xc
mov edx, 5
inc esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], esi
mov ecx, dword [esp + 0x10]
jmp 0x42bc43
mov eax, dword [esp + 0x10]
push str.cannot_release_savepoint___SQL_statements_in_progress
add eax, 0x38
push ebp
push eax
call fcn.00407b40
mov esi, dword [esp + 0x28]
mov edx, 5
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov dword [esp + 0x18], edx
inc esi
jmp 0x42bc47
mov esi, dword [esp + 0x1c]
mov dword [ebx + 0x58], esi
mov byte [edi + 0x3e], 0
mov edi, 5
mov dword [ebx + 0x5c], edi
jmp 0x42bcb1
mov edx, 8
mov dword [esp + 0x18], edx
jmp 0x42fad0
mov ebx, dword [esp + 0x10]
mov edi, 5
mov dword [ebx + 0x58], esi
mov dword [ebx + 0x5c], edi
jmp 0x42bcb1
mov ecx, 0x10f1b
call fcn.004726e0
mov edx, eax
mov dword [esp + 0x18], edx
jmp 0x42fad0
mov edx, 4
inc esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], esi
jmp 0x42bc43
mov edx, 0xd
mov dword [esp + 0x18], edx
jmp 0x42fad0
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0x10]
cmp byte [ebp + 0x40], 0
je 0x42faf1
mov eax, 7
mov edx, str.unknown_error
mov ecx, eax
mov dword [esp + 0x18], eax
call fcn.004708b0
jmp 0x42fb1c
cmp edx, 0xc0a
je 0x42fa2f
cmp edx, 0x204
je 0x42fb17
mov eax, dword [esp + 0x18]
mov edx, str.unknown_error
mov ecx, eax
call fcn.004708b0
jmp 0x42fb1c
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x4f4050
lea eax, [edi + 0x38]
push ebp
push eax
call fcn.00407b40
mov ecx, dword [esp + 0x20]
add esp, 0x10
jmp 0x42bc3f
mov ecx, dword [esp + 0x10]
mov edx, 6
inc esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], esi
mov byte [ecx + 0x60], 2
jmp 0x42bc43
push str.too_many_levels_of_trigger_recursion
lea eax, [edi + 0x38]
mov dword [esp + 0x1c], 1
push ebp
push eax
call fcn.00407b40
mov esi, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [esp + 0x10]
inc esi
mov edx, 1
jmp 0x42bc47
mov ebp, dword [esp + 0x28]
mov ecx, str.out_of
cmp esi, 5
mov dword [esp + 0x18], 1
mov eax, str.into
cmovne eax, ecx
push eax
mov eax, dword [esp + 0x14]
push str.cannot_change__s_wal_mode_from_within_a_transaction
add eax, 0x38
push ebp
push eax
call fcn.00407b40
mov esi, dword [esp + 0x2c]
add esp, 0x10
mov ecx, dword [esp + 0x10]
inc esi
mov edx, 1
jmp 0x42bc47
mov eax, dword [esp + 0x10]
push str.string_or_blob_too_big
add eax, 0x38
push ebp
push eax
call fcn.00407b40
mov ecx, dword [esp + 0x1c]
mov edx, 0x12
add esp, 0xc
mov dword [esp + 0x18], edx
jmp 0x42bc43
mov edx, 9
mov dword [esp + 0x18], edx
jmp 0x42bc43
mov eax, dword [esp + 0x14]
mov edx, dword [edx + edi*4 + 4]
mov dword [esp + 0x60], edx
mov ecx, dword [eax + edi*4 + 8]
mov dword [esp + 0x64], ecx
test edx, edx
je 0x42fc3f
cmp byte [ebp + 0x3e], 0
jne 0x42fc3f
mov dword [esp + 0x68], 1
test ecx, ecx
jne 0x42fc47
cmp dword [ebp + 0x94], ecx
jle 0x42fc47
mov eax, dword [esp + 0x10]
push str.cannot_commit_transaction___SQL_statements_in_progress
add eax, 0x38
jmp 0x42fa17
mov dword [esp + 0x68], 0
movzx eax, byte [ebp + 0x3e]
cmp edx, eax
jne 0x42fc92
test edx, edx
jne 0x42fc5a
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x42fc69
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 + 0x14]
add eax, 0x38
push ebp
push eax
call fcn.00407b40
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, 1
inc esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], esi
jmp 0x42bc43
test ecx, ecx
je 0x42fcc7
mov edx, 0x204
mov ecx, ebp
call fcn.004707b0
mov ebx, dword [esp + 0x10]
mov byte [ebp + 0x3e], 1
mov ecx, ebp
call fcn.00470010
cmp dword [ebx + 0x5c], 0
mov edi, 1
mov eax, 0x65
cmove edi, eax
jmp 0x42bcb1
mov ebx, dword [esp + 0x10]
mov edx, 1
mov ecx, ebx
call fcn.004265c0
mov edi, eax
test edi, edi
jne 0x42bcb1
mov al, byte [esp + 0x60]
mov ecx, ebx
mov byte [ebp + 0x3e], al
call fcn.00426630
cmp eax, 5
jne 0x42fcaa
mov al, 1
mov dword [ebx + 0x58], esi
sub al, byte [esp + 0x60]
mov edi, 5
mov byte [ebp + 0x3e], al
mov dword [ebx + 0x5c], edi
jmp 0x42bcb1
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [str.interrupted]
test eax, eax
mov dword [ecx + 0x5c], 9
mov ecx, str.unknown_error
cmovne ecx, eax
mov dword [esp + 0x18], 9
mov eax, dword [esp + 0x10]
push ecx
push 0x4f4050
add eax, 0x38
push ebp
push eax
call fcn.00407b40
mov ecx, dword [esp + 0x20]
add esp, 0x10
mov edx, 9
jmp 0x42bc47
mov ecx, edi
jmp 0x42f9d3