Function at 0x4dba40
Capabilities:
Parse credit card information
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x344
mov eax, dword [0x66d060]
xor eax, ebp
mov dword [ebp - 4], eax
mov edx, ecx
mov dword [ebp - 0xe0], 0
push ebx
push esi
push edi
mov ecx, dword [edx]
xor edi, edi
mov eax, dword [edx + 4]
mov ebx, dword [edx + 8]
mov dword [ebp - 0xd8], eax
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xe4], edx
mov dword [ebp - 0xe8], 0
mov eax, dword [eax + 0xc]
mov byte [ebp - 0x12d], 0
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x140], 0
mov al, byte [eax + 0x4d]
mov byte [ebp - 0x114], al
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x134], eax
mov eax, dword [ecx + 0x24]
mov ecx, edx
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0xf0], ebx
mov dword [ebp - 0xec], edi
mov dword [ebp - 0x144], edi
mov dword [ebp - 0x138], eax
call fcn.004d5d60
mov ecx, dword [ebp - 0xe4]
cmp dword [ecx + 0x50], 7
je 0x4e194f
mov dword [ecx + 0x50], edi
mov dword [ecx + 0x88], edi
mov dword [ecx + 0x8c], edi
mov dword [ecx + 0x14], edi
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x1bc], edi
cmp dword [ecx + 0xe8], edi
jne 0x4e190a
cmp dword [ecx + 0x11c], edi
je 0x4dbb4c
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x7c]
test eax, eax
jne 0x4dbb3e
mov edx, dword [ecx + 0x124]
jmp 0x4dbb46
xor edx, edx
div dword [ecx + 0x124]
mov dword [ebp - 0x13c], edx
mov eax, dword [ebp - 0xe4]
mov esi, dword [eax + 0x4c]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
cmp byte [ecx + 0x40], 0
jne 0x4e1955
inc dword [ebp - 0x140]
lea ebx, [esi + esi*4]
test byte [edx + ebx*4 + 2], 2
mov dword [ebp - 0xf4], ebx
je 0x4dbbbe
mov eax, dword [edx + ebx*4 + 8]
mov edi, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, 0x2460
mov dword [ebp - 0xec], edi
test word [edi + 0x1c], ax
je 0x4dbbb5
mov ecx, edi
call fcn.004d4200
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
mov eax, 4
mov word [edi + 0x1c], ax
mov dl, byte [edx + ebx*4]
movzx eax, dl
dec eax
cmp eax, 0x9a
ja case.default.0x4dbbd0
jmp dword [eax*4 + 0x4e1984]
mov ecx, dword [ebp - 0xd8]
mov ecx, dword [ecx + ebx*4 + 8]
jmp 0x4e10fb
mov ecx, dword [ebp - 0xd8]
mov edx, 4
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ecx + ebx*4 + 4]
lea ecx, [ecx + ecx*4]
mov word [eax + ecx*8 + 0x1c], dx
mov eax, esi
mov esi, dword [ebp - 0xf0]
cdq
mov dword [esi + ecx*8 + 0x10], eax
mov eax, esi
mov dword [eax + ecx*8 + 0x14], edx
mov edx, dword [ebp - 0xd8]
mov ecx, dword [edx + ebx*4 + 8]
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x4dbb61
mov edx, dword [ebp - 0xd8]
mov ecx, 0x80
mov eax, dword [edx + ebx*4 + 4]
mov ebx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
mov esi, dword [ebx + eax*8 + 0x10]
mov word [ebx + eax*8 + 0x1c], cx
inc esi
mov ecx, dword [ebp - 0xdc]
jmp 0x4dbb5b
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 0xc]
dec eax
mov dword [ebp - 0xec], edi
cdq
mov dword [edi + 0x14], edx
mov edx, dword [ebp - 0xd8]
mov dword [edi + 0x10], eax
mov eax, 4
mov word [edi + 0x1c], ax
mov eax, dword [edx + ebx*4 + 8]
test eax, eax
je 0x4dbca6
lea esi, [eax - 1]
inc esi
jmp 0x4dbb5b
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + ebx*4 + 4]
mov ebx, dword [ebp - 0xf0]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + ecx*8 + 0x10]
lea eax, [eax + eax*4]
mov esi, dword [edx + eax*4 + 8]
mov eax, 0x80
mov word [ebx + ecx*8 + 0x1c], ax
mov ecx, dword [ebp - 0xdc]
jmp 0x4dbb5b
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + ebx*4 + 4]
mov ebx, dword [ebp - 0xf0]
lea esi, [eax + eax*4]
mov eax, 4
mov ecx, dword [ebx + esi*8 + 0x10]
mov word [ebx + esi*8 + 0x1c], ax
inc ecx
mov eax, dword [ebp - 0xe0]
cdq
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov dword [ebx + esi*8 + 0x14], edx
mov edx, dword [ebp - 0xd8]
mov dword [ebx + esi*8 + 0x10], eax
mov esi, dword [ebp - 0xe0]
jmp 0x4dbb61
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
mov ecx, dword [ebp - 0xdc]
je 0x4de6bd
jmp 0x4dbd59
mov edx, dword [ebp - 0xd8]
cmp dword [edx + ebx*4 + 4], 0
jne 0x4e148e
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + 0xb0]
test ecx, ecx
je 0x4e148e
mov edx, dword [ebp - 0xe4]
mov eax, dword [ecx + 4]
dec dword [edx + 0xb8]
mov dword [edx + 0xb0], eax
mov eax, dword [edx + 0x5c]
mov edx, dword [ebp - 0xdc]
add dword [edx + 0x54], eax
mov dword [edx + 0x50], eax
call fcn.004d66f0
mov ecx, dword [ebp - 0xdc]
mov esi, eax
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x134], eax
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0xd8]
cmp dword [eax + ebx*4 + 8], 4
jne 0x4dbdeb
mov eax, dword [ebp - 0xe4]
lea ecx, [esi + esi*4]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ecx*4 + 8]
dec ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xe4]
inc esi
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xf0], eax
jmp 0x4dbb5b
mov eax, dword [ebp - 0xd8]
inc esi
mov eax, dword [eax + ebx*4 + 4]
cdq
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
jmp 0x4dbb55
mov edx, dword [ebp - 0xd8]
inc esi
mov ecx, dword [edx + ebx*4 + 0x10]
mov eax, dword [ecx]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0xdc]
mov dword [edi + 0x14], eax
jmp 0x4dbb5b
mov edx, dword [ebp - 0xd8]
mov eax, 8
mov word [edi + 0x1c], ax
inc esi
mov eax, dword [edx + ebx*4 + 0x10]
movsd xmm0, qword [eax]
movsd qword [edi + 8], xmm0
jmp 0x4dbb5b
mov edx, dword [ebp - 0xd8]
mov ecx, dword [edx + ebx*4 + 0x10]
mov byte [edx + ebx*4], 0x1b
call fcn.004bb500
cmp byte [ebp - 0x114], 1
mov dword [edx + ebx*4 + 4], eax
je 0x4dbefb
push 0
push 1
mov edx, ecx
mov ecx, edi
push 0xffffffffffffffff
call fcn.004d4930
add esp, 0xc
mov dword [ebp - 0xe8], eax
cmp eax, 0x12
je 0x4e179b
movzx edx, byte [ebp - 0x114]
mov ecx, edi
call fcn.004d3e60
test eax, eax
jne 0x4e194f
mov edx, dword [ebp - 0xd8]
mov dword [edi + 0x24], eax
mov eax, 0x800
or word [edi + 0x1c], ax
cmp byte [edx + ebx*4 + 1], 0xff
jne 0x4dbee8
mov edx, dword [edx + ebx*4 + 0x10]
mov ecx, dword [ebp - 0xdc]
call fcn.004b8f10
mov edx, dword [ebp - 0xd8]
mov byte [edx + ebx*4 + 1], 0xff
mov eax, dword [edi + 4]
mov dword [edx + ebx*4 + 0x10], eax
mov eax, dword [edi + 0x18]
mov dword [edx + ebx*4 + 4], eax
mov ecx, dword [ebp - 0xdc]
mov eax, dword [edx + ebx*4 + 4]
cmp eax, dword [ecx + 0x58]
jg 0x4e17a1
jmp 0x4dbf16
mov edx, dword [ebp - 0xd8]
mov eax, 0xa02
mov word [edi + 0x1c], ax
mov eax, dword [edx + ebx*4 + 0x10]
mov dword [edi + 4], eax
mov eax, dword [edx + ebx*4 + 4]
mov dword [edi + 0x18], eax
mov al, byte [ebp - 0x114]
mov byte [edi + 0x1e], al
jmp 0x4de6bd
mov edx, dword [ebp - 0xd8]
mov eax, 1
mov ecx, 0x101
mov esi, dword [edx + ebx*4 + 0xc]
sub esi, dword [edx + ebx*4 + 8]
cmp dword [edx + ebx*4 + 4], 0
mov ebx, dword [ebp - 0xec]
cmovne eax, ecx
movzx edi, ax
mov word [ebx + 0x1c], di
test esi, esi
jle 0x4dbf9b
mov eax, 0x2460
add ebx, 0x28
test word [ebx + 0x1c], ax
je 0x4dbf86
mov ecx, ebx
call fcn.004d4200
mov eax, 0x2460
dec esi
mov word [ebx + 0x1c], di
test esi, esi
jg 0x4dbf71
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xec], ebx
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
inc esi
jmp 0x4dbb5b
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + ebx*4 + 4]
mov ebx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov ebx, 0xff7f
mov ax, word [edi + 0x1c]
and ax, bx
mov dword [ebp - 0xec], edi
or ax, 1
inc esi
mov word [edi + 0x1c], ax
jmp 0x4dbb5b
mov eax, dword [ebp - 0xd8]
mov ecx, edi
push 0
push 0
push dword [eax + ebx*4 + 4]
mov edx, dword [eax + ebx*4 + 0x10]
call fcn.004d4930
mov al, byte [ebp - 0x114]
add esp, 0xc
mov ecx, dword [ebp - 0xdc]
inc esi
mov byte [edi + 0x1e], al
jmp 0x4dbb55
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x3c]
lea esi, [eax + ecx*8]
lea ecx, [esi - 0x28]
call fcn.004d4740
test eax, eax
jne 0x4e179b
push 0x800
lea edx, [esi - 0x28]
mov ecx, edi
call fcn.004d4770
mov esi, dword [ebp - 0xe0]
add esp, 4
mov ecx, dword [ebp - 0xdc]
inc esi
jmp 0x4dbb55
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ecx + ebx*4 + 4]
mov edi, dword [ecx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
mov ecx, 0x80
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov eax, 0x2460
test word [ebx + 0x1c], ax
je 0x4dc0a7
mov ecx, ebx
call fcn.004d4200
mov ecx, 0x80
movdqu xmm0, xmmword [esi]
mov eax, dword [ebx + 0x24]
movdqu xmmword [ebx], xmm0
movdqu xmm0, xmmword [esi + 0x10]
movdqu xmmword [ebx + 0x10], xmm0
movq xmm0, qword [esi + 0x20]
movq qword [ebx + 0x20], xmm0
add ebx, 0x28
mov word [esi + 0x1c], cx
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], eax
add esi, 0x28
dec edi
jne 0x4dc090
mov dword [ebp - 0xec], ebx
mov esi, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xec]
inc esi
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
jmp 0x4dbb61
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ecx + ebx*4 + 4]
mov edi, dword [ecx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
push 0x1000
mov edx, esi
mov dword [ebp - 0xec], ebx
mov ecx, ebx
call fcn.004d4770
mov eax, 0x1000
add esp, 4
test word [ebx + 0x1c], ax
je 0x4dc15c
mov ecx, ebx
call fcn.004d3fb0
test eax, eax
jne 0x4e194f
mov eax, edi
dec edi
test eax, eax
je 0x4dc0e3
add ebx, 0x28
add esi, 0x28
jmp 0x4dc12b
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
push 0x1000
mov eax, dword [ecx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 4]
mov ecx, edi
mov dword [ebp - 0xec], edi
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
call fcn.004d4770
mov ecx, dword [ebp - 0xdc]
add esp, 4
inc esi
jmp 0x4dbb55
mov eax, dword [ecx + 0x11c]
test eax, eax
je 0x4dc1d7
mov edx, dword [ebp - 0x140]
cmp edx, dword [ebp - 0x13c]
jb 0x4dc1d7
push dword [ecx + 0x120]
call eax
add esp, 4
test eax, eax
jne 0x4e1570
mov ecx, dword [ebp - 0xe4]
xor edx, edx
call fcn.004d7440
mov ecx, eax
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x4de6b1
mov ecx, dword [ebp - 0xe4]
lea edx, [eax + 1]
call fcn.004d7310
mov ecx, eax
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x4de6b1
mov edx, dword [ebp - 0xe4]
xor edi, edi
mov ecx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xf0]
mov eax, dword [edx + 0x48]
add eax, 2
or eax, 1
mov dword [edx + 0x48], eax
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov dword [edx + 0x14], esi
cmp dword [ecx + ebx*4 + 8], edi
jle 0x4dc27c
mov eax, 0x1000
test word [esi + 0x1c], ax
je 0x4dc25f
mov ecx, esi
call fcn.004d3fb0
test eax, eax
jne 0x4e194f
mov ecx, esi
call fcn.004d4070
mov eax, dword [ebp - 0xd8]
inc edi
add esi, 0x28
cmp edi, dword [eax + ebx*4 + 8]
jl 0x4dc245
mov edx, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xdc]
cmp byte [ecx + 0x40], 0
jne 0x4e1955
mov eax, dword [ebp - 0xe0]
mov edi, 0x64
inc eax
mov dword [edx + 0x4c], eax
jmp 0x4de75f
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xf4], eax
mov eax, dword [ecx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 0xc]
mov ebx, dword [ebp - 0xf4]
lea eax, [eax + eax*4]
movzx ecx, word [ebx + 0x1c]
lea edi, [edx + eax*8]
mov al, byte [esi + 0x1c]
or al, cl
mov dword [ebp - 0xec], edi
test al, 1
je 0x4dc302
mov ecx, edi
call fcn.004d4610
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
inc esi
jmp 0x4dbb55
test ecx, 0x4000
je 0x4dc319
mov ecx, ebx
call fcn.004d4010
test eax, eax
jne 0x4e194f
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4dc333
mov ecx, esi
call fcn.004d4010
test eax, eax
jne 0x4e194f
test byte [ebx + 0x1c], 0x12
jne 0x4dc34f
movzx edx, byte [ebp - 0x114]
mov ecx, ebx
call fcn.004d40c0
test eax, eax
jne 0x4e194f
test byte [esi + 0x1c], 0x12
jne 0x4dc36b
movzx edx, byte [ebp - 0x114]
mov ecx, esi
call fcn.004d40c0
test eax, eax
jne 0x4e194f
mov eax, dword [esi + 0x18]
add eax, dword [ebx + 0x18]
cdq
mov edi, eax
mov ecx, edx
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x58]
cdq
cmp ecx, edx
jg 0x4e179b
jl 0x4dc392
cmp edi, eax
ja 0x4e179b
mov ecx, dword [ebp - 0xec]
lea edx, [edi + 2]
xor eax, eax
cmp ecx, esi
sete al
push eax
call fcn.004d3e80
add esp, 4
test eax, eax
jne 0x4e194f
mov ecx, dword [ebp - 0xec]
mov edx, 0xbe02
mov ax, word [ecx + 0x1c]
and ax, dx
or ax, 2
mov word [ecx + 0x1c], ax
cmp ecx, esi
je 0x4dc3e2
push dword [esi + 0x18]
push dword [esi + 4]
push dword [ecx + 4]
call fcn.0055b940
add esp, 0xc
push dword [ebx + 0x18]
mov eax, dword [esi + 0x18]
push dword [ebx + 4]
mov ebx, dword [ebp - 0xec]
add eax, dword [ebx + 4]
push eax
call fcn.0055b940
mov eax, dword [ebx + 4]
add esp, 0xc
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
mov byte [edi + eax], 0
mov eax, dword [ebx + 4]
mov byte [eax + edi + 1], 0
mov eax, 0x200
or word [ebx + 0x1c], ax
inc esi
mov al, byte [ebp - 0x114]
mov dword [ebx + 0x18], edi
mov edi, ebx
mov byte [edi + 0x1e], al
jmp 0x4dbb55
mov esi, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xf0]
mov eax, dword [esi + ebx*4 + 4]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [ebp - 0x10c], eax
call fcn.004db9e0
movzx eax, ax
mov dword [ebp - 0xf8], eax
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [ebp - 0x11c], eax
call fcn.004db9e0
mov ecx, dword [ebp - 0x10c]
movzx edx, ax
mov eax, dword [esi + ebx*4 + 0xc]
mov esi, dword [ebp - 0x11c]
mov dword [ebp - 0xf4], edx
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0xec], eax
mov al, byte [esi + 0x1c]
or al, byte [ecx + 0x1c]
test al, 1
jne 0x4dc6e9
mov al, dl
and al, byte [ebp - 0xf8]
test al, 4
je 0x4dc5ba
mov eax, ecx
mov byte [ebp - 0x101], 1
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov eax, esi
mov esi, dword [eax + 0x10]
mov edi, dword [eax + 0x14]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x150], esi
mov dword [ebp - 0x14c], edi
movzx eax, byte [eax + ebx*4]
add eax, 0xffffffa7
cmp eax, 3
ja case.default.0x4dc4f0
jmp dword [eax*4 + 0x4e1bf0]
push edx
push ecx
lea ecx, [ebp - 0x150]
call fcn.004bc610
add esp, 8
test eax, eax
jne 0x4dc5c3
mov edx, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x150]
jmp 0x4dc588
push edx
push ecx
lea ecx, [ebp - 0x150]
call fcn.004bc6b0
jmp 0x4dc504
push edx
push ecx
lea ecx, [ebp - 0x150]
call fcn.004bc700
jmp 0x4dc504
mov eax, ecx
or eax, edx
je 0x4dc6e9
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x4dc55a
test esi, esi
jne 0x4dc55a
cmp edi, 0x80000000
je 0x4dc5c3
push edx
push ecx
push edi
push esi
call fcn.00559570
jmp 0x4dc588
mov eax, ecx
or eax, edx
je 0x4dc6e9
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x4dc57f
mov ecx, 1
xor edx, edx
push edx
push ecx
push edi
push esi
call fcn.0055b810
mov edi, dword [ebp - 0xec]
mov ecx, 0xbe04
mov esi, dword [ebp - 0xe0]
mov dword [edi + 0x10], eax
mov ax, word [edi + 0x1c]
and ax, cx
mov dword [edi + 0x14], edx
mov ecx, dword [ebp - 0xdc]
or ax, 4
mov word [edi + 0x1c], ax
inc esi
jmp 0x4dbb55
mov byte [ebp - 0x101], 0
jmp 0x4dc5cf
mov esi, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x10c]
call fcn.004d4380
mov ecx, esi
movsd qword [ebp - 0x128], xmm0
call fcn.004d4380
mov eax, dword [ebp - 0xd8]
movapd xmm1, xmm0
movsd qword [ebp - 0x160], xmm1
movzx eax, byte [eax + ebx*4]
add eax, 0xffffffa7
cmp eax, 3
ja case.default.0x4dc601
jmp dword [eax*4 + 0x4e1c00]
addsd xmm1, qword [ebp - 0x128]
jmp 0x4dc690
subsd xmm1, qword [ebp - 0x128]
jmp 0x4dc690
mulsd xmm1, qword [ebp - 0x128]
jmp 0x4dc690
movsd xmm0, qword [ebp - 0x128]
xorps xmm2, xmm2
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jnp 0x4dc6e9
divsd xmm1, xmm0
jmp 0x4dc690
movsd xmm0, qword [ebp - 0x128]
call fcn.005e603f
movsd xmm0, qword [ebp - 0x160]
mov esi, eax
mov edi, edx
call fcn.005e603f
mov ecx, esi
or ecx, edi
je 0x4dc6e9
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x4dc67c
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.0055b810
mov ecx, eax
call fcn.005e61df
movapd xmm1, xmm0
movapd xmm0, xmm1
call fcn.004bb4c0
test eax, eax
jne 0x4dc6e9
mov ebx, dword [ebp - 0xec]
mov ecx, 0xbe08
mov ax, word [ebx + 0x1c]
and ax, cx
movsd qword [ebx + 8], xmm1
or ax, 8
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xf4]
or al, byte [ebp - 0xf8]
test al, 8
jne 0x4dc0e3
cmp byte [ebp - 0x101], 0
jne 0x4dc0e3
mov ecx, ebx
call fcn.004d43e0
jmp 0x4dc0e3
mov edi, dword [ebp - 0xec]
mov ecx, edi
call fcn.004d4610
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
inc esi
jmp 0x4dbb55
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + ebx*4 + 4]
test eax, eax
je 0x4dc734
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
push 0
push 0
lea ecx, [ecx + eax*8]
call fcn.004d4660
mov edx, dword [ebp - 0xd8]
add esp, 8
mov ecx, dword [ebp - 0xdc]
inc esi
jmp 0x4dbb5b
mov esi, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xf0]
movzx ecx, byte [esi + ebx*4 + 3]
mov edx, dword [eax + 0xc]
mov eax, dword [esi + ebx*4 + 0xc]
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0x110], edx
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0xec], eax
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
xor edi, edi
test ecx, ecx
jle 0x4dc7c1
mov eax, 0x1000
jmp 0x4dc790
mov dword [edx + edi*4], esi
test word [esi + 0x1c], ax
je 0x4dc7b9
mov ecx, esi
call fcn.004d3fb0
test eax, eax
jne 0x4e194f
mov ecx, dword [ebp - 0xf4]
mov eax, 0x1000
mov edx, dword [ebp - 0x110]
inc edi
add esi, 0x28
cmp edi, ecx
jl 0x4dc790
mov eax, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xec]
mov eax, dword [eax + ebx*4 + 0x10]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x238], eax
mov eax, 1
movdqu xmm0, xmmword [edi]
movdqu xmmword [ebp - 0x268], xmm0
movdqu xmm0, xmmword [edi + 0x10]
movdqu xmmword [ebp - 0x258], xmm0
movq xmm0, qword [edi + 0x20]
movq qword [ebp - 0x248], xmm0
mov word [edi + 0x1c], ax
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov eax, dword [ebp - 0x24c]
mov esi, dword [ebp - 0x270]
and eax, 0xbe01
or eax, 1
mov byte [ebp - 0x22b], 0
mov word [ebp - 0x24c], ax
test byte [esi + 2], 0x20
je 0x4dc864
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + ebx*4 - 4]
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0x134]
push edx
push ecx
mov dword [eax + 0x20], edi
mov edi, dword [ebp - 0x138]
mov dword [eax + 0x24], edi
lea eax, [ebp - 0x270]
push eax
mov eax, dword [esi + 0xc]
call eax
mov esi, dword [ebp - 0xdc]
add esp, 0xc
mov edi, dword [ebp - 0xec]
cmp byte [esi + 0x40], 0
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x134], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x138], eax
jne 0x4e1580
cmp byte [ebp - 0x22b], 0
je 0x4dc91b
cmp dword [ebp - 0x230], 0
je 0x4dc8f9
mov dl, 1
lea ecx, [ebp - 0x268]
call fcn.004d4bb0
push eax
mov eax, dword [ebp - 0xe4]
push 0x633bc0
add eax, 0x2c
push esi
push eax
call fcn.004b92f0
mov eax, dword [ebp - 0x230]
add esp, 0x10
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xe0]
mov edx, esi
mov ecx, dword [ebp - 0xe4]
push dword [eax + ebx*4 + 4]
call fcn.004d7960
add esp, 4
jmp 0x4dc921
mov esi, dword [ebp - 0xe0]
movzx edx, byte [ebp - 0x114]
lea ecx, [ebp - 0x268]
call fcn.004d3e60
movdqu xmm0, xmmword [ebp - 0x268]
mov ecx, edi
movdqu xmmword [edi], xmm0
movdqu xmm0, xmmword [ebp - 0x258]
movdqu xmmword [edi + 0x10], xmm0
movq xmm0, qword [ebp - 0x248]
movq qword [edi + 0x20], xmm0
call fcn.004d4740
mov ecx, dword [ebp - 0xdc]
test eax, eax
jne 0x4e17a1
jmp case.default.0x4dbbd0
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov al, byte [ecx + 0x1c]
or al, byte [esi + 0x1c]
mov dword [ebp - 0xec], edi
test al, 1
je 0x4dc9d2
mov ecx, edi
call fcn.004d4610
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
inc esi
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
jmp 0x4dbb61
call fcn.004d42d0
mov edi, edx
mov dword [ebp - 0xfc], eax
mov ecx, esi
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], edi
call fcn.004d42d0
mov esi, eax
mov eax, dword [ebp - 0xd8]
mov cl, byte [eax + ebx*4]
cmp cl, 0x55
jne 0x4dca11
mov ecx, dword [ebp - 0xfc]
and ecx, esi
and edi, edx
jmp 0x4dcaf7
cmp cl, 0x56
jne 0x4dca25
mov ecx, dword [ebp - 0xfc]
or ecx, esi
or edi, edx
jmp 0x4dcaf7
mov eax, esi
or eax, edx
je 0x4dcaf1
test edx, edx
jg 0x4dca5d
jl 0x4dca39
test esi, esi
jae 0x4dca52
mov al, 0xaf
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x4dca5d
jg 0x4dca4b
cmp esi, 0xffffffc0
jbe 0x4dca5d
neg esi
adc edx, 0
neg edx
test edx, edx
jl 0x4dca87
jg 0x4dca5d
cmp esi, 0x40
jb 0x4dca87
test edi, edi
jg 0x4dca7e
jl 0x4dca6c
cmp dword [ebp - 0xfc], 0
jae 0x4dca7e
cmp cl, 0x57
je 0x4dca7e
or eax, 0xffffffff
cdq
mov ecx, eax
mov edi, edx
jmp 0x4dcaf7
xor eax, eax
cdq
mov ecx, eax
mov edi, edx
jmp 0x4dcaf7
movq xmm1, qword [ebp - 0x1a8]
movd xmm0, esi
cmp cl, 0x57
jne 0x4dcab2
psllq xmm1, xmm0
movq qword [ebp - 0x128], xmm1
mov edi, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x128]
jmp 0x4dcaf7
psrlq xmm1, xmm0
movq qword [ebp - 0x128], xmm1
test edi, edi
jg 0x4dcaa4
jl 0x4dcacd
cmp dword [ebp - 0xfc], 0
jae 0x4dcaa4
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, esi
or edx, 0xffffffff
call fcn.005e6de0
mov ecx, dword [ebp - 0x128]
mov edi, dword [ebp - 0x124]
or ecx, eax
or edi, edx
jmp 0x4dcaf7
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
mov dword [eax + 0x14], edi
mov edi, eax
mov dword [eax + 0x10], ecx
mov ecx, 0xbe04
mov ax, word [edi + 0x1c]
and ax, cx
mov ecx, dword [ebp - 0xdc]
or ax, 4
inc esi
mov word [edi + 0x1c], ax
mov dword [ebp - 0xe0], esi
jmp 0x4dbb61
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [eax + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004d4480
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
mov eax, dword [eax + ebx*4 + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
inc esi
mov dword [ebp - 0xe0], esi
jmp 0x4dbb61
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x4dcbe2
mov ecx, esi
call fcn.004db8c0
test byte [esi + 0x1c], 8
je 0x4dcbb5
mov ecx, esi
call fcn.004d43e0
movzx eax, word [esi + 0x1c]
mov edx, dword [ebp - 0xd8]
test al, 4
jne 0x4dcbe2
mov eax, dword [edx + ebx*4 + 8]
mov ecx, dword [ebp - 0xdc]
test eax, eax
je 0x4e1592
mov dword [ebp - 0xe0], eax
mov esi, eax
jmp 0x4dbb61
mov ecx, dword [ebp - 0xdc]
and eax, 0xbe04
or eax, 4
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xe0]
inc esi
jmp 0x4dbb5b
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 4
lea ecx, [ecx + eax*8]
je 0x4dc734
call fcn.004d44b0
mov ecx, dword [ebp - 0xdc]
inc esi
jmp 0x4dbb55
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx ecx, word [esi + 0x1c]
test cl, 1
jne 0x4de521
mov eax, ecx
shr eax, 3
and eax, 2
or eax, ecx
mov word [esi + 0x1c], ax
test al, 2
jne 0x4dcc79
test al, 0xc
je 0x4dcc79
movzx edx, byte [ebp - 0x114]
mov ecx, esi
call fcn.004d40c0
mov eax, 0xfff3
and word [esi + 0x1c], ax
movzx eax, word [esi + 0x1c]
test eax, 0x4000
je 0x4dccb4
mov ecx, esi
call fcn.004d4010
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xe8], eax
mov eax, 0xbfe3
and word [esi + 0x1c], ax
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4dbbd0
mov eax, 0xbfe3
mov dword [ebp - 0xe8], 0
and word [esi + 0x1c], ax
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4dbbd0
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + ebx*4 + 4]
mov ebx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
movzx eax, word [esi + 0x1c]
test al, 1
jne 0x4de3b6
test al, 0x10
jne 0x4dcd40
test al, 2
jne 0x4dcd1a
test al, 0xc
je 0x4dcd1a
movzx edx, byte [ebp - 0x114]
mov ecx, esi
call fcn.004d40c0
mov edx, dword [ebp - 0xd8]
mov ax, word [esi + 0x1c]
mov ecx, 0xbe10
and ax, cx
mov ecx, dword [ebp - 0xdc]
or ax, 0x10
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xe0]
inc esi
jmp 0x4dbb5b
and eax, 0xfe10
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xe0]
inc esi
jmp 0x4dbb5b
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [eax + ebx*4 + 4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.004d4530
mov ecx, dword [ebp - 0xdc]
inc esi
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
jmp 0x4dbb61
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
jne 0x4dc734
call fcn.004d4480
mov ecx, dword [ebp - 0xdc]
inc esi
jmp 0x4dbb55
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
jne 0x4dc734
call fcn.004d44b0
mov ecx, dword [ebp - 0xdc]
inc esi
jmp 0x4dbb55
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
movzx ecx, word [edx + eax*8 + 0x1c]
lea edi, [edx + eax*8]
movzx edx, word [esi + 0x1c]
mov al, cl
or al, dl
mov dword [ebp - 0xf4], edx
test al, 1
mov dword [ebp - 0x110], ecx
mov eax, dword [ebp - 0xd8]
mov al, byte [eax + ebx*4 + 3]
je 0x4dced5
test al, al
jns 0x4dce5e
test dl, 1
je 0x4dce54
test cl, 1
je 0x4dce54
test ecx, 0x100
jne 0x4dce54
xor edx, edx
jmp 0x4dcf53
mov edx, 1
jmp 0x4dcf53
test al, 0x10
je 0x4dcea4
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xe0]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, 0xbe01
mov ax, word [edi + 0x1c]
and ax, cx
mov dword [ebp - 0xec], edi
mov ecx, dword [ebp - 0xdc]
or ax, 1
mov word [edi + 0x1c], ax
inc esi
jmp 0x4dbb5b
test al, 8
je 0x4de9f6
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xec]
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
inc ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x4dbb61
and al, 0x67
mov byte [ebp - 0x101], al
je 0x4dcf17
push dword [ebp - 0x114]
mov dl, al
mov ecx, esi
call fcn.004db950
mov dl, byte [ebp - 0x101]
add esp, 4
mov ecx, edi
push dword [ebp - 0x114]
call fcn.004db950
mov ecx, dword [ebp - 0xdc]
add esp, 4
cmp byte [ecx + 0x40], 0
jne 0x4e1955
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4dcf2e
mov ecx, esi
call fcn.004d4010
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x4dcf3b
mov ecx, edi
call fcn.004d4010
mov eax, dword [ebp - 0xd8]
mov edx, esi
mov ecx, edi
push dword [eax + ebx*4 + 0x10]
call fcn.004d85c0
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0xd8]
movzx ecx, byte [eax + ebx*4]
add ecx, 0xffffffb2
cmp ecx, 4
ja case.default.0x4dcf65
jmp dword [ecx*4 + 0x4e1c10]
xor eax, eax
test edx, edx
sete al
jmp 0x4dcfa0
xor eax, eax
test edx, edx
setne al
jmp 0x4dcfa0
xor eax, eax
test edx, edx
sets al
jmp 0x4dcfa0
xor eax, eax
test edx, edx
setle al
jmp 0x4dcfa0
xor eax, eax
test edx, edx
setg al
jmp 0x4dcfa0
xor eax, eax
test edx, edx
setns al
mov edx, dword [ebp - 0xd8]
test byte [edx + ebx*4 + 3], 0x10
je 0x4dcfe6
mov ecx, dword [edx + ebx*4 + 8]
mov edx, dword [ebp - 0xf0]
lea ecx, [ecx + ecx*4]
lea ebx, [edx + ecx*8]
mov edx, 0xbe04
mov cx, word [ebx + 0x1c]
and cx, dx
mov dword [ebp - 0xec], ebx
cdq
or cx, 4
mov dword [ebx + 0x14], edx
mov edx, dword [ebp - 0xd8]
mov word [ebx + 0x1c], cx
mov dword [ebx + 0x10], eax
jmp 0x4dcff5
test eax, eax
je 0x4dcff5
mov eax, dword [edx + ebx*4 + 8]
dec eax
mov dword [ebp - 0xe0], eax
movzx eax, word [esi + 0x1c]
mov ebx, 0x1ff
xor ax, word [ebp - 0xf4]
mov ecx, dword [ebp - 0xdc]
and ax, bx
xor word [esi + 0x1c], ax
movzx eax, word [edi + 0x1c]
xor ax, word [ebp - 0x110]
mov esi, dword [ebp - 0xe0]
and ax, bx
xor word [edi + 0x1c], ax
inc esi
mov edi, dword [ebp - 0xec]
jmp 0x4dbb5b
mov edx, dword [ebp - 0xd8]
inc esi
mov eax, dword [edx + ebx*4 + 0x10]
mov dword [ebp - 0x144], eax
jmp 0x4dbb5b
mov esi, dword [ebp - 0xd8]
mov ecx, 0
mov eax, dword [ebp - 0x144]
test byte [esi + ebx*4 + 3], 1
mov edx, dword [esi + ebx*4 + 0x10]
cmove eax, ecx
mov dword [ebp - 0xf8], edx
mov ecx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0x144], eax
mov eax, dword [esi + ebx*4 + 0xc]
mov dword [ebp - 0x110], ecx
mov ecx, dword [esi + ebx*4 + 8]
xor esi, esi
mov dword [ebp - 0x108], eax
mov dword [ebp - 0xf4], ecx
test eax, eax
jle 0x4dd11d
lea edi, [edx + 0x14]
mov eax, dword [ebp - 0x144]
test eax, eax
je 0x4dd0af
mov ecx, dword [eax + esi*4]
jmp 0x4dd0b1
mov ecx, esi
mov eax, dword [edx + 0x10]
mov edx, dword [ebp - 0xf0]
push dword [edi]
movzx ebx, byte [eax + esi]
mov eax, dword [ebp - 0xf4]
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0x110]
add eax, ecx
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.004d85c0
add esp, 4
mov dword [ebp - 0x174], eax
test eax, eax
jne 0x4dd111
mov edx, dword [ebp - 0xf8]
inc esi
add edi, 4
cmp esi, dword [ebp - 0x108]
jl 0x4dd0a0
mov dword [ebp - 0x144], eax
jmp 0x4dc0e3
test ebx, ebx
je 0x4dd11d
neg eax
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x144], 0
jmp 0x4dc0e3
mov eax, dword [ebp - 0x174]
mov edx, dword [ebp - 0xd8]
test eax, eax
jns 0x4dd145
mov esi, dword [edx + ebx*4 + 4]
jmp 0x4dbb5b
jne 0x4dd150
mov esi, dword [edx + ebx*4 + 8]
jmp 0x4dbb5b
mov esi, dword [edx + ebx*4 + 0xc]
jmp 0x4dbb5b
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
je 0x4dd17d
mov esi, 2
jmp 0x4dd195
call fcn.004d42d0
or eax, edx
mov edx, dword [ebp - 0xd8]
je 0x4dd193
mov esi, 1
jmp 0x4dd195
xor esi, esi
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
je 0x4dd1ad
mov eax, 2
jmp 0x4dd1c5
call fcn.004d42d0
or eax, edx
mov edx, dword [ebp - 0xd8]
je 0x4dd1c3
mov eax, 1
jmp 0x4dd1c5
xor eax, eax
cmp byte [edx + ebx*4], 0x48
lea eax, [eax + esi*2]
jne 0x4dd1d8
movzx ecx, byte [esi + eax + 0x62a598]
jmp 0x4dd1e0
movzx ecx, byte [esi + eax + 0x62a3d4]
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov dword [ebp - 0xec], ebx
cmp ecx, 2
jne 0x4dd21d
mov ax, word [ebx + 0x1c]
mov ecx, 0xbe01
mov esi, dword [ebp - 0xe0]
and ax, cx
mov ecx, dword [ebp - 0xdc]
or ax, 1
mov word [ebx + 0x1c], ax
inc esi
mov edi, ebx
jmp 0x4dbb5b
mov eax, ecx
mov ecx, 0xbe04
cdq
mov dword [ebx + 0x10], eax
mov ax, word [ebx + 0x1c]
and ax, cx
mov dword [ebx + 0x14], edx
or ax, 4
mov word [ebx + 0x1c], ax
jmp 0x4dc0e3
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov dword [ebp - 0xec], ebx
je 0x4dd28d
mov ecx, ebx
call fcn.004d4610
mov ecx, dword [ebp - 0xdc]
inc esi
mov edx, dword [ebp - 0xd8]
mov edi, ebx
mov dword [ebp - 0xe0], esi
jmp 0x4dbb61
call fcn.004d42d0
or eax, edx
jne 0x4dd2c6
mov eax, 1
mov ecx, ebx
cdq
push edx
push eax
call fcn.004d4660
mov edi, dword [ebp - 0xec]
add esp, 8
mov ecx, dword [ebp - 0xdc]
inc esi
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
jmp 0x4dbb61
xor eax, eax
mov ecx, ebx
cdq
push edx
push eax
call fcn.004d4660
mov edi, dword [ebp - 0xec]
add esp, 8
mov ecx, dword [ebp - 0xdc]
inc esi
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
jmp 0x4dbb61
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov dword [ebp - 0xec], ebx
je 0x4dd341
mov ecx, ebx
call fcn.004d4610
mov ecx, dword [ebp - 0xdc]
inc esi
mov edx, dword [ebp - 0xd8]
mov edi, ebx
mov dword [ebp - 0xe0], esi
jmp 0x4dbb61
call fcn.004d42d0
not edx
not eax
push edx
push eax
mov ecx, ebx
call fcn.004d4660
mov edi, dword [ebp - 0xec]
add esp, 8
mov ecx, dword [ebp - 0xdc]
inc esi
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
jmp 0x4dbb61
mov eax, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xd8]
mov eax, dword [eax + 0xc8]
mov ecx, dword [edx + ebx*4 + 4]
cmp byte [eax + ecx], 0
je 0x4dd3ab
mov ecx, dword [edx + ebx*4 + 8]
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x4dbb61
mov byte [eax + ecx], 1
inc esi
mov ecx, dword [ebp - 0xdc]
jmp 0x4dbb5b
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
je 0x4dd3de
mov ecx, dword [edx + ebx*4 + 0xc]
jmp 0x4dd40e
call fcn.004d4380
xorps xmm1, xmm1
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4dd3f7
mov ecx, 1
jmp 0x4dd3f9
xor ecx, ecx
mov edx, dword [ebp - 0xd8]
cmp byte [edx + ebx*4], 0x2d
jne 0x4dd40e
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
test ecx, ecx
je 0x4dd42f
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
inc ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x4dbb61
mov ecx, dword [ebp - 0xe0]
inc ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x4dbb61
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
mov edi, dword [ebp - 0xec]
je 0x4dd472
mov esi, dword [edx + ebx*4 + 8]
dec esi
inc esi
jmp 0x4dbb5b
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
mov ecx, dword [ebp - 0xdc]
jne 0x4dd472
mov esi, dword [edx + ebx*4 + 8]
dec esi
inc esi
jmp 0x4dbb5b
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ecx + ebx*4 + 0xc]
mov edi, dword [ecx + ebx*4 + 8]
mov ecx, dword [ecx + ebx*4 + 4]
mov dword [ebp - 0x120], edi
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x100], ecx
movsx eax, word [ecx + 0x14]
add eax, 0x16
lea esi, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0x11c], esi
mov dword [ebp - 0x10c], eax
call fcn.004d7ea0
mov edx, eax
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x4e1661
mov edx, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xe4]
mov eax, dword [edx + 0x44]
cmp eax, dword [ecx + 0x48]
jne 0x4dd531
mov eax, dword [ebp - 0xd8]
test byte [eax + ebx*4 + 3], 0x20
je 0x4dd687
cmp byte [edx + 0x19], 0
je 0x4dd583
cmp dword [ebp - 0x10c], 0
jne 0x4dd564
mov eax, dword [edx + 0x10]
lea edi, [edx + 0x48]
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
mov esi, dword [ecx + eax*8 + 0x18]
mov dword [edx + 0x4c], esi
mov dword [edi], esi
mov eax, dword [ecx + eax*8 + 4]
mov dword [edx + 0x54], eax
jmp 0x4dd602
mov ebx, dword [ebp - 0xfc]
mov ecx, 0xbe01
mov ax, word [ebx + 0x1c]
and ax, cx
or ax, 1
mov word [ebx + 0x1c], ax
jmp 0x4dd9d3
test byte [edx + 0x1c], 4
mov ecx, dword [ebp - 0x10c]
jne 0x4dd5c1
lea edx, [ebp - 0x220]
call fcn.004cd3b0
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x100]
lea edi, [edx + 0x48]
movzx eax, word [ecx + 0x2c]
add eax, dword [ecx + 0x20]
movzx esi, word [ecx + 0x2e]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 0x220]
mov dword [edi], eax
jmp 0x4dd5e5
lea edi, [edx + 0x48]
mov edx, edi
call fcn.004cd440
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x100]
movzx eax, word [ecx + 0x2c]
add eax, dword [ecx + 0x20]
movzx esi, word [ecx + 0x2e]
mov dword [edx + 0x54], eax
mov eax, dword [edi]
cmp eax, esi
ja 0x4dd5f0
mov dword [edx + 0x4c], eax
jmp 0x4dd5f3
mov dword [edx + 0x4c], esi
mov ecx, dword [ebp - 0xdc]
cmp eax, dword [ecx + 0x58]
ja 0x4e17a1
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + 0x54]
mov eax, dword [eax + 0x48]
mov dword [edx + 0x44], eax
mov al, byte [ecx]
cmp al, 0x80
jae 0x4dd627
movzx ecx, al
mov eax, 1
mov dword [ebp - 0x178], ecx
jmp 0x4dd641
lea edx, [ebp - 0x178]
call fcn.004bc440
mov ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x100]
movzx eax, al
movzx eax, al
mov dword [edx + 0x50], eax
xor eax, eax
mov word [edx + 0x16], ax
mov eax, dword [ebp - 0x11c]
mov dword [eax], ecx
cmp esi, ecx
jae 0x4dd667
mov dword [edx + 0x54], 0
mov dword [edx + 0x4c], 0
cmp ecx, 0x18003
ja 0x4dda0e
cmp ecx, dword [edi]
ja 0x4dda0e
mov edi, dword [ebp - 0x120]
mov esi, dword [ebp - 0x11c]
movzx eax, word [edx + 0x16]
cmp eax, edi
jg 0x4dd87a
mov eax, dword [edx + 0x50]
cmp eax, dword [esi]
jae 0x4dd828
mov ecx, dword [edx + 0x54]
mov dword [ebp - 0x108], ecx
test ecx, ecx
jne 0x4dd70d
mov ecx, dword [ebp - 0x10c]
lea eax, [ebp - 0x1e0]
push eax
xorps xmm0, xmm0
movdqu xmmword [ebp - 0x1e0], xmm0
movdqu xmmword [ebp - 0x1d0], xmm0
movq qword [ebp - 0x1c0], xmm0
mov eax, dword [edx + 0x1c]
xor edx, edx
shr eax, 2
not eax
and eax, 1
push eax
push dword [esi]
call fcn.004d4ae0
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x4dd805
mov ecx, dword [ebp - 0x1dc]
mov edx, dword [ebp - 0x100]
mov dword [ebp - 0x108], ecx
movzx edi, word [edx + 0x16]
mov eax, dword [esi + edi*4]
mov esi, dword [edx + 0x50]
mov dword [ebp - 0x118], eax
add esi, ecx
mov eax, dword [ebp - 0x11c]
mov eax, dword [eax]
add eax, ecx
mov dword [ebp - 0xf8], eax
nop
mov al, byte [esi]
cmp al, 0x80
jae 0x4dd742
movzx ecx, al
inc esi
mov dword [ebp - 0x17c], ecx
jmp 0x4dd760
lea edx, [ebp - 0x17c]
mov ecx, esi
call fcn.004bc440
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x100]
movzx eax, al
add esi, eax
mov dword [edx + edi*4 + 0x58], ecx
call fcn.004d8050
mov ecx, dword [ebp - 0x118]
add ecx, eax
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x178], ecx
cmp ecx, eax
jb 0x4dd79d
mov eax, dword [ebp - 0x11c]
inc edi
mov dword [eax + edi*4], ecx
cmp edi, dword [ebp - 0x120]
jg 0x4dd7a4
cmp esi, dword [ebp - 0xf8]
jb 0x4dd730
jmp 0x4dd7a4
mov esi, dword [ebp - 0xf8]
inc esi
mov eax, esi
mov word [edx + 0x16], di
sub eax, dword [ebp - 0x108]
cmp dword [edx + 0x54], 0
mov dword [edx + 0x50], eax
jne 0x4dd7dc
lea ecx, [ebp - 0x1e0]
call fcn.004d4250
mov ecx, dword [ebp - 0x118]
mov eax, 1
mov edx, dword [ebp - 0x100]
mov word [ebp - 0x1c4], ax
mov edi, dword [ebp - 0xf8]
cmp esi, edi
ja 0x4dd7f5
mov eax, dword [edx + 0x48]
cmp ecx, eax
ja 0x4dd7f5
cmp esi, edi
jne 0x4dd81c
cmp ecx, eax
je 0x4dd81c
mov ecx, 0x11148
call fcn.00525a50
mov dword [ebp - 0xe8], eax
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4dbbd0
mov esi, dword [ebp - 0x11c]
mov edi, dword [ebp - 0x120]
movzx eax, word [edx + 0x16]
cmp eax, edi
jg 0x4dd87a
mov edx, dword [ebp - 0xd8]
cmp byte [edx + ebx*4 + 1], 0xf8
jne 0x4dd85b
mov edx, dword [edx + ebx*4 + 0x10]
mov ebx, dword [ebp - 0xfc]
mov ecx, ebx
push 0x800
call fcn.004d4770
add esp, 4
jmp 0x4dd9d3
mov ebx, dword [ebp - 0xfc]
mov ecx, 0xbe01
mov ax, word [ebx + 0x1c]
and ax, cx
or ax, 1
mov word [ebx + 0x1c], ax
jmp 0x4dd9d9
mov eax, dword [edx + 0x4c]
cmp eax, dword [esi + edi*4 + 4]
jb 0x4dd8b9
mov ebx, dword [ebp - 0xfc]
mov eax, 0x2460
test word [ebx + 0x1c], ax
je 0x4dd8a1
mov ecx, ebx
call fcn.004d4200
mov edx, dword [ebp - 0x100]
mov ecx, dword [edx + 0x54]
add ecx, dword [esi + edi*4]
mov edx, dword [edx + edi*4 + 0x58]
push ebx
call fcn.004d80f0
add esp, 4
jmp 0x4dd9ca
mov eax, dword [ebp - 0xd8]
mov ecx, dword [edx + edi*4 + 0x58]
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0x17c], ecx
mov al, byte [eax + ebx*4 + 3]
test al, 0xc0
je 0x4dd8e5
cmp ecx, 0xc
jb 0x4dd8e1
test cl, 1
je 0x4dd8f0
test al, al
js 0x4dd8f0
call fcn.004d8050
mov esi, eax
test esi, esi
jne 0x4dd90f
mov ebx, dword [ebp - 0xfc]
lea eax, [ebp - 0x220]
xor edx, edx
cmp ecx, 0xd
mov dword [ebp - 0x1bc], edx
cmova eax, edx
jmp 0x4dd98a
mov ebx, dword [ebp - 0xfc]
lea ecx, [ebp - 0x1e0]
xorps xmm0, xmm0
mov edx, ebx
movdqu xmmword [ebp - 0x1e0], xmm0
movdqu xmmword [ebp - 0x1d0], xmm0
movq qword [ebp - 0x1c0], xmm0
call fcn.004d48e0
mov ecx, dword [ebp - 0x100]
lea eax, [ebp - 0x1e0]
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x10c]
shr eax, 2
not eax
and eax, 1
push eax
mov eax, dword [ebp - 0x11c]
push esi
mov edx, dword [eax + edi*4]
call fcn.004d4ae0
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x4dd805
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0xf4]
mov edx, ecx
mov ecx, eax
push ebx
call fcn.004d80f0
add esp, 4
cmp dword [ebp - 0x1bc], 0
je 0x4dd9ca
mov ax, word [ebx + 0x1c]
mov ecx, 0xe7ff
and ax, cx
mov ecx, 0x200
or ax, cx
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x1dc]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x1bc]
mov dword [ebx + 0x24], eax
mov al, byte [ebp - 0x114]
mov byte [ebx + 0x1e], al
mov edx, dword [ebp - 0xd8]
mov eax, 0x1000
test word [ebx + 0x1c], ax
je 0x4de51b
mov ecx, ebx
call fcn.004d3fb0
mov ecx, dword [ebp - 0xdc]
test eax, eax
jne 0x4e1955
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4dbbd0
mov ecx, 0x11106
jmp 0x4dd7fa
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
mov esi, dword [edx + ebx*4 + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [esi]
test al, al
je 0x4dbf9b
lea esp, [esp]
push dword [ebp - 0x114]
mov dl, al
lea esi, [esi + 1]
mov ecx, edi
call fcn.004db950
mov al, byte [esi]
add esp, 4
add edi, 0x28
test al, al
jne 0x4dda40
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
inc esi
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
jmp 0x4dbb5b
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov edx, dword [ebp - 0xf0]
xorps xmm0, xmm0
mov dword [ebp - 0x100], eax
mov dword [ebp - 0x10c], eax
mov eax, dword [ecx + ebx*4 + 4]
mov esi, dword [ecx + ebx*4 + 0x10]
movlpd qword [ebp - 0x160], xmm0
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
mov dword [ebp - 0xfc], edi
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [edi + eax*8]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0xe4]
movzx edx, byte [eax + 0x57]
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0x118], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xec], eax
test esi, esi
je 0x4ddb19
mov al, byte [esi]
push dword [ebp - 0x114]
mov dl, al
mov ecx, edi
call fcn.004db950
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add edi, 0x28
test al, al
jne 0x4ddaf4
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x15c]
mov esi, dword [ebp - 0x108]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x120], eax
mov ecx, esi
call fcn.004d7f40
mov ebx, eax
mov ecx, ebx
call fcn.004d8050
mov edi, eax
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4ddb76
mov ecx, dword [ebp - 0x120]
or ecx, dword [ebp - 0xf8]
je 0x4ddb6b
mov ecx, esi
call fcn.004d4010
jmp 0x4ddb76
mov eax, dword [esi + 0x10]
add dword [ebp - 0x10c], eax
sub edi, eax
mov eax, edi
mov edi, dword [ebp - 0xf8]
cdq
add dword [ebp - 0x120], eax
adc edi, edx
mov dword [ebp - 0xf8], edi
cmp ebx, 0x7f
ja 0x4ddb99
mov eax, 1
jmp 0x4ddba4
push 0
push ebx
call fcn.004bc4c0
add esp, 8
mov ecx, dword [ebp - 0x100]
sub esi, 0x28
mov ebx, dword [ebp - 0xfc]
add ecx, eax
mov edx, dword [ebp - 0x118]
mov dword [ebp - 0x100], ecx
cmp esi, ebx
jae 0x4ddb37
cmp ecx, 0x7e
jle 0x4ddbfd
mov eax, ecx
cdq
push edx
push eax
call fcn.004bc4c0
mov esi, eax
mov eax, dword [ebp - 0x100]
add eax, esi
mov dword [ebp - 0x100], eax
cdq
push edx
push eax
call fcn.004bc4c0
mov ecx, dword [ebp - 0x100]
add esp, 0x10
cmp esi, eax
jge 0x4ddc04
inc ecx
mov dword [ebp - 0x100], ecx
mov eax, ecx
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0xdc]
add esi, dword [ebp - 0x120]
mov dword [ebp - 0xf4], esi
adc ecx, edi
mov eax, dword [eax + 0x58]
cdq
cmp ecx, edx
jg 0x4e179b
jl 0x4ddc35
cmp esi, eax
ja 0x4e179b
mov edx, esi
mov esi, dword [ebp - 0xec]
push 0
mov ecx, esi
call fcn.004d3e80
add esp, 4
test eax, eax
jne 0x4e194f
mov eax, dword [ebp - 0x100]
mov edi, dword [esi + 4]
cmp eax, 0x80
jae 0x4ddc6a
mov byte [edi], al
mov eax, 1
jmp 0x4ddc73
mov edx, eax
mov ecx, edi
call fcn.004bc290
movzx esi, al
jmp 0x4ddc80
mov edx, dword [ebp - 0x118]
mov ecx, ebx
call fcn.004d7f40
mov ebx, eax
cmp ebx, 0x80
jae 0x4ddca1
mov byte [esi + edi], bl
mov eax, 1
jmp 0x4ddcab
lea ecx, [esi + edi]
mov edx, ebx
call fcn.004bc290
mov ecx, dword [ebp - 0x100]
push ebx
mov ebx, dword [ebp - 0xfc]
mov edx, ebx
movzx eax, al
lea ecx, [ecx + edi]
add esi, eax
call fcn.004d8070
add dword [ebp - 0x100], eax
add ebx, 0x28
add esp, 4
mov dword [ebp - 0xfc], ebx
cmp ebx, dword [ebp - 0x108]
jbe 0x4ddc80
mov ebx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xf4]
mov dword [ebx + 0x18], eax
mov eax, 0x10
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x10c]
mov dword [ebx + 0x20], 0
test eax, eax
je 0x4ddd16
mov dword [ebx + 0x10], eax
mov eax, 0x4010
mov word [ebx + 0x1c], ax
mov byte [ebx + 0x1e], 1
jmp 0x4dc0e3
mov eax, dword [ebp - 0xd8]
lea edx, [ebp - 0x190]
xorps xmm0, xmm0
movlpd qword [ebp - 0x190], xmm0
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
call fcn.004d1ac0
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x190]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x18c]
mov dword [edi + 0x14], eax
jmp 0x4de6b1
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + ebx*4 + 4]
mov edi, dword [edx + ebx*4 + 0x10]
mov dword [ebp - 0xfc], eax
test eax, eax
jne 0x4dde66
cmp dword [ecx + 0x94], eax
jg 0x4e15a2
mov ecx, edi
call fcn.004bb500
mov esi, dword [ebp - 0xdc]
xor edx, edx
mov ebx, eax
mov ecx, dword [esi + 0x1ec]
add ecx, dword [esi + 0x1e8]
push ecx
mov ecx, esi
call fcn.005158c0
mov edx, eax
add esp, 4
mov dword [ebp - 0xe8], edx
mov ecx, esi
test edx, edx
jne 0x4e1667
lea edx, [ebx + 0x21]
call fcn.004b9150
mov esi, eax
test esi, esi
je 0x4dde4e
lea ecx, [ebx + 1]
push ecx
lea edx, [esi + 0x20]
push edi
push edx
mov dword [esi], edx
call fcn.0055b940
mov ecx, dword [ebp - 0xdc]
add esp, 0xc
cmp byte [ecx + 0x3e], 0
je 0x4dde03
mov byte [ecx + 0x3e], 0
mov byte [ecx + 0x45], 1
jmp 0x4dde09
inc dword [ecx + 0x1e8]
mov eax, dword [ecx + 0x1e0]
mov edi, dword [ebp - 0xec]
mov dword [esi + 0x18], eax
mov eax, dword [ecx + 0x1f0]
mov dword [ecx + 0x1e0], esi
mov dword [esi + 8], eax
mov eax, dword [ecx + 0x1f4]
mov dword [esi + 0xc], eax
mov eax, dword [ecx + 0x1f8]
mov dword [esi + 0x10], eax
mov eax, dword [ecx + 0x1fc]
mov dword [esi + 0x14], eax
mov esi, dword [ebp - 0xe0]
inc esi
jmp 0x4dbb55
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
inc esi
mov edi, dword [ebp - 0xec]
jmp 0x4dbb55
mov esi, dword [ecx + 0x1e0]
xor ebx, ebx
mov dword [ebp - 0x108], esi
test esi, esi
je 0x4dde9b
push edi
push dword [esi]
call fcn.004bb760
add esp, 8
test eax, eax
je 0x4ddecb
mov esi, dword [esi + 0x18]
inc ebx
mov dword [ebp - 0x108], esi
test esi, esi
jne 0x4dde78
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe4]
push edi
push str.no_such_savepoint:__s
push ecx
add eax, 0x2c
push eax
call fcn.004b92f0
mov eax, dword [ebp - 0xe0]
mov edx, 1
add esp, 0x10
mov dword [ebp - 0xe8], edx
inc eax
jmp 0x4de6dd
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xfc]
cmp dword [ecx + 0x94], 0
jle 0x4ddee9
cmp edx, 1
je 0x4e15d1
cmp dword [esi + 0x18], 0
jne 0x4ddf57
cmp byte [ecx + 0x45], 0
je 0x4ddf57
mov dword [ebp - 0xf8], 1
cmp edx, 1
jne 0x4ddf61
mov ecx, dword [ebp - 0xe4]
call fcn.004d7440
mov edi, eax
test edi, edi
jne 0x4e18a7
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xe4]
mov ecx, edi
mov byte [eax + 0x3e], 1
call fcn.004d74b0
mov ecx, dword [ebp - 0xdc]
cmp eax, 5
je 0x4e1600
mov byte [ecx + 0x45], 0
mov eax, dword [edi + 0x50]
mov edi, dword [ebp - 0xfc]
mov dword [ebp - 0xe8], eax
jmp 0x4de025
mov dword [ebp - 0xf8], 0
mov eax, dword [ecx + 0x1e8]
sub eax, ebx
dec eax
mov dword [ebp - 0x10c], eax
cmp edx, 2
jne 0x4ddfb2
xor ebx, ebx
cmp dword [ecx + 0x14], ebx
jle 0x4ddfb2
xor edi, edi
mov esi, ecx
mov ecx, dword [esi + 0x10]
mov edx, 4
mov ecx, dword [ecx + edi + 4]
call fcn.004ccee0
inc ebx
lea edi, [edi + 0x10]
cmp ebx, dword [esi + 0x14]
jl 0x4ddf80
mov esi, dword [ebp - 0x108]
mov eax, dword [ebp - 0x10c]
mov edx, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xdc]
xor ebx, ebx
cmp dword [ecx + 0x14], ebx
jle 0x4ddffb
xor edi, edi
jmp 0x4ddfc0
mov ecx, dword [ecx + 0x10]
push eax
mov ecx, dword [ecx + edi + 4]
call fcn.004cd150
mov ecx, dword [ebp - 0xdc]
mov edx, eax
add esp, 4
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x4e1667
mov eax, dword [ebp - 0x10c]
inc ebx
mov edx, dword [ebp - 0xfc]
add edi, 0x10
cmp ebx, dword [ecx + 0x14]
jl 0x4ddfc0
mov edi, dword [ebp - 0xfc]
cmp edi, 2
jne 0x4de01f
test byte [ecx + 0x18], 2
je 0x4de01f
call fcn.004d9370
call fcn.004ef9e0
mov ecx, dword [ebp - 0xdc]
or dword [ecx + 0x18], edi
mov ebx, dword [ebp - 0x10c]
cmp dword [ecx + 0x1e0], esi
je 0x4de058
lea ecx, [ecx]
mov edx, dword [ecx + 0x1e0]
mov eax, dword [edx + 0x18]
mov dword [ecx + 0x1e0], eax
call fcn.004b8f10
mov ecx, dword [ebp - 0xdc]
dec dword [ecx + 0x1e8]
cmp dword [ecx + 0x1e0], esi
jne 0x4de030
cmp edi, 1
jne 0x4de084
mov eax, dword [esi + 0x18]
mov edx, esi
mov dword [ecx + 0x1e0], eax
call fcn.004b8f10
cmp dword [ebp - 0xf8], 0
mov ecx, dword [ebp - 0xdc]
jne 0x4de0d2
dec dword [ecx + 0x1e8]
jmp 0x4de0b1
cmp dword [ebp - 0xf8], 0
mov eax, dword [esi + 8]
mov dword [ecx + 0x1f0], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0x1f4], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x1f8], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x1fc], eax
jne 0x4de0d2
push ebx
mov edx, edi
call fcn.005158c0
mov ecx, dword [ebp - 0xdc]
mov edx, eax
add esp, 4
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x4e1667
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4dbbd0
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + ebx*4 + 8]
test edx, edx
je 0x4de0fe
test dword [ecx + 0x18], 0x2000000
jne 0x4e1620
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xdc]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x4de234
mov ecx, esi
call fcn.004cbf50
mov edx, eax
mov dword [ebp - 0xe8], edx
cmp edx, 5
je 0x4e162d
test edx, edx
jne 0x4e1661
mov eax, dword [ebp - 0xd8]
cmp dword [eax + ebx*4 + 8], edx
je 0x4de1fa
mov edx, dword [ebp - 0xe4]
test byte [edx + 0x58], 0x80
je 0x4de1fa
mov ecx, dword [ebp - 0xdc]
cmp byte [ecx + 0x3e], 0
je 0x4de172
cmp dword [ecx + 0x90], 1
jle 0x4de1fa
cmp dword [edx + 0x68], 0
jne 0x4de18d
mov eax, dword [ecx + 0x1e8]
inc dword [ecx + 0x1ec]
add eax, dword [ecx + 0x1ec]
mov dword [edx + 0x68], eax
mov eax, dword [edx + 0x68]
xor edx, edx
dec eax
push eax
call fcn.005158c0
mov edx, eax
add esp, 4
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x4de1be
mov eax, dword [ebp - 0xe4]
mov ecx, esi
mov edx, dword [eax + 0x68]
call fcn.004cd100
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xe4]
mov eax, dword [ecx + 0x1f0]
mov dword [edx + 0x98], eax
mov eax, dword [ecx + 0x1f4]
mov dword [edx + 0x9c], eax
mov eax, dword [ecx + 0x1f8]
mov dword [edx + 0xa0], eax
mov eax, dword [ecx + 0x1fc]
mov dword [edx + 0xa4], eax
lea eax, [ebp - 0x184]
mov edx, 1
push eax
mov ecx, esi
call fcn.004d19b0
mov edx, dword [ebp - 0xd8]
add esp, 4
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0x184]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax + 4]
jmp 0x4de244
mov edx, dword [ebp - 0xd8]
xor esi, esi
mov dword [ebp - 0x184], esi
xor eax, eax
cmp byte [edx + ebx*4 + 3], 0
je 0x4de521
cmp esi, dword [edx + ebx*4 + 0xc]
jne 0x4de25f
cmp eax, dword [edx + ebx*4 + 0x10]
je 0x4de521
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [eax + 0x2c]
call fcn.004b8f10
mov ecx, dword [ebp - 0xdc]
mov edx, str.database_schema_has_changed
call fcn.004b9260
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + ebx*4 + 4]
mov ecx, edx
mov ebx, dword [ebp - 0xdc]
add ecx, ecx
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
cmp dword [eax], esi
je 0x4de2b2
mov ecx, ebx
call fcn.004ef9a0
mov ecx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0xe8], 0x11
or dword [ecx + 0x58], 0x20
mov ecx, ebx
jmp case.default.0x4dbbd0
mov edx, dword [ebp - 0xd8]
lea eax, [ebp - 0x19c]
mov ecx, dword [ecx + 0x10]
push eax
mov eax, dword [edx + ebx*4 + 4]
mov edx, dword [edx + ebx*4 + 0xc]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004d19b0
mov eax, dword [ebp - 0x19c]
add esp, 4
mov ecx, dword [ebp - 0xdc]
inc esi
cdq
mov dword [edi + 0x14], edx
mov edx, dword [ebp - 0xd8]
mov dword [edi + 0x10], eax
mov dword [ebp - 0xe0], esi
jmp 0x4dbb61
mov eax, dword [ebp - 0xd8]
mov esi, dword [eax + ebx*4 + 4]
mov eax, dword [eax + ebx*4 + 0xc]
shl esi, 4
add esi, dword [ecx + 0x10]
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.004d4480
mov eax, dword [ebp - 0xd8]
push dword [edi + 0x10]
mov ecx, dword [esi + 4]
mov edx, dword [eax + ebx*4 + 8]
call fcn.004d1a20
mov edx, dword [ebp - 0xd8]
add esp, 4
mov dword [ebp - 0xe8], eax
mov eax, dword [edx + ebx*4 + 8]
cmp eax, 1
jne 0x4de386
mov ecx, dword [esi + 0xc]
mov eax, dword [edi + 0x10]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xdc]
or dword [ecx + 0x18], 2
jmp 0x4de39a
cmp eax, 2
jne 0x4de394
mov ecx, dword [esi + 0xc]
mov al, byte [edi + 0x10]
mov byte [ecx + 0x4c], al
mov ecx, dword [ebp - 0xdc]
cmp dword [edx + ebx*4 + 4], 1
jne 0x4de3b0
call fcn.004d9370
mov esi, dword [ebp - 0xe4]
and dword [esi + 0x58], 0xffffffdf
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
jmp 0x4de6bd
mov eax, dword [ebp - 0xe4]
test byte [eax + 0x58], 0x20
jne 0x4e1692
mov eax, dword [ebp - 0xd8]
xor edi, edi
mov dword [ebp - 0x108], edi
mov ecx, dword [eax + ebx*4 + 8]
mov esi, dword [eax + ebx*4 + 0xc]
mov eax, esi
mov dword [ebp - 0xf8], ecx
mov ecx, dword [ebp - 0xdc]
shl eax, 4
mov dword [ebp - 0xf4], esi
add eax, dword [ecx + 0x10]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0xf8]
cmp dl, 0x35
jne 0x4de435
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0x118], 1
mov al, byte [eax + 0x4c]
cmp al, byte [edx + 0x57]
jae 0x4de43b
mov byte [edx + 0x57], al
jmp 0x4de43b
mov dword [ebp - 0x118], edi
mov eax, dword [ebp - 0xd8]
test byte [eax + ebx*4 + 3], 2
je 0x4de473
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xf0]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004d4480
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xf8], eax
cmp eax, 2
jl 0x4e164f
mov esi, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xd8]
mov al, byte [ecx + ebx*4 + 1]
cmp al, 0xfa
jne 0x4de497
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x108], eax
movzx edi, word [eax + 8]
movzx eax, word [eax + 6]
add edi, eax
jmp 0x4de49f
cmp al, 0xf2
jne 0x4de49f
mov edi, dword [ecx + ebx*4 + 0x10]
mov edx, dword [ecx + ebx*4 + 4]
mov ecx, dword [ebp - 0xe4]
push 1
push esi
push edi
call fcn.004db800
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4e194f
push dword [esi]
mov edi, dword [ebp - 0x108]
mov edx, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x110]
or dword [esi + 0x1c], 8
push edi
push dword [ebp - 0x118]
mov byte [esi + 0x19], 1
call fcn.004cd200
mov edx, dword [ebp - 0xd8]
add esp, 0xc
mov dword [ebp - 0xe8], eax
mov eax, dword [esi]
mov dword [esi + 8], edi
mov cl, byte [edx + ebx*4 + 3]
and cl, 1
mov byte [eax + 0x52], cl
xor eax, eax
cmp byte [edx + ebx*4 + 1], 0xfa
setne al
shl eax, 2
xor eax, dword [esi + 0x1c]
and eax, 4
xor dword [esi + 0x1c], eax
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x4de6bd
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe4]
push 1
push 0xffffffffffffffff
push dword [eax + ebx*4 + 8]
mov edx, dword [eax + ebx*4 + 4]
call fcn.004db800
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4e194f
mov eax, dword [ebp - 0xd8]
lea edi, [esi + 4]
or dword [esi + 0x1c], 1
xor edx, edx
mov byte [esi + 0x19], 1
push 0x41e
movzx eax, byte [eax + ebx*4 + 3]
or eax, 5
push eax
mov eax, dword [ebp - 0xdc]
push edi
push eax
mov ecx, dword [eax]
call fcn.004cafc0
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x4de639
mov ecx, dword [edi]
lea edx, [eax + 1]
call fcn.004cbf50
mov ecx, eax
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x4de639
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0xf4], eax
test eax, eax
je 0x4de61a
movzx eax, byte [ecx + ebx*4 + 3]
lea edx, [ebp - 0x198]
mov ecx, dword [edi]
or eax, 2
push eax
call fcn.004d14b0
add esp, 4
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x4de614
push dword [esi]
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0x198]
mov ecx, dword [edi]
push eax
push 1
mov dword [esi + 8], eax
call fcn.004cd200
add esp, 0xc
mov dword [ebp - 0xe8], eax
and dword [esi + 0x1c], 0xfffffffb
jmp 0x4de639
push dword [esi]
mov ecx, dword [edi]
mov edx, 1
push 0
push 1
call fcn.004cd200
add esp, 0xc
mov dword [ebp - 0xe8], eax
or dword [esi + 0x1c], 4
mov edx, dword [ebp - 0xd8]
xor eax, eax
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
cmp byte [edx + ebx*4 + 3], 8
setne al
shl eax, 3
xor eax, dword [esi + 0x1c]
and eax, 8
xor dword [esi + 0x1c], eax
mov esi, dword [ebp - 0xe0]
jmp 0x4de6bd
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe4]
push 1
push 0xffffffffffffffff
push dword [eax + ebx*4 + 8]
mov edx, dword [eax + ebx*4 + 4]
call fcn.004db800
add esp, 0xc
test eax, eax
je 0x4e194f
mov ecx, dword [ebp - 0xd8]
mov edx, eax
mov ecx, dword [ecx + ebx*4 + 0x10]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xdc]
call fcn.004e2e50
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
inc esi
cmp dword [ebp - 0xe8], 0
mov dword [ebp - 0xe0], esi
je 0x4dbb61
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe4]
push dword [ecx + 0x2c]
mov dword [ecx + 0x50], edx
push dword [ecx + 0xa8]
push eax
push str.statement_aborts_at__d:___s___s
push edx
call fcn.004bac60
mov ecx, dword [ebp - 0xe4]
add esp, 0x14
call fcn.004d74b0
cmp dword [ebp - 0xe8], 0xc0a
mov ecx, dword [ebp - 0xdc]
jne 0x4de71f
mov byte [ecx + 0x40], 1
mov al, byte [ebp - 0x12d]
mov edi, 1
test al, al
je 0x4de75f
mov ebx, dword [ebp - 0xdc]
movzx esi, al
dec esi
mov ecx, esi
mov eax, dword [ebx + 0x10]
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.004f5b60
add esp, 4
cmp esi, edi
je 0x4de75d
mov eax, dword [ebx + 0x10]
push dword [eax + 0x1c]
call fcn.004f5b60
add esp, 4
mov ecx, ebx
mov eax, dword [ebp - 0x134]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0x138]
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x140]
add dword [ecx + 0x7c], eax
call fcn.004d5dc0
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0055337c
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe4]
push 0
push 0xffffffffffffffff
push dword [eax + ebx*4 + 0xc]
mov edx, dword [eax + ebx*4 + 4]
call fcn.004db800
add esp, 0xc
test eax, eax
je 0x4e194f
mov edx, dword [ebp - 0xd8]
mov byte [eax + 0x19], 1
mov ecx, dword [edx + ebx*4 + 8]
or dword [eax + 0x1c], 4
inc esi
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xdc]
jmp 0x4dbb5b
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x38]
mov eax, dword [eax + ebx*4 + 4]
mov edx, dword [edx + eax*4]
call fcn.004d6660
mov edx, dword [ebp - 0xd8]
inc esi
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0xdc]
jmp 0x4dbb5b
mov edi, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [edi + ebx*4]
mov dword [ebp - 0xfc], edx
mov esi, dword [eax + ecx*4]
test byte [esi + 0x1c], 4
mov byte [esi + 0x19], 0
je 0x4de946
mov eax, dword [edi + ebx*4 + 0xc]
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.004db8c0
mov ecx, edi
call fcn.004d42d0
mov byte [esi + 0x1a], 0
movzx ecx, word [edi + 0x1c]
mov dword [ebp - 0x108], eax
mov dword [ebp - 0xf8], edx
test cl, 4
jne 0x4de8f3
test cl, 8
jne 0x4de8b3
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xec]
mov ecx, dword [edx + ebx*4 + 8]
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x4dbb61
mov edx, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x108]
call fcn.005e61df
movsd xmm1, qword [edi + 8]
comisd xmm0, xmm1
jbe 0x4de8dc
mov eax, dword [ebp - 0xfc]
test al, 1
jne 0x4de8f3
dec eax
jmp 0x4de8ed
comisd xmm1, xmm0
jbe 0x4de8f3
mov eax, dword [ebp - 0xfc]
test al, 1
je 0x4de8f3
inc eax
mov dword [ebp - 0xfc], eax
mov edi, dword [ebp - 0x108]
lea eax, [ebp - 0x12c]
mov ecx, dword [esi]
xor edx, edx
push eax
push 0
push dword [ebp - 0xf8]
push edi
call fcn.004cde00
mov edx, eax
add esp, 0x10
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x4e1661
cmp dword [ebp - 0x12c], eax
jne 0x4de9c5
mov eax, dword [ebp - 0xf8]
mov byte [esi + 0x1a], 1
mov dword [esi + 0x38], edi
mov dword [esi + 0x3c], eax
jmp 0x4de9c5
mov ecx, dword [edi + ebx*4 + 0x10]
mov eax, dword [esi + 8]
mov dword [ebp - 0x2f8], eax
lea eax, [edx - 1]
test al, 1
mov word [ebp - 0x2f4], cx
mov ecx, dword [ebp - 0xf0]
sete al
lea eax, [eax*2 - 1]
mov byte [ebp - 0x2f2], al
mov eax, dword [edi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, 0x4000
mov dword [ebp - 0x2f0], ecx
test word [ecx + 0x1c], ax
je 0x4de995
call fcn.004d4010
mov ecx, dword [esi]
lea eax, [ebp - 0x12c]
push eax
push 0
push 0
push 0
lea edx, [ebp - 0x2f8]
call fcn.004cde00
mov edx, eax
add esp, 0x10
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x4e1661
mov byte [esi + 0x1a], al
mov eax, dword [ebp - 0xfc]
mov byte [esi + 0x1b], 0
mov dword [esi + 0x44], 0
mov ecx, dword [ebp - 0x12c]
cmp eax, 0x3d
jl 0x4dea3a
test ecx, ecx
js 0x4dea20
jne 0x4de9ec
cmp eax, 0x3e
je 0x4dea20
mov dword [ebp - 0x12c], 0
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xec]
inc ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x4dbb61
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x12c], 0
push eax
push dword [esi]
call fcn.004ce280
jmp 0x4dea70
test ecx, ecx
jg 0x4dea58
jne 0x4dea45
cmp eax, 0x3b
je 0x4dea58
mov eax, dword [esi]
xor ecx, ecx
cmp byte [eax + 0x51], 1
setne cl
mov dword [ebp - 0x12c], ecx
jmp 0x4dea87
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x12c], 0
push eax
push dword [esi]
call fcn.004ce410
mov edx, eax
add esp, 8
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x4e1661
mov byte [esi + 0x1a], 0
cmp dword [ebp - 0x12c], 0
je 0x4de9f6
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xec]
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
inc ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x4dbb61
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xf0]
mov byte [esi + 0x19], 0
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.004d42d0
mov ecx, dword [ebp - 0xdc]
mov dword [esi + 0x34], edx
mov edx, dword [ebp - 0xd8]
mov dword [esi + 0x30], eax
mov word [esi + 0x1a], 0x100
mov esi, dword [ebp - 0xe0]
inc esi
mov dword [ebp - 0xe0], esi
jmp 0x4dbb61
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xf0]
mov dword [ebp - 0x118], 0
cmp dword [edx + ebx*4 + 0x10], 0
mov eax, dword [eax + 0x38]
mov ecx, dword [edx + ebx*4 + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + ebx*4 + 0xc]
mov dword [ebp - 0x108], ecx
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov dword [ebp - 0x110], esi
jle 0x4debcf
mov eax, dword [ecx + 8]
xor edi, edi
mov dword [ebp - 0x1f4], eax
xor eax, eax
mov dx, word [edx + ebx*4 + 0x10]
mov word [ebp - 0x1f0], dx
mov dword [ebp - 0x1ec], esi
cmp ax, dx
jae 0x4debc1
mov ebx, dword [ebp - 0x110]
xor esi, esi
jmp 0x4deb90
lea ecx, [ebx + esi]
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x4debb0
call fcn.004d4010
mov ebx, dword [ebp - 0x1ec]
mov dx, word [ebp - 0x1f0]
inc edi
movzx eax, dx
add esi, 0x28
cmp edi, eax
jl 0x4deb90
mov ebx, dword [ebp - 0xf4]
mov esi, dword [ebp - 0x108]
lea edi, [ebp - 0x1f4]
jmp 0x4dec0e
mov ecx, dword [ecx + 8]
lea eax, [ebp - 0x118]
push eax
push 0xbf
lea edx, [ebp - 0xc8]
call fcn.004d8340
mov edi, eax
add esp, 8
test edi, edi
je 0x4e194f
mov edx, dword [esi + 0x18]
push edi
push dword [esi + 4]
mov esi, dword [ebp - 0x108]
mov ecx, dword [esi + 8]
call fcn.004d83b0
add esp, 8
mov eax, dword [ebp - 0xd8]
mov byte [edi + 6], 0
cmp byte [eax + ebx*4], 0x40
jne 0x4dec54
movzx edx, word [ebp - 0x1f0]
xor ecx, ecx
test edx, edx
jle 0x4dec54
mov eax, dword [ebp - 0x1ec]
add eax, 0x1c
test byte [eax], 1
jne 0x4dec43
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x4dec34
jmp 0x4dec54
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + ebx*4 + 8]
dec eax
mov dword [ebp - 0xe0], eax
mov ecx, dword [esi]
lea eax, [ebp - 0x1b0]
push eax
push 0
push 0
push 0
mov edx, edi
call fcn.004cde00
mov edx, dword [ebp - 0xd8]
add esp, 0x10
mov ecx, eax
mov dword [ebp - 0xe8], ecx
cmp dword [edx + ebx*4 + 0x10], 0
jne 0x4dec9f
mov edx, dword [ebp - 0x118]
mov ecx, dword [ebp - 0xdc]
call fcn.004b8f10
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe8]
test ecx, ecx
jne 0x4de51b
mov eax, dword [ebp - 0x1b0]
test eax, eax
mov dword [esi + 0xc], eax
mov al, 1
sete cl
mov byte [esi + 0x1b], 0
sub al, cl
mov dword [esi + 0x44], 0
mov byte [esi + 0x19], al
cmp byte [edx + ebx*4], 0x42
jne 0x4decf8
test ecx, ecx
je 0x4de9fc
mov ecx, dword [edx + ebx*4 + 8]
mov edi, dword [ebp - 0xec]
dec ecx
inc ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x4dbb61
test ecx, ecx
jne 0x4de9fc
mov ecx, dword [edx + ebx*4 + 8]
mov edi, dword [ebp - 0xec]
dec ecx
inc ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x4dbb61
mov ecx, dword [ebp - 0xd8]
xor edx, edx
mov dword [ebp - 0x108], 0
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ecx + ebx*4 + 4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
lea eax, [ebp - 0x108]
push eax
mov eax, dword [ebp - 0xf0]
push 0
mov ecx, dword [edi]
push dword [eax + esi*8 + 0x14]
push dword [eax + esi*8 + 0x10]
call fcn.004cde00
mov ecx, dword [ebp - 0xf0]
add esp, 0x10
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe8], eax
mov eax, dword [ecx + esi*8 + 0x10]
mov dword [edi + 0x38], eax
mov eax, dword [ecx + esi*8 + 0x14]
mov ecx, dword [ebp - 0x108]
test ecx, ecx
mov dword [edi + 0x3c], eax
sete al
mov byte [edi + 0x19], 0
mov byte [edi + 0x1a], al
mov dword [edi + 0x44], 0
mov byte [edi + 0x1b], 0
test ecx, ecx
je 0x4dedb9
mov eax, dword [edx + ebx*4 + 8]
dec eax
mov dword [ebp - 0xe0], eax
mov esi, dword [ebp - 0xe0]
mov dword [edi + 0xc], ecx
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
jmp 0x4de6bd
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x28]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 0x2c]
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xdc]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
inc esi
jmp 0x4dbb5b
mov edx, dword [ebp - 0xd8]
xorps xmm0, xmm0
mov esi, dword [ebp - 0xe4]
movlpd qword [ebp - 0x128], xmm0
mov dword [ebp - 0xfc], 0
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [esi + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x100], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x4df07b
test byte [eax + 0x1c], 2
jne 0x4deee2
lea edx, [ebp - 0xfc]
call fcn.004cdda0
mov edx, eax
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x4e16b6
cmp dword [ebp - 0xfc], eax
je 0x4dee8e
mov edx, dword [ebp - 0xd8]
lea esi, [eax + 1]
xor edi, edi
jmp 0x4deeee
mov eax, dword [ebp - 0x100]
lea edx, [ebp - 0x128]
mov ecx, dword [eax]
call fcn.004cd3b0
mov edi, dword [ebp - 0x124]
mov esi, dword [ebp - 0x128]
mov dword [ebp - 0xe8], eax
cmp edi, 0x7fffffff
jl 0x4deed4
jg 0x4deec2
cmp esi, 0xffffffff
jb 0x4deed4
mov eax, dword [ebp - 0x100]
mov edx, dword [ebp - 0xd8]
or dword [eax + 0x1c], 2
jmp 0x4deeee
mov edx, dword [ebp - 0xd8]
add esi, 1
adc edi, 0
jmp 0x4deeee
mov edi, dword [ebp - 0x124]
mov esi, dword [ebp - 0x128]
mov ecx, dword [edx + ebx*4 + 0xc]
test ecx, ecx
je 0x4def79
mov eax, dword [ebp - 0xe4]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x4def25
mov eax, dword [edx + 4]
test eax, eax
je 0x4def1a
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x4def11
mov eax, dword [edx + 0xc]
lea ecx, [ecx + ecx*4]
lea ebx, [eax + ecx*8]
jmp 0x4def31
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xf0]
lea ebx, [ecx + eax*8]
mov ecx, ebx
call fcn.004d4480
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x14]
cmp eax, 0xffffffff
jne 0x4def4f
cmp ecx, 0x7fffffff
je 0x4e16a9
mov edx, dword [ebp - 0x100]
test byte [edx + 0x1c], 2
jne 0x4e16a9
add eax, 1
adc ecx, 0
cmp edi, ecx
jg 0x4def73
jl 0x4def6f
cmp esi, eax
jae 0x4def73
mov esi, eax
mov edi, ecx
mov dword [ebx + 0x10], esi
mov dword [ebx + 0x14], edi
mov eax, dword [ebp - 0x100]
test byte [eax + 0x1c], 2
je 0x4df066
mov edi, dword [ebp - 0x138]
lea ecx, [ebp - 0xfc]
mov esi, dword [ebp - 0x134]
and edi, 0x3fffffff
add esi, 1
push ecx
mov ecx, dword [eax]
adc edi, 0
xor ebx, ebx
mov dword [ebp - 0x128], esi
push ebx
push edi
push esi
xor edx, edx
mov dword [ebp - 0x124], edi
call fcn.004cde00
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x4df060
mov eax, dword [ebp - 0xfc]
test eax, eax
jne 0x4df054
inc ebx
cmp ebx, 0x64
jge 0x4df054
lea eax, [ebp - 0x128]
push eax
push 8
call fcn.004baca0
mov esi, dword [ebp - 0x128]
add esp, 8
cmp ebx, 5
jge 0x4df00b
and esi, 0xffffff
xor edi, edi
jmp 0x4df017
mov edi, dword [ebp - 0x124]
and edi, 0x3fffffff
add esi, 1
lea eax, [ebp - 0xfc]
push eax
mov eax, dword [ebp - 0x100]
adc edi, 0
push 0
push edi
push esi
mov ecx, dword [eax]
xor edx, edx
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x124], edi
call fcn.004cde00
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xe8], ecx
test ecx, ecx
je 0x4defd5
jmp 0x4df060
test ecx, ecx
jne 0x4df060
test eax, eax
je 0x4e16a9
mov eax, dword [ebp - 0x100]
mov edx, dword [ebp - 0xd8]
mov word [eax + 0x1a], 0
mov dword [eax + 0x44], 0
jmp 0x4df087
mov edi, dword [ebp - 0x124]
mov esi, dword [ebp - 0x128]
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
mov dword [eax + 0x10], esi
mov esi, dword [ebp - 0xe0]
mov dword [eax + 0x14], edi
mov edi, eax
jmp 0x4de6bd
mov edi, dword [ebp - 0xd8]
mov eax, dword [edi + ebx*4 + 8]
mov ecx, dword [edi + ebx*4 + 4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xf8], eax
mov eax, dword [edi + ebx*4 + 0xc]
cmp dl, 0x46
jne 0x4df0eb
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
mov edi, dword [ecx + eax*8 + 0x10]
mov eax, dword [ecx + eax*8 + 0x14]
mov dword [ebp - 0x108], eax
jmp 0x4df0f6
cdq
mov edi, eax
mov dword [ebp - 0x108], edx
mov eax, edx
mov ecx, dword [ebp - 0xd8]
test byte [ecx + ebx*4 + 3], 1
je 0x4df10c
mov edx, dword [ebp - 0xe4]
inc dword [edx + 0x5c]
test byte [ecx + ebx*4 + 3], 2
je 0x4df131
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x134], edi
mov dword [ebp - 0x138], eax
mov dword [ecx + 0x20], edi
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
movzx eax, word [edx + esi*8 + 0x1c]
test al, 1
je 0x4df150
mov dword [edx + esi*8 + 4], 0
mov dword [edx + esi*8 + 0x18], 0
mov cl, byte [ecx + ebx*4 + 3]
mov byte [ebp - 0x101], cl
test cl, 0x10
je 0x4df16a
mov edx, dword [ebp - 0xf8]
mov edx, dword [edx + 0xc]
jmp 0x4df16c
xor edx, edx
test eax, 0x4000
je 0x4df17f
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + esi*8 + 0x10]
jmp 0x4df181
xor ecx, ecx
movzx eax, byte [ebp - 0x101]
push edx
shr eax, 3
xor edx, edx
and eax, 1
push eax
mov eax, dword [ebp - 0xf0]
push ecx
push dword [eax + esi*8 + 0x18]
push dword [eax + esi*8 + 4]
mov eax, dword [ebp - 0xf8]
mov esi, dword [ebp - 0x108]
push esi
push edi
mov ecx, dword [eax]
call fcn.004d0d90
mov ecx, dword [ebp - 0xf8]
mov edx, eax
add esp, 0x1c
mov dword [ebp - 0xe8], edx
mov word [ecx + 0x1a], 0
mov dword [ecx + 0x44], 0
test edx, edx
jne 0x4dd805
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0xc8]
test edx, edx
je 0x4e146a
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + ebx*4 + 0x10]
test eax, eax
je 0x4dd805
movsx ecx, byte [ecx + 0x18]
push esi
mov esi, dword [ebp - 0xdc]
add ecx, ecx
push edi
push eax
mov eax, dword [esi + 0x10]
push dword [eax + ecx*8]
mov eax, dword [ebp - 0xd8]
mov ecx, 0x17
test byte [eax + ebx*4 + 3], 4
mov eax, 0x12
cmovne eax, ecx
push eax
push dword [esi + 0xc4]
call edx
mov edi, dword [ebp - 0xec]
mov ecx, esi
mov esi, dword [ebp - 0xe0]
add esp, 0x18
jmp case.default.0x4dbbd0
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, esi
mov eax, dword [esi + 0x3c]
mov edi, dword [esi + 0x38]
mov dword [ebp - 0xf4], eax
call fcn.004d7ea0
mov edx, eax
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x4e1661
mov ecx, dword [esi]
call fcn.004d0fe0
mov ecx, eax
mov dword [esi + 0x44], 0
mov dword [ebp - 0xe8], ecx
test ecx, ecx
mov ecx, dword [ebp - 0xdc]
jne 0x4df2ee
mov edx, dword [ecx + 0xc8]
test edx, edx
je 0x4df2ee
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + ebx*4 + 0x10]
test eax, eax
je 0x4df2ee
test byte [esi + 0x1c], 4
je 0x4df2ee
push dword [ebp - 0xf4]
movsx ecx, byte [esi + 0x18]
mov esi, dword [ebp - 0xdc]
add ecx, ecx
push edi
push eax
mov eax, dword [esi + 0x10]
push dword [eax + ecx*8]
push 9
push dword [esi + 0xc4]
call edx
add esp, 0x18
mov ecx, esi
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xec]
test byte [edx + ebx*4 + 8], 1
je 0x4de3b6
mov esi, dword [ebp - 0xe4]
inc dword [esi + 0x5c]
mov esi, dword [ebp - 0xe0]
jmp 0x4de6bd
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + 0x5c]
add dword [ecx + 0x54], eax
inc esi
mov dword [ecx + 0x50], eax
mov dword [edx + 0x5c], 0
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
jmp 0x4dbb61
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + ebx*4 + 0xc]
mov edx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [ebp - 0x194]
push eax
mov eax, dword [ebp - 0xd8]
push dword [eax + ebx*4 + 0x10]
call fcn.004e3bf0
mov edx, dword [ebp - 0xd8]
add esp, 8
cmp dword [ebp - 0x194], 0
mov dword [ebp - 0xe8], eax
je 0x4e1483
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x4de6bd
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ecx + ebx*4 + 8]
mov ecx, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ebp - 0xe4]
mov edx, edi
mov dword [ebp - 0xec], edi
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
call fcn.004e3b80
jmp 0x4de6ab
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xe4]
mov eax, dword [ecx + ebx*4 + 8]
mov ecx, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xec], eax
mov eax, dword [esi + 0x38]
mov ebx, dword [eax + ecx*4]
mov ecx, ebx
mov edi, dword [ebx]
call fcn.004d7ea0
mov edx, eax
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x4e16b6
test byte [ebx + 0x1c], 4
mov ecx, edi
jne 0x4df473
lea edx, [ebp - 0x218]
call fcn.004cd3b0
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx + 0x58]
cdq
cmp dword [ebp - 0x214], edx
jg 0x4e17a1
mov esi, dword [ebp - 0x218]
jl 0x4df46b
cmp esi, eax
ja 0x4e17a1
mov dword [ebp - 0x180], esi
jmp 0x4df493
lea edx, [ebp - 0x180]
call fcn.004cd440
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0x180]
cmp esi, dword [ecx + 0x58]
ja 0x4e17a1
mov ecx, dword [ebp - 0xec]
mov edx, esi
push 0
call fcn.004d3e80
add esp, 4
test eax, eax
jne 0x4e194f
mov ecx, dword [ebp - 0xec]
mov edx, 0xbe10
mov ax, word [ecx + 0x1c]
and ax, dx
mov dword [ecx + 0x18], esi
or ax, 0x10
mov word [ecx + 0x1c], ax
test byte [ebx + 0x1c], 4
mov ebx, ecx
jne 0x4df501
push 0
push dword [ebx + 4]
xor edx, edx
mov ecx, edi
push esi
call fcn.004cd650
mov ecx, dword [ebp - 0xdc]
add esp, 0xc
mov esi, dword [ebp - 0xe0]
mov edi, ebx
mov byte [ebx + 0x1e], 1
mov dword [ebp - 0xe8], eax
jmp case.default.0x4dbbd0
push dword [ebx + 4]
push esi
push 0
push edi
call fcn.004cda30
mov edi, dword [ebp - 0xec]
add esp, 0x10
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
mov byte [ebx + 0x1e], 1
mov dword [ebp - 0xe8], eax
jmp case.default.0x4dbbd0
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 0x19], 0
je 0x4df568
mov esi, dword [ebp - 0xe0]
mov eax, 1
mov ecx, dword [ebp - 0xdc]
inc esi
mov word [edi + 0x1c], ax
jmp 0x4dbb5b
cmp byte [esi + 0x1b], 0
je 0x4df582
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x170], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x16c], eax
jmp 0x4df5fb
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x4df5b2
mov esi, dword [ecx]
lea edx, [ebp - 0x170]
push edx
push ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [ebp - 0xe4]
add esp, 8
mov edx, esi
mov dword [ebp - 0xe8], eax
call fcn.004d9430
jmp 0x4df5f5
mov ecx, esi
call fcn.004d7ea0
mov edx, eax
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x4e1661
cmp byte [esi + 0x1a], al
je 0x4df5e2
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x170], eax
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x16c], eax
jmp 0x4df5f5
mov ecx, dword [esi]
lea edx, [ebp - 0x170]
call fcn.004cd3b0
mov dword [ebp - 0xe8], eax
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x16c]
mov dword [edi + 0x14], eax
jmp 0x4de6bd
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
mov word [eax + 0x19], 1
mov dword [eax + 0x44], 0
test ecx, ecx
je 0x4dbfa7
call fcn.004c9cb0
mov edx, dword [ebp - 0xd8]
inc esi
mov ecx, dword [ebp - 0xdc]
jmp 0x4dbb5b
mov eax, dword [ebp - 0xd8]
lea edx, [ebp - 0x10c]
mov dword [ebp - 0x10c], 0
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi]
call fcn.004cdda0
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x10c]
mov byte [esi + 0x19], al
mov word [esi + 0x1a], 0
mov dword [esi + 0x44], 0
mov ecx, dword [edx + ebx*4 + 8]
test ecx, ecx
jle 0x4de521
test eax, eax
je 0x4de521
dec ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x4de6bd
mov eax, dword [ebp - 0xe4]
inc dword [eax + 0x74]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov eax, 1
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x11c], eax
cmp dword [esi + 0x40], 0
je 0x4df738
mov ecx, dword [ebp - 0xdc]
lea eax, [ebp - 0x11c]
push eax
mov edx, esi
call fcn.004e3700
mov dword [ebp - 0xe8], eax
add esp, 4
mov eax, dword [ebp - 0x11c]
jmp 0x4df77d
mov edi, dword [esi]
mov ecx, edi
call fcn.004cdb20
mov ecx, eax
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x4df76a
cmp byte [edi + 0x51], al
jne 0x4df757
lea eax, [ecx + 1]
jmp 0x4df770
xor eax, eax
mov ecx, edi
call fcn.004cdc90
mov dword [ebp - 0xe8], eax
xor eax, eax
jmp 0x4df770
mov eax, dword [ebp - 0xf4]
mov word [esi + 0x1a], 0
mov dword [esi + 0x44], 0
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xec]
mov byte [esi + 0x19], al
test eax, eax
je 0x4de521
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x4de6bd
mov edi, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
lea eax, [ebp - 0x154]
mov ecx, dword [ebp - 0xdc]
mov edx, esi
push eax
mov dword [ebp - 0x154], 0
call fcn.004e39d0
add esp, 4
jmp 0x4df840
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
cmp dword [eax + ecx*4], 0
je 0x4e1483
jmp 0x4df80e
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov eax, dword [edx + ebx*4 + 0xc]
mov dword [ebp - 0x154], eax
lea eax, [ebp - 0x154]
push eax
push dword [esi]
mov eax, dword [edx + ebx*4 + 0x10]
call eax
mov edi, dword [ebp - 0xd8]
add esp, 8
mov dword [esi + 0x44], 0
cmp dword [ebp - 0x154], 0
mov dword [ebp - 0xe8], eax
jne 0x4df87d
mov ecx, dword [ebp - 0xe4]
mov byte [esi + 0x19], 0
mov eax, dword [edi + ebx*4 + 8]
dec eax
mov dword [ebp - 0xe0], eax
movzx eax, byte [edi + ebx*4 + 3]
inc dword [ecx + eax*4 + 0x6c]
mov byte [esi + 0x1a], 0
jmp 0x4e1102
mov byte [esi + 0x19], 1
mov byte [esi + 0x1a], 0
jmp 0x4e1102
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
test byte [edx + ebx*4 + 3], 1
mov eax, dword [eax + 0x38]
mov ecx, dword [edx + ebx*4 + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + ebx*4 + 8]
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, dword [edi]
mov dword [ebp - 0xf4], ecx
je 0x4df8c8
mov eax, dword [ebp - 0xe4]
inc dword [eax + 0x5c]
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4df8f6
mov ecx, esi
call fcn.004d4010
mov edx, dword [ebp - 0xd8]
mov ecx, eax
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x4de51b
mov ecx, dword [ebp - 0xf4]
cmp dword [edi + 0x40], 0
je 0x4df92a
mov ecx, dword [ebp - 0xdc]
mov edx, edi
push esi
call fcn.004e35a0
mov edi, dword [ebp - 0xec]
add esp, 4
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0xe8], eax
jmp case.default.0x4dbbd0
test byte [edx + ebx*4 + 3], 0x10
je 0x4df936
mov eax, dword [edi + 0xc]
jmp 0x4df938
xor eax, eax
push eax
push dword [edx + ebx*4 + 0xc]
mov eax, dword [esi + 0x18]
push 0
push 0
cdq
push 0x62307d
push edx
mov edx, dword [esi + 4]
push eax
call fcn.004d0d90
mov ecx, dword [ebp - 0xdc]
add esp, 0x1c
mov esi, dword [ebp - 0xe0]
mov dword [edi + 0x44], 0
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0xe8], eax
jmp case.default.0x4dbbd0
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [esi + 8]
mov edi, dword [esi]
mov dword [ebp - 0x2e4], eax
mov ax, word [edx + ebx*4 + 0xc]
mov word [ebp - 0x2e0], ax
mov eax, dword [edx + ebx*4 + 8]
lea edx, [ebp - 0x2e4]
mov byte [ebp - 0x2de], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [ebp - 0x2dc], eax
lea eax, [ebp - 0x1ac]
push eax
push 0
push 0
push 0
call fcn.004cde00
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x4dfa03
cmp dword [ebp - 0x1ac], eax
jne 0x4dfa03
mov ecx, edi
call fcn.004d0fe0
mov dword [ebp - 0xe8], eax
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
mov dword [esi + 0x44], 0
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4dbbd0
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xe4]
mov ebx, dword [ebp - 0xec]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov eax, 1
mov ecx, esi
mov edi, dword [esi]
mov word [ebx + 0x1c], ax
call fcn.004d7ea0
mov edx, eax
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x4e16b0
cmp byte [esi + 0x19], al
jne 0x4dfaab
lea eax, [ebp - 0x160]
xorps xmm0, xmm0
push eax
mov edx, edi
movlpd qword [ebp - 0x160], xmm0
call fcn.004d90d0
mov edx, eax
add esp, 4
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x4e1661
mov eax, dword [ebp - 0x160]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0x15c]
mov dword [ebx + 0x14], eax
mov eax, 4
mov word [ebx + 0x1c], ax
inc dword [ebp - 0xe0]
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
jmp 0x4dbb61
mov eax, dword [ebp - 0xd8]
cmp dl, 0x70
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0xf8], 0
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0xd8]
mov ax, word [eax + ebx*4 + 0x10]
mov word [ebp - 0x280], ax
sbb al, al
mov byte [ebp - 0x27e], al
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x27c], eax
lea edx, [ebp - 0x284]
lea eax, [ebp - 0xf8]
push eax
call fcn.004d9240
mov edx, dword [ebp - 0xd8]
add esp, 4
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xf8]
test byte [edx + ebx*4], 1
jne 0x4dfb61
neg eax
jmp 0x4dfb62
inc eax
test eax, eax
jle 0x4e1483
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x4de6bd
mov eax, dword [ecx + 4]
xor edx, edx
test eax, eax
je 0x4dfbc0
nop
cmp dword [eax + 0x28], 0xbdf20da3
jne 0x4dfbb3
mov ecx, dword [eax + 0x58]
test ecx, 0x200
je 0x4dfbb3
and cl, 0xc
cmp cl, 8
jae 0x4dfbb3
cmp dword [eax + 0x4c], 0
jl 0x4dfbb3
inc edx
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x4dfb90
mov ecx, dword [ebp - 0xdc]
mov eax, 1
mov word [edi + 0x1c], ax
cmp edx, eax
jg 0x4e1709
mov edx, dword [ebp - 0xd8]
lea edi, [ebp - 0x100]
mov ecx, dword [ecx + 0x10]
push edi
mov dword [ebp - 0x100], 0
mov eax, dword [edx + ebx*4 + 0xc]
mov edx, dword [edx + ebx*4 + 4]
mov dword [ebp - 0xf4], eax
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004d1960
mov edi, dword [ebp - 0xec]
add esp, 4
mov ecx, dword [ebp - 0x100]
mov dword [ebp - 0xe8], eax
mov eax, 4
mov word [edi + 0x1c], ax
mov eax, ecx
cdq
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0xe8]
mov dword [edi + 0x14], edx
test eax, eax
jne 0x4de6b1
test ecx, ecx
je 0x4de6b1
mov eax, dword [ebp - 0xd8]
push dword [eax + ebx*4 + 4]
mov ebx, dword [ebp - 0xf4]
mov edx, ebx
push ecx
mov ecx, dword [ebp - 0xdc]
call fcn.004f1e50
mov al, bl
add esp, 8
inc al
mov byte [ebp - 0x12d], al
jmp 0x4de6b1
mov edx, dword [ebp - 0xd8]
lea eax, [ebp - 0x110]
mov ecx, dword [ecx + 0x10]
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0x110], 0
cmp dword [edx + ebx*4 + 0xc], 0
cmove eax, dword [ebp - 0xf4]
push eax
mov eax, dword [edx + ebx*4 + 8]
mov edx, dword [edx + ebx*4 + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004d16a0
mov edx, dword [ebp - 0xd8]
add esp, 4
mov dword [ebp - 0xe8], eax
cmp dword [edx + ebx*4 + 0xc], 0
je 0x4e1483
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x110]
add dword [ecx + 0x5c], eax
mov ecx, dword [edx + ebx*4 + 0xc]
test ecx, ecx
jle 0x4e1483
mov ebx, dword [ebp - 0xf0]
lea ecx, [ecx + ecx*4]
cdq
add dword [ebx + ecx*8 + 0x10], eax
adc dword [ebx + ecx*8 + 0x14], edx
jmp 0x4de6b1
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ecx + 0x40]
test edx, edx
je 0x4dfd45
mov ecx, dword [ebp - 0xdc]
call fcn.004e2f90
inc dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
jmp 0x4dbb61
mov ecx, dword [ecx]
push 0
mov edx, dword [ecx + 0x44]
mov ecx, dword [ecx]
call fcn.004d16a0
add esp, 4
jmp 0x4de6ab
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xf4], 0
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xdc]
shl ecx, 4
add ecx, dword [eax + 0x10]
xor eax, eax
cmp dl, 0x76
lea edx, [ebp - 0xf4]
setne al
mov ecx, dword [ecx + 4]
inc eax
push eax
call fcn.004d14b0
mov dword [ebp - 0xe8], eax
add esp, 4
mov eax, dword [ebp - 0xf4]
cdq
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
jmp 0x4de6b1
mov esi, dword [ebp - 0xd8]
mov eax, str.sqlite_master
mov ecx, str.sqlite_temp_master
mov edx, dword [esi + ebx*4 + 4]
cmp edx, 1
push dword [esi + ebx*4 + 0x10]
mov ebx, dword [ebp - 0xdc]
cmovne ecx, eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0xe4]
add eax, 0x2c
mov dword [ebp - 0x208], edx
mov dword [ebp - 0x20c], eax
add edx, edx
mov eax, dword [ebx + 0x10]
push ecx
push dword [eax + edx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push ebx
call fcn.004ba910
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x4dfe1e
mov dword [ebp - 0xe8], 7
mov ecx, ebx
jmp 0x4dfe72
push 0
lea eax, [ebp - 0x210]
mov byte [ebx + 0x89], 1
push eax
push fcn.005042b0
push esi
push ebx
mov dword [ebp - 0x204], 0
call fcn.00500960
add esp, 0x14
mov edx, esi
test eax, eax
mov ecx, ebx
cmove eax, dword [ebp - 0x204]
mov dword [ebp - 0xe8], eax
call fcn.004b8f10
mov edx, dword [ebp - 0xe8]
mov ecx, ebx
mov byte [ecx + 0x89], 0
test edx, edx
je 0x4dfe7f
call fcn.004ef9e0
mov edx, dword [ebp - 0xe8]
mov ecx, ebx
cmp edx, 7
je 0x4e1955
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4dbbd0
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + ebx*4 + 4]
call fcn.004edef0
jmp 0x4de6ab
mov eax, dword [ebp - 0xd8]
push dword [eax + ebx*4 + 0x10]
mov edx, dword [eax + ebx*4 + 4]
call fcn.004efcc0
mov ecx, dword [ebp - 0xdc]
add esp, 4
inc dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
jmp 0x4dbb61
mov eax, dword [ebp - 0xd8]
push dword [eax + ebx*4 + 0x10]
mov edx, dword [eax + ebx*4 + 4]
call fcn.004ef7c0
mov ecx, dword [ebp - 0xdc]
add esp, 4
inc dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
jmp 0x4dbb61
mov eax, dword [ebp - 0xd8]
push dword [eax + ebx*4 + 0x10]
mov edx, dword [eax + ebx*4 + 4]
call fcn.00510a20
mov ecx, dword [ebp - 0xdc]
add esp, 4
inc dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
jmp 0x4dbb61
mov esi, dword [ebp - 0xd8]
mov edi, dword [esi + ebx*4 + 8]
mov dword [ebp - 0x110], edi
lea edx, [edi*4 + 4]
call fcn.004b9150
mov edx, eax
mov dword [ebp - 0x108], edx
test edx, edx
je 0x4e194f
mov ecx, dword [esi + ebx*4 + 0xc]
lea eax, [ecx + ecx*4]
mov ecx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0xf8], eax
xor esi, esi
mov eax, dword [ebp - 0xf0]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*8]
mov dword [ebp - 0x118], eax
test edi, edi
jle 0x4dffc4
mov ebx, dword [ebp - 0x110]
mov edi, eax
lea ecx, [ecx]
mov ecx, edi
call fcn.004d42d0
mov edx, dword [ebp - 0x108]
add edi, 0x28
mov dword [edx + esi*4], eax
inc esi
cmp esi, ebx
jl 0x4dffa0
mov ebx, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x110]
mov ecx, dword [ebp - 0xf0]
lea eax, [ebp - 0x1b4]
push eax
mov eax, dword [ebp - 0xf8]
mov dword [edx + esi*4], 0
push dword [ecx + eax*8 + 0x10]
mov eax, dword [ebp - 0xd8]
push edi
movzx eax, byte [eax + ebx*4 + 3]
mov ebx, dword [ebp - 0xdc]
add eax, eax
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004d2880
mov edx, dword [ebp - 0x108]
add esp, 0xc
mov ecx, ebx
mov edi, eax
call fcn.004b8f10
mov ecx, dword [ebp - 0xf8]
mov ebx, dword [ebp - 0xf0]
mov esi, dword [ebp - 0x1b4]
mov eax, esi
cdq
sub dword [ebx + ecx*8 + 0x10], eax
sbb dword [ebx + ecx*8 + 0x14], edx
mov ebx, dword [ebp - 0x118]
mov ecx, ebx
call fcn.004d4610
test esi, esi
je 0x4e005f
test edi, edi
je 0x4e194f
push fcn.004b8e70
push 1
push 0xffffffffffffffff
mov edx, edi
mov ecx, ebx
call fcn.004d4930
add esp, 0xc
movzx edx, byte [ebp - 0x114]
mov ecx, ebx
call fcn.004d3e60
inc dword [ebp - 0xe0]
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
jmp 0x4dbb61
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 0x20
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
lea edi, [eax + eax*4]
jne 0x4e00c5
mov ecx, esi
call fcn.004d4690
test byte [esi + 0x1c], 0x20
je 0x4e194f
mov ebx, dword [ebp - 0xf0]
mov ecx, dword [esi + 0x10]
push dword [ebx + edi*8 + 0x14]
push dword [ebx + edi*8 + 0x10]
call fcn.004c15c0
add esp, 8
inc dword [ebp - 0xe0]
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
jmp 0x4dbb61
mov edi, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [edi + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea esi, [ecx + eax*8]
je 0x4e0159
mov ecx, dword [esi + 0x10]
lea edx, [ebp - 0x228]
call fcn.004c1990
test eax, eax
je 0x4e0159
mov eax, dword [edi + ebx*4 + 0xc]
mov ecx, dword [ebp - 0xf0]
push dword [ebp - 0x224]
push dword [ebp - 0x228]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.004d4660
add esp, 8
jmp 0x4e1102
mov ecx, esi
call fcn.004d4610
mov ecx, dword [edi + ebx*4 + 8]
jmp 0x4e10fb
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 0x20
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 0xc]
lea edi, [eax + eax*4]
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0xf4], eax
jne 0x4e01b4
mov ecx, esi
call fcn.004d4690
test byte [esi + 0x1c], 0x20
je 0x4e194f
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf0]
test eax, eax
je 0x4e01dd
push dword [edx + edi*8 + 0x14]
mov ecx, dword [esi + 0x10]
push dword [edx + edi*8 + 0x10]
mov edx, eax
call fcn.004c19f0
add esp, 8
test eax, eax
jne 0x4de88c
mov eax, dword [ebp - 0xf4]
test eax, eax
js 0x4e00de
jmp 0x4e00c5
mov ecx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xf0]
cmp byte [ecx + ebx*4 + 3], 0
mov eax, dword [ecx + ebx*4 + 0xc]
mov edx, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x110], edx
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0xf4], eax
je 0x4e0240
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + 0x14]
mov eax, dword [eax + 0xb0]
test eax, eax
je 0x4e0240
jmp 0x4e0230
cmp dword [eax + 0x18], ecx
je 0x4dfd28
mov eax, dword [eax + 4]
test eax, eax
jne 0x4e0230
mov ecx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xdc]
mov eax, dword [ecx + 0xb8]
cmp eax, dword [esi + 0x80]
jge 0x4e172a
mov ebx, dword [ebp - 0xf4]
test byte [ebx + 0x1c], 0x40
jne 0x4e03ee
mov ecx, dword [edx + 0xc]
mov edi, dword [edx + 8]
add edi, ecx
lea eax, [edi + edi*4]
lea ecx, [ecx + eax*2]
mov eax, dword [edx + 0x10]
lea ecx, [ecx + 0x12]
lea edx, [eax + ecx*4]
mov ecx, esi
call fcn.004b9120
mov esi, eax
test esi, esi
je 0x4e194f
mov ecx, ebx
call fcn.004d4250
mov ecx, dword [ebp - 0xe4]
mov eax, 0x40
mov edx, dword [ebp - 0x110]
mov word [ebx + 0x1c], ax
mov dword [ebx + 0x10], esi
mov dword [esi], ecx
mov dword [esi + 0x3c], edi
mov eax, dword [edx + 0xc]
mov dword [esi + 0x40], eax
mov eax, dword [ebp - 0xe0]
mov dword [esi + 0x2c], eax
mov eax, dword [ecx + 8]
mov dword [esi + 0xc], eax
mov eax, dword [ecx + 0x1c]
mov dword [esi + 0x34], eax
mov eax, dword [ecx + 0x38]
mov dword [esi + 0x14], eax
mov eax, dword [ecx + 0x24]
mov dword [esi + 0x28], eax
mov eax, dword [ecx + 4]
mov dword [esi + 8], eax
mov eax, dword [ecx + 0x20]
mov dword [esi + 0x30], eax
mov eax, dword [edx + 0x14]
mov dword [esi + 0x18], eax
mov eax, dword [ecx + 0xc8]
mov dword [esi + 0x10], eax
mov eax, dword [ecx + 0xc4]
mov dword [esi + 0x38], eax
lea eax, [edi*4 + 9]
add eax, edi
lea ecx, [esi + eax*8]
lea eax, [esi + 0x48]
cmp eax, ecx
je 0x4e0330
mov edi, dword [ebp - 0xdc]
mov ebx, 0x80
mov word [eax + 0x1c], bx
mov dword [eax], edi
add eax, 0x28
cmp eax, ecx
jne 0x4e0323
mov ecx, dword [ebp - 0xe4]
inc dword [ecx + 0xb8]
lea ebx, [esi + 0x20]
mov eax, dword [ecx + 0xb0]
or edi, 0xffffffff
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x134]
mov dword [ebx], eax
mov eax, dword [ebp - 0x138]
mov dword [ebx + 4], eax
mov eax, dword [ecx + 0x5c]
mov dword [esi + 0x44], eax
mov dword [ecx + 0xb0], esi
mov dword [ecx + 0x5c], 0
mov dword [ecx + 8], ebx
mov eax, dword [esi + 0x3c]
mov dword [ecx + 0x1c], eax
movzx eax, word [esi + 0x40]
mov esi, dword [ebp - 0xe4]
mov dword [ecx + 0x24], eax
mov eax, dword [ecx + 0x1c]
inc eax
mov dword [ebp - 0xf0], ebx
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov dword [esi + 0x38], ecx
mov eax, dword [edx]
mov dword [ebp - 0xd8], eax
mov dword [esi + 4], eax
mov eax, dword [edx + 4]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x24]
lea ecx, [ecx + eax*4]
mov dword [esi + 0xc8], ecx
mov eax, dword [edx + 0x10]
push eax
push 0
push ecx
mov dword [esi + 0xc4], eax
call fcn.005594a0
mov ecx, dword [ebp - 0xdc]
add esp, 0xc
mov edx, dword [ebp - 0xd8]
inc edi
mov dword [ebp - 0xe0], edi
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
jmp 0x4dbb61
mov esi, dword [ebx + 0x10]
jmp 0x4e0336
mov eax, dword [ebp - 0xe4]
push 0x1000
mov edx, dword [eax + 0xb0]
mov eax, dword [edx + 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4 + 4]
mov ecx, dword [ebp - 0xd8]
add eax, dword [ecx + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea edx, [eax + ecx*8]
mov ecx, edi
call fcn.004d4770
mov ecx, dword [ebp - 0xdc]
add esp, 4
inc dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
jmp 0x4dbb61
test dword [ecx + 0x18], 0x1000000
mov eax, dword [ebp - 0xd8]
je 0x4e0480
mov eax, dword [eax + ebx*4 + 8]
cdq
add dword [ecx + 0x1f8], eax
adc dword [ecx + 0x1fc], edx
inc esi
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
jmp 0x4dbb61
cmp dword [eax + ebx*4 + 4], 0
mov eax, dword [eax + ebx*4 + 8]
cdq
je 0x4e04aa
add dword [ecx + 0x1f0], eax
adc dword [ecx + 0x1f4], edx
inc esi
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
jmp 0x4dbb61
mov ebx, dword [ebp - 0xe4]
add dword [ebx + 0x90], eax
adc dword [ebx + 0x94], edx
inc esi
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
jmp 0x4dbb61
mov edx, dword [ebp - 0xd8]
cmp dword [edx + ebx*4 + 4], 0
je 0x4e050a
mov eax, dword [ecx + 0x1f0]
or eax, dword [ecx + 0x1f4]
jne 0x4dd472
mov eax, dword [ecx + 0x1f8]
or eax, dword [ecx + 0x1fc]
jne 0x4dd472
mov esi, dword [edx + ebx*4 + 8]
dec esi
inc esi
jmp 0x4dbb5b
mov eax, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xe4]
mov eax, dword [eax + 0x90]
or eax, dword [edi + 0x94]
mov edi, dword [ebp - 0xec]
jmp 0x4e04e7
mov eax, dword [ebp - 0xe4]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x4e055f
mov eax, dword [edx + 4]
test eax, eax
je 0x4e054a
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x4e0541
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea edi, [eax + ecx*8]
jmp 0x4e0575
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [eax + ebx*4 + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.004d4480
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + ebx*4 + 8]
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004d4480
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
cmp dword [edi + 0x14], ecx
jg 0x4e00de
jl 0x4e05b3
cmp dword [edi + 0x10], eax
jae 0x4e00de
inc dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
mov dword [edi + 0x14], ecx
mov ecx, dword [ebp - 0xdc]
mov dword [edi + 0x10], eax
mov edi, dword [ebp - 0xec]
jmp 0x4dbb61
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
cmp dword [edi + eax*8 + 0x14], 0
mov edi, dword [ebp - 0xec]
jl 0x4dd472
jg 0x4dd46d
mov edi, dword [ebp - 0xf0]
cmp dword [edi + eax*8 + 0x10], 0
mov edi, dword [ebp - 0xec]
jbe 0x4dd472
mov esi, dword [edx + ebx*4 + 8]
dec esi
inc esi
jmp 0x4dbb5b
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
cmp dword [edi + eax*8 + 0x14], 0
mov edi, dword [ebp - 0xec]
jg 0x4dd472
jl 0x4dd46d
mov edi, dword [ebp - 0xf0]
cmp dword [edi + eax*8 + 0x10], 0
mov edi, dword [ebp - 0xec]
jae 0x4dd472
mov esi, dword [edx + ebx*4 + 8]
dec esi
inc esi
jmp 0x4dbb5b
mov edx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ebx*4 + 0xc]
cdq
add dword [esi + ecx*8 + 0x10], eax
mov eax, dword [esi + ecx*8 + 0x10]
adc dword [esi + ecx*8 + 0x14], edx
or eax, dword [esi + ecx*8 + 0x14]
mov edx, dword [ebp - 0xd8]
jne 0x4e06c1
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
inc ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x4dbb61
mov ecx, dword [ebp - 0xe0]
inc ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x4dbb61
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
movzx edx, byte [eax + ebx*4 + 3]
mov eax, dword [eax + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0xe4]
mov esi, dword [eax + 0xc]
xor eax, eax
test edx, edx
jle 0x4e071b
lea esp, [esp]
mov dword [esi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, edx
jl 0x4e0710
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x2a0], eax
inc dword [eax + 0x18]
mov eax, 1
mov ecx, dword [ebp - 0x2d0]
mov word [ebp - 0x2ac], ax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x2c4], 0
mov dword [ebp - 0x2a4], 0
mov dword [ebp - 0x2a8], 0
mov dword [ebp - 0x2c8], eax
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x29c], 0
mov byte [ebp - 0x28c], 0
test byte [ecx + 2], 0x20
je 0x4e07b1
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + ebx*4 - 4]
mov dword [ebp - 0x29c], eax
push esi
push edx
lea eax, [ebp - 0x2d0]
push eax
mov eax, dword [ecx + 0x10]
call eax
add esp, 0xc
cmp dword [ebp - 0x290], 0
je 0x4e0802
mov dl, 1
lea ecx, [ebp - 0x2c8]
call fcn.004d4bb0
push eax
mov eax, dword [ebp - 0xe4]
push 0x633bc0
push dword [ebp - 0xdc]
add eax, 0x2c
push eax
call fcn.004b92f0
mov eax, dword [ebp - 0x290]
add esp, 0x10
mov dword [ebp - 0xe8], eax
cmp byte [ebp - 0x28c], 0
je 0x4e0831
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + ebx*4 - 0x10]
test eax, eax
je 0x4e0831
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ecx + eax*8]
call fcn.004d4660
add esp, 8
lea ecx, [ebp - 0x2c8]
call fcn.004d4250
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4dbbd0
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov edx, dword [ecx + ebx*4 + 0x10]
mov ecx, esi
call fcn.004d4170
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x4e089f
mov dl, 1
mov ecx, esi
call fcn.004d4bb0
push eax
mov eax, dword [ebp - 0xe4]
push 0x633bc0
push dword [ebp - 0xdc]
add eax, 0x2c
push eax
call fcn.004b92f0
add esp, 0x10
movzx edx, byte [ebp - 0x114]
mov ecx, esi
call fcn.004d3e60
mov ecx, esi
call fcn.004d4740
mov ecx, dword [ebp - 0xdc]
test eax, eax
jne 0x4e17a1
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4dbbd0
mov esi, dword [ebp - 0xd8]
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0xd0]
mov dword [ebp - 0xd4], 0
push eax
push dword [esi + ebx*4 + 8]
mov edx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0xcc], 0xffffffff
mov dword [ebp - 0xd0], 0xffffffff
call fcn.005245a0
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xe8], ecx
cmp ecx, 5
jne 0x4e0930
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xd4], 1
mov eax, dword [esi + ebx*4 + 0xc]
xor esi, esi
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebp + esi*4 - 0xd4]
mov ecx, edi
cdq
push edx
push eax
call fcn.004d4660
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x4e0942
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4dbbd0
mov eax, dword [ebp - 0xd8]
mov esi, dword [eax + ebx*4 + 0xc]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xdc]
add ecx, ecx
cmp esi, 0xffffffff
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xf4], eax
mov eax, dword [eax + 4]
mov edi, dword [eax]
movzx edx, byte [edi + 5]
cmove esi, edx
mov dword [ebp - 0x110], edx
cmp byte [edi + 0x10], 3
jae 0x4e09ca
mov eax, dword [edi + 0x40]
cmp dword [eax], 0
je 0x4e09cc
cmp dword [edi + 0x4c], 0
jl 0x4e09cc
jg 0x4e09ca
cmp dword [edi + 0x48], 0
jbe 0x4e09cc
mov esi, edx
cmp byte [edi + 0xf], 0
mov ecx, 0x62307d
jne 0x4e09dd
mov ecx, dword [edi + 0xa8]
cmp esi, 5
jne 0x4e09fd
call fcn.004bb500
test eax, eax
je 0x4e09f6
mov ecx, edi
call fcn.004c6950
test eax, eax
jne 0x4e09fd
mov esi, edx
jmp 0x4e0a77
cmp esi, edx
je 0x4e0a77
cmp edx, 5
je 0x4e0a0b
cmp esi, 5
jne 0x4e0a77
mov ecx, dword [ebp - 0xdc]
cmp byte [ecx + 0x3e], 0
je 0x4e1757
cmp dword [ecx + 0x90], 1
jg 0x4e1757
cmp edx, 5
jne 0x4e0a42
mov ecx, edi
call fcn.004c6af0
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x4e0a71
mov edx, esi
jmp 0x4e0a4c
cmp edx, 4
jne 0x4e0a53
mov edx, 2
mov ecx, edi
call fcn.004c6810
mov ecx, dword [ebp - 0xf4]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.004d2e60
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x4e0a77
mov esi, dword [ebp - 0x110]
mov edx, esi
mov ecx, edi
call fcn.004c6810
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
mov ecx, dword [ecx + ebx*4 + 8]
lea ecx, [ecx + ecx*4]
lea ebx, [edx + ecx*8]
mov ecx, 0xa02
mov dword [ebp - 0xec], ebx
mov word [ebx + 0x1c], cx
cmp eax, 6
jne 0x4e0aae
xor ecx, ecx
jmp 0x4e0ab5
mov ecx, dword [eax*4 + 0x62a2ec]
mov dword [ebx + 4], ecx
call fcn.004bb500
movzx edx, byte [ebp - 0x114]
mov ecx, ebx
mov dword [ebx + 0x18], eax
mov byte [ebx + 0x1e], 1
call fcn.004d3e60
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4dbbd0
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xdc]
lea ecx, [ecx + 0x2c]
call fcn.00514500
jmp 0x4de6ab
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xdc]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + ecx*8 + 4]
call fcn.004cc990
mov edx, dword [ebp - 0xd8]
mov ecx, eax
mov dword [ebp - 0xe8], ecx
cmp ecx, 0x65
jne 0x4e1483
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x4de6bd
mov edx, dword [ebp - 0xd8]
cmp dword [edx + ebx*4 + 4], 0
jne 0x4e0b75
call fcn.004d9370
inc esi
jmp 0x4dbb5b
mov eax, dword [ebp - 0xe4]
or dword [eax + 0x58], 0x20
inc esi
jmp 0x4dbb5b
mov edx, dword [ebp - 0xd8]
mov al, byte [edx + ebx*4 + 0xc]
mov byte [ebp - 0x164], al
test al, al
jne 0x4e0ba6
test dword [ecx + 0x18], 0x4000
jne 0x4de6bd
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [ecx + 0x10]
add eax, eax
push dword [ebp - 0x164]
mov edx, dword [edx + ebx*4 + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004d2d80
mov ecx, eax
add esp, 4
mov dword [ebp - 0xe8], ecx
cmp cl, 6
jne 0x4de6b1
mov eax, dword [ebp - 0xd8]
push dword [eax + ebx*4 + 0x10]
mov eax, dword [ebp - 0xe4]
push str.database_table_is_locked:__s
push dword [ebp - 0xdc]
add eax, 0x2c
push eax
call fcn.004b92f0
add esp, 0x10
jmp 0x4de6b1
mov eax, dword [ebp - 0xd8]
mov esi, dword [eax + ebx*4 + 0x10]
mov edx, esi
call fcn.00515820
mov dword [ebp - 0xe8], eax
test esi, esi
je 0x4dccc7
mov edx, dword [esi + 8]
mov ecx, dword [ebp - 0xe4]
call fcn.004d9430
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4dbbd0
mov eax, dword [ebp - 0xe4]
add eax, 0x2c
push eax
mov eax, dword [ebp - 0xd8]
push dword [eax + ebx*4 + 0x10]
mov edx, dword [eax + ebx*4 + 4]
call fcn.005153a0
add esp, 8
jmp 0x4de6ab
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + 0x58]
and eax, 0xfffffffb
or eax, 8
mov dword [edx + 0x58], eax
mov eax, dword [ebp - 0xd8]
push dword [eax + ebx*4 + 0x10]
mov edx, dword [eax + ebx*4 + 4]
call fcn.00515670
mov ecx, dword [ebp - 0xe4]
add esp, 4
and dword [ecx + 0x58], 0xfffffff3
jmp 0x4de6ab
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x120], 0
mov eax, dword [eax + ebx*4 + 0x10]
mov esi, dword [eax + 8]
lea eax, [ebp - 0x120]
push eax
push esi
mov edi, dword [esi]
mov eax, dword [edi + 0x18]
call eax
mov ecx, dword [ebp - 0xe4]
add esp, 8
mov edx, esi
mov dword [ebp - 0xe8], eax
call fcn.004d9430
cmp dword [ebp - 0xe8], 0
jne 0x4dd805
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp - 0xe4]
push 0
push 0xffffffffffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0xd8]
push 0
mov edx, dword [eax + ebx*4 + 4]
call fcn.004db800
add esp, 0xc
test eax, eax
je 0x4e0d3b
mov ecx, dword [ebp - 0x120]
inc dword [ebp - 0xe0]
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0xdc]
jmp 0x4dbb61
mov eax, dword [ebp - 0xdc]
push dword [ebp - 0x120]
mov byte [eax + 0x40], 1
mov eax, dword [edi + 0x1c]
call eax
mov edi, dword [ebp - 0xec]
add esp, 4
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4dbbd0
mov ecx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xf0]
add edi, 0x28
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ecx + ebx*4 + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xe4]
mov esi, dword [edi + edx*8 + 0x10]
lea edi, [edi + edx*8]
movd xmm0, edi
mov dword [ebp - 0x110], edi
mov eax, dword [eax + 0x38]
pshufd xmm3, xmm0, 0
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0xfc], eax
mov eax, dword [eax + 0x20]
mov dword [ebp - 0xf8], eax
mov eax, dword [eax]
mov dword [ebp - 0x120], eax
mov eax, dword [eax]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0xf0]
mov eax, dword [eax + edx*8 + 0x10]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0xe4]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0xf4], edx
test esi, esi
jle 0x4e0e9f
cmp esi, 8
jb 0x4e0e87
cmp dword [0x68bab4], 2
jl 0x4e0e87
movdqa xmm2, xmmword [0x63c480]
mov eax, esi
and eax, reloc.OLEAUT32.dll_VariantInit
jns 0x4e0e1a
dec eax
or eax, 0xfffffff8
inc eax
movdqa xmm1, xmmword [0x63c490]
mov edi, esi
sub edi, eax
jmp 0x4e0e30
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
lea edx, [edx + 0x20]
paddd xmm0, xmm2
add ecx, 8
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movdqu xmmword [edx - 0x20], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movdqu xmmword [edx - 0x10], xmm0
cmp ecx, edi
jl 0x4e0e30
mov edx, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x110]
cmp ecx, esi
jge 0x4e0e9f
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [edx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, esi
jl 0x4e0e94
mov ecx, dword [ebp - 0xe4]
mov edi, dword [ebp - 0x118]
push edx
push esi
mov eax, dword [ecx + 0x58]
mov esi, dword [ebp - 0xf8]
and eax, 0xfffffff7
or eax, 4
mov dword [ecx + 0x58], eax
mov eax, dword [ebp - 0xd8]
push dword [eax + ebx*4 + 0x10]
mov eax, dword [edi + 0x20]
push dword [ebp - 0x108]
push esi
call eax
mov edx, dword [ebp - 0x120]
add esp, 0x14
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe4]
mov ecx, eax
and dword [eax + 0x58], 0xfffffff3
call fcn.004d9430
cmp dword [ebp - 0xe8], 0
jne 0x4e0f1e
mov eax, dword [edi + 0x28]
push esi
call eax
mov edx, dword [ebp - 0xd8]
add esp, 4
test eax, eax
je 0x4e0f24
mov eax, dword [edx + ebx*4 + 8]
dec eax
mov dword [ebp - 0xe0], eax
jmp 0x4e0f24
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xfc]
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
mov byte [eax + 0x19], 0
jmp 0x4de6bd
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + ebx*4 + 0xc]
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0x110], ecx
cmp byte [ecx + 0x19], 0
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xf4], eax
je 0x4e0fa1
mov ecx, eax
call fcn.004d4610
inc dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
jmp 0x4dbb61
mov eax, dword [ecx + 0x20]
push 0x48
push 0
mov edi, dword [eax]
lea eax, [ebp - 0x340]
push eax
mov esi, dword [edi]
call fcn.005594a0
mov edx, dword [ebp - 0xf4]
lea ecx, [ebp - 0x338]
add esp, 0xc
call fcn.004d48e0
mov eax, dword [ebp - 0x31c]
and eax, 0xbe01
or eax, 1
mov word [ebp - 0x31c], ax
mov eax, dword [ebp - 0xd8]
push dword [eax + ebx*4 + 8]
lea eax, [ebp - 0x340]
push eax
mov eax, dword [ebp - 0x110]
push dword [eax + 0x20]
mov eax, dword [esi + 0x2c]
call eax
mov ecx, dword [ebp - 0xe4]
add esp, 0xc
mov edx, edi
mov ebx, eax
call fcn.004d9430
mov eax, dword [ebp - 0x300]
lea ecx, [ebp - 0x338]
movzx edx, byte [ebp - 0x114]
test eax, eax
cmovne ebx, eax
mov dword [ebp - 0xe8], ebx
call fcn.004d3e60
mov ecx, dword [ebp - 0xf4]
lea edx, [ebp - 0x338]
call fcn.004d48e0
mov ecx, dword [ebp - 0xf4]
call fcn.004d4740
mov ecx, dword [ebp - 0xdc]
test eax, eax
jne 0x4e17a1
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4dbbd0
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 0x19], 0
jne 0x4e147d
mov eax, dword [edi + 0x20]
mov edx, dword [ebp - 0xe4]
mov esi, dword [eax]
mov eax, dword [edx + 0x58]
and eax, 0xfffffff7
or eax, 4
mov ecx, dword [esi]
mov dword [edx + 0x58], eax
push dword [edi + 0x20]
mov dword [ebp - 0xf4], ecx
mov eax, dword [ecx + 0x24]
call eax
mov dword [ebp - 0xe8], eax
add esp, 4
mov eax, dword [ebp - 0xe4]
mov edx, esi
mov ecx, eax
and dword [eax + 0x58], 0xfffffff3
call fcn.004d9430
cmp dword [ebp - 0xe8], 0
jne 0x4e10f1
mov eax, dword [ebp - 0xf4]
push dword [edi + 0x20]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x4e1102
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + ebx*4 + 8]
dec ecx
mov dword [ebp - 0xe0], ecx
mov ebx, dword [ebp - 0xdc]
cmp dword [ebx + 0xe8], 0
jne 0x4e190c
mov ecx, dword [ebx + 0x11c]
test ecx, ecx
je 0x4e1156
mov edi, dword [ebp - 0x140]
cmp edi, dword [ebp - 0x13c]
jb 0x4e1156
mov esi, dword [ebx + 0x124]
xor edx, edx
mov eax, edi
div esi
push dword [ebx + 0x120]
sub esi, edx
add esi, edi
mov dword [ebp - 0x13c], esi
call ecx
add esp, 4
test eax, eax
jne 0x4e1570
mov edi, dword [ebp - 0xec]
mov ecx, ebx
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4dbbd0
mov ecx, dword [ebp - 0xd8]
mov edx, 1
mov eax, dword [ecx + ebx*4 + 0x10]
mov esi, dword [eax + 8]
mov eax, dword [ecx + ebx*4 + 4]
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.004d3e60
mov ecx, eax
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x4dd805
mov eax, dword [esi]
push dword [edi + 4]
push esi
mov eax, dword [eax + 0x4c]
call eax
add esp, 8
mov dword [ebp - 0xe8], eax
mov edx, esi
mov esi, dword [ebp - 0xe4]
mov ecx, esi
call fcn.004d9430
and dword [esi + 0x58], 0xffffffdf
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4dbbd0
mov esi, dword [ebp - 0xd8]
mov eax, dword [esi + ebx*4 + 0x10]
mov esi, dword [esi + ebx*4 + 8]
mov edx, dword [eax + 8]
mov dword [ebp - 0x110], edx
mov eax, dword [edx]
mov dword [ebp - 0xf4], eax
cmp dword [eax + 0x34], 0
je 0x4dcccd
mov al, byte [ecx + 0x44]
mov ecx, dword [ebp - 0xf0]
mov byte [ebp - 0x101], al
mov eax, dword [ebp - 0xe4]
mov edi, dword [eax + 0xc]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test esi, esi
jle 0x4e1242
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x4e1237
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
mov al, byte [eax + ebx*4 + 3]
mov byte [ecx + 0x44], al
lea eax, [ebp - 0x200]
push eax
mov eax, dword [ebp - 0xf4]
push edi
push esi
push edx
mov eax, dword [eax + 0x34]
call eax
mov ecx, dword [ebp - 0xdc]
add esp, 0x10
mov esi, dword [ebp - 0xe4]
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0xe8], eax
mov al, byte [ebp - 0x101]
mov byte [ecx + 0x44], al
mov ecx, esi
call fcn.004d9430
cmp dword [ebp - 0xe8], 0
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
jne 0x4e12cf
cmp dword [edx + ebx*4 + 4], 0
je 0x4e12cf
mov eax, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x138], edi
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edi
mov eax, dword [ebp - 0xe8]
cmp al, 0x13
jne 0x4e1339
mov eax, dword [edx + ebx*4 + 0x10]
cmp byte [eax + 0x10], 0
je 0x4e1339
mov al, byte [edx + ebx*4 + 3]
cmp al, 4
jne 0x4e1305
mov esi, dword [ebp - 0xe0]
xor eax, eax
mov edi, dword [ebp - 0xec]
inc esi
mov dword [ebp - 0xe8], eax
jmp 0x4dbb5b
cmp al, 5
jne 0x4e1322
mov edi, dword [ebp - 0xec]
mov eax, 2
mov byte [esi + 0x56], al
mov esi, dword [ebp - 0xe0]
jmp 0x4de6bd
mov edi, dword [ebp - 0xec]
movzx eax, al
mov byte [esi + 0x56], al
mov esi, dword [ebp - 0xe0]
jmp 0x4de6bd
inc dword [esi + 0x5c]
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
jmp 0x4de6bd
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
inc dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, dword [ebp - 0xdc]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2c]
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], 0
jmp 0x4dbb61
mov esi, dword [ebp - 0xd8]
xor edx, edx
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov esi, dword [esi + ebx*4 + 0xc]
mov ecx, dword [eax + ecx*8 + 4]
test esi, esi
je 0x4e13bb
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x2c]
cmp edx, esi
cmovb edx, esi
call fcn.004cba90
inc dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
cdq
mov dword [edi + 0x14], edx
mov edx, dword [ebp - 0xd8]
mov dword [edi + 0x10], eax
jmp 0x4dbb61
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + ebx*4 + 8]
test eax, eax
je 0x4e13fb
lea esi, [eax - 1]
mov dword [ebp - 0xe0], esi
cmp dword [ecx + 0xa4], 0
je 0x4de6bd
mov eax, dword [ebp - 0xe4]
test dword [eax + 0x58], 0x800
jne 0x4de6bd
mov edx, dword [edx + ebx*4 + 0x10]
mov ebx, eax
test edx, edx
jne 0x4e1433
mov edx, dword [ebx + 0xa8]
test edx, edx
je case.default.0x4dbbd0
mov ecx, ebx
call fcn.004db380
mov ebx, dword [ebp - 0xdc]
mov esi, eax
push esi
push dword [ebx + 0xa8]
mov ecx, dword [ebx + 0xa4]
call ecx
add esp, 8
mov edx, esi
mov ecx, ebx
call fcn.004b8f10
mov esi, dword [ebp - 0xe0]
mov ecx, ebx
jmp case.default.0x4dbbd0
mov edi, dword [ebp - 0xec]
mov ecx, eax
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4dbbd0
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
jmp 0x4de6bd
mov edi, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov dword [edi + 0x50], ecx
mov al, byte [edx + ebx*4 + 8]
mov byte [edi + 0x56], al
mov dword [edi + 0x4c], esi
test ecx, ecx
je 0x4e1535
mov al, byte [edx + ebx*4 + 3]
test al, al
je 0x4e14e6
movzx eax, al
mov eax, dword [eax*4 + 0x62a5a0]
test eax, eax
je 0x4e14e8
mov ecx, dword [edx + ebx*4 + 0x10]
test ecx, ecx
je 0x4e14e8
push ecx
push eax
push str._s_constraint_failed:__s
push dword [ebp - 0xdc]
lea esi, [edi + 0x2c]
push esi
call fcn.004b92f0
add esp, 0x14
jmp 0x4e1510
xor eax, eax
mov ecx, dword [edx + ebx*4 + 0x10]
lea esi, [edi + 0x2c]
test ecx, ecx
je 0x4e14fb
push ecx
push 0x633bc0
jmp 0x4e1501
push eax
push str._s_constraint_failed
push dword [ebp - 0xdc]
push esi
call fcn.004b92f0
add esp, 0x10
push dword [esi]
mov eax, dword [ebp - 0xd8]
push dword [edi + 0xa8]
push dword [ebp - 0xe0]
push str.abort_at__d_in___s_:__s
push dword [eax + ebx*4 + 4]
call fcn.004bac60
add esp, 0x14
mov ecx, edi
call fcn.004d74b0
mov ecx, dword [ebp - 0xdc]
cmp eax, 5
mov eax, dword [ebp - 0xe4]
jne 0x4e155a
mov edi, 5
mov dword [eax + 0x50], edi
jmp 0x4de75f
cmp dword [eax + 0x50], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x4de75f
mov edx, 9
mov dword [ebp - 0xe8], edx
jmp 0x4de6d7
lea ecx, [ebp - 0x268]
call fcn.004d4250
mov ecx, esi
jmp 0x4e1955
mov edx, 0x14
mov dword [ebp - 0xe8], edx
jmp 0x4e1667
mov eax, dword [ebp - 0xe4]
push str.cannot_open_savepoint___SQL_statements_in_progress
push ecx
add eax, 0x2c
push eax
call fcn.004b92f0
add esp, 0xc
mov edx, 5
inc esi
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0xe0], esi
jmp 0x4de6d7
mov eax, dword [ebp - 0xe4]
push str.cannot_release_savepoint___SQL_statements_in_progress
push ecx
add eax, 0x2c
push eax
call fcn.004b92f0
mov eax, dword [ebp - 0xe0]
mov edx, 5
add esp, 0xc
mov dword [ebp - 0xe8], edx
inc eax
jmp 0x4de6dd
mov eax, dword [ebp - 0xe0]
mov dword [edi + 0x4c], eax
mov edi, 5
mov eax, dword [ebp - 0xe4]
mov byte [ecx + 0x3e], 0
mov dword [eax + 0x50], edi
jmp 0x4de75f
mov edx, 8
mov dword [ebp - 0xe8], edx
jmp 0x4e1667
mov ecx, dword [ebp - 0xe4]
mov edi, 5
mov eax, dword [ebp - 0xe0]
mov dword [ecx + 0x4c], eax
mov dword [ecx + 0x50], edi
mov ecx, dword [ebp - 0xdc]
jmp 0x4de75f
mov ecx, 0x11473
call fcn.00525a50
mov edx, eax
mov dword [ebp - 0xe8], edx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe4]
cmp byte [ecx + 0x40], 0
je 0x4e16be
mov eax, 7
mov edx, str.unknown_error
mov ecx, eax
mov dword [ebp - 0xe8], eax
call fcn.00523b10
mov ecx, dword [ebp - 0xdc]
jmp 0x4e16f1
mov edx, 4
inc esi
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0xe0], esi
jmp 0x4de6d7
mov edx, 0xd
jmp 0x4e165b
mov esi, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xdc]
jmp 0x4e166d
cmp edx, 0xc0a
je 0x4de6d7
cmp edx, 0x204
je 0x4e16ec
mov eax, dword [ebp - 0xe8]
mov edx, str.unknown_error
mov ecx, eax
call fcn.00523b10
mov ecx, dword [ebp - 0xdc]
jmp 0x4e16f1
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x633bc0
push ecx
lea eax, [esi + 0x2c]
push eax
call fcn.004b92f0
add esp, 0x10
jmp 0x4de6d1
mov eax, dword [ebp - 0xe4]
mov edx, 6
inc esi
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0xe0], esi
mov byte [eax + 0x56], 2
jmp 0x4de6d7
push str.too_many_levels_of_trigger_recursion
lea eax, [ecx + 0x2c]
mov dword [ebp - 0xe8], 1
push esi
push eax
call fcn.004b92f0
mov eax, dword [ebp - 0xe0]
add esp, 0xc
inc eax
mov edx, 1
jmp 0x4de6dd
mov edx, str.out_of
mov dword [ebp - 0xe8], 1
cmp esi, 5
mov eax, str.into
cmovne eax, edx
push eax
mov eax, dword [ebp - 0xe4]
push str.cannot_change__s_wal_mode_from_within_a_transaction
push ecx
add eax, 0x2c
push eax
call fcn.004b92f0
mov eax, dword [ebp - 0xe0]
add esp, 0x10
inc eax
mov edx, 1
jmp 0x4de6dd
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe4]
push str.string_or_blob_too_big
push ecx
add eax, 0x2c
push eax
call fcn.004b92f0
mov edx, 0x12
add esp, 0xc
mov dword [ebp - 0xe8], edx
jmp 0x4de6d7
mov eax, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xdc]
mov ecx, dword [eax + ebx*4 + 4]
mov edx, dword [eax + ebx*4 + 8]
mov dword [ebp - 0x164], ecx
test ecx, ecx
je 0x4e1828
cmp byte [esi + 0x3e], 0
jne 0x4e1828
test edx, edx
jne 0x4e1828
cmp dword [esi + 0x94], edx
jle 0x4e1828
mov eax, dword [ebp - 0xe4]
push str.cannot_commit_transaction___SQL_statements_in_progress
add eax, 0x2c
push esi
push eax
call fcn.004b92f0
mov eax, dword [ebp - 0xe0]
mov edx, 5
add esp, 0xc
mov dword [ebp - 0xe8], edx
inc eax
jmp 0x4de6dd
movzx eax, byte [esi + 0x3e]
cmp ecx, eax
jne 0x4e1875
test ecx, ecx
jne 0x4e183b
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x4e184a
test edx, edx
mov eax, str.cannot_rollback___no_transaction_is_active
mov ecx, str.cannot_commit___no_transaction_is_active
cmove eax, ecx
push eax
mov eax, dword [ebp - 0xe4]
add eax, 0x2c
push esi
push eax
call fcn.004b92f0
mov eax, dword [ebp - 0xe0]
mov edx, 1
add esp, 0xc
mov dword [ebp - 0xe8], edx
inc eax
jmp 0x4de6dd
test edx, edx
je 0x4e18b2
mov edx, 0x204
mov ecx, esi
call fcn.00523a10
mov byte [esi + 0x3e], 1
mov ecx, esi
call fcn.00523220
mov eax, dword [ebp - 0xe4]
mov edi, 1
mov ecx, 0x65
cmp dword [eax + 0x50], 0
cmove edi, ecx
mov ecx, dword [ebp - 0xdc]
jmp 0x4de75f
mov ecx, dword [ebp - 0xe4]
mov edx, 1
call fcn.004d7440
mov edi, eax
test edi, edi
jne 0x4e18a7
mov ebx, dword [ebp - 0x164]
mov ecx, dword [ebp - 0xe4]
mov byte [esi + 0x3e], bl
call fcn.004d74b0
cmp eax, 5
jne 0x4e1889
mov edx, dword [ebp - 0xe4]
mov edi, 5
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
mov dword [edx + 0x4c], eax
mov al, 1
sub al, bl
mov byte [ecx + 0x3e], al
mov dword [edx + 0x50], edi
jmp 0x4de75f
mov ebx, ecx
mov eax, dword [str.interrupted]
mov ecx, str.unknown_error
mov edx, dword [ebp - 0xe4]
test eax, eax
mov dword [ebp - 0xe8], 9
cmovne ecx, eax
push ecx
push 0x633bc0
lea eax, [edx + 0x2c]
mov dword [edx + 0x50], 9
push ebx
push eax
call fcn.004b92f0
add esp, 0x10
mov edx, 9
jmp 0x4de6d7
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe4]
push str.out_of_memory
push ecx
add eax, 0x2c
mov byte [ecx + 0x40], 1
push eax
call fcn.004b92f0
mov edx, 7
add esp, 0xc
mov dword [ebp - 0xe8], edx
jmp 0x4de6d7