Function at 0x488ba0
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, 0xc0
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x54], 0
mov dword [esp + 0x7c], 0
pcmpeqd xmm0, xmm0
movdqu xmmword [esp + 0x8c], xmm0
movdqa xmmword [esp + 0x80], xmm0
mov dword [esp + 0x68], 0xffffffff
cmp dword [ecx + 0x24], 0
mov esi, dword [ecx]
je 0x488bff
mov ecx, esi
call fcn.00469630
mov dword [esp + 0x18], 0
jmp 0x4899fa
mov dword [esp + 0x84], 0
test ebx, ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 8], ecx
je 0x488c2c
test byte [ebx + 5], 2
je 0x488c22
cmp dword [ebx + 0x34], 0
je 0x488c36
mov dword [esp + 0x4c], 0
jmp 0x488c5c
mov dword [esp + 0x4c], 0
jmp 0x488c5a
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x4c], eax
mov dword [ebx + 0x1c], 0
mov ecx, esi
mov edx, ebx
push 1
call fcn.00469490
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x20]
add esp, 4
xor ebx, ebx
mov dword [esp + 0x34], ebx
mov eax, dword [edx + 8]
test eax, eax
mov dword [esp + 0x60], esi
je 0x488c8c
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x10]
add ecx, 0xfffffff0
nop word cs:[eax + eax]
lea ebx, [ecx + 0x10]
cmp dword [ecx + 0x1c], eax
mov ecx, ebx
jne 0x488c80
jmp 0x488c8f
lea ebx, [edx + 0xc]
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 8]
xor edx, edx
push dword [ebx]
mov ebx, dword [esp + 0x20]
push dword [ebx + 0x10]
call fcn.00433f40
add esp, 8
mov esi, eax
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x488cd4
mov eax, dword [esp + 8]
mov ecx, dword [eax]
test ecx, ecx
je 0x488cca
cmp dword [ecx + 0x210], 0
jne 0x488ccf
dec dword [edx + 0x18]
jne 0x488cd4
call fcn.004759d0
mov edx, dword [esp + 0x1c]
mov dword [edx + 0x18], esi
test esi, esi
je 0x4899dc
inc dword [esi + 0x18]
test byte [edx + 0x2d], 2
mov dword [esp + 0x14], esi
je 0x488d70
mov eax, dword [edx + 0x18]
mov edi, dword [edx + 0x40]
mov esi, dword [eax + 8]
test esi, esi
je 0x488d39
mov edx, dword [esi]
xor ebx, ebx
jmp 0x488d20
movzx ecx, byte [ecx + 0x52a853]
cmp cl, byte [eax + 0x52a853]
jne 0x488d32
inc ebx
movzx ecx, byte [edx + ebx]
movzx eax, byte [edi + ebx]
cmp cl, al
jne 0x488d10
test ecx, ecx
jne 0x488d1f
jmp 0x488d62
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x488d01
push 0
push edi
push str.no_such_index:__s
mov esi, dword [esp + 0x14]
push esi
call fcn.00434540
add esp, 0x10
mov byte [esi + 0x11], 1
mov dword [esp + 0x18], 0
mov edi, dword [ebp + 0xc]
jmp 0x4899d8
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x44], esi
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x14]
mov ecx, dword [esi + 0x3c]
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0x10]
test ecx, ecx
je 0x488d9c
lea edx, [eax + 0xc]
mov ebx, 0xffffffff
nop word cs:[eax + eax]
inc ebx
lea esi, [edx + 0x10]
cmp dword [edx], ecx
mov edx, esi
jne 0x488d90
jmp 0x488da1
mov ebx, 0xffff8000
mov ecx, dword [esp + 8]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x168]
test edx, edx
je 0x488dcb
cmp byte [ecx + 0xb1], 0
jne 0x488dcb
mov esi, dword [esp + 8]
cmp byte [esi + 0xd0], 0
je 0x488f3a
mov eax, dword [esp + 0x14]
movzx ecx, byte [eax + 0x1c]
mov byte [esp + 0x48], cl
cmp dword [eax + 0x38], 0
mov esi, dword [esp + 8]
je 0x488e07
cmp byte [esi + 0x97], 0
jne 0x488e19
lea eax, [esp + 0x68]
mov ecx, esi
mov edx, dword [esp + 0x14]
push eax
push 0
push 0x7f
call fcn.004cb740
add esp, 0xc
mov dword [esp + 0x50], eax
jmp 0x488e29
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x488e19
cmp dword [eax + 0x30], 0
jne 0x488de1
mov dword [esp + 0x68], 0
mov dword [esp + 0x50], 0
mov edi, dword [esp + 0x14]
movzx eax, byte [edi + 0x2b]
mov byte [esp + 0x13], al
mov ecx, esi
mov edx, edi
call fcn.004a63a0
test eax, eax
jne 0x488e56
mov ecx, esi
mov edx, edi
push dword [esp + 0x68]
call fcn.004ca660
add esp, 4
test eax, eax
je 0x488e62
mov edx, dword [esp + 0x1c]
mov edi, dword [ebp + 0xc]
jmp 0x4899dc
mov eax, dword [esi + 8]
test eax, eax
mov edi, dword [ebp + 0xc]
jne 0x488e8d
cmp dword [esi + 0x74], 0
jne 0x488e7e
mov eax, dword [esi]
test byte [eax + 0x50], 8
jne 0x488e7e
mov byte [esi + 0x17], 1
mov ecx, esi
call fcn.004346f0
test eax, eax
je 0x4899d8
cmp byte [esi + 0x12], 0
jne 0x488e9a
or byte [eax + 0x96], 0x10
mov dword [esp + 0xc], eax
xor edx, edx
mov eax, dword [esp + 0x34]
or eax, dword [esp + 0x50]
setne dl
mov ecx, esi
push ebx
call fcn.0049e3c0
add esp, 4
test edi, edi
jne 0x488f81
cmp dword [esp + 0x34], 0
je 0x488f81
cmp dword [esp + 0x50], 0
jne 0x488f81
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x14]
push ebx
push dword [ebp + 0x10]
push dword [esp + 0x3c]
call fcn.004d5990
add esp, 0xc
xor esi, esi
mov ecx, 0
test eax, eax
je 0x488f81
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 8]
cmp byte [ecx + 0x12], 0
jne 0x488f1a
cmp dword [ecx + 0x78], 0
jne 0x488f1a
cmp dword [ecx + 0x70], 0
je 0x488f1a
call fcn.004d0b90
test esi, esi
je 0x4899d8
mov ecx, dword [esp + 0xc]
mov edx, esi
push str.rows_inserted
call fcn.004cb670
add esp, 4
jmp 0x4899d8
mov esi, ebx
shl esi, 4
mov dword [esp + 0x50], esi
mov esi, dword [esp + 8]
push dword [esi + 0xf8]
mov esi, dword [esp + 0x54]
push dword [eax + esi]
push 0
mov eax, dword [esp + 0x20]
push dword [eax]
push 0x12
push dword [ecx + 0x16c]
call edx
add esp, 0x18
cmp eax, 1
jne 0x4893db
mov ebx, 0x17
mov eax, str.not_authorized
jmp 0x4893f0
mov esi, dword [esp + 8]
mov ecx, esi
mov edx, ebx
mov edi, dword [esp + 0x14]
push edi
call fcn.004d6590
add esp, 4
mov dword [esp + 0x74], eax
mov eax, dword [esi + 0x2c]
lea edx, [eax + 1]
movsx ecx, word [edi + 0x22]
add ecx, eax
inc ecx
mov dword [esi + 0x2c], ecx
mov esi, edi
cmp byte [edi + 0x2b], 1
mov dword [esp + 0x78], edx
jne 0x488fc3
add eax, 2
inc ecx
mov edx, dword [esp + 8]
mov dword [edx + 0x2c], ecx
mov edx, eax
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x1c]
add eax, 8
mov dword [esp + 0x38], eax
movzx eax, word [esi + 0x1c]
test eax, 0x440
sete al
mov dword [esp + 0x24], eax
mov dword [esp + 0x3c], 0xffffffff
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x48924e
mov byte [edi + 4], 1
mov edx, dword [edi]
test edx, edx
jle 0x48924e
mov eax, edx
and eax, 7
xor ecx, ecx
mov dword [esp + 0x58], edx
cmp edx, 8
jb 0x489063
mov edx, dword [esp + 0x58]
and edx, 0xfffffff8
xor ecx, ecx
mov dword [edi + ecx*8 + 0xc], 0xffffffff
mov dword [edi + ecx*8 + 0x14], 0xffffffff
mov dword [edi + ecx*8 + 0x1c], 0xffffffff
mov dword [edi + ecx*8 + 0x24], 0xffffffff
mov dword [edi + ecx*8 + 0x2c], 0xffffffff
mov dword [edi + ecx*8 + 0x34], 0xffffffff
mov dword [edi + ecx*8 + 0x3c], 0xffffffff
mov dword [edi + ecx*8 + 0x44], 0xffffffff
add ecx, 8
cmp edx, ecx
jne 0x48901c
test eax, eax
je 0x48907b
lea ecx, [edi + ecx*8]
add ecx, 0xc
xor edx, edx
mov dword [ecx + edx*8], 0xffffffff
inc edx
cmp eax, edx
jne 0x48906f
movzx eax, word [esi + 0x22]
mov dword [esp + 0x3c], 0xffffffff
xor esi, esi
mov edx, dword [esp + 8]
jmp 0x48909a
inc esi
cmp esi, dword [esp + 0x58]
je 0x489252
movsx ecx, ax
mov dword [esp + 0x2c], ecx
test cx, cx
mov dword [esp + 0x44], esi
jle 0x489181
mov word [esp + 0x5c], ax
mov esi, dword [edi + esi*8 + 8]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
xor eax, eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], eax
lea eax, [eax + eax*2]
mov dword [esp + 0x20], eax
mov edi, dword [ecx + eax*4]
xor ecx, ecx
jmp 0x4890f0
movzx eax, byte [eax + 0x52a853]
cmp al, byte [edx + 0x52a853]
jne 0x489102
inc ecx
movzx eax, byte [esi + ecx]
movzx edx, byte [edi + ecx]
cmp al, dl
jne 0x4890e0
test eax, eax
jne 0x4890ef
jmp 0x489119
mov eax, dword [esp + 0x18]
inc eax
cmp eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
jne 0x4890c4
mov edi, dword [ebp + 0xc]
jmp 0x4891a0
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x18]
mov dword [edi + esi*8 + 0xc], edx
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
test byte [eax + ecx*4 + 0xa], 0x60
mov eax, dword [esp + 0x20]
jne 0x4894c8
mov ecx, dword [esp + 0x14]
movsx eax, word [ecx + 0x20]
cmp edx, eax
mov eax, dword [esp + 0x3c]
cmove eax, esi
mov dword [esp + 0x3c], eax
cmp esi, edx
mov edx, dword [esp + 0x24]
movzx edx, dl
mov eax, 0
cmovne edx, eax
mov dword [esp + 0x24], edx
movzx eax, word [ecx + 0x22]
movsx ecx, ax
mov edx, dword [esp + 8]
jmp 0x48918d
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x18], ecx
jl 0x48908f
mov word [esp + 0x5c], ax
mov esi, dword [edi + esi*8 + 8]
xor ecx, ecx
jmp 0x4891b5
test eax, eax
je 0x489225
inc ecx
movzx eax, byte [esi + ecx]
movzx edx, byte [ecx + str._ROWID_]
cmp al, dl
je 0x4891b0
movzx eax, byte [eax + 0x52a853]
cmp al, byte [edx + 0x52a853]
je 0x4891b4
xor ecx, ecx
jmp 0x4891dc
test eax, eax
je 0x489225
inc ecx
movzx eax, byte [esi + ecx]
movzx edx, byte [ecx + str.ROWID]
cmp al, dl
je 0x4891d7
movzx eax, byte [eax + 0x52a853]
cmp al, byte [edx + 0x52a853]
je 0x4891db
xor ecx, ecx
jmp 0x489212
movzx eax, byte [eax + 0x52a853]
cmp al, byte [edx + 0x52a853]
jne 0x48947e
inc ecx
movzx eax, byte [esi + ecx]
movzx edx, byte [ecx + 0x537a8e]
cmp al, dl
jne 0x4891fe
test eax, eax
jne 0x489211
cmp byte [esp + 0x48], 0
js 0x48947e
mov dword [esp + 0x24], 0
mov esi, dword [esp + 0x44]
mov dword [esp + 0x3c], esi
mov edx, dword [esp + 8]
movzx eax, word [esp + 0x5c]
jmp 0x48908f
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x28]
inc eax
mov ecx, dword [esp + 0x34]
test ecx, ecx
mov dword [esp + 0x44], eax
je 0x48940e
mov esi, dword [edx + 0x2c]
inc esi
mov dword [edx + 0x2c], esi
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x6c]
mov dword [esp + 0x20], eax
inc eax
mov edx, 0xa
push eax
push 0
push esi
call fcn.00474780
add esp, 0xc
mov byte [esp + 0x80], 0xd
mov dword [esp + 0x84], esi
pxor xmm0, xmm0
xor ecx, ecx
cmp byte [esp + 0x24], 0
mov eax, dword [esp + 0x44]
mov dword [esp + 0x18], 0
cmove eax, ecx
movdqu xmmword [esp + 0x88], xmm0
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x14]
movsx eax, word [eax + 0x22]
mov dword [esp + 0x90], eax
lea eax, [esp + 0x80]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x34]
push eax
call fcn.0047f470
add esp, 4
test eax, eax
jne 0x4899d8
mov dword [esp + 0x24], esi
mov eax, dword [esp + 8]
cmp dword [eax + 0x24], 0
mov edx, dword [esp + 0x1c]
jne 0x4899dc
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x70], eax
mov esi, dword [esp + 0xc]
mov ecx, esi
mov edx, dword [esp + 0x24]
call fcn.0049f4c0
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x53e0e4
cmp byte [edx + 0x57], 0
jne 0x48934c
lea ecx, [eax - 1]
mov edx, dword [esp + 0x20]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 0xc]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax]
cmp dword [esp + 0x50], 0
jne 0x489379
mov ecx, dword [esp + 8]
mov edx, ebx
push dword [esp + 0x14]
call fcn.004d6670
add esp, 4
test eax, eax
je 0x489a68
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x30], eax
inc eax
mov dword [ecx + 0x28], eax
movzx eax, byte [ecx + 0x13]
test al, al
mov dword [esp + 0x2c], esi
je 0x4894ed
mov ecx, eax
dec cl
mov edx, dword [esp + 8]
mov byte [edx + 0x13], cl
movzx ecx, cl
mov edx, dword [esp + 8]
mov ecx, dword [edx + ecx*4 + 0x98]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 8]
je 0x4894f7
add al, 0xfe
mov byte [ecx + 0x13], al
movzx eax, al
mov eax, dword [ecx + eax*4 + 0x98]
mov dword [esp + 0x20], eax
mov esi, dword [esp + 0xc]
jmp 0x489506
test eax, 0xfffffffd
je 0x4894a6
mov ebx, 1
mov eax, str.authorizer_malfunction
push eax
mov esi, dword [esp + 0xc]
push esi
call fcn.00434540
add esp, 8
mov dword [esi + 0xc], ebx
mov dword [esp + 0x18], 0
jmp 0x4899d8
pxor xmm0, xmm0
movdqu xmmword [esp + 0xac], xmm0
movdqu xmmword [esp + 0xa0], xmm0
mov dword [esp + 0x9c], edx
mov dword [esp + 0x70], 0
mov esi, 0
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x4894b3
mov esi, dword [eax]
lea ecx, [esp + 0x9c]
mov edx, eax
call fcn.0049ffa0
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x1c]
test eax, eax
je 0x4894b3
mov esi, dword [esp + 0x60]
mov ecx, esi
mov edx, ebx
call fcn.00469630
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x18], 0
mov ebx, dword [esp + 0x34]
jmp 0x4899f3
push esi
push dword [esp + 0x3c]
push str.table__S_has_no_column_named__s
mov esi, dword [esp + 0x14]
push esi
call fcn.00434540
add esp, 0x10
mov byte [esi + 0x11], 1
mov dword [esp + 0x18], 0
jmp 0x4899d8
test eax, eax
jne 0x4899d8
jmp 0x488dcb
mov ebx, edx
mov al, 1
mov dword [esp + 0x40], eax
mov dword [esp + 0x30], 0xffffffff
jmp 0x48961d
mov ecx, dword [esp + 0x2c]
push dword [ecx + eax*4]
push str.cannot_INSERT_into_generated_column___s_
push dword [esp + 0x10]
call fcn.00434540
add esp, 0xc
mov dword [esp + 0x18], 0
jmp 0x4899d8
mov eax, dword [ecx + 0x2c]
inc eax
mov dword [esp + 0x18], eax
jmp 0x4894fa
mov eax, dword [ecx + 0x2c]
mov esi, dword [esp + 0xc]
inc eax
mov dword [esp + 0x20], eax
mov dword [ecx + 0x2c], eax
mov ecx, esi
mov edx, 0x76
mov ebx, dword [esp + 0x2c]
push ebx
push dword [esp + 0x34]
call fcn.00474720
add esp, 8
mov ecx, esi
mov edx, 0xb
push dword [esp + 0x84]
call fcn.004939f0
add esp, 4
mov dword [esp + 0x24], eax
mov ecx, esi
mov edx, 0x61
push dword [esp + 0x18]
push ebx
push dword [esp + 0x78]
call fcn.00474780
add esp, 0xc
mov ecx, esi
mov edx, 0x7f
mov ebx, dword [esp + 0x20]
push ebx
push dword [esp + 0x34]
call fcn.00474720
add esp, 8
mov ecx, esi
mov edx, 0x80
push ebx
push dword [esp + 0x1c]
push dword [esp + 0x38]
call fcn.00474780
add esp, 0xc
mov ecx, esi
mov edx, dword [esp + 0x24]
mov ebx, edx
call fcn.00493bc0
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x53e0e4
cmp byte [edx + 0x57], 0
jne 0x4895b2
lea ecx, [eax - 1]
test ebx, ebx
cmovns ecx, ebx
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 0xc]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
mov esi, dword [esp + 0x18]
test esi, esi
mov ebx, dword [esp + 8]
je 0x4895e0
movzx eax, byte [ebx + 0x13]
cmp eax, 7
ja 0x4895e0
mov ecx, eax
inc cl
mov edx, dword [esp + 8]
mov byte [edx + 0x13], cl
mov ebx, dword [esp + 8]
mov dword [ebx + eax*4 + 0x98], esi
mov edx, dword [esp + 0x20]
test edx, edx
mov esi, dword [esp + 0x2c]
je 0x489615
movzx eax, byte [ebx + 0x13]
cmp eax, 7
ja 0x489615
mov ecx, eax
inc cl
mov dword [esp + 0x20], edx
mov edx, dword [esp + 8]
mov byte [edx + 0x13], cl
mov ecx, dword [esp + 8]
mov ebx, ecx
mov edx, dword [esp + 0x20]
mov dword [ecx + eax*4 + 0x98], edx
mov dword [esp + 0x40], 0
movzx ecx, byte [esp + 0x13]
test edi, edi
mov dword [esp + 0x2c], esi
jne 0x489799
test esi, esi
jle 0x489799
mov esi, dword [esp + 0x14]
movsx edi, word [esi + 0x20]
mov ecx, dword [esi + 0x1c]
test edi, edi
js 0x489677
test cl, 0x60
je 0x489677
test di, di
je 0x489677
mov edx, dword [esi + 4]
lea eax, [edi + 1]
lea esi, [edi + edi*2]
lea edx, [edx + esi*4]
add edx, 0xfffffffe
mov esi, dword [esp + 0x14]
movzx ebx, byte [edx]
and bl, 0x60
cmp bl, 1
adc edi, 0xffffffff
dec eax
add edx, 0xfffffff4
cmp eax, 1
jg 0x489662
mov dword [esp + 0x3c], edi
xor edx, edx
movzx ebx, word [esi + 0x22]
movsx edi, bx
test cl, 0x62
je 0x489782
test bx, bx
jle 0x489782
mov eax, dword [esi + 4]
xor ecx, ecx
mov edx, 0
cmp bx, 9
jb 0x489765
mov ecx, edi
and ecx, 7
mov edx, 8
cmovne edx, ecx
mov ecx, edi
sub ecx, edx
lea ebx, [eax + 0x5e]
pxor xmm0, xmm0
movdqa xmm1, xmmword [str.bbbb]
pcmpeqd xmm3, xmm3
movdqa xmm4, xmmword [0x528070]
mov edx, ecx
pxor xmm5, xmm5
pxor xmm2, xmm2
movzx esi, word [ebx - 0x54]
movd xmm7, esi
pinsrw xmm7, word [ebx - 0x48], 1
pinsrw xmm7, word [ebx - 0x3c], 2
pinsrw xmm7, word [ebx - 0x30], 3
movzx esi, word [ebx - 0x24]
movd xmm6, esi
pinsrw xmm6, word [ebx - 0x18], 1
pinsrw xmm6, word [ebx - 0xc], 2
pinsrw xmm6, word [ebx], 3
pand xmm7, xmm1
pand xmm6, xmm1
pcmpeqw xmm7, xmm0
pxor xmm7, xmm3
punpcklwd xmm7, xmm7
pand xmm7, xmm4
paddd xmm5, xmm7
pcmpeqw xmm6, xmm0
pxor xmm6, xmm3
punpcklwd xmm6, xmm6
pand xmm6, xmm4
paddd xmm2, xmm6
add ebx, 0x60
add edx, 0xfffffff8
jne 0x4896e0
paddd xmm2, xmm5
pshufd xmm0, xmm2, 0xee
paddd xmm0, xmm2
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
movd edx, xmm1
mov ebx, edi
sub ebx, ecx
lea ecx, [ecx + ecx*2]
lea ecx, [eax + ecx*4]
add ecx, 0xa
movzx eax, byte [ecx]
and al, 0x62
cmp al, 1
sbb edx, 0xffffffff
add ecx, 0xc
dec ebx
jne 0x489772
sub edi, edx
mov esi, dword [esp + 0x2c]
cmp esi, edi
mov ebx, dword [esp + 8]
movzx ecx, byte [esp + 0x13]
jne 0x489886
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x4897aa
mov eax, dword [edi]
cmp esi, eax
jne 0x4898ae
xor edx, edx
mov eax, dword [esp + 0x60]
test byte [eax + 0x24], 1
mov esi, 0
je 0x489805
cmp byte [ebx + 0x12], 0
mov esi, 0
jne 0x489805
cmp dword [ebx + 0x78], 0
mov esi, 0
jne 0x489805
cmp byte [ebx + 0x95], 0
mov esi, 0
jne 0x489805
mov esi, dword [ebx + 0x2c]
inc esi
mov dword [ebx + 0x2c], esi
mov ecx, dword [esp + 0xc]
mov edx, 0x47
push esi
push 0
call fcn.00474720
xor edx, edx
movzx ecx, byte [esp + 0x1b]
mov ebx, dword [esp + 0x10]
add esp, 8
cmp cl, 2
mov ecx, ebx
je 0x48997c
mov dword [esp + 0x38], esi
sub esp, 0x18
lea eax, [esp + 0x94]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x10], eax
movdqa xmm0, xmmword [0x528080]
movdqu xmmword [esp], xmm0
mov esi, dword [esp + 0x2c]
mov edx, esi
call fcn.004ca900
add esp, 0x18
mov ebx, eax
lea edx, [eax*4 + 8]
mov ecx, dword [esp + 0x60]
push 0
call fcn.0043f5f0
add esp, 4
test eax, eax
je 0x4898cf
mov edx, eax
test ebx, ebx
jle 0x4898dc
mov dword [esp + 0x18], edx
mov edx, esi
add edx, 8
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x2c]
cmp ebx, 1
mov dword [esp + 0x24], ebx
jne 0x4898ea
xor ecx, ecx
jmp 0x489939
push esi
push edi
push dword [esp + 0x40]
push str.table__S_has__d_columns_but__d_values_were_supplied
push ebx
call fcn.00434540
mov edx, dword [esp + 0x30]
add esp, 0x14
mov dword [esp + 0x18], 0
mov edi, dword [ebp + 0xc]
jmp 0x4899dc
push eax
push esi
push str._d_values_for__d_columns
push ebx
call fcn.00434540
mov edx, dword [esp + 0x2c]
add esp, 0x10
mov dword [esp + 0x18], 0
jmp 0x4899dc
mov dword [esp + 0x18], 0
jmp 0x4899d8
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x2c]
xor ebx, ebx
jmp 0x489971
and ebx, 0xfffffffe
mov dword [esp + 0x20], ebx
xor ecx, ecx
mov ebx, dword [esp + 8]
mov edx, dword [edx]
inc eax
mov dword [ebx + 0x2c], eax
mov esi, dword [esp + 0x18]
mov dword [esi + ecx*4], eax
movzx eax, word [edx + 0x34]
mov esi, dword [ebx + 0x2c]
lea edi, [esi + eax]
mov dword [ebx + 0x2c], edi
lea eax, [esi + eax + 1]
mov edx, dword [edx + 0x14]
mov dword [ebx + 0x2c], eax
mov esi, dword [esp + 0x18]
mov dword [esi + ecx*4 + 4], eax
movzx eax, word [edx + 0x34]
add eax, dword [ebx + 0x2c]
mov dword [ebx + 0x2c], eax
add edx, 0x14
add ecx, 2
cmp dword [esp + 0x20], ecx
jne 0x4898f7
mov ebx, dword [esp + 0x24]
test bl, 1
jne 0x48994f
mov edi, dword [ebp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x18]
jmp 0x489971
mov edx, dword [edx]
inc eax
mov esi, dword [esp + 8]
mov dword [esi + 0x2c], eax
mov edi, dword [esp + 0x18]
mov dword [edi + ecx*4], eax
mov ecx, esi
movzx eax, word [edx + 0x34]
mov edx, edi
add eax, dword [esi + 0x2c]
mov dword [esi + 0x2c], eax
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x38]
inc eax
mov dword [ecx + 0x2c], eax
mov dword [edx + ebx*4], eax
mov dword [esp + 0x18], edx
cmp dword [ebp + 0x14], 0
je 0x489ad1
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + 0x2b]
cmp eax, 2
je 0x4899b2
cmp eax, 1
jne 0x4899c6
mov eax, dword [esp + 0x14]
push dword [eax]
push str.UPSERT_not_implemented_for_virtual_table___s_
push ecx
call fcn.00434540
add esp, 0xc
jmp 0x4899d8
push str.cannot_UPSERT_a_view
push ecx
call fcn.00434540
mov edx, dword [esp + 0x24]
add esp, 8
jmp 0x4899dc
mov eax, dword [ebp + 0x14]
mov edx, dword [eax]
call fcn.004a7b90
test eax, eax
je 0x489a7f
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x60]
mov ecx, esi
call fcn.00469630
mov edx, dword [esp + 0x4c]
test edx, edx
mov ebx, dword [esp + 0x34]
je 0x4899fa
mov ecx, esi
call fcn.00475f10
mov edx, dword [ebp + 0x14]
test edx, edx
je 0x489a08
mov ecx, esi
call fcn.00475ea0
test ebx, ebx
je 0x489a1a
mov ecx, esi
mov edx, ebx
push 1
call fcn.00469490
add esp, 4
test edi, edi
je 0x489a51
mov eax, dword [edi]
test eax, eax
jle 0x489a48
xor ebx, ebx
jmp 0x489a35
inc ebx
cmp ebx, eax
jge 0x489a48
mov edx, dword [edi + ebx*8 + 8]
test edx, edx
je 0x489a30
mov ecx, esi
call fcn.0043f4f0
mov eax, dword [edi]
jmp 0x489a30
mov ecx, esi
mov edx, edi
call fcn.0043f4f0
mov edx, dword [esp + 0x18]
test edx, edx
je 0x489a60
mov ecx, esi
call fcn.0043f4f0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov al, 1
mov dword [esp + 0x40], eax
mov dword [esp + 0x30], 0
mov ebx, dword [esp + 8]
jmp 0x48961d
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x1c]
mov dword [edx + 0x30], eax
mov ebx, dword [ebp + 0x14]
jmp 0x489a96
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x489ad1
mov dword [ebx + 0x20], edx
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x54]
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0x7c]
mov dword [ebx + 0x2c], eax
cmp dword [ebx], 0
je 0x489a8f
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x1c]
push ebx
call fcn.004d6770
mov edx, dword [esp + 0x20]
add esp, 4
test eax, eax
je 0x489a8f
jmp 0x4899dc
cmp byte [esp + 0x40], 0
mov dword [esp + 0x38], esi
je 0x489b2d
mov eax, dword [esp + 0x34]
test eax, eax
mov ecx, dword [esp + 0xc]
je 0x489b53
mov ebx, ecx
mov edx, 0xb
push dword [esp + 0x84]
call fcn.004939f0
add esp, 4
mov edx, dword [esp + 0x3c]
test edx, edx
mov dword [esp + 0x6c], eax
js 0x489b4d
mov esi, eax
mov ecx, dword [esp + 0x70]
lea eax, [edx + ecx]
mov ecx, ebx
mov edx, 0x50
push dword [esp + 0x28]
push eax
call fcn.00474720
add esp, 8
mov dword [esp + 0x64], esi
jmp 0x489b65
mov esi, dword [esp + 0xc]
mov ecx, esi
mov edx, 0x23
push dword [esp + 0x30]
call fcn.004939f0
add esp, 4
mov dword [esp + 0x6c], eax
mov ebx, esi
mov eax, dword [esi + 0x6c]
mov dword [esp + 0x64], eax
jmp 0x489b65
mov ebx, ecx
mov dword [esp + 0x6c], 0
mov dword [esp + 0x64], 0
mov edx, dword [esp + 0x14]
cmp word [edx + 0x22], 0
jle 0x489d03
xor ecx, ecx
mov esi, dword [esp + 0x44]
mov dword [esp + 0x24], 0
jmp 0x489b9f
dec esi
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
inc ecx
inc esi
mov edx, dword [esp + 0x14]
movsx eax, word [edx + 0x22]
cmp ecx, eax
jge 0x489d03
movsx eax, word [edx + 0x20]
cmp ecx, eax
mov dword [esp + 0x20], ecx
jne 0x489bc1
mov ecx, ebx
mov edx, 0x4c
push esi
call fcn.004939f0
mov ebx, dword [esp + 0x10]
add esp, 4
jmp 0x489b89
mov eax, edx
mov ebx, dword [edx + 4]
lea edx, [ecx + ecx*2]
mov dword [esp + 0x5c], edx
movzx edx, word [ebx + edx*4 + 0xa]
test dl, 0x62
je 0x489bf4
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x24]
inc ebx
test dl, 0x20
mov dword [esp + 0x24], ebx
jne 0x489b84
test dl, 0x40
jne 0x489c3a
test edi, edi
jne 0x489bfc
jmp 0x489c0f
test edi, edi
je 0x489c4e
mov dword [esp + 0x58], ebx
mov edx, dword [edi]
test edx, edx
jle 0x489c0f
xor ebx, ebx
cmp dword [edi + ebx*8 + 0xc], ecx
je 0x489c63
inc ebx
cmp edx, ebx
jne 0x489c04
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
movzx ebx, word [edx + ebx*4 + 8]
xor edx, edx
test ebx, ebx
je 0x489c28
cmp byte [eax + 0x2b], 0
je 0x489ca6
mov ecx, dword [esp + 8]
push esi
call fcn.0049d930
add esp, 4
jmp 0x489b85
test byte [esp + 0x68], 1
mov ebx, dword [esp + 0xc]
je 0x489b89
jmp 0x489bab
cmp dword [esp + 0x2c], 0
mov ecx, dword [esp + 0xc]
je 0x489cc5
mov ebx, dword [esp + 0x20]
sub ebx, dword [esp + 0x24]
jmp 0x489c67
mov ecx, dword [esp + 0xc]
cmp byte [esp + 0x40], 0
je 0x489c8a
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x4c]
je 0x489cd3
mov eax, dword [esp + 0x70]
cmp eax, dword [esp + 0x44]
jne 0x489ce9
mov ebx, ecx
jmp 0x489b89
mov edx, 0x5e
push esi
push ebx
push dword [esp + 0x38]
call fcn.00474780
mov ebx, dword [esp + 0x18]
add esp, 0xc
jmp 0x489b89
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x489c28
cmp dword [ecx], ebx
jl 0x489c28
shl ebx, 4
mov edx, dword [ebx + ecx - 8]
jmp 0x489c28
mov ecx, dword [esp + 0x5c]
movzx ebx, word [ebx + ecx*4 + 8]
jmp 0x489c1c
shl ebx, 4
mov edx, dword [eax + ebx + 8]
mov ecx, dword [esp + 8]
push esi
call fcn.00493b30
jmp 0x489bb8
add ebx, eax
mov edx, 0x51
push esi
push ebx
call fcn.00474720
mov ebx, dword [esp + 0x14]
add esp, 8
jmp 0x489b89
mov edx, dword [esp + 8]
mov eax, dword [edx + 0x38]
dec eax
mov dword [esp + 0x20], eax
mov dword [edx + 0x38], eax
test byte [esp + 0x68], 1
mov ecx, ebx
je 0x489ece
mov eax, dword [esp + 0x14]
movsx edx, word [eax + 0x22]
inc edx
mov ecx, dword [esp + 8]
call fcn.00497570
mov ebx, eax
mov eax, dword [esp + 0x3c]
test eax, eax
mov dword [esp + 0x24], ebx
js 0x489d60
cmp byte [esp + 0x40], 0
je 0x489d7f
shl eax, 4
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + eax + 8]
mov ecx, dword [esp + 8]
push ebx
call fcn.00493b30
add esp, 4
jmp 0x489d96
mov edi, dword [esp + 0xc]
mov ecx, edi
mov edx, 0x47
push ebx
push 0xffffffffffffffff
call fcn.00474720
add esp, 8
mov esi, dword [esp + 0x14]
jmp 0x489e00
mov ecx, dword [esp + 0xc]
mov edx, 0x5e
push ebx
push eax
push dword [esp + 0x38]
call fcn.00474780
add esp, 0xc
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0xc]
mov ecx, edi
mov edx, 0x33
push ebx
call fcn.004939f0
add esp, 4
mov dword [esp + 0x2c], eax
mov ecx, edi
mov edx, 0x47
push ebx
push 0xffffffffffffffff
call fcn.00474720
add esp, 8
mov edx, dword [edi]
mov eax, dword [edi + 0x6c]
mov ecx, 0x53e0e4
cmp byte [edx + 0x57], 0
jne 0x489de9
lea ecx, [eax - 1]
mov edx, dword [esp + 0x2c]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [edi + 0x68]
mov dword [ecx + 8], eax
mov ecx, edi
mov edx, 0xc
mov ebx, dword [esp + 0x24]
push ebx
call fcn.004939f0
add esp, 4
inc ebx
movsx eax, word [esi + 0x24]
dec eax
mov ecx, edi
mov edx, 0x50
push eax
push ebx
mov eax, dword [esp + 0x4c]
push eax
call fcn.00474780
add esp, 0xc
test byte [esi + 0x1c], 0x60
je 0x489e31
mov ecx, dword [esp + 8]
mov edx, ebx
push esi
call fcn.004d1f80
add esp, 4
cmp byte [esp + 0x13], 2
je 0x489e47
mov ecx, dword [esp + 0xc]
mov edx, esi
push ebx
call fcn.0049f530
add esp, 4
movsx eax, word [esi + 0x22]
not eax
mov ebx, dword [esp + 0x24]
add eax, ebx
mov edi, esi
mov esi, dword [esp + 8]
mov ecx, esi
mov edx, dword [esp + 0x50]
push dword [esp + 0x20]
push dword [ebp + 0x10]
push eax
push edi
push 1
push 0
push 0x7f
call fcn.004cbef0
add esp, 0x1c
movsx eax, word [edi + 0x22]
test eax, eax
je 0x489e97
cmp dword [esi + 0x1c], eax
mov edi, dword [ebp + 0xc]
mov ecx, dword [esp + 0xc]
jg 0x489ece
inc eax
mov edx, dword [esp + 8]
mov dword [edx + 0x1c], eax
lea eax, [edx + 0x20]
jmp 0x489ecc
test ebx, ebx
mov edi, dword [ebp + 0xc]
mov ecx, dword [esp + 0xc]
je 0x489ece
mov eax, dword [esp + 8]
movzx eax, byte [eax + 0x13]
cmp eax, 7
ja 0x489ece
mov ecx, eax
inc cl
mov edx, dword [esp + 8]
mov byte [edx + 0x13], cl
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 8]
lea eax, [ecx + eax*4]
add eax, 0x98
mov ecx, edx
mov dword [eax], ebx
cmp byte [esp + 0x13], 2
jne 0x489f02
mov eax, dword [esp + 8]
cmp byte [eax + 0x95], 0
mov esi, dword [esp + 0x14]
je 0x48a209
mov edx, 0x47
push dword [esp + 0x28]
push 0xffffffffffffffff
call fcn.00474720
add esp, 8
jmp 0x48a209
mov esi, dword [esp + 0x14]
cmp byte [esi + 0x2b], 1
jne 0x489f23
mov edx, 0x4b
push dword [esp + 0x78]
push 0
call fcn.00474720
mov ecx, dword [esp + 0x14]
add esp, 8
cmp dword [esp + 0x3c], 0
js 0x489f7b
cmp byte [esp + 0x40], 0
je 0x489fb7
cmp dword [esp + 0x34], 0
jne 0x489fd0
mov eax, dword [esp + 0x3c]
shl eax, 4
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + eax + 8]
cmp byte [edx], 0x79
jne 0x489f62
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x2b], 1
jne 0x48a315
mov ecx, dword [esp + 8]
push dword [esp + 0x28]
call fcn.00493b30
add esp, 4
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x14]
jmp 0x489fd0
cmp byte [esi + 0x2b], 1
je 0x48a06a
cmp byte [esp + 0x48], 0
js 0x48a06a
mov edx, 0x7f
push dword [esp + 0x74]
mov ebx, dword [esp + 0x2c]
push ebx
push dword [esp + 0x5c]
call fcn.00474780
add esp, 0xc
mov dword [esp + 0x48], 1
jmp 0x48a086
mov edx, 0x5e
push dword [esp + 0x28]
push dword [esp + 0x40]
push dword [esp + 0x38]
call fcn.00474780
add esp, 0xc
cmp byte [esi + 0x2b], 1
mov ecx, dword [esp + 0xc]
jne 0x489ff4
mov eax, dword [ecx + 0x6c]
add eax, 2
mov edx, 0x32
push eax
push dword [esp + 0x2c]
call fcn.00474720
add esp, 8
jmp 0x48a052
mov ebx, ecx
mov edx, 0x33
push dword [esp + 0x28]
call fcn.004939f0
add esp, 4
mov dword [esp + 0x48], eax
mov ecx, ebx
mov edx, 0x7f
push dword [esp + 0x74]
push dword [esp + 0x2c]
push dword [esp + 0x5c]
call fcn.00474780
add esp, 0xc
mov edx, dword [ebx]
mov eax, dword [ebx + 0x6c]
mov ecx, 0x53e0e4
cmp byte [edx + 0x57], 0
jne 0x48a04f
lea ecx, [eax - 1]
mov edx, dword [esp + 0x48]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 0xc]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0xc]
mov edx, 0xc
mov ebx, dword [esp + 0x28]
push ebx
call fcn.004939f0
add esp, 4
jmp 0x48a07e
mov edx, 0x4b
mov ebx, dword [esp + 0x28]
push ebx
push 0
call fcn.00474720
add esp, 8
mov dword [esp + 0x48], 0
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x74]
push ebx
call fcn.004d6ac0
add esp, 4
test byte [esi + 0x1c], 0x60
je 0x48a0ae
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x44]
push esi
call fcn.004d1f80
add esp, 4
cmp byte [esi + 0x2b], 1
jne 0x48a0df
mov eax, dword [esi + 0x34]
mov dword [esp + 0x14], 0
test eax, eax
je 0x48a1a0
mov ecx, dword [esp + 0x60]
cmp dword [eax], ecx
je 0x48a19c
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x48a0cb
jmp 0x48a1a0
mov dword [esp + 0x9c], 0
lea eax, [esp + 0x9c]
mov ecx, dword [ebp + 0x10]
movzx esi, cl
mov ebx, dword [esp + 0x3c]
not ebx
shr ebx, 0x1f
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x14]
push dword [ebp + 0x14]
push 0
push eax
push dword [esp + 0x2c]
push esi
mov esi, dword [esp + 0x28]
push ebx
push 0
mov ebx, dword [esp + 0x94]
push ebx
push dword [esp + 0x9c]
push dword [esp + 0x78]
push dword [esp + 0x40]
call fcn.004d23c0
add esp, 0x2c
mov ecx, dword [esp + 8]
mov edx, esi
push 0
push 0
push ebx
push 0
call fcn.004cc120
add esp, 0x10
cmp dword [esp + 0x9c], 0
je 0x48a16a
xor eax, eax
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0xdc], 0
sete al
jmp 0x48a16f
mov eax, 1
mov ecx, dword [esp + 8]
mov edx, esi
push eax
push dword [esp + 0x4c]
push 0
push dword [esp + 0x24]
push dword [esp + 0x88]
push dword [esp + 0x90]
push dword [esp + 0x6c]
call fcn.004d5160
add esp, 0x1c
jmp 0x48a209
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 8]
mov edx, esi
call fcn.004cabc0
movsx eax, word [esi + 0x22]
add eax, 2
mov ebx, dword [esp + 0xc]
mov ecx, ebx
mov edx, 7
push 0xfffffffffffffff5
push dword [esp + 0x18]
push dword [esp + 0x80]
push eax
push 1
call fcn.00493a50
add esp, 0x14
mov eax, dword [ebx + 0x6c]
test eax, eax
jle 0x48a1f9
mov edx, dword [ebp + 0x10]
cmp edx, 0xb
mov ecx, 2
cmovne ecx, edx
mov edx, dword [esp + 0xc]
mov edx, dword [edx + 0x68]
lea eax, [eax + eax*4]
mov word [edx + eax*4 - 0x12], cx
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x74]
test eax, eax
cmove eax, ecx
mov byte [eax + 0x15], 1
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x48a225
mov ecx, dword [esp + 0xc]
mov edx, 0x56
push 1
push ebx
call fcn.00474720
add esp, 8
mov edx, dword [esp + 0x50]
test edx, edx
mov eax, dword [esp + 0x20]
je 0x48a25c
movsx eax, word [esi + 0x22]
not eax
mov ebx, dword [esp + 0x28]
add ebx, eax
mov ecx, dword [esp + 8]
push dword [esp + 0x20]
push dword [ebp + 0x10]
push ebx
push esi
push 2
push 0
push 0x7f
call fcn.004cbef0
mov eax, dword [esp + 0x3c]
add esp, 0x1c
mov esi, dword [esp + 0xc]
mov ecx, esi
mov edx, eax
call fcn.00498d80
cmp byte [esp + 0x40], 0
je 0x48a2b8
cmp dword [esp + 0x34], 0
je 0x48a308
mov esi, dword [esp + 0xc]
mov ecx, esi
mov edx, dword [esp + 0x64]
call fcn.00493bc0
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x53e0e4
cmp byte [edx + 0x57], 0
jne 0x48a2b3
lea ecx, [eax - 1]
mov edx, dword [esp + 0x6c]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 0xc]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
jmp 0x48a308
mov ecx, esi
mov edx, 0x26
push dword [esp + 0x64]
mov ebx, dword [esp + 0x34]
push ebx
call fcn.00474720
add esp, 8
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x53e0e4
cmp byte [edx + 0x57], 0
jne 0x48a2f5
lea ecx, [eax - 1]
mov edx, dword [esp + 0x6c]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [esi + 0x68]
mov dword [ecx + 8], eax
mov ecx, esi
mov edx, 0x7a
push ebx
call fcn.004939f0
add esp, 4
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x38]
jmp 0x488efb
mov ecx, dword [esp + 0xc]
mov edx, 0x7f
push dword [esp + 0x74]
mov ebx, dword [esp + 0x2c]
push ebx
push dword [esp + 0x5c]
call fcn.00474780
add esp, 0xc
mov dword [esp + 0x48], 1
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x14]
jmp 0x48a086