Function at 0x486a60
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x110
mov esi, dword [ebp + 8]
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0xf0], xmm0
movdqa xmmword [esp + 0xe0], xmm0
mov dword [esp + 0x94], 0xffffffff
mov dword [esp + 0xa8], 0
mov eax, dword [ecx]
mov dword [esp + 0x7c], eax
mov dword [esp], ecx
cmp dword [ecx + 0x24], 0
je 0x486adb
mov edi, dword [esp + 0x7c]
mov ecx, edi
call fcn.00469630
test esi, esi
je 0x486ac5
mov ecx, edi
mov edx, esi
call fcn.00475f10
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x486ad3
mov ecx, edi
call fcn.00469350
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [edx + 8]
test eax, eax
mov dword [esp + 0x2c], edx
je 0x486afc
mov ecx, dword [esp + 0x7c]
mov ecx, dword [ecx + 0x10]
add ecx, 0xfffffff0
lea esi, [ecx + 0x10]
cmp dword [ecx + 0x1c], eax
mov ecx, esi
jne 0x486af0
jmp 0x486aff
lea esi, [edx + 0xc]
mov ecx, dword [esp]
xor edx, edx
push dword [esi]
mov esi, dword [esp + 0x30]
push dword [esi + 0x10]
call fcn.00433f40
add esp, 8
mov dword [esp + 4], eax
mov edx, dword [esi + 0x18]
test edx, edx
je 0x486b3c
mov eax, dword [esp]
mov ecx, dword [eax]
test ecx, ecx
je 0x486b32
cmp dword [ecx + 0x210], 0
jne 0x486b37
dec dword [edx + 0x18]
jne 0x486b3c
call fcn.004759d0
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 4]
mov dword [edx + 0x18], ecx
test ecx, ecx
mov esi, dword [ebp + 8]
je 0x486aad
inc dword [ecx + 0x18]
test byte [edx + 0x2d], 2
je 0x486bc9
mov ecx, dword [edx + 0x18]
mov eax, dword [edx + 0x40]
mov edi, dword [ecx + 8]
test edi, edi
je 0x486b99
mov edx, dword [edi]
xor esi, esi
jmp 0x486b80
movzx ebx, byte [ebx + 0x52a853]
cmp bl, byte [ecx + 0x52a853]
jne 0x486b92
inc esi
movzx ebx, byte [edx + esi]
movzx ecx, byte [eax + esi]
cmp bl, cl
jne 0x486b70
test ebx, ebx
jne 0x486b7f
jmp 0x486bbe
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x486b68
push 0
push eax
push str.no_such_index:__s
mov esi, dword [esp + 0xc]
push esi
call fcn.00434540
add esp, 0x10
mov byte [esi + 0x11], 1
mov esi, dword [ebp + 8]
mov edx, dword [esp + 0x2c]
jmp 0x486aad
mov eax, dword [esp + 0x2c]
mov dword [eax + 0x44], edi
mov ecx, dword [esp + 4]
mov eax, dword [esp]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x3c]
test ecx, ecx
je 0x486bec
mov edx, dword [eax + 0x10]
add edx, 0xc
mov edi, 0xffffffff
inc edi
lea esi, [edx + 0x10]
cmp dword [edx], ecx
mov edx, esi
jne 0x486be0
jmp 0x486bf1
mov edi, 0xffff8000
mov edx, dword [esp + 4]
cmp dword [edx + 0x38], 0
mov ecx, dword [esp + 0x2c]
je 0x486c31
mov eax, dword [esp]
cmp byte [eax + 0x97], 0
jne 0x486c41
lea eax, [esp + 0x94]
mov ecx, dword [esp]
push eax
mov esi, dword [ebp + 8]
push esi
push 0x81
call fcn.004cb740
mov ecx, dword [esp + 0x38]
add esp, 0xc
mov dword [esp + 0x58], eax
jmp 0x486c57
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x486c41
cmp dword [eax + 0x30], 0
jne 0x486bff
mov dword [esp + 0x94], 0
mov dword [esp + 0x58], 0
mov esi, dword [ebp + 8]
mov dword [esp + 0x28], edi
xor eax, eax
cmp dword [ecx], 2
jl 0x486c64
mov eax, dword [esi]
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 4]
movzx eax, byte [ebx + 0x2b]
mov byte [esp + 0xf], al
mov ecx, dword [esp]
mov edx, ebx
call fcn.004a63a0
test eax, eax
mov edx, dword [esp + 0x2c]
jne 0x486aad
mov ecx, dword [esp]
mov edx, ebx
push dword [esp + 0x94]
call fcn.004ca660
mov edx, dword [esp + 0x30]
add esp, 4
test eax, eax
jne 0x486aad
mov esi, dword [ebp + 0x14]
mov eax, dword [esp]
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x68], ecx
inc ecx
mov dword [esp + 0x70], ecx
mov dword [eax + 0x28], ecx
mov dword [esp + 0xa4], 0
test byte [ebx + 0x1c], 0x80
mov eax, dword [ebx + 8]
mov edi, 0
mov dword [esp + 0xdc], esi
je 0x486cfe
test eax, eax
je 0x486d43
mov edi, eax
movzx ecx, word [edi + 0x37]
and ecx, 3
cmp cx, 2
je 0x486cfb
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x486ce5
xor edi, edi
mov esi, dword [ebp + 0x14]
mov dword [esp + 0x20], edi
test eax, eax
je 0x486d56
xor esi, esi
mov ecx, dword [esp + 0x70]
mov edi, dword [esp + 0x68]
mov ebx, dword [esp]
nop word cs:[eax + eax]
cmp dword [esp + 0x20], eax
cmove edi, ecx
inc ecx
mov dword [ebx + 0x28], ecx
inc esi
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x486d20
mov dword [esp + 0xa4], esi
mov ebx, dword [esp + 4]
mov esi, dword [ebp + 0x14]
jmp 0x486d5a
mov dword [esp + 0x20], 0
mov dword [esp + 0xa4], 0
mov edi, dword [esp + 0x68]
test esi, esi
je 0x486d72
mov edi, dword [esi + 0x28]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x70], eax
mov eax, dword [esp]
mov ecx, dword [esp + 0x68]
mov dword [eax + 0x28], ecx
mov dword [esp + 0x18], edi
mov dword [edx + 0x30], edi
movsx eax, word [ebx + 0x22]
mov edi, dword [esp + 0xa4]
add eax, edi
lea edx, [edi + eax*4]
add edx, 6
mov ecx, dword [esp + 0x7c]
push 0
call fcn.0043f5f0
mov edx, dword [esp + 0x30]
add esp, 4
test eax, eax
mov esi, dword [ebp + 8]
je 0x486aad
movsx ecx, word [ebx + 0x22]
lea ecx, [eax + ecx*4]
lea esi, [ecx + edi*4]
mov dword [esp + 0x50], ecx
lea ecx, [ecx + edi*4]
add ecx, 4
lea edx, [edi + 1]
mov dword [esp + 0x64], edx
push edx
push 1
mov dword [esp + 0x7c], ecx
push ecx
mov ebx, edi
mov edi, eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov byte [ebx + esi + 5], 0
mov edx, dword [esp + 4]
cmp word [edx + 0x22], 0
jle 0x486e00
xor eax, eax
nop word [eax + eax]
mov dword [edi + eax*4], 0xffffffff
inc eax
movsx ecx, word [edx + 0x22]
cmp eax, ecx
jl 0x486df0
mov dword [esp + 0x38], edi
pxor xmm0, xmm0
movdqu xmmword [esp + 0xec], xmm0
mov dword [esp + 0xfc], 0
mov ecx, dword [esp]
mov dword [esp + 0xe0], ecx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xe4], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xf8], 0x200
mov eax, dword [ecx + 8]
mov dword [esp + 8], eax
test eax, eax
mov esi, dword [esp + 4]
jne 0x486e7b
mov ecx, dword [esp]
cmp dword [ecx + 0x74], 0
jne 0x486e6a
mov eax, dword [ecx]
test byte [eax + 0x50], 8
jne 0x486e6a
mov byte [ecx + 0x17], 1
call fcn.004346f0
mov dword [esp + 8], eax
test eax, eax
je 0x488818
mov edx, dword [ebp + 8]
cmp dword [edx], 0
jle 0x486eb3
mov dword [esp + 0x90], 0
mov dword [esp + 0xa0], 0xffffffff
mov dword [esp + 0x48], 0
mov dword [esp + 0x8c], 0
xor edi, edi
jmp 0x487388
mov dword [esp + 0xa0], 0xffffffff
mov dword [esp + 0x8c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x90], 0
mov eax, dword [esp + 0x48]
add al, byte [esp + 0x8c]
mov byte [esp + 0x78], al
test byte [esi + 0x1c], 0x60
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
je 0x486ff3
movzx eax, word [esi + 0x22]
jmp 0x486f0e
cmp dword [esp + 0x34], 0
je 0x486ff3
test ax, ax
jle 0x486ff3
mov dword [esp + 0x34], 0
mov ebx, 0xa
xor edi, edi
jmp 0x486f3c
inc edi
movsx eax, word [esi + 0x22]
add ebx, 0xc
cmp edi, eax
jge 0x486f03
cmp dword [ecx + edi*4], 0
jns 0x486f30
mov eax, dword [esi + 4]
test byte [eax + ebx], 0x60
je 0x486f30
movzx eax, word [eax + ebx - 2]
test eax, eax
je 0x486f5a
cmp byte [esi + 0x2b], 0
je 0x486f83
xor eax, eax
mov ecx, eax
and ecx, 0xfffffffd
cmp byte [esp + 0x48], 0
cmovne ecx, eax
test cx, cx
mov ecx, dword [esp + 0x38]
je 0x486f30
mov dword [ecx + edi*4], 0x1869f
mov dword [esp + 0x34], 1
jmp 0x486f30
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x486f5a
cmp dword [ecx], eax
jl 0x486f5a
shl eax, 4
mov edx, dword [eax + ecx - 8]
pxor xmm0, xmm0
movdqa xmmword [esp + 0xb0], xmm0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xb4], 0x4d5420
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc8], eax
test edx, edx
je 0x486fe8
lea ecx, [esp + 0xb0]
call fcn.00499fb0
movzx eax, word [esp + 0xc4]
jmp 0x486fea
xor eax, eax
mov edx, dword [esp + 0x2c]
jmp 0x486f5c
xor eax, eax
cmp byte [esi + 0x2b], 1
sete al
neg eax
mov dword [edx + 0x3c], eax
mov dword [edx + 0x38], eax
movzx ebx, byte [esp + 0x78]
movzx edi, bl
mov eax, ecx
mov ecx, dword [esp]
mov edx, esi
mov dword [esp + 0x9c], edi
push edi
push eax
call fcn.004ca2a0
add esp, 8
xor ecx, ecx
cmp dword [ebp + 0x10], 5
sete cl
mov dword [esp + 0x3c], ecx
mov esi, dword [esi + 8]
test esi, esi
mov dword [esp + 0x44], eax
je 0x487232
test bl, bl
setne cl
cmp eax, 2
setge al
or al, cl
mov byte [esp + 0x1c], al
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 0x28]
jmp 0x487097
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
lea edx, [esi + 1]
mov eax, dword [esp + 0x74]
mov byte [eax + esi + 1], 0
xor eax, eax
mov dword [ebx + esi*4], eax
mov esi, dword [esp + 0x34]
mov esi, dword [esi + 0x14]
mov dword [esp + 0x14], edx
test esi, esi
je 0x48723c
cmp esi, dword [esp + 0x20]
sete al
or al, byte [esp + 0x1c]
mov dword [esp + 0x34], esi
jne 0x487111
mov edx, dword [esi + 0x24]
test edx, edx
je 0x487143
pxor xmm0, xmm0
movdqa xmmword [esp + 0xb0], xmm0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xb4], 0x4d5420
mov dword [esp + 0xc8], ecx
lea ecx, [esp + 0xb0]
call fcn.00499fb0
mov eax, dword [esp + 0xc4]
mov ecx, eax
and ecx, 0xfffffffd
cmp byte [esp + 0x48], 0
cmovne ecx, eax
test cx, cx
mov ecx, dword [esp + 0x38]
je 0x487143
mov edi, dword [esp]
mov ecx, dword [edi + 0x2c]
lea eax, [ecx + 1]
mov dword [edi + 0x2c], eax
movzx edx, word [esi + 0x34]
add ecx, edx
inc ecx
mov dword [edi + 0x2c], ecx
mov esi, dword [esp + 0x14]
test eax, eax
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x28]
je 0x487073
lea edx, [esi + 1]
jmp 0x487081
cmp word [esi + 0x32], 0
je 0x48706f
xor edi, edi
mov ebx, 8
mov esi, dword [esp + 0x34]
jmp 0x48717a
cmp dword [ecx + eax*4], 0
jns 0x4871f7
inc edi
movzx eax, word [esi + 0x32]
add ebx, 0x10
cmp edi, eax
jae 0x487067
mov eax, dword [esi + 4]
movzx eax, word [eax + edi*2]
test ax, ax
jns 0x487160
mov eax, dword [esi + 0x28]
mov edx, dword [eax + ebx]
pxor xmm0, xmm0
movdqa xmmword [esp + 0xb0], xmm0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xb4], 0x4d5420
mov dword [esp + 0xc8], ecx
test edx, edx
je 0x4871db
lea ecx, [esp + 0xb0]
call fcn.00499fb0
movzx eax, word [esp + 0xc4]
jmp 0x4871dd
xor eax, eax
mov ecx, eax
and ecx, 0xfffffffd
cmp byte [esp + 0x48], 0
cmovne ecx, eax
test cx, cx
mov ecx, dword [esp + 0x38]
je 0x48716a
mov edi, esi
mov esi, dword [esp]
mov ecx, dword [esi + 0x2c]
lea eax, [ecx + 1]
mov dword [esi + 0x2c], eax
movzx edx, word [edi + 0x34]
add ecx, edx
inc ecx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x10], 0xb
jne 0x487229
cmp byte [edi + 0x36], 5
mov ecx, dword [esp + 0x3c]
mov edx, 1
cmove ecx, edx
mov dword [esp + 0x3c], ecx
mov ebx, dword [esp + 0x50]
jmp 0x487127
xor edx, edx
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0xa8], esi
mov ecx, dword [esp]
mov eax, dword [ecx + 0x2c]
inc eax
mov dword [ecx + 0x2c], eax
mov dword [esp + 0x88], edx
mov dword [ebx + edx*4], eax
test esi, esi
je 0x487271
push dword [esp + 0x64]
push 1
push dword [esp + 0x7c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov ecx, dword [esp]
cmp byte [ecx + 0x12], 0
jne 0x487285
mov eax, dword [esp + 8]
or byte [eax + 0x96], 0x10
xor edx, edx
mov eax, dword [esp + 0x58]
or eax, dword [esp + 0x44]
setne dl
push edi
call fcn.0049e3c0
add esp, 4
mov dword [esp + 0x14], 0
mov eax, dword [esp + 4]
cmp byte [eax + 0x2b], 1
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x28], 0
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x7c]
je 0x4876ba
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x88]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x28], eax
mov edx, dword [esp]
mov ecx, dword [edx + 0x2c]
lea eax, [ecx + 1]
mov dword [esp + 0x14], eax
mov dword [edx + 0x2c], eax
cmp byte [esp + 0x8c], 0
jne 0x48731f
cmp dword [esp + 0x58], 0
jne 0x48731f
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x44], 0
je 0x487338
add ecx, 2
mov eax, dword [esp + 4]
movsx eax, word [eax + 0x22]
add eax, dword [esp + 0x14]
mov edx, dword [esp]
mov dword [edx + 0x2c], eax
mov dword [esp + 0x34], ecx
cmp byte [esp + 0x78], 0
jne 0x48769b
cmp dword [esp + 0x58], 0
jne 0x48769b
cmp dword [esp + 0x44], 0
jne 0x48769b
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x40], ecx
mov edx, dword [esp]
jmp 0x4876a6
mov eax, dword [esp + 0x38]
mov dword [eax + ebx*4], 0xffffffff
mov esi, dword [esp + 4]
mov edi, dword [esp + 0x3c]
inc edi
mov edx, dword [ebp + 8]
cmp edi, dword [edx]
jge 0x486edc
mov dword [esp + 0x3c], edi
shl edi, 4
mov eax, dword [edx + edi + 0xc]
test eax, eax
je 0x4873c3
movzx ecx, byte [eax]
test cl, cl
je 0x4873c3
inc eax
xor ebx, ebx
nop word cs:[eax + eax]
movzx ecx, cl
add bl, byte [ecx + 0x52a853]
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x4873b0
jmp 0x4873c5
xor ebx, ebx
lea eax, [edx + edi]
add eax, 8
mov dword [esp + 0x40], eax
cmp dword [esp + 0x10], 0
jne 0x4873f0
mov eax, dword [esp + 0x40]
mov edx, dword [eax]
lea ecx, [esp + 0xe0]
call fcn.0049fec0
test eax, eax
jne 0x488818
mov eax, dword [ebp + 8]
add eax, edi
add eax, 0xc
mov dword [esp + 0x44], eax
movsx eax, word [esi + 0x22]
test eax, eax
jle 0x4874a5
mov dword [esp + 0x78], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x14], eax
xor eax, eax
jmp 0x487426
mov eax, dword [esp + 0x34]
inc eax
cmp eax, dword [esp + 0x78]
je 0x48751e
mov dword [esp + 0x34], eax
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
cmp byte [eax + ecx*4 + 7], bl
jne 0x487417
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax + ecx*4]
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
xor edi, edi
jmp 0x487460
movzx ecx, byte [ecx + 0x52a853]
cmp cl, byte [edx + 0x52a853]
jne 0x487417
inc edi
movzx ecx, byte [esi + edi]
movzx edx, byte [eax + edi]
cmp cl, dl
jne 0x487450
test ecx, ecx
jne 0x48745f
mov eax, dword [esp + 4]
movsx eax, word [eax + 0x20]
cmp dword [esp + 0x34], eax
jne 0x4874b4
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov dword [esp + 0x90], eax
mov al, 1
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0xa0], ecx
mov edx, dword [esp]
mov edi, dword [esp + 0x20]
jmp 0x4874f1
xor ecx, ecx
mov edx, dword [esp]
mov edi, dword [esp + 0x20]
cmp ecx, eax
jl 0x48750a
jmp 0x487522
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
movzx eax, word [eax + ecx*4 + 0xa]
mov edi, dword [esp + 0x20]
test edi, edi
mov edx, dword [esp]
je 0x4874e5
mov ecx, eax
and ecx, 1
test cx, cx
je 0x4874e5
mov al, 1
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x3c]
jmp 0x4874f1
test al, 0x60
mov ecx, dword [esp + 0x3c]
jne 0x48794d
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
mov dword [eax + esi*4], ecx
mov ecx, esi
mov eax, dword [esp + 4]
movsx eax, word [eax + 0x22]
cmp ecx, eax
jge 0x487522
mov esi, dword [esp + 4]
mov eax, dword [esi + 4]
mov ebx, ecx
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*4]
jmp 0x4875e9
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
test edi, edi
mov esi, dword [esp + 4]
jne 0x48767f
xor ecx, ecx
jmp 0x487545
test edx, edx
je 0x4875be
inc ecx
movzx edx, byte [eax + ecx]
movzx ebx, byte [ecx + str._ROWID_]
cmp dl, bl
je 0x487540
movzx edx, byte [edx + 0x52a853]
cmp dl, byte [ebx + 0x52a853]
je 0x487544
xor ecx, ecx
jmp 0x487575
test edx, edx
je 0x4875be
inc ecx
movzx edx, byte [eax + ecx]
movzx ebx, byte [ecx + str.ROWID]
cmp dl, bl
je 0x487570
movzx edx, byte [edx + 0x52a853]
cmp dl, byte [ebx + 0x52a853]
je 0x487574
xor ecx, ecx
jmp 0x4875ab
movzx edx, byte [edx + 0x52a853]
cmp dl, byte [ebx + 0x52a853]
jne 0x48767f
inc ecx
movzx edx, byte [eax + ecx]
movzx ebx, byte [ecx + 0x537a8e]
cmp dl, bl
jne 0x487597
test edx, edx
jne 0x4875aa
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov dword [esp + 0x90], eax
mov eax, str.ROWID
mov ebx, 0xffffffff
mov cl, 1
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0xa0], ecx
mov edx, dword [esp]
mov ecx, dword [edx]
mov edx, dword [ecx + 0x168]
test edx, edx
je 0x487378
cmp byte [ecx + 0xb1], 0
jne 0x487378
mov esi, dword [esp]
cmp byte [esi + 0xd0], 0
mov esi, dword [esp + 4]
jne 0x487378
mov esi, dword [esp + 0x7c]
mov esi, dword [esi + 0x10]
mov dword [esp + 0x34], esi
mov edi, dword [esp + 0x28]
shl edi, 4
mov esi, dword [esp]
push dword [esi + 0xf8]
mov esi, dword [esp + 0x38]
push dword [esi + edi]
push eax
mov eax, dword [esp + 0x10]
push dword [eax]
push 0x17
push dword [ecx + 0x16c]
call edx
add esp, 0x18
cmp eax, 1
je 0x48888c
test eax, 0xfffffffd
jne 0x488898
cmp eax, 2
je 0x487369
cmp eax, 1
mov esi, dword [esp + 4]
jne 0x487378
jmp 0x488818
push eax
push str.no_such_column:__s
mov esi, dword [esp + 8]
push esi
call fcn.00434540
add esp, 0xc
mov byte [esi + 0x11], 1
jmp 0x488818
inc eax
mov edx, dword [esp]
mov dword [edx + 0x2c], eax
mov dword [esp + 0x40], eax
lea ecx, [eax + 1]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 4]
movsx ecx, word [ecx + 0x22]
add ecx, eax
mov dword [edx + 0x2c], ecx
cmp byte [esp + 0xf], 2
jne 0x4876f8
mov edx, dword [esp + 4]
mov eax, dword [edx]
mov edi, dword [esp]
mov ecx, dword [edi + 0xf8]
mov dword [esp + 0xd4], ecx
mov dword [edi + 0xf8], eax
cmp dword [esp + 0x10], 0
mov ecx, dword [ebp + 0x14]
je 0x487722
mov dword [esp + 0x84], 0
mov dword [esp + 0x64], edi
jmp 0x48775e
mov dword [esp + 0x64], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0x84], 0
cmp dword [esp + 0x10], 0
mov ecx, dword [ebp + 0x14]
jne 0x48775e
jmp 0x487737
mov ecx, edi
push dword [esp + 0x18]
push dword [ebp + 0xc]
call fcn.004ca720
add esp, 8
mov dword [esp + 0x64], edi
lea ecx, [esp + 0xe0]
mov edx, dword [ebp + 0xc]
call fcn.0049fec0
test eax, eax
jne 0x488803
mov al, 1
mov dword [esp + 0x84], eax
mov ebx, dword [esp + 0x2c]
mov ecx, dword [ebp + 0x14]
mov eax, dword [esp + 4]
cmp byte [eax + 0x2b], 1
jne 0x487790
mov ecx, dword [esp]
mov edx, ebx
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [esp + 0x40]
push dword [esp + 0x9c]
mov esi, dword [ebp + 8]
push esi
push eax
call fcn.004d0de0
add esp, 0x18
jmp 0x488803
mov edx, dword [esp]
mov eax, dword [edx + 0x38]
dec eax
mov dword [esp + 0x6c], eax
mov dword [edx + 0x38], eax
xor ebx, ebx
test byte [esi + 0x24], 1
jne 0x4877ac
mov esi, dword [esp + 4]
jmp 0x4877ed
cmp dword [edx + 0x78], 0
mov esi, dword [esp + 4]
jne 0x4877ed
cmp byte [edx + 0x12], 0
jne 0x4877ed
test ecx, ecx
jne 0x4877ed
mov eax, dword [esp]
cmp byte [eax + 0x95], 0
jne 0x4877ed
mov eax, dword [esp]
mov ebx, dword [eax + 0x2c]
inc ebx
mov dword [eax + 0x2c], ebx
mov ecx, dword [esp + 8]
mov edx, 0x47
push ebx
push 0
call fcn.00474720
mov ecx, dword [ebp + 0x14]
add esp, 8
mov dword [esp + 0xd8], ebx
cmp byte [esp + 0x84], 0
je 0x487868
test byte [esi + 0x1c], 0x80
jne 0x487868
mov esi, dword [esp + 8]
mov ecx, esi
mov edx, 0x4b
push dword [esp + 0x14]
mov ebx, dword [esp + 0x2c]
push ebx
push 0
call fcn.00474780
add esp, 0xc
mov ecx, dword [esp]
mov edx, dword [ecx + 0x28]
lea eax, [edx + 1]
mov dword [ecx + 0x28], eax
mov ecx, esi
mov eax, edx
mov edx, 0x76
push ebx
push 0
mov dword [esp + 0x2c], eax
push eax
call fcn.00474780
mov ecx, dword [ebp + 0x14]
add esp, 0xc
mov dword [esp + 0x60], eax
mov dword [esp + 0x1c], 0
xor eax, eax
mov dword [esp + 0x4c], 0
mov edi, dword [ebp + 0xc]
jmp 0x4879ba
mov eax, dword [esp + 0x20]
test eax, eax
je 0x487876
movzx edx, word [eax + 0x32]
jmp 0x487878
xor edx, edx
mov esi, dword [esp + 0x10]
mov edi, dword [esp]
mov eax, dword [edi + 0x2c]
lea ebx, [eax + 1]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x80], edx
movsx ebx, dx
add eax, ebx
lea edx, [esi + eax]
inc edx
mov dword [esp + 0x4c], edx
mov dword [edi + 0x2c], edx
test ecx, ecx
je 0x4878c1
mov dword [esp + 0x54], ebx
mov eax, esi
xor ebx, ebx
mov dword [esp + 0x60], 0
test esi, esi
jne 0x4879d5
jmp 0x487a2c
add ebx, esi
mov esi, ebx
xor ecx, ecx
cmp byte [esp + 0xf], 2
jne 0x4878d6
mov ecx, dword [esp + 4]
movsx ecx, word [ecx + 0x22]
add esi, ecx
mov ebx, dword [esp]
mov edx, dword [ebx + 0x28]
lea ecx, [edx + 1]
mov dword [ebx + 0x28], ecx
mov ecx, dword [esp + 0x20]
test ecx, ecx
mov dword [esp + 0x24], edx
je 0x487961
mov edi, dword [esp + 8]
mov dword [esp + 0x20], ecx
mov ecx, edi
mov edx, 0x4b
push eax
push dword [esp + 0x20]
push 0
call fcn.00474780
add esp, 0xc
mov ecx, edi
mov edx, 0x76
push esi
push dword [esp + 0x28]
call fcn.00474720
add esp, 8
mov dword [esp + 0x60], eax
mov ecx, ebx
mov edx, dword [esp + 0x20]
call fcn.00493ff0
test eax, eax
je 0x487947
mov word [eax + 8], si
mov ecx, edi
mov edx, eax
push 0xfffffffffffffff8
call fcn.004941b0
add esp, 4
mov ebx, dword [esp + 0x24]
jmp 0x48797a
push esi
push str.cannot_UPDATE_generated_column___s_
push edx
call fcn.00434540
add esp, 0xc
jmp 0x488818
mov ecx, dword [esp + 8]
mov ebx, edx
mov edx, 0x76
push esi
push ebx
call fcn.00474720
add esp, 8
mov dword [esp + 0x60], eax
mov edi, dword [ebp + 0xc]
cmp byte [esp + 0x84], 0
jne 0x4879b0
mov ecx, dword [esp]
mov edx, ebx
push edi
push dword [esp + 0x30]
push dword [ebp + 8]
push dword [esp + 0x2c]
call fcn.004d1ae0
add esp, 0x10
cmp byte [esp + 0xf], 2
mov eax, dword [esp + 0x18]
cmove eax, ebx
mov dword [esp + 0x18], eax
mov ecx, dword [ebp + 0x14]
mov eax, dword [esp + 0x80]
cmp dword [esp + 0x10], 0
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x80], eax
je 0x487a20
cwde
mov dword [esp + 0x54], eax
mov ebx, dword [esp + 0x24]
mov edx, dword [esp]
mov eax, dword [edx + 0x74]
test eax, eax
cmove eax, edx
mov byte [eax + 0x14], 1
mov dl, 1
mov dword [esp + 0x98], 0
mov esi, 0xffffffff
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x30], 0
mov al, 1
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x4c], eax
mov edi, dword [esp + 8]
jmp 0x487cea
test ecx, ecx
je 0x487b5e
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x24], ebx
push 0x10
push dword [esp + 0x70]
push dword [ebp + 0xc]
push dword [esp + 0xc]
call fcn.004991c0
add esp, 0x10
mov eax, 1
mov dword [esp + 0x98], 0
mov edx, 0xffffffff
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0xac], 0
mov edi, dword [esp + 8]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 4]
test byte [eax + 0x1c], 0x80
mov dword [esp + 0x5c], edx
jne 0x487ace
mov ecx, edi
mov edx, 0x87
push dword [esp + 0x14]
push dword [esp + 0x1c]
call fcn.00474720
add esp, 8
cmp dword [esp + 0x30], 0
je 0x487c36
mov edx, dword [esp + 0x60]
test edx, edx
je 0x487ab4
mov ecx, edi
call fcn.0049ca40
xor edx, edx
mov dword [esp + 0x54], 0
mov ecx, dword [ebp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
jmp 0x487ce6
movsx ebx, word [esp + 0x80]
test bx, bx
mov esi, dword [esp + 4]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x54], ebx
jle 0x487b2d
mov ecx, edi
xor edi, edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 4]
movsx eax, word [eax + edi*2]
mov dword [esp + 0x28], eax
lea eax, [edx + edi]
mov ebx, ecx
mov edx, esi
push eax
push dword [esp + 0x2c]
push dword [esp + 0x20]
call fcn.00499720
mov edx, dword [esp + 0x28]
mov ecx, ebx
mov ebx, dword [esp + 0x60]
add esp, 0xc
inc edi
cmp ebx, edi
jne 0x487af7
cmp dword [esp + 0x30], 0
je 0x487c89
mov edx, dword [esp + 0x60]
test edx, edx
mov edi, dword [esp + 8]
mov ebx, dword [esp + 0x24]
je 0x487b4f
mov ecx, edi
call fcn.0049ca40
xor edx, edx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x4c], eax
jmp 0x487ce3
cmp dword [esp + 0x44], 0
sete al
cmp dword [esp + 0x58], 0
sete bl
mov ecx, dword [esp]
cmp byte [ecx + 0x12], 0
sete ah
and bl, al
cmp byte [esp + 0x78], 0
sete al
and al, bl
and al, ah
cmp dword [esp + 0xa8], 0
sete ah
and ah, al
movzx eax, ah
lea eax, [eax*8 + 4]
push dword [esp + 0x70]
push eax
push 0
push 0
push 0
push edi
call fcn.004aaf40
add esp, 0x18
test eax, eax
je 0x488803
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x10], ecx
mov ebx, dword [eax + 0x1c]
movzx edx, byte [eax + 0x32]
mov dword [esp + 0x98], eax
movzx eax, byte [eax + 0x34]
and al, 1
mov dword [esp + 0xac], eax
mov eax, 1
cmp edx, 1
je 0x4888ee
mov eax, dword [esp]
mov ecx, dword [eax + 0x74]
test ecx, ecx
cmove ecx, eax
mov byte [ecx + 0x14], 1
cmp dl, 2
jne 0x4888ec
mov eax, ebx
mov ecx, ebx
test ebx, ebx
js 0x48892c
cmp dword [esp + 0x18], ecx
je 0x48892c
mov edx, ecx
mov eax, ecx
sub eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x74]
cmp byte [ecx + eax], 0
mov eax, 0
sete al
add eax, eax
jmp 0x487a6d
mov ecx, dword [esp]
mov eax, dword [ecx + 0x2c]
inc eax
mov dword [ecx + 0x2c], eax
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x50]
mov dword [edx + ecx*4], eax
mov ecx, edi
mov edx, 0x80
push dword [esp + 0x14]
push dword [esp + 0x2c]
mov ebx, dword [esp + 0x2c]
push ebx
call fcn.00474780
mov esi, dword [esp + 0x68]
add esp, 0xc
xor edx, edx
mov dword [esp + 0x30], 0
mov dword [esp + 0x54], 0
mov ecx, dword [ebp + 0x14]
mov eax, dword [esp + 0x1c]
jmp 0x487cea
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x20]
call fcn.004c55b0
mov edi, dword [esp + 8]
mov ecx, edi
mov edx, 0x61
push ebx
push eax
push dword [esp + 0x54]
push ebx
mov esi, dword [esp + 0x2c]
push esi
call fcn.00493a50
add esp, 0x14
mov ecx, edi
mov edx, 0x8a
push ebx
push esi
push dword [esp + 0x54]
mov ebx, dword [esp + 0x30]
push ebx
call fcn.00434820
mov eax, esi
add esp, 0x10
xor edx, edx
mov dword [esp + 0x30], 0
mov dword [esp + 0x54], 0
mov ecx, dword [ebp + 0x14]
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x60], 0
test ecx, ecx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x88], edx
je 0x487d11
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x10], eax
mov esi, dword [ebp + 8]
jmp 0x487e91
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x30]
cmp ecx, 2
setne al
and al, byte [esp + 0x84]
cmp al, 1
jne 0x487d3a
mov ecx, dword [esp + 0x98]
call fcn.004af470
mov ecx, dword [esp + 0x30]
cmp byte [esp + 0xf], 2
je 0x487e11
test ecx, ecx
je 0x487dee
cmp dword [esp + 0x10], 0
js 0x487d68
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x74]
mov byte [ecx + eax], 0
mov ecx, dword [esp + 0x30]
test esi, esi
js 0x487d7e
mov eax, esi
sub eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x74]
mov byte [ecx + eax], 0
mov ecx, dword [esp + 0x30]
cmp ecx, 2
jne 0x487dee
mov eax, esi
sar eax, 0x1f
not eax
mov ecx, dword [esp + 0xa4]
add ecx, eax
test ecx, ecx
jle 0x487dee
mov ecx, edi
mov ebx, esi
mov edx, 0xe
call fcn.004939b0
mov esi, eax
mov ecx, dword [esp]
mov edx, dword [esp + 4]
push 0
push 0
push dword [esp + 0x7c]
push dword [esp + 0x74]
push 0
push 0x71
call fcn.004ca900
mov edx, esi
mov esi, ebx
mov ecx, dword [esp + 0x48]
add esp, 0x18
test edx, edx
je 0x487e19
mov dword [esp + 0x5c], esi
mov eax, dword [edi + 0x6c]
lea ecx, [eax - 1]
mov ebx, edx
cmp ecx, edx
jne 0x4888f9
mov dword [edi + 0x6c], ebx
jmp 0x48891f
mov ecx, dword [esp]
mov edx, dword [esp + 4]
push 0
push 0
push dword [esp + 0x7c]
push dword [esp + 0x74]
push 0
push 0x71
call fcn.004ca900
mov ecx, dword [esp + 0x48]
add esp, 0x18
test ecx, ecx
je 0x488405
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x10], eax
je 0x487e51
cmp esi, eax
je 0x487e51
cmp byte [esp + 0xf], 2
je 0x487e51
mov ecx, edi
mov edx, 0x1b
push dword [esp + 0x54]
push dword [esp + 0x50]
push dword [esp + 0x74]
push dword [esp + 0x24]
call fcn.00434820
mov ecx, dword [esp + 0x40]
add esp, 0x10
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x10], eax
cmp ecx, 1
mov esi, dword [ebp + 8]
je 0x487e6f
mov eax, dword [esp]
mov ecx, dword [eax + 0x38]
dec ecx
mov dword [esp + 0x10], ecx
mov dword [eax + 0x38], ecx
cmp dword [esp + 0x20], 0
mov eax, dword [esp + 0x4c]
cmove eax, dword [esp + 0x14]
mov ecx, edi
mov edx, 0x32
push dword [esp + 0x6c]
push eax
call fcn.00474720
add esp, 8
cmp byte [esp + 0x48], 0
je 0x487eea
cmp byte [esp + 0x84], 0
je 0x487ebb
mov ecx, dword [esp]
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x40]
push ebx
call fcn.00493b30
add esp, 4
jmp 0x487eda
mov ecx, edi
mov edx, 0x5e
mov ebx, dword [esp + 0x40]
push ebx
push dword [esp + 0xa4]
push dword [esp + 0x2c]
call fcn.00474780
add esp, 0xc
mov ecx, edi
mov edx, 0xc
push ebx
call fcn.004939f0
add esp, 4
cmp byte [esp + 0x8c], 0
jne 0x487f06
cmp dword [esp + 0x44], 0
jne 0x487f06
cmp dword [esp + 0x58], 0
je 0x4881dc
cmp dword [esp + 0x44], 0
je 0x487f23
mov esi, dword [esp]
mov ecx, esi
mov ebx, dword [esp + 4]
mov edx, ebx
call fcn.004cbbc0
mov dword [esp + 0x1c], eax
jmp 0x487f32
mov dword [esp + 0x1c], 0
mov ebx, dword [esp + 4]
mov esi, dword [esp]
mov ecx, esi
mov edx, dword [esp + 0x58]
push dword [ebp + 0x10]
push ebx
push 3
push 0
push dword [ebp + 8]
call fcn.004cba10
add esp, 0x14
mov dword [esp + 0x28], eax
cmp word [ebx + 0x22], 0
jle 0x4881b4
mov eax, dword [esp + 0x1c]
or dword [esp + 0x28], eax
xor esi, esi
pcmpeqd xmm7, xmm7
jmp 0x487f97
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 4]
mov edx, ebx
push edi
push esi
push dword [esp + 0x20]
call fcn.00499720
add esp, 0xc
inc esi
movsx eax, word [ebx + 0x22]
cmp esi, eax
mov edi, dword [esp + 8]
pcmpeqd xmm7, xmm7
jge 0x4881b4
mov eax, dword [ebx + 4]
test si, si
js 0x488135
mov ecx, dword [ebx + 0x1c]
and ecx, 0x20
je 0x488135
xor ecx, ecx
test si, si
je 0x488139
mov edx, 0
cmp esi, 0x11
jb 0x48810f
mov edx, esi
and edx, 0xf
mov ecx, 0x10
cmove edx, ecx
mov ecx, esi
sub ecx, edx
lea edi, [eax + 0xbe]
pxor xmm0, xmm0
pxor xmm1, xmm1
movzx ebx, word [edi - 0x60]
movd xmm2, ebx
movzx ebx, word [edi - 0x6c]
movd xmm4, ebx
punpcklwd xmm4, xmm2
movzx ebx, word [edi - 0x78]
movd xmm2, ebx
movzx ebx, word [edi - 0x84]
movd xmm3, ebx
punpcklwd xmm3, xmm2
punpckldq xmm3, xmm4
movzx ebx, word [edi - 0x90]
movd xmm2, ebx
movzx ebx, word [edi - 0x9c]
movd xmm4, ebx
punpcklwd xmm4, xmm2
movzx ebx, word [edi - 0xa8]
movd xmm5, ebx
movzx ebx, word [edi - 0xb4]
movd xmm2, ebx
punpcklwd xmm2, xmm5
punpckldq xmm2, xmm4
punpcklqdq xmm2, xmm3
movzx ebx, word [edi]
movd xmm3, ebx
movzx ebx, word [edi - 0xc]
movd xmm5, ebx
punpcklwd xmm5, xmm3
movzx ebx, word [edi - 0x18]
movd xmm3, ebx
movzx ebx, word [edi - 0x24]
movd xmm4, ebx
punpcklwd xmm4, xmm3
punpckldq xmm4, xmm5
movzx ebx, word [edi - 0x30]
movd xmm3, ebx
movzx ebx, word [edi - 0x3c]
movd xmm5, ebx
punpcklwd xmm5, xmm3
movzx ebx, word [edi - 0x48]
movd xmm6, ebx
movzx ebx, word [edi - 0x54]
movd xmm3, ebx
punpcklwd xmm3, xmm6
punpckldq xmm3, xmm5
punpcklqdq xmm3, xmm4
movdqa xmm4, xmmword [0x528040]
pxor xmm2, xmm7
psrlw xmm2, 5
pand xmm2, xmm4
paddw xmm0, xmm2
pxor xmm3, xmm7
psrlw xmm3, 5
pand xmm3, xmm4
paddw xmm1, xmm3
add edi, 0xc0
add edx, 0x10
cmp esi, edx
jne 0x487fe7
paddw xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddw xmm0, xmm1
pshufd xmm1, xmm0, 0x55
paddw xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
paddw xmm0, xmm1
movd edx, xmm0
lea edi, [ecx + ecx*2]
lea edi, [eax + edi*4]
add edi, 0xa
nop dword [eax + eax]
movzx ebx, word [edi]
bt ebx, 5
sbb dx, 0xffff
inc ecx
add edi, 0xc
cmp esi, ecx
jne 0x488120
jmp 0x48813b
mov edx, esi
jmp 0x488156
xor edx, edx
movsx ecx, si
lea ecx, [ecx + ecx*2]
test byte [eax + ecx*4 + 0xa], 0x20
je 0x488156
mov ecx, esi
sub ecx, edx
mov edx, dword [esp + 4]
add cx, word [edx + 0x24]
mov edx, ecx
movsx edi, dx
add edi, dword [esp + 0x34]
cmp dword [esp + 0x28], 0xffffffff
je 0x487f6a
lea ecx, [esi + esi*2]
movzx eax, word [eax + ecx*4 + 0xa]
cmp esi, 0x1f
ja 0x48818f
mov ecx, dword [esp + 0x28]
bt ecx, esi
jb 0x487f6a
and eax, 1
test ax, ax
je 0x488197
jmp 0x487f6a
test al, 1
jne 0x487f6a
mov ecx, dword [esp + 8]
mov edx, 0x4b
push edi
push 0
call fcn.00474720
add esp, 8
mov ebx, dword [esp + 4]
jmp 0x487f82
cmp byte [esp + 0x48], 0
mov esi, dword [ebp + 8]
jne 0x4881dc
cmp dword [esp + 0x20], 0
jne 0x4881dc
mov ecx, edi
mov edx, 0x50
push dword [esp + 0x40]
push dword [esp + 0x18]
call fcn.00474720
add esp, 8
movzx eax, byte [esp + 0xac]
mov dword [esp + 0x48], eax
mov ecx, dword [esp]
mov edx, dword [esp + 0x58]
push dword [ebp + 0x10]
mov edi, dword [esp + 8]
push edi
push 1
push 1
push esi
call fcn.004cba10
add esp, 0x14
mov dword [esp + 0x28], eax
movzx eax, word [edi + 0x22]
test ax, ax
jle 0x48835c
movsx ecx, word [esp + 0x80]
mov dword [esp + 0x34], ecx
xor ebx, ebx
mov esi, 0xa
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 4]
jmp 0x488276
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x4b
mov dword [ecx + eax*4 + 4], 0
mov dword [ecx + eax*4 + 8], edi
mov dword [ecx + eax*4 + 0xc], 0
mov dword [ecx + eax*4 + 0x10], 0
inc ebx
inc edi
mov edx, dword [esp + 4]
movsx eax, word [edx + 0x22]
add esi, 0xc
cmp ebx, eax
jge 0x488360
movsx ecx, word [edx + 0x20]
cmp ebx, ecx
jne 0x48829e
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jg 0x488232
mov edx, 0x4b
push 0
push edi
push 0
call fcn.004747e0
add esp, 0xc
jmp 0x488261
mov ecx, dword [edx + 4]
movzx ecx, word [ecx + esi]
test cl, 0x60
je 0x4882b4
shl ecx, 0x1a
sar ecx, 0x1f
add edi, ecx
jmp 0x488261
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx + ebx*4]
test ecx, ecx
js 0x4882ed
cmp byte [esp + 0x88], 0
je 0x488328
cmp byte [esp + 0xf], 2
cmovne eax, dword [esp + 0x34]
add ecx, eax
mov eax, ecx
mov ecx, dword [esp + 8]
mov edx, 0x5e
push edi
push eax
push dword [esp + 0x2c]
call fcn.00474780
jmp 0x488299
test byte [esp + 0x94], 1
je 0x488305
cmp ebx, 0x1f
ja 0x488305
mov eax, dword [esp + 0x28]
bt eax, ebx
jae 0x488343
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
push edi
push ebx
push dword [esp + 0x20]
call fcn.00499720
add esp, 0xc
mov dword [esp + 0x48], 0
jmp 0x488261
shl ecx, 4
mov eax, dword [ebp + 8]
mov edx, dword [eax + ecx + 8]
mov ecx, dword [esp]
push edi
call fcn.00493b30
add esp, 4
jmp 0x488261
mov ecx, dword [esp + 8]
mov edx, 0x4b
push edi
push 0
call fcn.00474720
add esp, 8
jmp 0x488261
mov edx, dword [esp + 4]
test byte [edx + 0x1c], 0x60
mov edi, dword [esp]
je 0x48837a
mov eax, edx
mov ecx, edi
mov edx, dword [esp + 0x3c]
push eax
call fcn.004d1f80
add esp, 4
test byte [esp + 0x94], 1
mov eax, dword [ebp + 8]
mov esi, dword [esp + 4]
mov ebx, dword [esp + 0x50]
je 0x488563
mov ecx, dword [esp + 8]
mov ebx, eax
mov edx, esi
push dword [esp + 0x3c]
call fcn.0049f530
add esp, 4
mov ecx, edi
mov edx, dword [esp + 0x58]
push dword [esp + 0x10]
push dword [ebp + 0x10]
push dword [esp + 0x1c]
push esi
push 1
push ebx
push 0x81
call fcn.004cbef0
add esp, 0x1c
cmp byte [esp + 0xf], 2
je 0x48872e
cmp dword [esp + 0x20], 0
je 0x4884ba
mov ecx, dword [esp + 8]
mov edx, 0x1b
push dword [esp + 0x54]
push dword [esp + 0x50]
push dword [esp + 0x18]
push dword [esp + 0x24]
call fcn.00434820
add esp, 0x10
jmp 0x4884d7
cmp dword [esp + 0x20], 0
sete al
mov ebx, dword [esp + 0x88]
mov ecx, ebx
xor cl, 1
test al, cl
jne 0x488831
mov ecx, dword [esp]
mov eax, dword [ecx + 0x38]
dec eax
mov dword [esp + 0x10], eax
mov dword [ecx + 0x38], eax
mov ecx, edi
mov edx, 0x23
push dword [esp + 0x6c]
mov esi, dword [esp + 0x28]
push esi
call fcn.00474720
add esp, 8
mov eax, dword [edi + 0x6c]
mov dword [esp + 0x60], eax
test bl, bl
je 0x4888b8
cmp byte [esp + 0xf], 2
je 0x487d09
cmp dword [esp + 0x20], 0
je 0x48893c
movsx eax, word [esp + 0x80]
mov dword [esp + 0x28], eax
test ax, ax
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x24]
jle 0x4884a6
xor ebx, ebx
mov eax, dword [esp + 0x1c]
add eax, ebx
mov ecx, edi
mov edx, 0x5e
push eax
push ebx
push esi
call fcn.00474780
add esp, 0xc
inc ebx
cmp dword [esp + 0x28], ebx
jne 0x488487
mov ecx, edi
mov edx, 0x1b
push dword [esp + 0x28]
push dword [esp + 0x20]
jmp 0x4888d7
mov ecx, dword [esp + 8]
mov edx, 0x1e
push dword [esp + 0x14]
push dword [esp + 0x14]
push dword [esp + 0x20]
call fcn.00474780
add esp, 0xc
movzx eax, word [esi + 0x22]
test ax, ax
jle 0x488543
xor esi, esi
mov edi, 0xa
mov ebx, dword [esp + 0x3c]
jmp 0x488501
shl ecx, 0x1a
sar ecx, 0x1f
add ebx, ecx
inc esi
inc ebx
movsx ecx, ax
add edi, 0xc
cmp esi, ecx
jge 0x488543
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
movzx ecx, word [ecx + edi]
test cl, 0x60
jne 0x4884ed
mov ecx, dword [esp + 0x38]
cmp dword [ecx + esi*4], 0
jns 0x4884f5
mov edx, dword [esp + 4]
movsx ecx, word [edx + 0x20]
cmp esi, ecx
je 0x4884f5
mov ecx, dword [esp + 8]
push ebx
push esi
push dword [esp + 0x20]
call fcn.00499720
add esp, 0xc
mov eax, dword [esp + 4]
movzx eax, word [eax + 0x22]
jmp 0x4884f5
mov esi, dword [esp + 4]
test byte [esi + 0x1c], 0x60
mov edi, dword [esp]
mov ebx, dword [esp + 0x50]
je 0x488563
mov ecx, edi
mov edx, dword [esp + 0x3c]
push esi
call fcn.004d1f80
add esp, 4
cmp byte [esp + 0xf], 2
je 0x48872e
lea eax, [esp + 0xa8]
mov edx, esi
mov ecx, dword [ebp + 0x10]
movzx esi, cl
mov ecx, edi
push 0
push dword [esp + 0x3c]
push eax
push dword [esp + 0x1c]
push esi
push dword [esp + 0xb0]
push dword [esp + 0x2c]
push dword [esp + 0x5c]
push dword [esp + 0x90]
push dword [esp + 0x3c]
push ebx
call fcn.004d23c0
add esp, 0x2c
cmp dword [esp + 0xa8], 0
jne 0x4885bf
cmp byte [esp + 0x78], 0
je 0x488606
cmp dword [esp + 0x20], 0
je 0x4885e9
mov ecx, dword [esp + 8]
mov edx, 0x1b
push dword [esp + 0x54]
push dword [esp + 0x50]
push dword [esp + 0x18]
push dword [esp + 0x24]
call fcn.00434820
add esp, 0x10
jmp 0x488606
mov ecx, dword [esp + 8]
mov edx, 0x1e
push dword [esp + 0x14]
push dword [esp + 0x14]
push dword [esp + 0x20]
call fcn.00474780
add esp, 0xc
cmp dword [esp + 0x44], 0
mov esi, dword [esp + 4]
je 0x48862e
mov ecx, edi
mov edx, esi
push dword [esp + 0x9c]
push dword [esp + 0x3c]
push 0
push dword [esp + 0x20]
call fcn.004cc120
add esp, 0x10
mov ecx, edi
mov edx, esi
push 0xffffffffffffffff
push ebx
push dword [esp + 0x78]
mov ebx, dword [esp + 0x24]
push ebx
call fcn.004ccac0
add esp, 0x10
cmp dword [esp + 0x48], 0
je 0x48865f
mov ecx, dword [esp + 8]
mov edx, 0x8f
push ebx
call fcn.004939f0
add esp, 4
cmp dword [esp + 0x44], 1
jg 0x48866d
cmp byte [esp + 0x78], 0
je 0x488684
mov ecx, dword [esp + 8]
mov edx, 0x82
push 0
push dword [esp + 0x1c]
call fcn.00474720
add esp, 8
cmp dword [esp + 0x44], 0
mov esi, dword [esp + 4]
je 0x4886fc
mov ecx, edi
mov edx, esi
push dword [esp + 0x9c]
push dword [esp + 0x3c]
mov ebx, dword [esp + 0x48]
push ebx
push 0
call fcn.004cc120
add esp, 0x10
xor eax, eax
cmp dword [esp + 0x30], 2
sete al
lea eax, [eax + eax + 4]
mov ecx, edi
mov edx, esi
push 0
push 0
push eax
push dword [esp + 0x5c]
push ebx
push dword [esp + 0x84]
push dword [esp + 0x30]
call fcn.004d5160
add esp, 0x1c
mov ecx, edi
mov edx, esi
push dword [esp + 0x9c]
push dword [esp + 0x3c]
push dword [esp + 0x1c]
push dword [ebp + 8]
call fcn.004ccc60
add esp, 0x10
jmp 0x48872e
xor eax, eax
cmp dword [esp + 0x30], 2
sete al
lea eax, [eax + eax + 4]
mov ecx, edi
mov edx, esi
push 0
push 0
push eax
push dword [esp + 0x5c]
push dword [esp + 0x50]
push dword [esp + 0x84]
push dword [esp + 0x30]
call fcn.004d5160
add esp, 0x1c
mov ebx, dword [esp + 0xd8]
test ebx, ebx
je 0x48874d
mov ecx, dword [esp + 8]
mov edx, 0x56
push 1
push ebx
call fcn.00474720
add esp, 8
mov ecx, edi
mov edx, dword [esp + 0x58]
push dword [esp + 0x10]
push dword [ebp + 0x10]
push dword [esp + 0x1c]
push esi
push 2
push dword [ebp + 8]
push 0x81
call fcn.004cbef0
add esp, 0x1c
mov eax, dword [esp + 0x30]
cmp eax, 1
je 0x4887c0
cmp eax, 2
jne 0x48879a
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
call fcn.00498d80
mov ecx, dword [esp + 0x98]
call fcn.004af470
jmp 0x4887c0
mov esi, dword [esp + 8]
mov ecx, esi
mov edx, dword [esp + 0x10]
call fcn.00498d80
mov ecx, esi
mov edx, 0x26
push dword [esp + 0x60]
push dword [esp + 0x28]
call fcn.00474720
add esp, 8
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x6c]
call fcn.00498d80
cmp byte [edi + 0x12], 0
jne 0x4887ec
mov eax, dword [esp + 0xdc]
or eax, dword [edi + 0x78]
jne 0x4887ec
cmp dword [edi + 0x70], 0
je 0x4887ec
mov ecx, edi
call fcn.004d0b90
test ebx, ebx
je 0x488803
mov ecx, dword [esp + 8]
mov edx, ebx
push str.rows_updated
call fcn.004cb670
add esp, 4
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x488818
mov eax, dword [esp + 0xd4]
mov dword [ecx + 0xf8], eax
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x38]
call fcn.0043f4f0
mov edx, dword [esp + 0x2c]
mov esi, dword [ebp + 8]
jmp 0x486aad
mov ecx, edi
mov edx, 0x23
push dword [esp + 0x6c]
mov esi, dword [esp + 0x28]
push esi
call fcn.00474720
add esp, 8
mov eax, dword [esp]
mov ebx, dword [eax + 0x38]
dec ebx
mov dword [eax + 0x38], ebx
mov ecx, edi
mov edx, 0x87
mov eax, esi
mov esi, dword [esp + 0x14]
push esi
push eax
call fcn.00474720
add esp, 8
mov dword [esp + 0x60], eax
mov ecx, edi
mov edx, 0x1e
push esi
mov dword [esp + 0x14], ebx
push ebx
push dword [esp + 0x20]
call fcn.00474780
add esp, 0xc
jmp 0x487d09
mov edi, 0x17
mov eax, str.not_authorized
jmp 0x4888a2
mov edi, 1
mov eax, str.authorizer_malfunction
push eax
mov esi, dword [esp + 4]
push esi
call fcn.00434540
add esp, 8
mov dword [esi + 0xc], edi
jmp 0x488818
mov ecx, edi
mov edx, 0x86
mov ebx, dword [esp + 0x4c]
push ebx
push esi
call fcn.00474720
add esp, 8
mov ecx, edi
mov edx, 0x1b
push 0
push ebx
push dword [esp + 0x18]
push dword [esp + 0x24]
call fcn.00434820
add esp, 0x10
jmp 0x487d09
mov eax, edx
mov edi, dword [esp + 8]
mov edx, ebx
jmp 0x487a71
mov esi, dword [edi]
mov edx, 0x53e0e4
cmp byte [esi + 0x57], 0
jne 0x488918
test ebx, ebx
cmovns ecx, ebx
lea edx, [ecx + ecx*4]
shl edx, 2
mov ecx, dword [esp + 8]
add edx, dword [ecx + 0x68]
mov dword [edx + 8], eax
mov edi, dword [esp + 8]
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x5c]
jmp 0x487e19
mov edi, dword [esp + 8]
mov eax, 2
mov edx, ecx
jmp 0x487a71
mov edi, dword [esp + 8]
mov ecx, edi
mov edx, 0x87
mov esi, dword [esp + 0x14]
push esi
push dword [esp + 0x28]
call fcn.00474720
add esp, 8
mov ecx, edi
mov edx, 0x1e
push esi
push dword [esp + 0x14]
jmp 0x48887b