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

Disassembly:
sub esp, 0x80
mov eax, dword [0x75a1c0]
xor eax, esp
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x84]
xorps xmm0, xmm0
mov edx, dword [esp + 0x88]
movzx ecx, word [esp + 0x8c]
push ebx
mov eax, dword [eax + 0x440]
push ebp
push esi
push edi
mov edi, dword [eax]
xor esi, esi
xor eax, eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x74], eax
lea ebp, [edi + 0x324]
mov dword [esp + 0x64], eax
mov dword [esp + 0x84], eax
mov eax, dword [ebp]
mov dword [esp + 0x54], edi
movlpd qword [esp + 0x28], xmm0
movlpd qword [esp + 0x30], xmm0
movlpd qword [esp + 0x38], xmm0
movlpd qword [esp + 0x6c], xmm0
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x48], ebp
test eax, eax
je 0x48490e
mov eax, dword [eax + 0x20]
inc esi
test eax, eax
jne 0x484906
cmp byte [esp + 0xa0], 0
jge 0x4849bb
lea eax, [esp + 0x20]
push eax
call fcn.00484050
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x48499e
mov edi, dword [edi + 0x328]
test edi, edi
je 0x48495a
nop dword [eax]
push dword [edi + 0x24]
mov esi, dword [edi + 0x3c]
call fcn.00687807
push edi
call fcn.00687807
add esp, 8
mov edi, esi
test esi, esi
jne 0x484940
mov eax, dword [esp + 0x54]
mov edi, dword [ebp]
mov dword [eax + 0x328], 0
test edi, edi
je 0x484991
nop
push dword [edi]
mov esi, dword [edi + 0x20]
call fcn.00687807
push dword [edi + 8]
call fcn.00687807
push edi
call fcn.00687807
add esp, 0xc
mov edi, esi
test esi, esi
jne 0x484970
mov edi, dword [esp + 0x54]
mov dword [ebp], 0
jmp 0x4849a7
dec ebx
cmp ebx, esi
ja 0x485b16
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [edi + 0x338], ebx
mov dword [esp + 0x14], edx
jmp 0x4849c1
mov ebx, dword [edi + 0x338]
mov eax, dword [ebp]
mov dword [esp + 0x40], eax
test ebx, ebx
je 0x4849dc
nop dword [eax]
mov eax, dword [eax + 0x20]
sub ebx, 1
jne 0x4849d0
mov dword [esp + 0x40], eax
test eax, eax
je 0x4849e3
inc dword [eax + 0x18]
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
cmp edi, 2
jge 0x484c9c
test eax, eax
jne 0x484c8b
cmp edi, 2
jge 0x484c9c
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
mov ebp, dword [esp + 0x28]
cmp ebp, ecx
jae 0x484aed
movzx eax, byte [edx + ebp]
add edi, 8
shld ebx, esi, 8
cdq
inc ebp
shl esi, 8
or ebx, edx
mov edx, dword [esp + 0x14]
or esi, eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x38], edi
cmp edi, 2
jl 0x484a15
mov eax, dword [esp + 0x10]
movq xmm1, qword [esp + 0x30]
sub edi, 2
mov dword [esp + 0x38], edi
movd xmm0, edi
psrlq xmm1, xmm0
movd edx, xmm1
and edx, 3
sub edx, 0
je 0x484b03
sub edx, 1
je 0x484d57
sub edx, 1
je 0x484cd0
cmp edi, 0x20
jge 0x484acc
test eax, eax
jne 0x484cc3
cmp edi, 0x20
jge 0x484acc
cmp ebp, ecx
jae 0x484cad
mov eax, dword [esp + 0x14]
add edi, 8
shld ebx, esi, 8
mov dword [esp + 0x38], edi
shl esi, 8
movzx eax, byte [eax + ebp]
inc ebp
cdq
or esi, eax
mov dword [esp + 0x28], ebp
or ebx, edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
cmp edi, 0x20
jl 0x484a97
movq xmm1, qword [esp + 0x30]
sub edi, 0x20
mov dword [esp + 0x38], edi
movd xmm0, edi
psrlq xmm1, xmm0
movd dword [esp + 0x18], xmm1
mov edx, dword [esp + 0x18]
jmp 0x484b66
cmp edi, 2
jge 0x484a4a
mov eax, 1
mov dword [esp + 0x10], eax
mov dword [esp + 0x3c], eax
cmp edi, 4
jge 0x484b4a
test eax, eax
jne 0x484e9d
cmp edi, 4
jge 0x484b4a
cmp ebp, ecx
jae 0x484e87
mov eax, dword [esp + 0x14]
add edi, 8
shld ebx, esi, 8
mov dword [esp + 0x38], edi
shl esi, 8
movzx eax, byte [eax + ebp]
inc ebp
cdq
or esi, eax
mov dword [esp + 0x28], ebp
or ebx, edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
cmp edi, 4
jl 0x484b15
movq xmm1, qword [esp + 0x30]
sub edi, 4
mov dword [esp + 0x38], edi
movd xmm0, edi
psrlq xmm1, xmm0
movd edx, xmm1
and edx, 0xf
mov eax, dword [esp + 0x54]
mov eax, dword [eax + 0x2f0]
add eax, edx
mov dl, byte [esp + 0xa0]
test dl, 0x40
lea ecx, [eax + 0x102]
cmove ecx, eax
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x24]
test dl, 0x20
je 0x485141
mov eax, dword [esp + 0x10]
cmp edi, 2
jge 0x484be9
test eax, eax
jne 0x484eba
cmp edi, 2
jge 0x484be9
nop dword [eax]
cmp ebp, ecx
jae 0x484ea4
mov eax, dword [esp + 0x14]
add edi, 8
shld ebx, esi, 8
mov dword [esp + 0x38], edi
shl esi, 8
movzx eax, byte [eax + ebp]
inc ebp
cdq
or esi, eax
mov dword [esp + 0x28], ebp
or ebx, edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
cmp edi, 2
jl 0x484bb0
mov eax, dword [esp + 0x10]
movq xmm1, qword [esp + 0x30]
sub edi, 2
mov dword [esp + 0x38], edi
movd xmm0, edi
psrlq xmm1, xmm0
movd edx, xmm1
and edx, 3
sub edx, 0
je 0x484eba
sub edx, 1
je 0x484ff4
sub edx, 1
je 0x484f73
cmp edi, 0x20
jge 0x484c67
test eax, eax
jne 0x484f6b
cmp edi, 0x20
jge 0x484c67
cmp ebp, ecx
jae 0x484f55
mov eax, dword [esp + 0x14]
add edi, 8
shld ebx, esi, 8
mov dword [esp + 0x38], edi
shl esi, 8
movzx eax, byte [eax + ebp]
inc ebp
cdq
or esi, eax
mov dword [esp + 0x28], ebp
or ebx, edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
cmp edi, 0x20
jl 0x484c32
movq xmm1, qword [esp + 0x30]
sub edi, 0x20
mov dword [esp + 0x38], edi
movd xmm0, edi
psrlq xmm1, xmm0
movd dword [esp + 0x18], xmm1
mov eax, dword [esp + 0x18]
jmp 0x484f25
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
mov ebp, dword [esp + 0x28]
jmp 0x484b03
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
mov ebp, dword [esp + 0x28]
jmp 0x484a4e
cmp edi, 0x20
jge 0x484acc
mov eax, 1
mov dword [esp + 0x10], eax
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x18], eax
mov edx, eax
jmp 0x484b66
cmp edi, 0x10
jge 0x484d11
test eax, eax
jne 0x484d4a
cmp edi, 0x10
jge 0x484d11
nop
cmp ebp, ecx
jae 0x484d38
mov eax, dword [esp + 0x14]
add edi, 8
shld ebx, esi, 8
mov dword [esp + 0x38], edi
shl esi, 8
movzx eax, byte [eax + ebp]
inc ebp
cdq
or esi, eax
mov dword [esp + 0x28], ebp
or ebx, edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
cmp edi, 0x10
jl 0x484ce0
movq xmm1, qword [esp + 0x30]
sub edi, 0x10
mov dword [esp + 0x38], edi
movd xmm0, edi
psrlq xmm1, xmm0
movd eax, xmm1
movzx eax, ax
mov dword [esp + 0x18], eax
mov edx, eax
jmp 0x484b66
cmp edi, 0x10
jge 0x484d11
mov eax, 1
mov dword [esp + 0x10], eax
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x18], eax
mov edx, eax
jmp 0x484b66
cmp edi, 8
jge 0x484da5
test eax, eax
jne 0x484e57
cmp edi, 8
jge 0x484da5
nop dword [eax]
cmp ebp, ecx
jae 0x484e41
mov eax, dword [esp + 0x14]
add edi, 8
shld ebx, esi, 8
mov dword [esp + 0x38], edi
shl esi, 8
movzx eax, byte [eax + ebp]
inc ebp
cdq
or esi, eax
mov dword [esp + 0x28], ebp
or ebx, edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
cmp edi, 8
jl 0x484d70
movq xmm1, qword [esp + 0x30]
sub edi, 8
mov dword [esp + 0x38], edi
movd xmm0, edi
psrlq xmm1, xmm0
movd eax, xmm1
movzx edx, al
mov dword [esp + 0x18], edx
cmp edx, 0x10
jae 0x484b66
cmp edi, 4
jge 0x484e14
cmp dword [esp + 0x10], 0
jne 0x484e78
cmp edi, 4
jge 0x484e14
cmp ebp, ecx
jae 0x484e62
mov eax, dword [esp + 0x14]
add edi, 8
shld ebx, esi, 8
mov dword [esp + 0x38], edi
shl esi, 8
movzx eax, byte [eax + ebp]
inc ebp
cdq
or esi, eax
mov dword [esp + 0x28], ebp
or ebx, edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
cmp edi, 4
jl 0x484de3
movq xmm1, qword [esp + 0x30]
sub edi, 4
mov edx, dword [esp + 0x18]
or edx, 0xfffffff0
mov dword [esp + 0x38], edi
shl edx, 4
movd xmm0, edi
psrlq xmm1, xmm0
movd eax, xmm1
and eax, 0xf
or edx, eax
jmp 0x484b66
cmp edi, 8
jge 0x484da5
mov eax, 1
mov dword [esp + 0x10], eax
mov dword [esp + 0x3c], eax
xor edx, edx
mov dword [esp + 0x18], edx
jmp 0x484dce
cmp edi, 4
jge 0x484e14
mov edx, dword [esp + 0x18]
mov eax, 1
mov dword [esp + 0x10], eax
mov dword [esp + 0x3c], eax
or edx, 0xfffffff0
xor eax, eax
shl edx, 4
or edx, eax
jmp 0x484b66
cmp edi, 4
jge 0x484b4a
mov eax, 1
mov dword [esp + 0x10], eax
mov dword [esp + 0x3c], eax
xor edx, edx
jmp 0x484b66
cmp edi, 2
jge 0x484be5
mov eax, 1
mov dword [esp + 0x10], eax
mov dword [esp + 0x3c], eax
cmp edi, 4
jge 0x484f05
test eax, eax
jne 0x48513a
cmp edi, 4
jge 0x484f05
nop dword [eax]
cmp ebp, ecx
jae 0x485124
mov eax, dword [esp + 0x14]
add edi, 8
shld ebx, esi, 8
mov dword [esp + 0x38], edi
shl esi, 8
movzx eax, byte [eax + ebp]
inc ebp
cdq
or esi, eax
mov dword [esp + 0x28], ebp
or ebx, edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
cmp edi, 4
jl 0x484ed0
movq xmm1, qword [esp + 0x30]
sub edi, 4
mov dword [esp + 0x38], edi
movd xmm0, edi
psrlq xmm1, xmm0
movd eax, xmm1
and eax, 0xf
mov dword [esp + 0x18], eax
mov edx, 0x3c000
mov dword [esp + 0x7c], eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x50], edx
mov dword [esp + 0x78], edx
mov dl, byte [esp + 0xa0]
test eax, eax
je 0x485191
mov eax, dword [eax + 0x18]
jmp 0x485193
cmp edi, 0x20
jge 0x484c67
mov eax, 1
mov dword [esp + 0x10], eax
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x18], eax
jmp 0x484f25
cmp edi, 0x10
jge 0x484fb2
test eax, eax
jne 0x484fe9
cmp edi, 0x10
jge 0x484fb2
cmp ebp, ecx
jae 0x484fd7
mov eax, dword [esp + 0x14]
add edi, 8
shld ebx, esi, 8
mov dword [esp + 0x38], edi
shl esi, 8
movzx eax, byte [eax + ebp]
inc ebp
cdq
or esi, eax
mov dword [esp + 0x28], ebp
or ebx, edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
cmp edi, 0x10
jl 0x484f81
movq xmm1, qword [esp + 0x30]
sub edi, 0x10
mov dword [esp + 0x38], edi
movd xmm0, edi
psrlq xmm1, xmm0
movd eax, xmm1
movzx eax, ax
mov dword [esp + 0x18], eax
jmp 0x484f25
cmp edi, 0x10
jge 0x484fb2
mov eax, 1
mov dword [esp + 0x10], eax
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x18], eax
jmp 0x484f25
cmp edi, 8
jge 0x48503b
test eax, eax
jne 0x4850f4
cmp edi, 8
jge 0x48503b
cmp ebp, ecx
jae 0x4850de
mov eax, dword [esp + 0x14]
add edi, 8
shld ebx, esi, 8
mov dword [esp + 0x38], edi
shl esi, 8
movzx eax, byte [eax + ebp]
inc ebp
cdq
or esi, eax
mov dword [esp + 0x28], ebp
or ebx, edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
cmp edi, 8
jl 0x485006
movq xmm1, qword [esp + 0x30]
sub edi, 8
mov dword [esp + 0x38], edi
movd xmm0, edi
psrlq xmm1, xmm0
movd eax, xmm1
movzx eax, al
mov dword [esp + 0x18], eax
cmp eax, 0x10
jae 0x484f25
cmp edi, 4
jge 0x4850b1
cmp dword [esp + 0x10], 0
jne 0x485111
cmp edi, 4
jge 0x4850b1
nop dword [eax]
cmp ebp, ecx
jae 0x4850ff
mov eax, dword [esp + 0x14]
add edi, 8
shld ebx, esi, 8
mov dword [esp + 0x38], edi
shl esi, 8
movzx eax, byte [eax + ebp]
inc ebp
cdq
or esi, eax
mov dword [esp + 0x28], ebp
or ebx, edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
cmp edi, 4
jl 0x485080
movq xmm1, qword [esp + 0x30]
sub edi, 4
mov eax, dword [esp + 0x18]
or eax, 0xfffffff0
mov dword [esp + 0x38], edi
shl eax, 4
movd xmm0, edi
psrlq xmm1, xmm0
movd edx, xmm1
and edx, 0xf
or eax, edx
jmp 0x484f21
cmp edi, 8
jge 0x48503b
mov eax, 1
mov dword [esp + 0x10], eax
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x18], eax
jmp 0x485064
cmp edi, 4
jge 0x4850b1
mov eax, 1
mov dword [esp + 0x10], eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x18]
xor edx, edx
or eax, 0xfffffff0
shl eax, 4
or eax, edx
jmp 0x484f21
cmp edi, 4
jge 0x484f05
mov eax, 1
mov dword [esp + 0x10], eax
mov dword [esp + 0x3c], eax
xor eax, eax
jmp 0x484f21
mov eax, dword [esp + 0x40]
test eax, eax
je 0x485172
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x4c], eax
mov eax, 0x3c000
mov dword [esp + 0x50], eax
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x18]
jmp 0x485193
mov eax, 0x3c000
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], eax
mov dword [esp + 0x78], eax
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x7c], eax
xor eax, eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x88], 0x40000
test dl, 0x10
je 0x485301
cmp edi, 7
jge 0x4851fc
cmp dword [esp + 0x10], 0
jne 0x48525b
cmp edi, 7
jge 0x4851fc
cmp ebp, ecx
jae 0x48524e
mov eax, dword [esp + 0x14]
add edi, 8
shld ebx, esi, 8
mov dword [esp + 0x38], edi
shl esi, 8
movzx eax, byte [eax + ebp]
inc ebp
cdq
or esi, eax
mov dword [esp + 0x28], ebp
or ebx, edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
cmp edi, 7
jl 0x4851c7
movq xmm1, qword [esp + 0x30]
sub edi, 7
mov dword [esp + 0x38], edi
movd xmm0, edi
psrlq xmm1, xmm0
movd ebp, xmm1
and ebp, 0x7f
xor ebx, ebx
mov edi, 1
nop
test edi, ebp
je 0x4852a7
lea eax, [esp + 0x20]
push 2
push eax
call fcn.00483fb0
add esp, 8
sub eax, 0
je 0x485292
sub eax, 1
je 0x485263
sub eax, 1
lea eax, [esp + 0x20]
je 0x48525f
push 0x20
jmp 0x485298
cmp edi, 7
jge 0x4851fc
mov dword [esp + 0x3c], 1
xor ebp, ebp
jmp 0x485218
push 0x10
jmp 0x485298
lea eax, [esp + 0x20]
push 8
push eax
call fcn.00483fb0
mov esi, eax
add esp, 8
cmp esi, 0x10
jae 0x4852a3
lea eax, [esp + 0x20]
push 4
push eax
call fcn.00483fb0
or esi, 0xfffffff0
add esp, 8
shl esi, 4
or esi, eax
jmp 0x4852a3
push 4
lea eax, [esp + 0x24]
push eax
call fcn.00483fb0
add esp, 8
mov esi, eax
mov dword [esp + ebx*4 + 0x6c], esi
inc ebx
rol edi, 1
cmp ebx, 7
jb 0x485220
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x4854db
lea eax, [esp + 0x20]
push 2
push eax
call fcn.00483fb0
add esp, 8
sub eax, 0
je 0x485386
sub eax, 1
je 0x48534f
sub eax, 1
lea eax, [esp + 0x20]
je 0x48533f
push 0x20
push eax
call fcn.00483fb0
mov ebx, eax
mov dword [esp + 0x48], ebx
jmp 0x485398
push 0x10
push eax
call fcn.00483fb0
mov ebx, eax
mov dword [esp + 0x48], ebx
jmp 0x485398
lea eax, [esp + 0x20]
push 8
push eax
call fcn.00483fb0
mov ebx, eax
add esp, 8
mov dword [esp + 0x40], ebx
cmp ebx, 0x10
jae 0x4853a3
lea eax, [esp + 0x20]
push 4
push eax
call fcn.00483fb0
or ebx, 0xfffffff0
add esp, 8
shl ebx, 4
or ebx, eax
mov dword [esp + 0x40], ebx
jmp 0x48539b
lea eax, [esp + 0x20]
push 4
push eax
call fcn.00483fb0
mov ebx, eax
mov dword [esp + 0x48], eax
add esp, 8
test ebx, ebx
je 0x485b16
cmp ebx, 0x10000
ja 0x485b16
push ebx
call fcn.006883b5
add esp, 4
mov dword [esp + 0x44], eax
test eax, eax
je 0x485b16
mov eax, dword [esp + 0x20]
xor edx, edx
mov edi, dword [esp + 0x38]
test ebx, ebx
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x5c], ebx
je 0x485482
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
jmp 0x485404
mov ecx, dword [esp + 0x10]
cmp edi, 8
jge 0x485441
test ecx, ecx
jne 0x48547e
cmp edi, 8
jge 0x485441
cmp ebp, dword [esp + 0x24]
jae 0x48546d
movzx eax, byte [eax + ebp]
add edi, 8
shld ebx, esi, 8
cdq
inc ebp
shl esi, 8
or ebx, edx
or esi, eax
mov dword [esp + 0x5c], ebx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
cmp edi, 8
jl 0x485412
sub edi, 8
mov eax, esi
mov edx, ebx
mov ecx, edi
call fcn.0067bf90
mov edx, dword [esp + 0x1c]
mov cl, al
mov eax, dword [esp + 0x44]
mov byte [edx + eax], cl
inc edx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], edx
cmp edx, dword [esp + 0x40]
jb 0x485400
jmp 0x48548a
cmp edi, 8
jge 0x485441
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x10], 1
xor cl, cl
jmp 0x485455
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
push dword [esp + 0x40]
push dword [esp + 0x48]
call fcn.00482c00
add esp, 8
mov dword [esp + 0x40], eax
push dword [esp + 0x44]
test eax, eax
je 0x485b0e
call fcn.00687807
mov ecx, dword [esp + 0x4c]
add esp, 4
mov eax, dword [ecx]
test eax, eax
je 0x4854d5
nop dword [eax]
lea ebx, [eax + 0x20]
mov eax, dword [ebx]
mov dword [esp + 0x48], ebx
test eax, eax
jne 0x4854c0
mov ebx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x40]
mov dword [ecx], eax
mov ecx, dword [esp + 0x4c]
xor edx, edx
test byte [esp + 0xa0], 8
mov dword [eax + 0x1c], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x1c], edx
je 0x4856e7
mov eax, dword [esp + 0x10]
cmp edi, 2
jge 0x4856f8
test eax, eax
jne 0x4855ec
mov ecx, dword [esp + 0x24]
cmp edi, 2
jge 0x485549
cmp ebp, ecx
jae 0x4855da
mov eax, dword [esp + 0x14]
add edi, 8
shld ebx, esi, 8
shl esi, 8
movzx eax, byte [eax + ebp]
inc ebp
cdq
or esi, eax
or ebx, edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
cmp edi, 2
jl 0x485518
mov eax, dword [esp + 0x10]
movq xmm1, qword [esp + 0x30]
sub edi, 2
movd xmm0, edi
psrlq xmm1, xmm0
movd edx, xmm1
and edx, 3
sub edx, 0
je 0x4855ec
sub edx, 1
je 0x485799
sub edx, 1
je 0x485723
cmp edi, 0x20
jge 0x4855bd
test eax, eax
jne 0x485712
cmp edi, 0x20
jge 0x4855bd
nop
cmp ebp, ecx
jae 0x485701
mov eax, dword [esp + 0x14]
add edi, 8
shld ebx, esi, 8
shl esi, 8
movzx eax, byte [eax + ebp]
inc ebp
cdq
or esi, eax
or ebx, edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
cmp edi, 0x20
jl 0x485590
movq xmm1, qword [esp + 0x30]
sub edi, 0x20
movd xmm0, edi
psrlq xmm1, xmm0
movd dword [esp + 0x1c], xmm1
mov eax, dword [esp + 0x1c]
jmp 0x48564b
cmp edi, 2
jge 0x485545
mov eax, 1
mov dword [esp + 0x10], eax
cmp edi, 4
jge 0x48562f
test eax, eax
jne 0x4858b3
cmp edi, 4
jge 0x48562f
nop
cmp ebp, dword [esp + 0x24]
jae 0x4858a2
mov eax, dword [esp + 0x14]
add edi, 8
shld ebx, esi, 8
shl esi, 8
movzx eax, byte [eax + ebp]
inc ebp
cdq
or esi, eax
or ebx, edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
cmp edi, 4
jl 0x485600
movq xmm1, qword [esp + 0x30]
sub edi, 4
movd xmm0, edi
psrlq xmm1, xmm0
movd eax, xmm1
and eax, 0xf
mov dword [esp + 0x1c], eax
cmp eax, 0x1fc0
ja 0x485b16
add eax, 0x40
push eax
call fcn.006883b5
mov edx, eax
add esp, 4
mov dword [esp + 0x44], edx
test edx, edx
je 0x485b16
xor ecx, ecx
mov dword [esp + 0x48], ecx
cmp dword [esp + 0x1c], ecx
je 0x4856e7
nop dword [eax]
cmp edi, 8
jge 0x4856be
cmp dword [esp + 0x10], 0
jne 0x4858cb
cmp edi, 8
jge 0x4856be
cmp ebp, dword [esp + 0x24]
jae 0x4858ba
mov eax, dword [esp + 0x14]
add edi, 8
shld ebx, esi, 8
shl esi, 8
movzx eax, byte [eax + ebp]
inc ebp
cdq
or edx, ebx
or esi, eax
mov ebx, edx
cmp edi, 8
jl 0x485695
sub edi, 8
mov eax, esi
mov edx, ebx
mov ecx, edi
call fcn.0067bf90
mov ecx, dword [esp + 0x48]
mov dl, al
mov eax, dword [esp + 0x44]
mov byte [eax + ecx + 0x40], dl
inc ecx
mov dword [esp + 0x48], ecx
cmp ecx, dword [esp + 0x1c]
jb 0x485680
mov edx, eax
cmp dword [esp + 0x10], 0
je 0x4858d2
push edx
jmp 0x485b0e
mov ecx, dword [esp + 0x24]
jmp 0x485549
cmp edi, 0x20
jge 0x4855bd
mov dword [esp + 0x10], 1
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x1c]
jmp 0x48564b
cmp edi, 0x10
jge 0x48575a
test eax, eax
jne 0x485788
cmp edi, 0x10
jge 0x48575a
cmp ebp, ecx
jae 0x48577b
mov eax, dword [esp + 0x14]
add edi, 8
shld ebx, esi, 8
shl esi, 8
movzx eax, byte [eax + ebp]
inc ebp
cdq
or esi, eax
or ebx, edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
cmp edi, 0x10
jl 0x485731
movq xmm1, qword [esp + 0x30]
sub edi, 0x10
movd xmm0, edi
psrlq xmm1, xmm0
movd eax, xmm1
movzx eax, ax
mov dword [esp + 0x1c], eax
jmp 0x48564b
cmp edi, 0x10
jge 0x48575a
mov dword [esp + 0x10], 1
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x1c]
jmp 0x48564b
cmp edi, 8
jge 0x4857dd
test eax, eax
jne 0x48587a
cmp edi, 8
jge 0x4857dd
nop dword [eax + eax]
cmp ebp, ecx
jae 0x485869
mov eax, dword [esp + 0x14]
add edi, 8
shld ebx, esi, 8
shl esi, 8
movzx eax, byte [eax + ebp]
inc ebp
cdq
or esi, eax
or ebx, edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
cmp edi, 8
jl 0x4857b0
movq xmm1, qword [esp + 0x30]
sub edi, 8
movd xmm0, edi
psrlq xmm1, xmm0
movd eax, xmm1
movzx eax, al
mov dword [esp + 0x1c], eax
cmp eax, 0x10
jae 0x48564b
cmp edi, 4
jge 0x485840
cmp dword [esp + 0x10], 0
jne 0x485893
cmp edi, 4
jge 0x485840
cmp ebp, ecx
jae 0x485882
mov eax, dword [esp + 0x14]
add edi, 8
shld ebx, esi, 8
shl esi, 8
movzx eax, byte [eax + ebp]
inc ebp
cdq
or esi, eax
or ebx, edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
cmp edi, 4
jl 0x485817
movq xmm1, qword [esp + 0x30]
sub edi, 4
mov eax, dword [esp + 0x1c]
or eax, 0xfffffff0
shl eax, 4
movd xmm0, edi
psrlq xmm1, xmm0
movd ecx, xmm1
and ecx, 0xf
or eax, ecx
jmp 0x485647
cmp edi, 8
jge 0x4857dd
mov dword [esp + 0x10], 1
xor eax, eax
mov dword [esp + 0x1c], eax
jmp 0x485802
cmp edi, 4
jge 0x485840
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], 1
or eax, 0xfffffff0
xor ecx, ecx
shl eax, 4
or eax, ecx
jmp 0x485647
cmp edi, 4
jge 0x48562f
mov dword [esp + 0x10], 1
xor eax, eax
jmp 0x485647
cmp edi, 8
jge 0x4856be
mov dword [esp + 0x10], 1
xor dl, dl
jmp 0x4856d2
push 0x40
push 1
call fcn.00681a00
mov esi, eax
add esp, 8
test esi, esi
je 0x485b0a
mov ebx, dword [esp + 0x1c]
mov ecx, 0x40
mov ebp, dword [esp + 0x40]
cmp ebx, ecx
mov dword [esi], ebp
cmova ecx, ebx
push ecx
push 1
mov dword [esi + 0x28], ecx
call fcn.00681a00
add esp, 8
mov dword [esi + 0x24], eax
test eax, eax
je 0x485b0a
mov edi, dword [esp + 0x44]
test edi, edi
je 0x485928
push ebx
push edi
push eax
call fcn.0067d850
add esp, 0xc
movups xmm0, xmmword [esp + 0x6c]
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x4c]
movups xmmword [esi + 4], xmm0
push edi
movups xmm0, xmmword [esp + 0x80]
mov dword [esi + 0x2c], eax
mov dword [esi + 0x30], ebx
movups xmmword [esi + 0x14], xmm0
call fcn.00687807
mov edx, dword [esi + 0x24]
add esp, 4
movups xmm1, xmmword [esp + 0x6c]
movd eax, xmm1
movaps xmm0, xmm1
movd ecx, xmm1
psrldq xmm0, 4
mov byte [edx], al
mov eax, ecx
shr eax, 8
mov byte [edx + 1], al
mov eax, ecx
shr eax, 0x10
mov byte [edx + 2], al
shr ecx, 0x18
mov byte [edx + 3], cl
mov edx, dword [esi + 0x24]
movd eax, xmm0
movaps xmm0, xmm1
psrldq xmm0, 4
movd ecx, xmm0
movaps xmm0, xmm1
mov byte [edx + 4], al
psrldq xmm0, 8
mov eax, ecx
psrldq xmm1, 0xc
shr eax, 8
mov byte [edx + 5], al
mov eax, ecx
shr eax, 0x10
mov byte [edx + 6], al
shr ecx, 0x18
mov byte [edx + 7], cl
mov ecx, dword [esi + 0x24]
mov edx, dword [esp + 0x60]
movd eax, xmm0
mov byte [ecx + 8], al
mov eax, edx
shr eax, 8
mov byte [ecx + 9], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 0xa], al
shr edx, 0x18
mov byte [ecx + 0xb], dl
mov ecx, dword [esi + 0x24]
mov edx, dword [esp + 0x50]
movd eax, xmm1
movups xmm1, xmmword [esp + 0x7c]
mov byte [ecx + 0xc], al
mov eax, edx
shr eax, 8
mov byte [ecx + 0xd], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 0xe], al
shr edx, 0x18
mov byte [ecx + 0xf], dl
mov ecx, dword [esi + 0x24]
mov edx, dword [esp + 0x18]
movd eax, xmm1
mov byte [ecx + 0x10], al
mov eax, edx
shr eax, 8
mov byte [ecx + 0x11], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 0x12], al
shr edx, 0x18
mov byte [ecx + 0x13], dl
mov ecx, dword [esi + 0x24]
mov edx, dword [esp + 0x58]
movaps xmm0, xmm1
psrldq xmm0, 4
movd eax, xmm0
psrldq xmm1, 8
mov byte [ecx + 0x14], al
mov eax, edx
shr eax, 8
mov byte [ecx + 0x15], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 0x16], al
shr edx, 0x18
mov byte [ecx + 0x17], dl
mov ecx, dword [esi + 0x24]
mov edx, dword [esp + 0x64]
movd eax, xmm1
mov byte [ecx + 0x18], al
mov eax, edx
shr eax, 8
mov byte [ecx + 0x19], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 0x1a], al
mov eax, ebx
shr edx, 0x18
mov byte [ecx + 0x1b], dl
mov ecx, dword [esi + 0x24]
shr eax, 8
mov byte [ecx + 0x1d], al
mov eax, ebx
mov byte [ecx + 0x1c], bl
shr eax, 0x10
mov byte [ecx + 0x1e], al
shr ebx, 0x18
mov byte [ecx + 0x1f], bl
mov eax, dword [esi + 0x24]
mov dword [eax + 0x20], 0
mov edx, dword [ebp + 0x18]
mov eax, edx
mov ecx, dword [esi + 0x24]
shr eax, 8
mov byte [ecx + 0x2d], al
mov eax, edx
mov byte [ecx + 0x2c], dl
shr edx, 0x18
mov byte [ecx + 0x2f], dl
mov edx, dword [esp + 0x54]
shr eax, 0x10
mov byte [ecx + 0x2e], al
lea ecx, [edx + 0x328]
mov eax, dword [ecx]
test eax, eax
je 0x485ae1
lea ecx, [eax + 0x3c]
mov eax, dword [ecx]
test eax, eax
jne 0x485ad8
mov dword [ecx], esi
mov eax, dword [edx + 0x328]
cmp dword [eax + 0x3c], 0
jne 0x485b03
mov eax, dword [esp + 0x68]
mov dword [edx + 0x330], eax
mov dword [edx + 0x334], 0
mov eax, 1
jmp 0x485b18
push dword [esp + 0x44]
call fcn.00687807
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0067bc9f
add esp, 0x80
ret