Function at 0x482da0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x2c
push ebx
push ebp
mov ebp, ecx
push esi
push edi
mov dword [esp + 0x10], edx
mov ax, word [ebp + 0x934460]
cmp ax, 0xffff
je 0x483b2f
cmp word [ebp + 0x934462], 0xffff
je 0x483b2f
mov ebx, dword [esp + 0x68]
xor eax, eax
mov dword [esp + 0x30], eax
mov edi, ebx
mov dword [esp + 0x34], eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x38], eax
lea edx, [esp + 0x30]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov edx, dword [esp + 0x10]
mov ecx, eax
and ecx, 3
xor eax, eax
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x8f9ac8]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x40]
cmp dx, 0x7530
jae 0x483194
movsx esi, word [ebp + 0x934460]
cmp eax, esi
jl 0x482e56
lea edi, [esi + 0x28]
cmp eax, edi
jge 0x482e56
movsx eax, word [ebp + 0x934462]
cmp ecx, eax
jl 0x482e56
add eax, 0x23
cmp ecx, eax
jl 0x483194
mov edi, edx
and edi, 0xffff
mov dword [esp + 0x1c], edi
mov eax, dword [ebp + edi*4 + 0x8f9ad4]
test eax, eax
jle 0x482f5d
mov ecx, dword [ebp + edi*4 + 0x916f94]
sub eax, esi
mov esi, eax
movsx eax, word [ebp + 0x934462]
sub ecx, eax
test esi, esi
jl 0x482f43
cmp esi, 0x28
jge 0x482f43
test ecx, ecx
jl 0x482f43
cmp ecx, 0x23
jge 0x482f43
lea eax, [esi*8]
sub eax, esi
lea ecx, [ecx + eax*4]
add eax, ecx
shl eax, 7
cmp word [eax + ebp + 0x3a], dx
lea esi, [eax + ebp]
jne 0x48305b
xor edx, edx
lea ecx, [esi + 0x6a]
xor eax, eax
mov word [esi + 0x3c], dx
mov dword [ecx], eax
mov edi, ebx
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ebx
mov ebx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, ebx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp + 0x8f8804]
mov ecx, dword [ecx + eax*4 + 0x4a264]
cmp ecx, edx
je 0x482f1f
mov edx, dword [ecx]
push 1
call dword [edx]
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp + 0x8f8804]
xor edx, edx
mov dword [ecx + eax*4 + 0x4a264], edx
mov dword [esi + 0x18], edx
mov dword [esi + 0x20], edx
mov eax, dword [esp + 0x1c]
pop edi
pop esi
mov dword [ebp + eax*4 + 0x8f9ad4], edx
mov dword [ebp + eax*4 + 0x916f94], edx
pop ebp
xor eax, eax
pop ebx
add esp, 0x2c
ret 0x44
xor eax, eax
mov dword [ebp + edi*4 + 0x8f9ad4], eax
mov dword [ebp + edi*4 + 0x916f94], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0x44
jge 0x48305b
cdq
mov ecx, eax
mov eax, dword [ebp + edi*4 + 0x916f94]
xor ecx, edx
sub ecx, edx
cdq
xor eax, edx
sub ecx, esi
sub eax, edx
movsx edx, word [ebp + 0x934462]
sub eax, edx
xor edx, edx
cmp ecx, edx
jl 0x483041
cmp ecx, 0x28
jge 0x483041
cmp eax, edx
jl 0x483041
cmp eax, 0x23
jge 0x483041
lea edx, [ecx*8]
sub edx, ecx
lea eax, [eax + edx*4]
add edx, eax
shl edx, 7
mov al, byte [edx + ebp + 0x60]
lea esi, [edx + ebp]
cmp al, 0xff
jne 0x48305b
mov cx, word [esp + 0x10]
cmp word [esi + 0x38], cx
jne 0x48305b
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
mov byte [esi + 0x60], 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ebx
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esi + 0x34]
mov ecx, dword [ebp + 0x8f8804]
xor edi, edi
mov ecx, dword [ecx + eax*4 + 0x4a264]
cmp ecx, edi
je 0x483020
mov edx, dword [ecx]
push 1
call dword [edx]
mov eax, dword [esi + 0x34]
mov ecx, dword [ebp + 0x8f8804]
mov dword [ecx + eax*4 + 0x4a264], edi
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x34], edi
mov dword [ebp + eax*4 + 0x8f9ad4], edi
mov dword [ebp + eax*4 + 0x916f94], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2c
ret 0x44
mov dword [ebp + edi*4 + 0x8f9ad4], edx
mov dword [ebp + edi*4 + 0x916f94], edx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2c
ret 0x44
mov edx, dword [esp + 0x10]
xor esi, esi
lea edi, [ebp + 0x60]
xor ecx, ecx
mov eax, edi
cmp word [eax - 0x26], dx
je 0x483099
cmp byte [eax], 0xff
jne 0x48307d
cmp word [eax - 0x28], dx
je 0x48312a
inc ecx
add eax, 0x80
cmp ecx, 0x23
jl 0x483068
inc esi
add edi, 0x1180
cmp esi, 0x28
jl 0x483064
jmp 0x483b13
lea eax, [esi*8]
mov edi, ebx
sub eax, esi
lea edx, [ecx + eax*4]
add eax, edx
xor edx, edx
shl eax, 7
lea esi, [eax + ebp]
xor eax, eax
lea ecx, [esi + 0x6a]
mov word [esi + 0x3c], dx
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ebx
mov ebx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, ebx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp + 0x8f8804]
mov ecx, dword [ecx + eax*4 + 0x4a264]
cmp ecx, edx
je 0x483106
mov edx, dword [ecx]
push 1
call dword [edx]
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp + 0x8f8804]
xor edx, edx
mov dword [ecx + eax*4 + 0x4a264], edx
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x18], edx
pop edi
mov dword [ebp + eax*4 + 0x8f9ad4], edx
mov dword [ebp + eax*4 + 0x916f94], edx
mov dword [esi + 0x20], edx
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2c
ret 0x44
lea eax, [esi*8]
mov edi, ebx
sub eax, esi
lea edx, [ecx + eax*4]
or ecx, 0xffffffff
add eax, edx
shl eax, 7
lea esi, [eax + ebp]
xor eax, eax
mov byte [esi + 0x60], 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ebx
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
xor edx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esi + 0x34]
mov ecx, dword [ebp + 0x8f8804]
mov ecx, dword [ecx + eax*4 + 0x4a264]
cmp ecx, edx
je 0x48318c
mov edx, dword [ecx]
push 1
call dword [edx]
mov eax, dword [esi + 0x34]
mov ecx, dword [ebp + 0x8f8804]
xor edx, edx
mov dword [ecx + eax*4 + 0x4a264], edx
mov dword [esi + 0x34], edx
jmp 0x482f25
cmp dx, 0x7530
mov dword [esp + 0x18], 0
jae 0x48362c
cmp word [esp + 0x6c], 0x64
je 0x48363e
xor eax, eax
mov edi, ebx
mov dword [esp + 0x30], eax
or ecx, 0xffffffff
mov dword [esp + 0x34], eax
lea edx, [esp + 0x30]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x38], eax
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
movsx ebx, word [ebp + 0x934460]
movsx edx, word [ebp + 0x934462]
mov ecx, eax
mov eax, dword [esp + 0x40]
and ecx, 3
sub eax, ebx
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x44]
and esi, 0xffff
sub eax, edx
mov dword [esp + 0x68], edx
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + esi*4 + 0x8f9ad4]
test eax, eax
jle 0x4832dd
mov ecx, dword [ebp + esi*4 + 0x916f94]
sub eax, ebx
mov edi, eax
xor eax, eax
sub ecx, edx
cmp edi, eax
jl 0x4832c3
cmp edi, 0x28
jge 0x4832c3
cmp ecx, eax
jl 0x4832c3
cmp ecx, 0x23
jge 0x4832c3
lea eax, [edi*8]
mov dx, word [esp + 0x10]
sub eax, edi
lea ecx, [ecx + eax*4]
add eax, ecx
shl eax, 7
add eax, ebp
cmp word [eax + 0x3a], dx
jne 0x4833a6
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x20]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edx
mov edx, dword [eax + 0x2c]
xor ecx, ecx
mov word [eax + 0x3a], cx
mov dword [eax + 0x18], ecx
mov word [eax + 0x3c], cx
add eax, 0x6a
mov dword [esp + 0x28], edx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x1c]
mov dword [ebp + esi*4 + 0x8f9ad4], edx
mov dword [ebp + esi*4 + 0x916f94], eax
mov esi, dword [esp + 0x14]
jmp 0x483e8d
mov dword [ebp + esi*4 + 0x8f9ad4], eax
mov dword [ebp + esi*4 + 0x916f94], eax
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2c
ret 0x44
jge 0x4833a6
cdq
mov ecx, eax
mov eax, dword [ebp + esi*4 + 0x916f94]
xor ecx, edx
mov edi, dword [esp + 0x68]
sub ecx, edx
cdq
xor eax, edx
sub ecx, ebx
sub eax, edx
sub eax, edi
xor edi, edi
cmp ecx, edi
jl 0x48338c
cmp ecx, 0x28
jge 0x48338c
cmp eax, edi
jl 0x48338c
cmp eax, 0x23
jge 0x48338c
lea edx, [ecx*8]
sub edx, ecx
lea ecx, [eax + edx*4]
add edx, ecx
shl edx, 7
mov cl, byte [edx + ebp + 0x60]
lea eax, [edx + ebp]
cmp cl, 0xff
jne 0x4833a6
mov dx, word [esp + 0x10]
cmp word [eax + 0x38], dx
jne 0x4833a6
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x20]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x20], edx
mov edx, dword [eax + 0x2c]
mov word [eax + 0x38], di
mov dword [eax + 0x34], edi
mov word [eax + 0x48], di
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x28], edx
neg eax
neg ecx
mov dword [ebp + esi*4 + 0x8f9ad4], eax
mov dword [ebp + esi*4 + 0x916f94], ecx
mov esi, dword [esp + 0x14]
jmp 0x483e8d
mov dword [ebp + esi*4 + 0x8f9ad4], edi
mov dword [ebp + esi*4 + 0x916f94], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2c
ret 0x44
mov edx, dword [esp + 0x40]
lea eax, [edx - 7]
lea ecx, [edx + 7]
cmp eax, ecx
jg 0x4832a4
mov edi, dword [esp + 0x68]
mov edx, dword [esp + 0x44]
lea ecx, [edx - 7]
add edx, 7
cmp ecx, edx
jg 0x483422
cmp eax, ebx
jl 0x483422
lea edx, [ebx + 0x28]
cmp eax, edx
jge 0x483422
cmp ecx, edi
jl 0x483422
lea edx, [edi + 0x23]
cmp ecx, edx
jge 0x483422
mov edx, eax
sub edx, ebx
lea edi, [edx*8]
sub edi, edx
lea edx, [edi + edi*4]
mov edi, dword [esp + 0x68]
sub edx, edi
mov di, word [esp + 0x10]
add edx, ecx
shl edx, 7
add edx, ebp
cmp word [edx + 0x3a], di
je 0x483433
cmp word [edx + 0x38], di
je 0x483542
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0x68]
inc ecx
add edx, 7
cmp ecx, edx
jle 0x4833ca
mov ecx, dword [esp + 0x40]
inc eax
add ecx, 7
cmp eax, ecx
jle 0x4833bc
jmp 0x4832a0
mov edx, eax
sub edx, ebx
mov ebx, dword [esp + 0x68]
lea edi, [edx*8]
sub edi, edx
lea edx, [edi + edi*4]
sub edx, ebx
xor ebx, ebx
add edx, ecx
shl edx, 7
add edx, ebp
mov edi, dword [edx + 0x18]
mov dword [esp + 0x18], edi
mov edi, dword [edx + 0x20]
mov dword [esp + 0x20], edi
mov edi, dword [edx + 0x28]
mov dword [esp + 0x24], edi
mov edi, dword [edx + 0x2c]
mov word [edx + 0x3a], bx
mov dword [esp + 0x28], edi
movsx edi, word [ebp + 0x934460]
mov edx, eax
sub edx, edi
lea edi, [edx*8]
sub edi, edx
lea edx, [edi + edi*4]
movsx edi, word [ebp + 0x934462]
sub edx, edi
add edx, ecx
shl edx, 7
mov dword [edx + ebp + 0x18], ebx
mov edx, eax
movsx edi, word [ebp + 0x934460]
sub edx, edi
lea edi, [edx*8]
sub edi, edx
lea edx, [edi + edi*4]
movsx edi, word [ebp + 0x934462]
sub edx, edi
add edx, ecx
shl edx, 7
mov word [edx + ebp + 0x3c], bx
mov edx, eax
movsx edi, word [ebp + 0x934460]
sub edx, edi
lea edi, [edx*8]
sub edi, edx
lea edx, [edi + edi*4]
movsx edi, word [ebp + 0x934462]
sub edx, edi
xor edi, edi
add edx, ecx
shl edx, 7
mov dword [edx + ebp + 0x20], ebx
movsx edx, word [ebp + 0x934460]
sub eax, edx
lea edx, [eax*8]
sub edx, eax
lea eax, [edx + edx*4]
movsx edx, word [ebp + 0x934462]
sub eax, edx
mov edx, dword [esp + 0x44]
add eax, ecx
mov ecx, dword [esp + 0x40]
shl eax, 7
lea eax, [eax + ebp + 0x6a]
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov edi, dword [esp + 0x1c]
mov dword [ebp + esi*4 + 0x8f9ad4], ecx
mov dword [ebp + esi*4 + 0x916f94], edx
mov esi, dword [esp + 0x14]
jmp 0x483e8d
mov edx, eax
sub edx, ebx
mov ebx, dword [esp + 0x68]
lea edi, [edx*8]
sub edi, edx
lea edx, [edi + edi*4]
sub edx, ebx
xor ebx, ebx
add edx, ecx
shl edx, 7
add edx, ebp
mov edi, dword [edx + 0x34]
mov dword [esp + 0x18], edi
mov edi, dword [edx + 0x20]
mov dword [esp + 0x20], edi
mov edi, dword [edx + 0x28]
mov dword [esp + 0x24], edi
mov edi, dword [edx + 0x2c]
mov dword [esp + 0x28], edi
mov word [edx + 0x38], bx
movsx edi, word [ebp + 0x934460]
mov edx, eax
sub edx, edi
lea edi, [edx*8]
sub edi, edx
lea edx, [edi + edi*4]
movsx edi, word [ebp + 0x934462]
sub edx, edi
add edx, ecx
shl edx, 7
mov dword [edx + ebp + 0x34], ebx
mov edx, eax
movsx edi, word [ebp + 0x934460]
sub edx, edi
lea edi, [edx*8]
sub edi, edx
lea edx, [edi + edi*4]
movsx edi, word [ebp + 0x934462]
sub edx, edi
xor edi, edi
add edx, ecx
shl edx, 7
mov word [edx + ebp + 0x48], bx
movsx edx, word [ebp + 0x934460]
sub eax, edx
lea edx, [eax*8]
sub edx, eax
lea eax, [edx + edx*4]
movsx edx, word [ebp + 0x934462]
sub eax, edx
mov edx, dword [esp + 0x44]
add eax, ecx
mov ecx, dword [esp + 0x40]
shl eax, 7
neg ecx
lea eax, [eax + ebp + 0x76]
neg edx
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov edi, dword [esp + 0x1c]
mov dword [ebp + esi*4 + 0x8f9ad4], ecx
mov dword [ebp + esi*4 + 0x916f94], edx
mov esi, dword [esp + 0x14]
jmp 0x483e8d
cmp word [esp + 0x6c], 0x64
je 0x48363e
add edx, 0x8ad0
mov dword [esp + 0x10], edx
cmp dx, 0x7530
jae 0x483b2f
mov ecx, edx
and ecx, 0xffff
mov dword [esp + 0x1c], ecx
mov eax, dword [ebp + ecx*4 + 0x8f9ad4]
test eax, eax
jle 0x48389b
movsx esi, word [ebp + 0x934460]
mov edi, dword [ebp + ecx*4 + 0x916f94]
sub eax, esi
mov esi, eax
movsx eax, word [ebp + 0x934462]
sub edi, eax
mov dword [esp + 0x14], esi
test esi, esi
mov dword [esp + 0x18], edi
jl 0x483881
cmp esi, 0x28
jge 0x483881
test edi, edi
jl 0x483881
cmp edi, 0x23
jge 0x483881
lea eax, [esi*8]
sub eax, esi
lea ecx, [edi + eax*4]
add eax, ecx
shl eax, 7
add eax, ebp
cmp word [eax + 0x3a], dx
jne 0x483aca
movsx ecx, word [esp + 0x6c]
dec ecx
cmp ecx, 7
ja case.default.0x4836ea
xor edx, edx
mov dl, byte [ecx + 0x484218]
jmp dword [edx*4 + 0x484210]
mov ecx, dword [esp + 0x4c]
dec ecx
cmp ecx, 7
ja case.default.0x4836ea
jmp dword [ecx*4 + 0x484220]
mov edx, dword [esp + 0x18]
lea edi, [edx - 1]
jmp case.default.0x4836ea
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
lea edi, [ecx - 1]
lea esi, [edx + 1]
jmp case.default.0x4836ea
mov ecx, dword [esp + 0x14]
lea esi, [ecx + 1]
jmp case.default.0x4836ea
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
lea esi, [edx + 1]
lea edi, [ecx + 1]
jmp case.default.0x4836ea
mov ecx, dword [esp + 0x14]
lea esi, [ecx - 1]
mov edx, dword [esp + 0x18]
lea edi, [edx + 1]
jmp case.default.0x4836ea
mov ecx, dword [esp + 0x14]
lea esi, [ecx - 1]
jmp case.default.0x4836ea
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
lea esi, [edx - 1]
lea edi, [ecx - 1]
mov ecx, dword [ebp + 0x8f8804]
mov dx, word [esp + 0x10]
mov dword [esp + 0x18], ecx
cmp dx, word [ecx + 0x4e666]
je 0x483795
lea ecx, [esi*8]
sub ecx, esi
lea edx, [edi + ecx*4]
add ecx, edx
shl ecx, 7
add ecx, ebp
cmp word [ecx + 0x3c], 0
je 0x483795
mov dx, word [esp + 0x10]
cmp word [ecx + 0x3a], dx
je 0x483795
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
push eax
jmp 0x483b0e
mov ecx, dword [eax + 0x18]
cmp word [esp + 0x6c], 0x64
mov dword [esp + 0x18], ecx
je 0x4837f5
movsx edx, word [eax + 0x3c]
mov cx, word [eax + 0x3e]
mov dword [esp + 0x48], edx
mov dx, word [eax + 0x40]
mov word [esp + 0x50], cx
mov cx, word [eax + 0x42]
mov word [esp + 0x54], dx
mov dx, word [eax + 0x44]
mov word [esp + 0x58], cx
mov ecx, dword [eax + 0x30]
mov word [esp + 0x5c], dx
mov dx, word [eax + 0x46]
mov dword [esp + 0x60], ecx
mov ecx, dword [eax + 0x20]
mov word [esp + 0x64], dx
mov edx, dword [eax + 0x28]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ecx
xor edx, edx
lea ecx, [eax + 0x6a]
mov dword [esp + 0x30], edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], edx
mov edx, dword [ecx]
mov dword [esp + 0x30], edx
mov edx, dword [ecx + 4]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x68]
mov cx, word [ecx + 8]
mov dword [ebx], 0
mov word [esp + 0x38], cx
mov ecx, dword [edx]
mov dword [ebx], ecx
mov ecx, dword [edx + 4]
mov dword [ebx + 4], ecx
xor ecx, ecx
mov dx, word [edx + 8]
mov word [ebx + 8], dx
mov word [eax + 0x3a], cx
mov dword [eax + 0x18], ecx
mov word [eax + 0x3c], cx
mov dword [eax + 0x20], ecx
mov eax, dword [esp + 0x68]
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x1c]
movsx edx, word [ebp + 0x934460]
add edx, esi
mov dword [ebp + eax*4 + 0x8f9ad4], edx
movsx ecx, word [ebp + 0x934462]
add ecx, edi
mov dword [ebp + eax*4 + 0x916f94], ecx
jmp 0x483e8d
xor eax, eax
pop edi
mov dword [ebp + ecx*4 + 0x8f9ad4], eax
mov dword [ebp + ecx*4 + 0x916f94], eax
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0x44
jge 0x483aca
cdq
mov esi, eax
mov eax, dword [ebp + ecx*4 + 0x916f94]
xor esi, edx
sub esi, edx
movsx edx, word [ebp + 0x934460]
sub esi, edx
cdq
xor eax, edx
sub eax, edx
movsx edx, word [ebp + 0x934462]
sub eax, edx
xor edx, edx
cmp esi, edx
mov dword [esp + 0x18], eax
jl 0x483ab0
cmp esi, 0x28
jge 0x483ab0
cmp eax, edx
jl 0x483ab0
cmp eax, 0x23
jge 0x483ab0
lea ecx, [esi*8]
sub ecx, esi
lea edx, [eax + ecx*4]
add ecx, edx
shl ecx, 7
lea edx, [ecx + ebp]
mov dword [esp + 0x14], edx
cmp byte [edx + 0x60], 0xff
jne 0x483aca
mov cx, word [edx + 0x38]
cmp cx, word [esp + 0x10]
jne 0x483aca
mov edi, eax
movsx eax, word [esp + 0x6c]
dec eax
cmp eax, 7
ja case.default.0x483934
xor edx, edx
mov dl, byte [eax + 0x484248]
jmp dword [edx*4 + 0x484240]
mov eax, dword [esp + 0x4c]
dec eax
cmp eax, 7
ja case.default.0x483945
jmp dword [eax*4 + 0x484250]
mov ecx, dword [esp + 0x18]
lea edi, [ecx - 1]
jmp case.default.0x483945
mov edx, dword [esp + 0x18]
lea edi, [edx - 1]
inc esi
jmp case.default.0x483945
mov eax, dword [esp + 0x18]
inc esi
lea edi, [eax + 1]
jmp case.default.0x483945
mov ecx, dword [esp + 0x18]
lea edi, [ecx + 1]
jmp case.default.0x483945
mov edx, dword [esp + 0x18]
dec esi
lea edi, [edx + 1]
jmp case.default.0x483945
dec esi
jmp case.default.0x483945
mov eax, dword [esp + 0x18]
dec esi
lea edi, [eax - 1]
mov edx, dword [esp + 0x14]
mov eax, dword [ebp + 0x8f8804]
mov cx, word [esp + 0x10]
mov dword [esp + 0x18], eax
cmp cx, word [eax + 0x4e666]
je 0x4839d6
lea eax, [esi*8]
sub eax, esi
lea ecx, [edi + eax*4]
add eax, ecx
shl eax, 7
add eax, ebp
cmp word [eax + 0x3c], 0
je 0x4839d6
mov cx, word [esp + 0x10]
cmp word [eax + 0x3a], cx
je 0x4839d6
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
push edx
jmp 0x483b0e
mov eax, dword [edx + 0x34]
cmp word [esp + 0x6c], 0x64
mov dword [esp + 0x18], eax
je 0x483a21
movsx ecx, word [edx + 0x48]
mov ax, word [edx + 0x4a]
mov dword [esp + 0x48], ecx
mov cx, word [edx + 0x4c]
mov word [esp + 0x50], ax
mov ax, word [edx + 0x4e]
mov word [esp + 0x54], cx
mov cx, word [edx + 0x50]
mov word [esp + 0x58], ax
mov eax, dword [edx + 0x24]
mov word [esp + 0x5c], cx
mov cx, word [edx + 0x52]
mov dword [esp + 0x60], eax
mov word [esp + 0x64], cx
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
lea eax, [edx + 0x76]
mov dword [esp + 0x14], eax
mov ecx, dword [eax]
mov dword [esp + 0x30], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x14]
mov ax, word [eax + 8]
mov dword [ebx], 0
mov word [esp + 0x38], ax
mov eax, dword [ecx]
mov dword [ebx], eax
mov eax, dword [ecx + 4]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x14]
mov cx, word [ecx + 8]
mov word [ebx + 8], cx
xor ecx, ecx
mov word [edx + 0x38], cx
mov dword [edx + 0x34], ecx
mov word [edx + 0x48], cx
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
mov eax, dword [esp + 0x1c]
movsx edx, word [ebp + 0x934460]
add edx, esi
neg edx
mov dword [ebp + eax*4 + 0x8f9ad4], edx
movsx edx, word [ebp + 0x934462]
add edx, edi
neg edx
mov dword [ebp + eax*4 + 0x916f94], edx
jmp 0x483e8f
mov dword [ebp + ecx*4 + 0x8f9ad4], edx
pop edi
mov dword [ebp + ecx*4 + 0x916f94], edx
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2c
ret 0x44
xor esi, esi
lea ecx, [ebp + 0x38]
mov dword [esp + 0x14], esi
xor edx, edx
mov eax, ecx
mov edi, dword [esp + 0x10]
cmp word [eax + 2], di
je 0x483b3b
cmp word [eax], di
je 0x483cee
inc edx
add eax, 0x80
cmp edx, 0x23
jl 0x483ad7
inc esi
add ecx, 0x1180
cmp esi, 0x28
mov dword [esp + 0x14], esi
jl 0x483ad3
mov ecx, edi
push ecx
mov ecx, dword [ebp + 0x8f8804]
call fcn.00415af0
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ebx
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2c
ret 0x44
movsx eax, word [esp + 0x6c]
dec eax
mov edi, edx
cmp eax, 7
ja case.default.0x483b61
xor ecx, ecx
mov cl, byte [eax + 0x484278]
jmp dword [ecx*4 + 0x484270]
mov eax, dword [esp + 0x4c]
dec eax
cmp eax, 7
ja case.default.0x483b61
jmp dword [eax*4 + 0x484280]
mov ecx, dword [esp + 0x14]
lea edi, [edx - 1]
lea esi, [ecx + 1]
jmp case.default.0x483b61
mov eax, dword [esp + 0x14]
lea esi, [eax + 1]
jmp case.default.0x483b61
mov ecx, dword [esp + 0x14]
lea edi, [edx + 1]
lea esi, [ecx + 1]
jmp case.default.0x483b61
mov eax, dword [esp + 0x14]
lea esi, [eax - 1]
lea edi, [edx + 1]
jmp case.default.0x483b61
mov ecx, dword [esp + 0x14]
lea esi, [ecx - 1]
jmp case.default.0x483b61
mov eax, dword [esp + 0x14]
lea esi, [eax - 1]
lea edi, [edx - 1]
mov eax, dword [ebp + 0x8f8804]
mov cx, word [esp + 0x10]
mov dword [esp + 0x18], eax
cmp cx, word [eax + 0x4e666]
je 0x483be9
lea eax, [esi*8]
sub eax, esi
lea ecx, [edi + eax*4]
add eax, ecx
shl eax, 7
add eax, ebp
cmp word [eax + 0x3c], 0
je 0x483be9
mov cx, word [esp + 0x10]
cmp word [eax + 0x3a], cx
jne 0x4839c8
mov ecx, dword [esp + 0x14]
lea eax, [ecx*8]
sub eax, ecx
lea ecx, [edx + eax*4]
add eax, ecx
shl eax, 7
add eax, ebp
cmp word [esp + 0x6c], 0x64
mov edx, dword [eax + 0x18]
mov dword [esp + 0x18], edx
je 0x483c60
movsx ecx, word [eax + 0x3c]
mov dx, word [eax + 0x3e]
mov dword [esp + 0x48], ecx
mov cx, word [eax + 0x40]
mov word [esp + 0x50], dx
mov dx, word [eax + 0x42]
mov word [esp + 0x54], cx
mov cx, word [eax + 0x44]
mov word [esp + 0x58], dx
mov edx, dword [eax + 0x30]
mov word [esp + 0x5c], cx
mov cx, word [eax + 0x46]
mov dword [esp + 0x60], edx
mov edx, dword [eax + 0x20]
mov word [esp + 0x64], cx
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x20], edx
mov edx, dword [eax + 0x2c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
xor ecx, ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
lea ecx, [eax + 0x6a]
mov dword [esp + 0x68], ecx
mov edx, dword [ecx]
mov dword [esp + 0x30], edx
mov edx, dword [ecx + 4]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x68]
mov cx, word [ecx + 8]
mov dword [ebx], 0
mov word [esp + 0x38], cx
mov ecx, dword [edx]
mov dword [ebx], ecx
mov ecx, dword [edx + 4]
mov dword [ebx + 4], ecx
xor ecx, ecx
mov dx, word [edx + 8]
mov word [ebx + 8], dx
mov word [eax + 0x3a], cx
mov dword [eax + 0x18], ecx
mov word [eax + 0x3c], cx
mov dword [eax + 0x20], ecx
mov eax, dword [esp + 0x68]
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
mov eax, dword [esp + 0x1c]
movsx edx, word [ebp + 0x934460]
add edx, esi
mov dword [ebp + eax*4 + 0x8f9ad4], edx
movsx edx, word [ebp + 0x934462]
add edx, edi
mov dword [ebp + eax*4 + 0x916f94], edx
jmp 0x483e8f
movsx eax, word [esp + 0x6c]
dec eax
mov edi, edx
cmp eax, 7
ja case.default.0x483d14
xor ecx, ecx
mov cl, byte [eax + 0x4842a8]
jmp dword [ecx*4 + 0x4842a0]
mov eax, dword [esp + 0x4c]
dec eax
cmp eax, 7
ja case.default.0x483d14
jmp dword [eax*4 + 0x4842b0]
mov ecx, dword [esp + 0x14]
lea edi, [edx - 1]
lea esi, [ecx + 1]
jmp case.default.0x483d14
mov eax, dword [esp + 0x14]
lea esi, [eax + 1]
jmp case.default.0x483d14
mov ecx, dword [esp + 0x14]
lea edi, [edx + 1]
lea esi, [ecx + 1]
jmp case.default.0x483d14
mov eax, dword [esp + 0x14]
lea esi, [eax - 1]
lea edi, [edx + 1]
jmp case.default.0x483d14
mov ecx, dword [esp + 0x14]
lea esi, [ecx - 1]
jmp case.default.0x483d14
mov eax, dword [esp + 0x14]
lea esi, [eax - 1]
lea edi, [edx - 1]
mov eax, dword [ebp + 0x8f8804]
mov cx, word [esp + 0x10]
mov dword [esp + 0x18], eax
cmp cx, word [eax + 0x4e666]
je 0x483d9c
lea eax, [esi*8]
sub eax, esi
lea ecx, [edi + eax*4]
add eax, ecx
shl eax, 7
add eax, ebp
cmp word [eax + 0x3c], 0
je 0x483d9c
mov cx, word [esp + 0x10]
cmp word [eax + 0x3a], cx
jne 0x4839c8
mov ecx, dword [esp + 0x14]
lea eax, [ecx*8]
sub eax, ecx
lea ecx, [edx + eax*4]
add eax, ecx
shl eax, 7
add eax, ebp
cmp word [esp + 0x6c], 0x64
mov edx, dword [eax + 0x34]
mov dword [esp + 0x18], edx
je 0x483dfe
movsx ecx, word [eax + 0x48]
mov dx, word [eax + 0x4a]
mov dword [esp + 0x48], ecx
mov cx, word [eax + 0x4c]
mov word [esp + 0x50], dx
mov dx, word [eax + 0x4e]
mov word [esp + 0x54], cx
mov cx, word [eax + 0x50]
mov word [esp + 0x58], dx
mov edx, dword [eax + 0x24]
mov word [esp + 0x5c], cx
mov cx, word [eax + 0x52]
mov dword [esp + 0x60], edx
mov word [esp + 0x64], cx
xor edx, edx
lea ecx, [eax + 0x76]
mov dword [esp + 0x30], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], edx
mov edx, ecx
mov ebx, dword [edx]
mov dword [esp + 0x30], ebx
mov ebx, dword [edx + 4]
mov dword [esp + 0x34], ebx
mov dx, word [edx + 8]
mov word [esp + 0x38], dx
mov edx, dword [esp + 0x68]
mov dword [edx], 0
mov ebx, dword [ecx]
mov dword [edx], ebx
mov ebx, dword [ecx + 4]
mov dword [edx + 4], ebx
mov cx, word [ecx + 8]
mov word [edx + 8], cx
xor ecx, ecx
mov word [eax + 0x38], cx
mov dword [eax + 0x34], ecx
mov word [eax + 0x48], cx
mov dword [eax + 0x20], ecx
mov eax, dword [esp + 0x14]
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
mov eax, dword [esp + 0x1c]
movsx ecx, word [ebp + 0x934460]
add ecx, esi
neg ecx
mov dword [ebp + eax*4 + 0x8f9ad4], ecx
movsx edx, word [ebp + 0x934462]
add edx, edi
neg edx
mov dword [ebp + eax*4 + 0x916f94], edx
xor ecx, ecx
mov edx, 0xa
cmp word [esp + 0x6c], dx
jne 0x483eb5
movsx eax, word [ebp + 0x934460]
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
sub esi, eax
movsx eax, word [ebp + 0x934462]
sub edi, eax
cmp dword [esp + 0x7c], ecx
jne 0x483fb1
lea eax, [esi*8]
sub eax, esi
lea ebx, [edi + eax*4]
add eax, ebx
shl eax, 7
add eax, ebp
cmp word [eax + 0x3c], cx
je 0x483fb1
cmp byte [eax + 0x61], dl
jne 0x483fb1
mov cx, word [eax + 0x3a]
mov word [eax + 0x38], cx
mov dx, word [eax + 0x3c]
mov word [eax + 0x48], dx
mov cl, byte [eax + 0x63]
mov byte [eax + 0x64], cl
mov dx, word [eax + 0x3e]
mov word [eax + 0x4a], dx
mov cx, word [eax + 0x40]
mov word [eax + 0x4c], cx
mov dx, word [eax + 0x42]
mov word [eax + 0x4e], dx
mov cx, word [eax + 0x44]
mov word [eax + 0x50], cx
mov edx, dword [eax + 0x30]
mov dword [eax + 0x24], edx
mov cx, word [eax + 0x46]
mov edx, dword [esp + 0x2c]
mov word [eax + 0x52], cx
mov byte [eax + 0x60], 0xff
lea ecx, [eax + 0x6a]
mov dword [eax + 0x10], edx
lea edx, [eax + 0x76]
mov ebx, dword [ecx]
mov dword [edx], ebx
mov ebx, dword [ecx + 4]
mov dword [edx + 4], ebx
mov bx, word [ecx + 8]
mov word [edx + 8], bx
mov cl, byte [ecx + 0xa]
mov byte [edx + 0xa], cl
mov edx, dword [eax + 0x18]
xor ecx, ecx
mov dword [eax + 0x34], edx
mov word [eax + 0x3a], cx
mov word [eax + 0x3c], cx
xor edx, edx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x6a], edx
mov dword [eax + 0x6e], edx
mov dword [eax + 0x72], edx
mov dx, word [eax + 0x38]
mov ebx, dword [ebp + edx*4 + 0x8f9ad4]
lea edx, [ebp + edx*4 + 0x8f9ad4]
neg ebx
mov dword [edx], ebx
xor edx, edx
mov dx, word [eax + 0x38]
mov ebx, dword [ebp + edx*4 + 0x916f94]
lea edx, [ebp + edx*4 + 0x916f94]
neg ebx
mov dword [edx], ebx
mov edx, dword [eax + 0x20]
cmp edx, ecx
je 0x483fb1
mov dword [eax + 0x20], ecx
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0xc], ecx
lea edx, [esi*8]
sub edx, esi
lea eax, [edi + edx*4]
add edx, eax
shl edx, 7
add edx, ebp
cmp word [edx + 0x3c], cx
je 0x483fe3
mov ecx, dword [ebp + 0x8f8804]
pop edi
pop esi
pop ebp
mov ax, word [ecx + 0x4e666]
pop ebx
xor eax, eax
add esp, 0x2c
ret 0x44
mov eax, dword [esp + 0x7c]
cmp eax, ecx
mov ax, word [esp + 0x10]
jne 0x48411b
mov cx, word [esp + 0x48]
mov word [edx + 0x3a], ax
mov al, byte [esp + 0x4c]
mov word [edx + 0x3c], cx
mov cx, word [esp + 0x50]
mov byte [edx + 0x63], al
mov ax, word [esp + 0x54]
mov word [edx + 0x3e], cx
mov cx, word [esp + 0x58]
mov word [edx + 0x40], ax
mov ax, word [esp + 0x5c]
mov word [edx + 0x42], cx
mov ecx, dword [esp + 0x60]
mov word [edx + 0x44], ax
mov ax, word [esp + 0x64]
mov dword [edx + 0x30], ecx
mov cx, word [esp + 0x70]
mov word [edx + 0x46], ax
mov ax, word [esp + 0x74]
mov word [edx + 0x54], cx
mov cx, word [esp + 0x78]
mov word [edx + 0x56], ax
mov eax, dword [esp + 0x20]
mov word [edx + 0x58], cx
mov ecx, dword [esp + 0x24]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0x28]
mov dword [edx + 0x28], ecx
lea ebx, [edx + 0x6a]
mov dword [edx + 0x2c], eax
mov eax, ebx
xor ecx, ecx
lea edi, [esp + 0x30]
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov ax, word [esp + 0x6c]
and ecx, 3
cmp ax, 0x64
rep movsb byte es:[edi], byte [esi]
je 0x4840c0
cmp ax, 0xf14
je 0x4840c0
cmp ax, 0xf15
je 0x4840c0
mov cl, byte [esp + 0x80]
mov byte [edx + 0x62], cl
mov byte [edx + 0x61], al
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
mov dword [edx + 8], esi
mov dword [edx + 0x18], ecx
mov ecx, dword [esp + 0x5c]
test cl, 0xf0
je 0x4841f9
sar ecx, 4
and ecx, 0xf
cmp ax, 0x64
mov dword [edx + 0x20], ecx
jne 0x4840f4
mov dword [edx + 0x28], 0
mov dword [edx + 0xc], esi
mov eax, dword [edx + 0x20]
dec eax
je 0x4841e3
dec eax
jne 0x484200
pop edi
pop esi
pop ebp
mov dword [edx + 0x2c], 0xb
mov eax, 1
pop ebx
add esp, 0x2c
ret 0x44
mov cx, word [esp + 0x48]
mov word [edx + 0x38], ax
mov al, byte [esp + 0x4c]
mov word [edx + 0x48], cx
mov cx, word [esp + 0x50]
mov byte [edx + 0x64], al
mov ax, word [esp + 0x54]
mov word [edx + 0x4a], cx
mov cx, word [esp + 0x58]
mov word [edx + 0x4c], ax
mov ax, word [esp + 0x5c]
mov word [edx + 0x4e], cx
mov ecx, dword [esp + 0x60]
mov word [edx + 0x50], ax
mov ax, word [esp + 0x64]
mov dword [edx + 0x24], ecx
lea ebx, [edx + 0x76]
mov word [edx + 0x52], ax
mov eax, ebx
xor ecx, ecx
lea edi, [esp + 0x30]
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x18]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x2c]
mov dword [edx + 0x10], ecx
mov dword [edx + 0x34], eax
mov eax, dword [esp + 0x5c]
test al, 0xf0
je 0x4841f9
sar eax, 4
and eax, 0xf
cmp word [esp + 0x6c], 0x64
mov dword [edx + 0x20], eax
jne 0x4841c4
mov dword [edx + 0x28], 0
mov dword [edx + 0xc], ecx
mov eax, dword [edx + 0x20]
dec eax
je 0x4841e3
dec eax
jne 0x484200
pop edi
pop esi
pop ebp
mov dword [edx + 0x2c], 0xb
mov eax, 1
pop ebx
add esp, 0x2c
ret 0x44
pop edi
pop esi
pop ebp
mov dword [edx + 0x2c], 0xd
mov eax, 1
pop ebx
add esp, 0x2c
ret 0x44
mov dword [edx + 0x20], 0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x2c
ret 0x44