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

Disassembly:
sub esp, 0x6c
mov eax, dword [0x851070]
xor eax, esp
mov dword [esp + 0x64], eax
push ebx
push ebp
push esi
mov esi, dword [esp + 0x7c]
mov ebp, edx
push edi
mov edi, ecx
mov dword [esp + 0x14], ebp
mov ecx, 0x7e454c
mov dword [esp + 0x28], edi
cmp ebp, 1
mov dword [esp + 0x20], esi
mov eax, 0x7e32d8
mov dword [esp + 0x24], 0
cmove eax, ecx
mov byte [edi + 0xa5], 1
mov dword [esp + 0x2c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x5c]
push 0
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x64], 0x7e3af8
push 5
push eax
mov dword [esp + 0x78], 0x7d3540
mov dword [esp + 0x7c], 0x7e5d00
mov dword [esp + 0x80], 0
mov dword [esp + 0x40], edi
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], 0
mov dword [esp + 0x44], esi
mov dword [esp + 0x54], 0
call fcn.005ddf80
mov ebx, dword [esp + 0x4c]
add esp, 0x10
test ebx, ebx
jne 0x5de593
mov eax, dword [edi + 0x10]
mov ecx, ebp
shl ecx, 4
mov dword [esp + 0x1c], ecx
lea ebp, [eax + ecx]
mov ecx, dword [ebp + 4]
mov dword [esp + 0x18], ebp
test ecx, ecx
jne 0x5de2a6
mov eax, dword [eax + 0x1c]
or word [eax + 0x4e], 1
xor eax, eax
jmp 0x5de5b2
cmp byte [ecx + 9], 0
je 0x5de2ba
inc dword [ecx + 0xc]
cmp byte [ecx + 0xa], 0
jne 0x5de2ba
call fcn.0059a120
mov ecx, dword [ebp + 4]
cmp byte [ecx + 8], 0
jne 0x5de2f6
push 0
xor edx, edx
call fcn.0059ce50
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x5de2ee
mov ecx, ebx
call fcn.00606200
push eax
mov edx, edi
mov ecx, esi
call fcn.00589050
add esp, 4
jmp 0x5de577
mov dword [esp + 0x24], 1
xor ebx, ebx
mov edi, ebp
nop word [eax + eax]
mov esi, dword [edi + 4]
mov dl, byte [esi + 9]
mov ebp, dword [esi + 4]
test dl, dl
je 0x5de320
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x5de320
mov ecx, esi
call fcn.0059a120
mov dl, byte [esi + 9]
cmp ebx, 0xe
jne 0x5de334
mov eax, dword [ebp]
mov ecx, dword [esi + 0x14]
add ecx, dword [eax + 0x64]
mov dword [esp + ebx*4 + 0x48], ecx
jmp 0x5de344
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ebx*4 + 0x28]
bswap eax
mov dword [esp + ebx*4 + 0x48], eax
test dl, dl
je 0x5de355
add dword [esi + 0xc], 0xffffffff
jne 0x5de355
mov ecx, esi
call fcn.0059a0e0
inc ebx
cmp ebx, 5
jl 0x5de300
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 0x20]
and eax, 0x2000000
or eax, 0
je 0x5de378
xorps xmm0, xmm0
xor edx, edx
movups xmmword [esp + 0x48], xmm0
jmp 0x5de37c
mov edx, dword [esp + 0x58]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
test edx, edx
je 0x5de3f7
test ebx, ebx
jne 0x5de3ac
and dl, 3
mov eax, 1
movzx ecx, dl
cmove ecx, eax
mov byte [edi + 0x4e], cl
mov esi, dword [esp + 0x1c]
jmp 0x5de40a
mov cl, byte [edi + 0x4e]
movzx eax, cl
cmp edx, eax
je 0x5de3a6
mov ebx, dword [esp + 0x20]
mov edx, dword [ebx]
test edx, edx
je 0x5de3c7
mov ecx, edi
call fcn.00588a20
push 0
push 0x44
mov ecx, edi
call fcn.00588ce0
mov esi, eax
add esp, 8
test esi, esi
je 0x5de3eb
push 0x44
push 0x7e45d8
push esi
call fcn.00737f30
add esp, 0xc
mov dword [ebx], esi
mov ebx, 1
jmp 0x5de568
mov eax, dword [edi + 0x10]
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + eax + 0xc]
or word [eax + 0x4e], 4
mov cl, byte [edi + 0x4e]
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x4d], cl
mov edx, dword [ebp + 0xc]
cmp dword [edx + 0x50], 0
jne 0x5de44f
mov eax, dword [esp + 0x50]
test eax, eax
jns 0x5de431
cmp eax, 0x80000000
jne 0x5de42f
mov eax, 0x7fffffff
jmp 0x5de43b
neg eax
test eax, eax
mov ecx, 0xfffff830
cmove eax, ecx
mov dword [edx + 0x50], eax
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 4]
mov edx, dword [edx + 0x50]
call fcn.0059c620
mov edx, dword [ebp + 0xc]
mov ecx, dword [esp + 0x4c]
mov byte [edx + 0x4c], cl
mov eax, dword [ebp + 0xc]
cmp byte [eax + 0x4c], 0
jne 0x5de466
mov byte [eax + 0x4c], 1
mov eax, dword [ebp + 0xc]
cmp byte [eax + 0x4c], 4
jbe 0x5de4b2
mov ebx, dword [esp + 0x20]
mov edx, dword [ebx]
test edx, edx
je 0x5de47d
mov ecx, edi
call fcn.00588a20
push 0
push 0x18
mov ecx, edi
call fcn.00588ce0
add esp, 8
test eax, eax
je 0x5de4a6
movups xmm0, xmmword [0x7e5d48]
movups xmmword [eax], xmm0
movq xmm0, qword [0x7e5d58]
movq qword [eax + 0x10], xmm0
mov dword [ebx], eax
mov ebx, 1
jmp 0x5de568
test ebx, ebx
jne 0x5de4c5
cmp ecx, 4
jl 0x5de4c5
mov eax, dword [edi + 0x24]
and dword [edi + 0x20], 0xfffffffd
mov dword [edi + 0x24], eax
mov eax, dword [edi + 0x10]
push dword [esp + 0x2c]
push dword [esi + eax]
push 0x7e5db8
push edi
call fcn.0058b110
mov esi, dword [edi + 0x150]
lea ecx, [esp + 0x40]
push 0
push ecx
mov ebp, eax
mov dword [edi + 0x150], 0
push fcn.005ddf80
push ebp
push edi
call fcn.005d9d80
mov ebx, eax
mov dword [edi + 0x150], esi
add esp, 0x24
test ebx, ebx
cmove ebx, dword [esp + 0x3c]
test ebp, ebp
je 0x5de51e
mov edx, ebp
mov ecx, edi
call fcn.00588a20
test ebx, ebx
jne 0x5de52d
mov edx, dword [esp + 0x14]
mov ecx, edi
call fcn.005c6770
cmp byte [edi + 0x51], 0
je 0x5de541
mov ecx, edi
mov ebx, 7
call fcn.005c8320
jmp 0x5de545
test ebx, ebx
je 0x5de552
mov eax, dword [edi + 0x20]
and eax, 0x8000000
or eax, 0
je 0x5de564
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + eax + 0xc]
or word [eax + 0x4e], 1
xor ebx, ebx
mov ebp, dword [esp + 0x18]
cmp dword [esp + 0x24], 0
je 0x5de577
mov ecx, dword [ebp + 4]
call fcn.0059dd80
mov ecx, dword [ebp + 4]
cmp byte [ecx + 9], 0
je 0x5de58b
add dword [ecx + 0xc], 0xffffffff
jne 0x5de58b
call fcn.0059a0e0
mov ebp, dword [esp + 0x14]
test ebx, ebx
je 0x5de5b0
cmp ebx, 7
je 0x5de5a0
cmp ebx, 0xc0a
jne 0x5de5a7
mov ecx, edi
call fcn.005890c0
mov edx, ebp
mov ecx, edi
call fcn.005c82c0
mov eax, ebx
mov ecx, dword [esp + 0x74]
mov byte [edi + 0xa5], 0
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00735c28
add esp, 0x6c
ret