Function at 0x52d770
Capabilities:
Encrypt data using rc4 ksa
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5cb2c4
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x180
mov eax, dword [0x623ec0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x18c], edi
mov esi, dword [ebx + 0xc]
push esi
push dword [ebx + 8]
mov dword [ebp - 0x13c], esi
call fcn.00593f10
cmp eax, 1
je case.0x52e441.889
movzx eax, word [esi + 4]
cmp eax, 0x26e
ja 0x52e1ba
je 0x52e1ad
sub eax, 0x105
cmp eax, 0xd5
ja case.0x52e441.822
movzx eax, byte [eax + 0x52f3a4]
jmp dword [eax*4 + 0x52f320]
push esi
mov ecx, edi
call fcn.00511e30
jmp 0x52dc6e
push esi
mov ecx, edi
call fcn.00511a70
jmp 0x52dc6e
movzx eax, word [esi + 6]
mov esi, dword [0x9c25ac]
cmp eax, dword [esi + 0xf98]
jne case.0x52e441.889
mov eax, dword [0x9c25a4]
push 0
push 5
mov dword [eax + 0x388], 0
movsx edx, byte [esi + 0x10e0]
mov ecx, dword [edi + 0x4c]
lea eax, [edx + edx*2]
movups xmm0, xmmword [ecx + 0x614]
add eax, eax
movups xmmword [esi + eax*8 + 0x58], xmm0
movups xmm0, xmmword [ecx + 0x624]
movups xmmword [esi + eax*8 + 0x68], xmm0
movups xmm0, xmmword [ecx + 0x634]
mov ecx, 0x24
movups xmmword [esi + eax*8 + 0x78], xmm0
lea eax, [edx + edx*8]
add esi, 0x95c
mov edx, dword [0x9c25ac]
shl eax, 4
lea edi, [edx + 0x118]
add edi, eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x50]
jmp case.0x52e441.889
mov edx, dword [0x9c25ac]
add esi, 0x20
mov eax, dword [ebp - 0x13c]
mov ecx, 0xe2
push 0x3390
push 0
lea edi, [edx + 8]
rep movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x3a8]
mov ecx, 0x150
lea edi, [edx + 0x390]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x8e8]
mov dword [edx + 0xf88], eax
lea eax, [edx + 0x21a84]
push eax
call fcn.00468b40
add esp, 0xc
call fcn.004bcc60
mov edi, eax
cmp dword [edi + 0x30], 1
jne case.0x52e441.889
mov eax, dword [0x9c25ac]
mov al, byte [eax + 0x10e0]
test al, al
js 0x52d9c2
cmp al, 4
jge 0x52d9c2
lea edx, [edi + 0x1c]
xorps xmm0, xmm0
mov ecx, edx
movups xmmword [ebp - 0x158], xmm0
movups xmmword [ebp - 0x148], xmm0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x52d940
sub ecx, esi
lea eax, [ebp - 0x14c]
push ecx
push edx
push eax
call fcn.0046bca0
add esp, 0xc
mov word [ebp - 0x13e], 0
lea eax, [ebp - 0x158]
mov dword [ebp - 0x154], 0xfde
push 0x20
push eax
call fcn.005bdb60
xorps xmm0, xmm0
mov dword [ebp - 0x15c], 0
movups xmmword [ebp - 0x17c], xmm0
mov eax, 0x213
mov word [ebp - 0x178], ax
mov eax, dword [0x9c25ac]
movups xmmword [ebp - 0x16c], xmm0
push 0x24
movsx eax, byte [eax + 0x10e0]
mov dword [ebp - 0x170], eax
lea eax, [ebp - 0x17c]
push eax
call fcn.005bdb60
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [edi + 0x2c], 1
mov dword [edi + 0x30], 2
call esi
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], edx
call esi
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], edx
mov dword [edi + 0x48], 0x7530
mov dword [edi + 0x4c], 0
mov dword [edi + 0x50], 0x7530
mov dword [edi + 0x54], 0
call esi
mov dword [edi + 0x60], eax
mov dword [edi + 0x64], edx
jmp case.0x52e441.889
push esi
mov ecx, edi
call fcn.0050e9d0
jmp 0x52dc6e
push dword [esi + 0xc]
mov ecx, edi
call fcn.0051b7b0
jmp case.0x52e441.889
push esi
mov ecx, edi
call fcn.0050e200
jmp 0x52dc6e
push esi
mov ecx, edi
call fcn.0050dfd0
jmp 0x52dc6e
cmp dword [esi + 0xc], 0x3a98
jl case.0x52e441.889
mov dword [edi + 0x104], 0
mov edi, dword [0x9c25ac]
mov ecx, edi
push dword [esi + 0xc]
mov eax, dword [edi]
mov eax, dword [eax + 0x30]
call eax
test eax, eax
je case.0x52e441.889
mov byte [eax + 0x14], 1
mov dword [edi + 0x21a7c], 1
jmp case.0x52e441.889
mov eax, dword [0x9c25ac]
mov dword [eax + 0xf94], 1
push esi
mov ecx, edi
call fcn.0050d080
jmp 0x52dc6e
mov ecx, dword [edi + 0x28]
push 0x10160
mov eax, dword [ecx]
mov eax, dword [eax + 0x48]
call eax
mov ecx, dword [edi + 0x28]
mov esi, eax
push 0x10161
mov eax, dword [ecx]
mov eax, dword [eax + 0x48]
call eax
mov ecx, dword [edi + 0x28]
mov dword [ebp - 0x180], eax
push 0x1015d
mov eax, dword [ecx]
mov eax, dword [eax + 0x48]
call eax
mov edi, eax
mov ecx, esi
mov eax, dword [ebp - 0x18c]
push 0
push 0x7e6330
mov dword [eax + 0x26f70], 0xd
mov dword [eax + 0x26f74], 0xffffffff
mov eax, dword [esi]
call dword [eax + 0x80]
mov eax, dword [ebp - 0x18c]
mov esi, dword [ebp - 0x180]
push esi
mov ecx, dword [eax + 0x28]
mov eax, dword [ecx]
call dword [eax + 0x40]
push 0x100
lea eax, [esi + 0xf4c]
push 0
push eax
call fcn.00468b40
mov eax, dword [esi]
add esp, 0xc
mov ecx, esi
push 0x5fcdc8
call dword [eax + 0x90]
mov dword [esi + 0x105c], 1
mov ecx, edi
mov eax, dword [edi]
jmp 0x52dc64
mov ecx, dword [edi + 0x1a90d8]
or eax, 0xffffffff
mov word [0x629624], ax
push 0
mov eax, dword [ecx]
jmp 0x52dc66
mov al, byte [esi + 0xc]
mov byte [edi + 0x1ab200], al
jmp case.0x52e441.889
push esi
mov ecx, edi
call fcn.0050b0b0
jmp 0x52dc6e
mov eax, dword [ebp - 0x18c]
add esi, 0xc
mov ecx, 0x36
mov edi, 0x1ff22f0
rep movsd dword es:[edi], dword [esi]
mov dword [eax + 0x26ef4], 1
jmp case.0x52e441.889
push 0
mov ecx, edi
call fcn.005460d0
jmp case.0x52e441.889
mov byte [esi + 0x8b], 0
mov byte [esi + 0xab], 0
mov byte [esi + 0xcb], 0
mov byte [esi + 0xeb], 0
mov byte [esi + 0x10b], 0
mov ecx, dword [edi + 0x1a9114]
test ecx, ecx
je 0x52dbf4
mov edx, dword [ecx]
lea eax, [esi + 0xc]
push 0
push eax
call dword [edx + 0x80]
mov ecx, dword [edi + 0x1a9118]
test ecx, ecx
je 0x52dc0d
mov edx, dword [ecx]
lea eax, [esi + 0x8c]
push eax
call dword [edx + 0x88]
mov ecx, dword [edi + 0x1a911c]
test ecx, ecx
je 0x52dc26
mov edx, dword [ecx]
lea eax, [esi + 0xac]
push eax
call dword [edx + 0x88]
mov ecx, dword [edi + 0x1a9120]
test ecx, ecx
je 0x52dc3f
mov edx, dword [ecx]
lea eax, [esi + 0xcc]
push eax
call dword [edx + 0x88]
mov ecx, dword [edi + 0x1a9124]
test ecx, ecx
je 0x52dc58
mov edx, dword [ecx]
lea eax, [esi + 0xec]
push eax
call dword [edx + 0x88]
mov ecx, dword [edi + 0x1a9110]
test ecx, ecx
je case.0x52e441.889
mov eax, dword [ecx]
push 1
call dword [eax + 0x60]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0046676f
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
mov eax, dword [esi + 0xc]
mov dword [0x8267f0], eax
mov eax, dword [esi + 0x10]
mov dword [0x826880], eax
jmp case.0x52e441.889
mov ecx, dword [edi + 0x1aaa20]
test ecx, ecx
je case.0x52e441.889
mov eax, dword [esi + 0xc]
mov dword [ecx + 0x98], eax
mov ecx, dword [edi + 0x1aaa10]
test ecx, ecx
je case.0x52e441.889
mov eax, dword [edi + 0x1aaa20]
mov edx, dword [ecx]
push 0
mov eax, dword [eax + 0x98]
shl eax, 6
add eax, 0xa65720
push eax
call dword [edx + 0x80]
jmp case.0x52e441.889
push esi
mov ecx, edi
call fcn.00503400
jmp 0x52dc6e
mov eax, dword [esi + 0x14]
mov dword [edi + 0x1aaacc], eax
cmp byte [esi + 0x10], 0
je 0x52dd87
push 0x80
lea eax, [ebp - 0x98]
push 0
push eax
call fcn.00468b40
movsx eax, word [esi + 0xe]
add esp, 0xc
push eax
movsx eax, word [esi + 0xc]
push eax
push str.___d____d__
lea eax, [ebp - 0x98]
push 0x80
push eax
call fcn.004459c0
mov ecx, dword [edi + 0x1aaac4]
add esp, 0x14
test ecx, ecx
je 0x52dd4f
mov eax, dword [ecx]
lea edx, [ebp - 0x98]
push 0
push edx
call dword [eax + 0x80]
mov ecx, dword [edi + 0x1aaac0]
test ecx, ecx
je 0x52dd63
mov eax, dword [ecx]
push 0xffffffffffffffff
call dword [eax + 0x84]
mov ecx, dword [edi + 0x1aaabc]
test ecx, ecx
je case.0x52e441.889
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
mov dword [eax + 0x3c], 0x235
jmp case.0x52e441.889
mov ecx, dword [edi + 0x1aaac4]
test ecx, ecx
je 0x52dda0
mov eax, dword [ecx]
push 0
push 0xa644a0
call dword [eax + 0x80]
mov ecx, dword [edi + 0x1aaac0]
test ecx, ecx
je 0x52ddb7
mov eax, dword [ecx]
push 0xff919191
call dword [eax + 0x84]
mov ecx, dword [edi + 0x1aaabc]
test ecx, ecx
je case.0x52e441.889
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
mov dword [eax + 0x3c], 0x234
jmp case.0x52e441.889
push esi
mov ecx, edi
call fcn.00503640
jmp 0x52dc6e
push esi
mov ecx, edi
call fcn.00501290
jmp 0x52dc6e
push esi
mov ecx, edi
call fcn.005017a0
jmp 0x52dc6e
cmp dword [edi + 0x1aad3c], 0
je 0x52deb7
movzx eax, word [esi + 0xc]
mov ecx, eax
mov dword [ebp - 0x180], ecx
test ax, ax
js 0x52deb7
push 0x80
lea eax, [ebp - 0x98]
push 0
push eax
call fcn.00468b40
mov eax, dword [ebp - 0x180]
add esp, 0xc
cmp ax, 4
jge 0x52de51
cwde
shl eax, 7
add eax, 0x7dd430
jmp 0x52de6a
jne 0x52de5a
mov eax, 0x7e3a30
jmp 0x52de6a
cmp ax, 5
mov eax, 0x7e3cb0
je 0x52de6a
mov eax, 0xa64d20
push eax
push 0x5ec718
lea ecx, [ebp - 0x98]
push 0x80
push ecx
call fcn.004459c0
add esp, 0x10
cmp byte [ebp - 0x98], 0
je 0x52deb7
mov ecx, dword [edi + 0x1aaeb0]
lea edx, [ebp - 0x98]
push 0
push edx
mov eax, dword [ecx]
call dword [eax + 0x80]
mov ecx, dword [edi + 0x1aaeb0]
push 0xffffff00
mov eax, dword [ecx]
call dword [eax + 0x84]
cmp dword [edi + 0x1aaeb4], 0
je 0x52df0c
push 0x80
lea eax, [ebp - 0x118]
push 0
push eax
call fcn.00468b40
add esp, 0xc
lea eax, [ebp - 0x118]
push dword [esi + 0x14]
push dword [esi + 0x10]
push 0xa64820
push 0x80
push eax
call fcn.004459c0
mov ecx, dword [edi + 0x1aaeb4]
lea edx, [ebp - 0x118]
add esp, 0x14
mov eax, dword [ecx]
push 0
push edx
call dword [eax + 0x80]
mov ecx, dword [edi + 0x1aaeac]
test ecx, ecx
je case.0x52e441.889
mov eax, dword [ecx]
push dword [esi + 0x18]
jmp 0x52dc66
lea eax, [esi + 0x3c]
mov dword [ebp - 0x184], eax
lea edx, [esi + 0xc]
mov esi, dword [ebp - 0x184]
lea eax, [edi + 0x1aaec8]
mov dword [ebp - 0x188], eax
xor edi, edi
mov dword [ebp - 0x180], edx
nop word [eax + eax]
cmp dword [eax - 0xc], 0
je 0x52e053
cmp dword [eax], 0
je 0x52e053
cmp dword [eax + 0xc], 0
je 0x52e053
lea eax, [edi + 1]
xorps xmm0, xmm0
push eax
push 0x5fd138
lea eax, [ebp - 0x138]
push 0x20
push eax
movups xmmword [ebp - 0x138], xmm0
movups xmmword [ebp - 0x128], xmm0
call fcn.004459c0
mov ecx, dword [ebp - 0x188]
lea edx, [ebp - 0x138]
add esp, 0x10
mov ecx, dword [ecx - 0xc]
push 0
push edx
mov eax, dword [ecx]
call dword [eax + 0x80]
mov eax, dword [ebp - 0x188]
push 0
push 0x5fd324
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x80]
mov eax, dword [ebp - 0x188]
push 0
push 0x5fd324
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x80]
mov edx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x188]
cmp byte [edx], 0
je 0x52e053
cmp dword [esi], 0
je 0x52e053
mov ecx, dword [eax]
push 0
push edx
mov eax, dword [ecx]
call dword [eax + 0x80]
push dword [esi]
xorps xmm0, xmm0
lea eax, [ebp - 0x178]
push 0x5fd138
push 0x20
push eax
movups xmmword [ebp - 0x178], xmm0
movups xmmword [ebp - 0x168], xmm0
call fcn.004459c0
mov eax, dword [ebp - 0x188]
lea edx, [ebp - 0x178]
add esp, 0x10
mov ecx, dword [eax + 0xc]
push 0
push edx
mov eax, dword [ecx]
call dword [eax + 0x80]
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0x180]
inc edi
add eax, 4
add edx, 0x10
mov dword [ebp - 0x188], eax
add esi, 4
mov dword [ebp - 0x180], edx
cmp edi, 3
jl 0x52df50
mov edi, dword [ebp - 0x18c]
mov esi, dword [ebp - 0x13c]
mov ecx, dword [edi + 0x1aaeb8]
test ecx, ecx
je case.0x52e441.889
mov eax, dword [ecx]
push dword [esi + 0x48]
jmp 0x52dc66
push esi
mov ecx, edi
call fcn.00500b80
jmp 0x52dc6e
push esi
mov ecx, edi
call fcn.00500930
jmp 0x52dc6e
mov eax, dword [edi + 0x1ab0ac]
test eax, eax
je case.0x52e441.889
cmp dword [eax + 0x28], 1
jne case.0x52e441.889
mov ecx, dword [edi + 0x1ab154]
cmp dword [ecx + 0x1e8], 1
jne case.0x52e441.889
mov eax, dword [esi + 0xc]
mov ecx, 0x3c
cdq
idiv ecx
mov ecx, dword [edi + 0x1ab144]
push 0xff00ff00
mov dword [ebp - 0x180], edx
mov dword [ebp - 0x184], eax
mov esi, dword [ecx]
call dword [esi + 0x84]
push 0x80
lea eax, [ebp - 0x98]
push 0
push eax
call fcn.00468b40
mov eax, dword [ebp - 0x184]
add esp, 0xc
push dword [ebp - 0x180]
test eax, eax
jle 0x52e166
push eax
push 0xa64fa0
push str._s:__02dh_02dm
lea eax, [ebp - 0x98]
push 0x80
push eax
call fcn.004459c0
mov ecx, dword [edi + 0x1ab144]
lea edx, [ebp - 0x98]
add esp, 0x18
mov eax, dword [ecx]
push 0
push edx
call dword [eax + 0x80]
jmp case.0x52e441.889
push 0xa64fa0
push str._s:__02dm
lea eax, [ebp - 0x98]
push 0x80
push eax
call fcn.004459c0
mov ecx, dword [edi + 0x1ab144]
lea edx, [ebp - 0x98]
add esp, 0x14
mov eax, dword [ecx]
push 0
push edx
call dword [eax + 0x80]
jmp case.0x52e441.889
push esi
mov ecx, edi
call fcn.00500520
jmp 0x52dc6e
push esi
mov ecx, edi
call fcn.0050e3d0
jmp 0x52dc6e
cmp eax, 0x333
ja 0x52e41d
je 0x52e2b6
sub eax, 0x292
je 0x52e20a
sub eax, 0x36
jne case.0x52e441.822
mov ecx, dword [edi + 0x1a881c]
push 1
mov eax, dword [ecx]
call dword [eax + 0x60]
lea eax, [esi + 0xc]
push eax
push 0x5ec718
lea eax, [edi + 0x273a4]
push 0x80
push eax
call fcn.004459c0
add esp, 0x10
jmp case.0x52e441.889
movzx eax, word [esi + 0x10]
mov ecx, eax
cwde
sub eax, 0xa
cmp eax, 0xa
jae 0x52e22d
mov ecx, dword [0x9c25ac]
push 0
push 5
mov eax, dword [ecx]
call dword [eax + 0x50]
jmp case.0x52e441.889
cmp cx, 0x16
je 0x52e297
mov esi, dword [edi + 0x108]
cmp dword [esi + 0x28], 0
jne 0x52e283
mov ecx, dword [0x9c25b4]
mov dword [esi + 0x1f8], 0x7d0
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [esi + 0x1e4]
mov dword [esi + 0x1f4], eax
push 0
push 0x7d9e30
mov eax, dword [ecx]
call dword [eax + 0x80]
mov ecx, dword [edi + 0x108]
push 1
push 1
mov eax, dword [ecx]
call dword [eax + 0x88]
mov ecx, dword [0x9c25ac]
push 0
push 7
mov eax, dword [ecx]
call dword [eax + 0x50]
jmp case.0x52e441.889
mov ecx, dword [edi + 0x4c]
mov eax, 0x3e8
cmp word [ecx + 0x614], ax
jge case.0x52e441.889
call fcn.005767d0
jmp case.0x52e441.889
mov eax, dword [edi + 0x1a9a2c]
cmp dword [eax + 0x210], 0
jle case.0x52e441.822
mov ecx, dword [0x9c25ac]
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
movzx eax, word [esi + 6]
push eax
call edx
test eax, eax
jne case.0x52e441.822
mov edx, dword [edi + 0x1a9a2c]
cmp dword [edx + 0x210], eax
jle case.0x52e441.822
lea ecx, [edx + 0x214]
nop dword [eax + eax]
mov edx, dword [ecx]
movzx edi, word [esi + 6]
mov dword [ebp - 0x184], edx
cmp dword [edx + 0xe6c], edi
mov edi, dword [ebp - 0x18c]
je 0x52e333
mov edx, dword [edi + 0x1a9a2c]
inc eax
add ecx, 4
cmp eax, dword [edx + 0x210]
jl 0x52e300
xor eax, eax
jmp 0x52dc6e
mov word [esi + 0x8a], 0
mov eax, dword [edi + 0x27df4]
push 0x80
mov dword [ebp - 0x180], eax
lea eax, [ebp - 0x118]
push 0
push eax
call fcn.00468b40
mov ecx, dword [ebp - 0x184]
lea eax, [esi + 0xc]
add esp, 0xc
push eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x88]
call eax
push eax
lea eax, [ebp - 0x118]
push str.__s____s
push eax
call fcn.00445aa0
push 0xe6c
call fcn.0046677d
mov esi, eax
add esp, 0x14
mov dword [ebp - 0x184], esi
mov dword [ebp - 4], 0
push 0xe6c
push 0
push esi
call fcn.00468b40
add esp, 0xc
lea eax, [ebp - 0x118]
xorps xmm3, xmm3
push 0
push ecx
push 0x77777777
sub esp, 0x10
mov ecx, esi
mov dword [esp + 8], 0x41800000
mov dword [esp + 4], 0x43960000
mov dword [esp], 0
push 0xffaaffaa
push eax
call fcn.004c9d30
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x180]
test ecx, ecx
je 0x52e403
test eax, eax
je 0x52e403
push eax
call fcn.004c82d0
mov ecx, dword [0x9c25b4]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov dword [edi + 0x276b8], eax
xor eax, eax
jmp 0x52dc6e
cmp eax, 0x52a
ja 0x52f230
je 0x52f223
sub eax, 0x334
cmp eax, 0xb6
ja case.0x52e441.822
movzx eax, byte [eax + 0x52f54c]
jmp dword [eax*4 + 0x52f47c]
push esi
mov ecx, edi
call fcn.0050f230
jmp 0x52dc6e
mov ecx, dword [0x9c25ac]
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
movzx eax, word [esi + 6]
push eax
call edx
test eax, eax
jne case.0x52e441.822
mov eax, dword [0x9c25ac]
lea ecx, [ebp - 0x148]
xorps xmm0, xmm0
mov edx, 0x10
movups xmmword [ebp - 0x148], xmm0
movzx eax, word [eax + 0xf98]
mov word [ebp - 0x142], ax
mov eax, 0x369
mov word [ebp - 0x144], ax
movzx eax, word [esi + 6]
mov word [ebp - 0x13c], ax
call fcn.0054f850
jmp case.0x52e441.889
mov ecx, dword [0x9c25ac]
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
movzx eax, word [esi + 6]
push eax
call edx
test eax, eax
jne case.0x52e441.822
mov eax, dword [edi + 0x27e68]
mov edi, 0xffccaaff
mov dword [ebp - 0x184], eax
mov word [esi + 0x8a], 0
mov eax, dword [esi + 0x8c]
test eax, eax
push 0xe6c
cmovne edi, eax
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x180], esi
mov dword [ebp - 4], 1
push 0xe6c
push 0
push esi
call fcn.00468b40
mov eax, dword [ebp - 0x13c]
add esp, 0xc
add eax, 0xc
xorps xmm3, xmm3
push 0
push ecx
push 0x77777777
sub esp, 0x10
mov ecx, esi
mov dword [esp + 8], 0x41800000
mov dword [esp + 4], 0x43960000
mov dword [esp], 0
push edi
push eax
call fcn.004c9d30
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x184]
test ecx, ecx
je case.0x52e441.889
test eax, eax
je case.0x52e441.889
push eax
call fcn.004c82d0
jmp case.0x52e441.889
push esi
mov ecx, edi
call fcn.00511210
jmp 0x52dc6e
mov byte [esi + 0x1f], 0
mov ecx, dword [edi + 0x1a881c]
push 1
mov eax, dword [ecx]
call dword [eax + 0x60]
lea eax, [esi + 0x10]
push eax
lea eax, [edi + 0x273a4]
push eax
call fcn.00445aa0
add esp, 8
jmp case.0x52e441.889
mov ecx, dword [edi + 0x1a881c]
push 0
mov eax, dword [ecx]
jmp 0x52dc66
mov ecx, dword [0x9c25cc]
test ecx, ecx
je case.0x52e441.889
push dword [esi + 0xc]
call fcn.004a8da0
mov esi, eax
test esi, esi
je case.0x52e441.889
mov ecx, esi
call fcn.004a85c0
test eax, eax
jne case.0x52e441.889
sub esp, 0xc
push eax
push ecx
mov ecx, esi
call fcn.004a86c0
jmp case.0x52e441.889
push esi
mov ecx, edi
call fcn.00502ec0
jmp 0x52dc6e
mov eax, dword [edi + 0x27eec]
test eax, eax
je case.0x52e441.889
cmp dword [eax + 0x28], 1
jne case.0x52e441.889
movzx eax, word [edi + 0x2784e]
cmp dword [esi + 0xc], eax
jne case.0x52e441.889
mov eax, dword [esi + 0x10]
push 0
push 0
mov ecx, dword [edi + eax*4 + 0x27ef0]
call fcn.004db310
mov ecx, eax
mov eax, dword [0x9c25d0]
mov edx, dword [eax + 0x1e8]
test edx, edx
je 0x52e66a
cmp edx, ecx
jne 0x52e66a
mov dword [eax + 0x1e8], 0
test ecx, ecx
je case.0x52e441.889
mov eax, dword [ecx]
push 1
call dword [eax]
jmp case.0x52e441.889
mov eax, dword [0x9c25ac]
mov ecx, dword [esi + 0xc]
push 0
mov dword [eax + 0xf88], ecx
mov ecx, edi
call fcn.00547270
jmp case.0x52e441.889
mov ecx, dword [0x9c25ac]
push dword [esi + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov dword [ebp - 0x180], eax
test eax, eax
je 0x52e762
add eax, 0xf4
mov dl, 0x22
mov ecx, eax
mov dword [ebp - 0x184], eax
call fcn.0049aed0
test eax, eax
jle 0x52e762
mov eax, dword [ebp - 0x184]
lea ecx, [ebp - 0x140]
xorps xmm0, xmm0
mov dl, 0x22
movlpd qword [ebp - 0x140], xmm0
mov ax, word [eax]
mov word [ebp - 0x140], ax
call fcn.0049aed0
mov edx, eax
mov ecx, 1
mov eax, dword [ebp - 0x180]
movss xmm0, dword [eax + 0x34]
divss xmm0, dword [0x604e1c]
mov word [eax + 0x294], cx
movsx ecx, byte [esi + 0x12]
push ecx
cvttss2si eax, dword [eax + 0x2c]
cvttss2si ecx, xmm0
push ecx
lea ecx, [edi + 0x118]
push ecx
push eax
mov eax, dword [ebp - 0x180]
cvttss2si eax, dword [eax + 0x28]
push eax
push ecx
mov ecx, edx
call fcn.00497f60
mov eax, dword [ebp - 0x180]
add esp, 0x18
movsx ecx, word [esi + 0x10]
add ecx, 3
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 0x8c]
push 0
mov ecx, edi
call fcn.00547270
jmp case.0x52e441.889
push esi
mov ecx, edi
call fcn.0050ca30
jmp 0x52dc6e
push esi
mov ecx, edi
call fcn.0050c640
jmp 0x52dc6e
push esi
mov ecx, edi
call fcn.0050c410
jmp 0x52dc6e
push esi
mov ecx, edi
call fcn.0050bf50
jmp 0x52dc6e
push esi
mov ecx, edi
call fcn.0050ba40
jmp 0x52dc6e
cmp dword [esi + 0xc], 2
jne 0x52e815
mov esi, dword [edi + 0x1a7e18]
lea eax, [edi + 0x1a7e0c]
push 0x58
push 0
push eax
call fcn.00468b40
add esp, 0xc
lea ecx, [edi + 0x1a7e68]
xor eax, eax
nop dword [eax + eax]
mov dword [ecx], 0
lea ecx, [ecx + 0xc]
mov byte [eax + edi + 0x1a7e5c], 0xff
inc eax
cmp eax, 8
jl 0x52e7e0
lea eax, [edi + 0x1a9bc4]
mov word [edi + 0x1a7e64], si
push eax
lea ecx, [edi + 0x6a758]
call fcn.004ad590
jmp case.0x52e441.889
push 0
mov ecx, edi
call fcn.0051f270
push 0
mov ecx, edi
call fcn.0051f0a0
push 0
mov ecx, edi
call fcn.0054a620
jmp case.0x52e441.889
mov eax, dword [esi + 0xc]
mov dword [0x1ff259c], eax
test eax, eax
jne case.0x52e441.889
mov dword [0x626b10], 0xffffffff
jmp case.0x52e441.889
mov ecx, dword [0x9c25b4]
mov eax, dword [esi + 0xc]
mov dword [edi + 0x27864], eax
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov esi, eax
lea eax, [ebp - 0x118]
push 0x80
push 0
push eax
mov dword [edi + 0x27868], esi
call fcn.00468b40
add esp, 0xc
lea eax, [ebp - 0x118]
push esi
push 0x5fd138
push eax
call fcn.00445aa0
mov ecx, dword [edi + 0x27b98]
lea edx, [ebp - 0x118]
add esp, 0xc
mov eax, dword [ecx]
push 0
push edx
call dword [eax + 0x80]
mov dword [edi + 0x27b94], 1
jmp case.0x52e441.889
mov ecx, dword [0x9c25b4]
mov eax, dword [esi + 0xc]
mov dword [edi + 0x1aaa8c], eax
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov dword [edi + 0x1aa41c], eax
jmp case.0x52e441.889
mov eax, dword [esi + 0xc]
mov ecx, dword [0x9c25b4]
mov dword [edi + 0x1aaa90], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 0x1aaa9c], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x1aaaa0], eax
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov dword [edi + 0x1aa420], eax
jmp case.0x52e441.889
mov eax, dword [esi + 0xc]
mov ecx, dword [edi + 0x1aa410]
mov dword [edi + 0x1aaa94], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 0x1aaa98], eax
test ecx, ecx
je 0x52e959
mov eax, dword [ecx]
push 0xddffff33
call dword [eax + 0x84]
cmp dword [esi + 0x10], 7
jne 0x52e959
mov ecx, dword [edi + 0x1aa410]
push 0xffff2d18
mov eax, dword [ecx]
call dword [eax + 0x84]
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [edi + 0x1aa410]
mov dword [edi + 0x1aa414], eax
jmp 0x52dc62
push 0x80
lea eax, [ebp - 0x118]
push 0
push eax
call fcn.00468b40
add esp, 0xc
lea eax, [ebp - 0x118]
push dword [esi + 0xc]
push str._d_Left
push eax
call fcn.00445aa0
add esp, 0xc
mov ecx, dword [0x9c25b4]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [edi + 0x27ba0]
lea edx, [ebp - 0x118]
mov dword [edi + 0x27bf4], eax
push 0
push edx
mov eax, dword [ecx]
call dword [eax + 0x80]
mov ecx, dword [edi + 0x27ba0]
jmp 0x52dc62
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x10
je 0x52ea57
cmp eax, 0x14
je 0x52ea26
cmp ecx, 0x18
jne case.0x52e441.889
mov ecx, dword [0x9c25ac]
mov ax, word [esi + 0xc]
mov word [ecx + 0x10fc], ax
cmp dword [esi + 0xc], 0
jne 0x52ea0d
mov eax, 0xffff
mov word [ecx + 0x10fc], ax
mov al, byte [esi + 0x10]
mov byte [edi + 0x26f4c], al
mov ax, word [esi + 0x14]
mov word [ecx + 0x10fe], ax
jmp case.0x52e441.889
mov ecx, dword [0x9c25ac]
mov ax, word [esi + 0xc]
mov word [ecx + 0x10fc], ax
cmp dword [esi + 0xc], 0
jne 0x52ea49
mov eax, 0xffff
mov word [ecx + 0x10fc], ax
mov al, byte [esi + 0x10]
mov byte [edi + 0x26f4c], al
jmp case.0x52e441.889
mov ecx, dword [0x9c25ac]
mov ax, word [esi + 0xc]
mov word [ecx + 0x10fc], ax
cmp dword [esi + 0xc], 0
jne case.0x52e441.889
mov eax, 0xffff
mov word [ecx + 0x10fc], ax
jmp case.0x52e441.889
mov ecx, dword [edi + 0x1a9c94]
test ecx, ecx
je case.0x52e441.889
mov edx, dword [ecx]
xor eax, eax
cmp dword [esi + 0xc], 1
sete al
push eax
call dword [edx + 0x8c]
jmp case.0x52e441.889
push esi
mov ecx, edi
call fcn.0050b420
jmp 0x52dc6e
push 0x80
lea eax, [ebp - 0x118]
push 0
push eax
call fcn.00468b40
mov ecx, dword [esi + 0xc]
add esp, 0xc
mov eax, ecx
sar eax, 0x10
push eax
movzx eax, cl
push eax
lea eax, [ebp - 0x118]
push str._d____d
push eax
call fcn.00445aa0
add esp, 0x10
jmp 0x52e99d
push 0x80
lea eax, [ebp - 0x118]
push 0
push eax
call fcn.00468b40
add esp, 0xc
push dword [esi + 0x10]
push dword [esi + 0xc]
jmp 0x52ead8
push esi
mov ecx, edi
call fcn.0050dc70
jmp 0x52dc6e
push esi
mov ecx, edi
call fcn.0050d5c0
jmp 0x52dc6e
push esi
mov ecx, edi
call fcn.0050cd30
jmp 0x52dc6e
mov ecx, dword [0x9c25ac]
mov eax, dword [esi + 0xc]
push 0
add dword [ecx + 0xf88], eax
mov eax, dword [esi + 0xc]
sub dword [ecx + 0x8e8], eax
mov ecx, edi
call fcn.00547270
jmp case.0x52e441.889
mov ecx, dword [0x9c25ac]
mov eax, dword [esi + 0xc]
push 0
sub dword [ecx + 0xf88], eax
mov eax, dword [esi + 0xc]
add dword [ecx + 0x8e8], eax
mov ecx, edi
call fcn.00547270
jmp case.0x52e441.889
push esi
mov ecx, edi
call fcn.00503a30
jmp 0x52dc6e
mov esi, dword [esi + 0xc]
test esi, esi
je 0x52ec3e
push 0x80
lea eax, [ebp - 0x118]
mov dword [edi + 0x1aa408], esi
push 0
push eax
call fcn.00468b40
add esp, 0xc
lea eax, [ebp - 0x118]
push esi
push str.0____d
push eax
call fcn.00445aa0
mov eax, dword [0x9c25a4]
add esp, 4
movss xmm0, dword [0x626b1c]
mulss xmm0, dword [0x605114]
mov ecx, dword [edi + 0x27ba0]
mov eax, dword [eax + 0xa8]
movss dword [esp + 4], xmm0
mov edx, dword [ecx]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x605750]
cvtpd2ps xmm0, xmm0
subss xmm0, dword [0x6051c0]
movss dword [esp], xmm0
call dword [edx + 0x70]
mov ecx, dword [edi + 0x27ba0]
lea edx, [ebp - 0x118]
push 0
push edx
mov eax, dword [ecx]
call dword [eax + 0x80]
mov ecx, dword [edi + 0x27ba0]
jmp 0x52dc62
mov ecx, dword [edi + 0x27ba0]
push 0
mov eax, dword [ecx]
jmp 0x52dc66
push 0x80
lea eax, [ebp - 0x118]
push 0
push eax
call fcn.00468b40
add esp, 0xc
lea eax, [ebp - 0x118]
push dword [esi + 0x10]
push dword [esi + 0xc]
push str._d____d
push eax
call fcn.00445aa0
mov eax, dword [0x9c25a4]
add esp, 8
movss xmm0, dword [0x626b1c]
mulss xmm0, dword [0x605114]
mov ecx, dword [edi + 0x27ba0]
mov eax, dword [eax + 0xa8]
movss dword [esp + 4], xmm0
mov edx, dword [ecx]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x605750]
cvtpd2ps xmm0, xmm0
subss xmm0, dword [0x6051c0]
movss dword [esp], xmm0
call dword [edx + 0x70]
mov ecx, dword [edi + 0x27ba0]
lea edx, [ebp - 0x118]
push 0
push edx
mov eax, dword [ecx]
call dword [eax + 0x80]
jmp case.0x52e441.889
push str.Closed_the_game_by_DelayQuit
call fcn.00586620
mov eax, dword [0x9c25c8]
add esp, 4
push 0
push 0
push 0x10
push dword [eax + 0xc]
call dword [sym.imp.USER32.dll_PostMessageA]
xor eax, eax
jmp 0x52dc6e
mov eax, dword [edi + 0x1a9a2c]
xor ecx, ecx
cmp dword [eax + 0x210], ecx
jle 0x52ed56
movsx eax, word [esi + 0xc]
mov edx, 0x214
mov edi, dword [edi + 0x1a9a2c]
mov esi, eax
mov eax, dword [edi + edx]
cmp dword [eax + 0xe6c], esi
je 0x52ed4a
inc ecx
add edx, 4
cmp ecx, dword [edi + 0x210]
jl 0x52ed33
mov edi, dword [ebp - 0x18c]
mov esi, dword [ebp - 0x13c]
movups xmm0, xmmword [esi + 0xe]
add edi, 0x1a9a30
mov dword [ebp - 0x180], 0xd
imul eax, ecx, 0x1a
add edi, eax
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x1e]
movq qword [edi + 0x10], xmm0
nop dword [eax]
movzx esi, word [edi]
test si, si
je 0x52edb0
mov ecx, dword [0x9c25ac]
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
movsx eax, si
push eax
call edx
test eax, eax
je 0x52edb0
push 0xaaffff00
mov ecx, eax
mov byte [eax + 0x214], 1
call fcn.00576250
add edi, 2
sub dword [ebp - 0x180], 1
jne 0x52ed80
jmp case.0x52e441.889
mov ecx, dword [edi + 0x1aaaa4]
test ecx, ecx
je 0x52edd3
mov eax, dword [ecx]
push dword [esi + 0x14]
call dword [eax + 0x60]
push 0x80
lea eax, [ebp - 0x98]
push 0
push eax
call fcn.00468b40
movsx eax, word [esi + 0x10]
add esp, 0xc
push eax
push 0x5fd138
lea eax, [ebp - 0x98]
push 0x80
push eax
call fcn.004459c0
mov ecx, dword [edi + 0x1aaaa8]
add esp, 0x10
test ecx, ecx
je 0x52ee22
mov eax, dword [ecx]
lea edx, [ebp - 0x98]
push 0
push edx
call dword [eax + 0x80]
movsx eax, word [esi + 0x12]
push eax
push 0x5fd138
lea eax, [ebp - 0x98]
push 0x80
push eax
call fcn.004459c0
mov ecx, dword [edi + 0x1aaaac]
add esp, 0x10
test ecx, ecx
je 0x52ee5b
mov eax, dword [ecx]
lea edx, [ebp - 0x98]
push 0
push edx
call dword [eax + 0x80]
movsx eax, word [esi + 0xe]
push eax
push 0x5fd138
lea eax, [ebp - 0x98]
push 0x80
push eax
call fcn.004459c0
mov ecx, dword [edi + 0x1aaab0]
add esp, 0x10
test ecx, ecx
je 0x52ee94
mov eax, dword [ecx]
lea edx, [ebp - 0x98]
push 0
push edx
call dword [eax + 0x80]
movsx eax, word [esi + 0xc]
push eax
push 0x5fd138
lea eax, [ebp - 0x98]
push 0x80
push eax
call fcn.004459c0
mov ecx, dword [edi + 0x1aaab4]
jmp 0x52f10f
mov ecx, dword [edi + 0x1aac54]
push 0
mov eax, dword [ecx]
call dword [eax + 0x60]
mov al, byte [esi + 0xc]
mov byte [0x1ff25b5], al
mov al, byte [esi + 0xd]
mov byte [0x1ff25b6], al
mov al, byte [esi + 0xe]
mov byte [0x1ff25b7], al
mov al, byte [esi + 0xf]
mov byte [0x1ff25b8], al
mov al, byte [esi + 0x10]
mov byte [0x1ff25b9], al
mov al, byte [esi + 0x11]
mov byte [0x1ff25ba], al
mov al, byte [esi + 0x12]
mov byte [0x1ff25bb], al
mov al, byte [esi + 0x13]
mov byte [0x1ff25bc], al
xor eax, eax
mov byte [0x1ff25b4], 0
cmp byte [eax + 0x1ff25b5], 0
jne 0x52ef21
inc eax
cmp eax, 8
jl 0x52ef10
jmp 0x52ef28
mov byte [0x1ff25b4], 1
xor eax, eax
lea esi, [edi + 0x1aac70]
mov dword [ebp - 0x180], eax
nop word [eax + eax]
cmp byte [eax + 0x1ff25b5], 0
mov ecx, dword [esi + 0x20]
je 0x52ef5d
mov dword [ecx + 0xa0], 0x252
push 0xffccbcaa
jmp 0x52ef6c
mov dword [ecx + 0xa0], 0x251
push 0xff964a35
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax + 0x84]
mov eax, dword [ebp - 0x180]
add esi, 4
inc eax
mov dword [ebp - 0x180], eax
cmp eax, 8
jl 0x52ef40
mov ecx, dword [edi + 0x1aac60]
push 0x5fcdc8
mov eax, dword [ecx]
call dword [eax + 0x90]
jmp case.0x52e441.889
cmp dword [esi + 0xc], 0xffffffff
jne 0x52f06c
mov eax, dword [edi + 0x1aacb4]
mov ecx, dword [esi + 0x10]
test eax, eax
je 0x52efca
cmp dword [eax + 0x28], 1
jne 0x52efca
mov dword [eax + 0x98], 0
mov eax, dword [edi + 0x1aacb8]
test eax, eax
je 0x52efe4
cmp dword [eax + 0x28], 1
jne 0x52efe4
mov dword [eax + 0x98], 0
mov eax, dword [edi + 0x1aacbc]
test eax, eax
je 0x52effe
cmp dword [eax + 0x28], 1
jne 0x52effe
mov dword [eax + 0x98], 0
cmp ecx, 0xffffffff
jne 0x52f025
mov ecx, dword [edi + 0x1aaccc]
test ecx, ecx
je case.0x52e441.889
mov eax, dword [ecx]
push 0
push 0xa64360
call dword [eax + 0x80]
jmp case.0x52e441.889
cmp ecx, 2
ja case.0x52e441.889
mov eax, dword [edi + ecx*4 + 0x1aacb4]
test eax, eax
je 0x52f043
mov dword [eax + 0x98], 1
mov edx, dword [edi + 0x1aaccc]
test edx, edx
je case.0x52e441.889
mov eax, dword [edx]
shl ecx, 6
add ecx, 0xa643a0
push 0
push ecx
mov ecx, edx
call dword [eax + 0x80]
jmp case.0x52e441.889
push 0x80
lea eax, [ebp - 0x98]
push 0
push eax
call fcn.00468b40
add esp, 0xc
lea eax, [ebp - 0x98]
push dword [esi + 0xc]
push 0x5fd138
push 0x80
push eax
call fcn.004459c0
mov ecx, dword [edi + 0x1aacc0]
add esp, 0x10
test ecx, ecx
je 0x52f0b9
mov eax, dword [ecx]
lea edx, [ebp - 0x98]
push 0
push edx
call dword [eax + 0x80]
push dword [esi + 0x10]
lea eax, [ebp - 0x98]
push 0x5fd138
push 0x80
push eax
call fcn.004459c0
mov ecx, dword [edi + 0x1aacc4]
add esp, 0x10
test ecx, ecx
je 0x52f0f0
mov eax, dword [ecx]
lea edx, [ebp - 0x98]
push 0
push edx
call dword [eax + 0x80]
push dword [esi + 0x14]
lea eax, [ebp - 0x98]
push 0x5fd138
push 0x80
push eax
call fcn.004459c0
mov ecx, dword [edi + 0x1aacc8]
add esp, 0x10
test ecx, ecx
je case.0x52e441.889
mov eax, dword [ecx]
lea edx, [ebp - 0x98]
push 0
push edx
call dword [eax + 0x80]
jmp case.0x52e441.889
push esi
mov ecx, edi
call fcn.00502760
jmp 0x52dc6e
push esi
lea ecx, [edi + 0x1a7ec8]
call fcn.004c4d70
movzx eax, al
jmp 0x52dc6e
push esi
lea ecx, [edi + 0x1a7ec8]
call fcn.004c4bc0
movzx eax, al
jmp 0x52dc6e
mov ecx, dword [edi + 0x1aaab8]
jmp 0x52dc5e
push esi
mov ecx, edi
call fcn.00501fa0
jmp 0x52dc6e
push esi
mov ecx, edi
call fcn.00501d60
jmp 0x52dc6e
mov eax, dword [esi + 0xc]
test eax, eax
jle case.0x52e441.889
cmp eax, 0x3e8
jge case.0x52e441.889
push 0x80
lea eax, [ebp - 0x118]
push 0
push eax
call fcn.00468b40
add esp, 0xc
lea eax, [esi + 0x10]
push eax
push 0x7e4cb0
lea eax, [ebp - 0x118]
push 0x80
push eax
call fcn.004459c0
mov ecx, dword [edi + 0x110]
lea edx, [ebp - 0x118]
add esp, 0x10
mov eax, dword [ecx]
push 0
push 0xc353
push edx
call dword [eax + 0x8c]
mov ecx, dword [edi + 0x110]
mov eax, dword [esi + 0xc]
mov dword [ecx + 0x1e8], eax
mov ecx, dword [edi + 0x110]
jmp 0x52dc62
push esi
mov ecx, edi
call fcn.005010c0
jmp 0x52dc6e
push esi
mov ecx, edi
call fcn.004fff20
jmp 0x52dc6e
push esi
mov ecx, edi
call fcn.0050ed90
jmp 0x52dc6e
cmp eax, 0x7b1
je 0x52f313
cmp eax, 0xdc3
jne case.0x52e441.822
mov edi, dword [0x9c25ac]
xor ecx, ecx
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x184], eax
lea eax, [edi + 0xcec]
mov edx, eax
nop
mov esi, dword [ebp - 0x184]
cmp dword [edx], esi
mov esi, dword [ebp - 0x13c]
je 0x52f2ca
inc ecx
add edx, 0x38
cmp ecx, 0xc
jl 0x52f260
xor ecx, ecx
nop dword [eax + eax]
cmp dword [eax], 0
je 0x52f2ca
inc ecx
add eax, 0x38
cmp ecx, 0xc
jl 0x52f280
movups xmm0, xmmword [esi]
mov dword [0x626c18], 1
movups xmmword [edi + 0xce0], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [edi + 0xcf0], xmm0
movups xmm0, xmmword [esi + 0x20]
movups xmmword [edi + 0xd00], xmm0
movq xmm0, qword [esi + 0x30]
movq qword [edi + 0xd10], xmm0
jmp case.0x52e441.889
movups xmm0, xmmword [esi]
lea eax, [ecx*8]
mov dword [0x626c18], 1
sub eax, ecx
movups xmmword [edi + eax*8 + 0xce0], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [edi + eax*8 + 0xcf0], xmm0
movups xmm0, xmmword [esi + 0x20]
movups xmmword [edi + eax*8 + 0xd00], xmm0
movq xmm0, qword [esi + 0x30]
movq qword [edi + eax*8 + 0xd10], xmm0
jmp case.0x52e441.889
push esi
mov ecx, edi
call fcn.00511030
jmp 0x52dc6e