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

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x1630
call fcn.007bcae0
movzx eax, byte [esp + 0x164c]
mov ebx, dword [esp + 0x1648]
mov edi, dword [esp + 0x1644]
pxor xmm0, xmm0
mov esi, ecx
lea ebp, [edx + edx*8]
mov dword [esp + 0xa8], 0
mov dword [esp + 0x12c], 0
movdqu xmmword [esp + 0x98], xmm0
movdqu xmmword [esp + 0x88], xmm0
movdqu xmmword [esp + 0x78], xmm0
movdqu xmmword [esp + 0x68], xmm0
movdqu xmmword [esp + 0x58], xmm0
movdqu xmmword [esp + 0x48], xmm0
movdqu xmmword [esp + 0x38], xmm0
movdqu xmmword [esp + 0x28], xmm0
movdqu xmmword [esp + 0x11c], xmm0
movdqu xmmword [esp + 0x10c], xmm0
movdqu xmmword [esp + 0xfc], xmm0
movdqu xmmword [esp + 0xec], xmm0
movdqu xmmword [esp + 0xdc], xmm0
movdqu xmmword [esp + 0xcc], xmm0
movdqu xmmword [esp + 0xbc], xmm0
movdqu xmmword [esp + 0xac], xmm0
test al, al
je 0x4bdf39
mov eax, ebp
mov edx, edi
shl eax, 5
lea eax, [esi + eax + 0xd80]
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [eax]
cmp ecx, 0x21
jae 0x4be8d5
inc dword [esp + ecx*4 + 0x28]
inc eax
dec edx
jne 0x4bdf20
jmp 0x4be7c6
lea ebx, [esp + 0x530]
push 0x480
push 0
push ebx
call fcn.007bdf30
add esp, 0xc
lea eax, [esp + 0x9b0]
push 0x480
push 0
push eax
call fcn.007bdf30
add esp, 0xc
mov dword [esp + 0x20], ebp
shl ebp, 6
xor ecx, ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ebp
lea eax, [esi + ebp]
xor ebp, ebp
jmp 0x4bdf96
mov word [esp + ebp*4 + 0x530], dx
mov word [esp + ebp*4 + 0x532], cx
inc ebp
inc ecx
cmp edi, ecx
je 0x4bdfb8
movzx edx, word [eax + ecx*2]
test dx, dx
je 0x4bdf91
cmp ebp, 0x11f
jbe 0x4bdf80
mov ecx, ebp
mov edx, 0x120
push 0x84bdc4
call fcn.007c1be0
cmp ebp, 0x121
jae 0x4be9ba
lea eax, [esp + 0xe30]
push 0x800
push 0
push eax
call fcn.007bdf30
add esp, 0xc
xor edi, edi
test ebp, ebp
mov eax, 0
mov ecx, 0
je 0x4be028
lea eax, [ebp*4]
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, word [ebx]
add ebx, 4
movzx edx, cl
shr ecx, 8
inc dword [esp + edx*4 + 0xe30]
inc dword [esp + ecx*4 + 0x1230]
add eax, 0xfffffffc
jne 0x4be000
mov ecx, dword [esp + 0x1230]
mov eax, ebp
mov dword [esp], eax
lea esi, [esp + ebp*4 + 0x530]
lea eax, [esp + 0x130]
mov dword [esp + 4], ecx
push 0x400
push 0
push eax
call fcn.007bdf30
add esp, 0xc
mov eax, 0xfffffc00
nop word cs:[eax + eax]
nop dword [eax]
mov dword [esp + eax + 0x530], edi
add edi, dword [esp + eax + 0x1230]
add eax, 4
jne 0x4be060
test ebp, ebp
je 0x4be0b9
lea eax, [esp + 0x530]
nop
movzx ebx, word [eax]
movzx edx, bl
mov ecx, dword [esp + edx*4 + 0x130]
cmp ecx, dword [esp]
jae 0x4be8e4
movzx edi, word [eax + 2]
add eax, 4
mov word [esp + ecx*4 + 0x9b0], bx
mov word [esp + ecx*4 + 0x9b2], di
inc ecx
cmp eax, esi
mov dword [esp + edx*4 + 0x130], ecx
jne 0x4be080
mov edx, dword [esp]
mov ebx, dword [esp + 0x1648]
lea esi, [esp + 0x9b0]
cmp dword [esp + 4], edx
je 0x4be17c
push 0x400
push 0
lea eax, [esp + 0x138]
push eax
call fcn.007bdf30
add esp, 0xc
xor eax, eax
mov ecx, 0xffffff00
nop word cs:[eax + eax]
nop dword [eax]
mov dword [esp + ecx*4 + 0x530], eax
add eax, dword [esp + ecx*4 + 0x1630]
inc ecx
jne 0x4be100
test ebp, ebp
je 0x4be172
mov eax, dword [esp]
lea edx, [esp + 0x9b0]
lea eax, [esp + eax*4 + 0x9b0]
nop word cs:[eax + eax]
movzx edi, word [edx]
mov esi, edi
shr esi, 8
mov ecx, dword [esp + esi*4 + 0x130]
cmp ecx, dword [esp]
jae 0x4be8e4
movzx ebx, word [edx + 2]
mov word [esp + ecx*4 + 0x530], di
add edx, 4
mov word [esp + ecx*4 + 0x532], bx
mov ebx, dword [esp + 0x1648]
inc ecx
cmp edx, eax
mov dword [esp + esi*4 + 0x130], ecx
jne 0x4be130
mov edx, dword [esp]
lea esi, [esp + 0x530]
test edx, edx
mov dword [esp + 4], esi
je 0x4be193
cmp edx, 1
jne 0x4be1a0
mov edx, 1
mov word [esi], 1
test ebp, ebp
jne 0x4be3ce
jmp 0x4be3f8
movzx eax, word [esi + 4]
lea ecx, [edx - 1]
add word [esi], ax
cmp ecx, 2
jb 0x4be2c4
mov eax, 2
mov ebx, 2
xor edi, edi
sub eax, ebp
mov dword [esp + 0x10], eax
mov eax, 1
jmp 0x4be1f7
cmp eax, edx
jae 0x4be966
mov edx, esi
movzx esi, word [esi + ebx*4]
inc ebx
add word [edx + eax*4], si
mov edx, dword [esp + 0x10]
inc eax
lea esi, [edx + eax]
mov edx, dword [esp]
cmp esi, 1
je 0x4be2d1
cmp ebx, edx
jae 0x4be222
cmp edi, edx
jae 0x4be95a
mov dword [esp + 8], ebx
mov ebx, dword [esp + 4]
mov esi, dword [esp + 8]
movzx esi, word [ebx + esi*4]
cmp word [ebx + edi*4], si
mov ebx, dword [esp + 8]
mov word [esp + 0xc], si
jae 0x4be250
cmp edi, edx
jae 0x4be90f
cmp eax, edx
jae 0x4be91b
mov edx, dword [esp + 4]
movzx esi, word [edx + edi*4]
mov word [edx + eax*4], si
mov word [edx + edi*4], ax
mov esi, edx
inc edi
mov edx, dword [esp]
cmp ebx, edx
jb 0x4be26f
jmp 0x4be2a0
cmp eax, edx
jae 0x4be972
mov edx, dword [esp + 4]
movzx esi, word [esp + 0xc]
inc ebx
mov word [edx + eax*4], si
mov esi, edx
mov edx, dword [esp]
cmp ebx, edx
jae 0x4be2a0
cmp edi, eax
jae 0x4be1d0
cmp edi, edx
jae 0x4be981
mov edx, dword [esp + 4]
movzx esi, word [edx + edi*4]
mov edx, dword [esp + 4]
cmp si, word [edx + ebx*4]
mov esi, dword [esp + 4]
mov edx, dword [esp]
jae 0x4be1d0
nop dword [eax]
cmp eax, edx
jae 0x4be927
cmp edi, edx
jae 0x4be933
mov edx, esi
movzx esi, word [esi + edi*4]
add word [edx + eax*4], si
mov word [edx + edi*4], ax
inc edi
jmp 0x4be1e3
mov dword [esp + 8], ebp
mov word [esi + edx*4 - 8], 0
jmp 0x4be32a
mov esi, dword [esp + 4]
mov eax, edx
add eax, 0xfffffffe
mov word [esi + edx*4 - 8], 0
je 0x4be326
cmp edx, 3
jb 0x4be98d
mov edi, dword [esp + 4]
lea esi, [ebp - 3]
nop word cs:[eax + eax]
nop dword [eax]
movzx edx, word [edi + esi*4]
cmp dword [esp], edx
jbe 0x4be93f
movzx edx, word [edi + edx*4]
inc edx
mov word [edi + esi*4], dx
add esi, 0xffffffff
jb 0x4be300
mov edx, dword [esp]
mov dword [esp + 8], ebp
mov esi, edi
jmp 0x4be32c
mov dword [esp + 8], ebp
xor eax, eax
mov edi, 1
xor ebp, ebp
nop word cs:[eax + eax]
nop dword [eax]
test eax, eax
js 0x4be380
cmp eax, edx
jae 0x4be94e
lea ebx, [eax + 1]
xor esi, esi
nop word cs:[eax + eax]
nop dword [eax + eax]
mov edx, dword [esp + 4]
cmp word [edx + eax*4], bp
jne 0x4be390
inc esi
add eax, 0xffffffff
jb 0x4be360
mov eax, 0xffffffff
jmp 0x4be392
xor ebx, ebx
jmp 0x4be3ae
mov ebx, esi
mov edx, dword [esp]
mov esi, dword [esp + 4]
jmp 0x4be3ae
cmp ecx, edx
jae 0x4be8a7
mov word [esi + ecx*4], bp
dec ecx
dec edi
cmp edi, ebx
jg 0x4be3a0
add ebx, ebx
inc ebp
test ebx, ebx
mov edi, ebx
mov ebx, dword [esp + 0x1648]
jg 0x4be340
mov ebp, dword [esp + 8]
test ebp, ebp
je 0x4be3f8
shl ebp, 2
mov eax, esi
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, word [eax]
cmp ecx, 0x21
jae 0x4be8f1
inc dword [esp + ecx*4 + 0x28]
add eax, 4
add ebp, 0xfffffffc
jne 0x4be3e0
mov ebp, dword [esp + 0x20]
lea eax, [ebx + 1]
cmp edx, 2
mov dword [esp], edx
mov dword [esp + 0xc], eax
jb 0x4be5dd
mov eax, dword [esp + 0xc]
xor edx, edx
lea ecx, [eax*4]
mov eax, 0x84
sub eax, ecx
mov ecx, 0
shr eax, 2
cmp ebx, 0x18
ja 0x4be487
mov ecx, eax
lea edx, [esp + ebx*4 + 0x3c]
pxor xmm0, xmm0
pxor xmm1, xmm1
and ecx, 0xfffffff8
mov esi, ecx
nop word cs:[eax + eax]
nop dword [eax]
movdqu xmm2, xmmword [edx - 0x10]
movdqu xmm3, xmmword [edx]
add edx, 0x20
add esi, 0xfffffff8
paddd xmm0, xmm2
paddd xmm1, xmm3
jne 0x4be450
paddd xmm1, xmm0
cmp eax, ecx
pshufd xmm0, xmm1, 0xee
paddd xmm0, xmm1
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
movd edx, xmm1
je 0x4be4a8
lea esi, [ebx*4]
sub eax, ecx
lea ecx, [esi + ecx*4]
lea ecx, [esp + ecx + 0x2c]
nop word [eax + eax]
add edx, dword [ecx]
add ecx, 4
dec eax
jne 0x4be4a0
mov eax, dword [esp + 0xc]
add dword [esp + ebx*4 + 0x28], edx
xor edx, edx
cmp ebx, 8
mov ecx, 0
jb 0x4be5b3
mov eax, dword [esp + 0xc]
movdqa xmm2, xmmword [0x7d44a0]
movdqa xmm4, xmmword [0x7d4ce0]
movdqa xmm5, xmmword [0x7d44c0]
mov ecx, ebx
lea edx, [esp + ebx*4 + 0x1c]
pxor xmm0, xmm0
pxor xmm3, xmm3
and ecx, 0xfffffff8
mov edi, ecx
sub eax, ecx
nop word cs:[eax + eax]
nop dword [eax + eax]
movdqu xmm6, xmmword [edx]
movdqa xmm1, xmm2
pslld xmm1, 0x17
paddd xmm1, xmm4
cvttps2dq xmm1, xmm1
pshufd xmm7, xmm6, 0x1b
pshufd xmm6, xmm6, 0x4e
pmuludq xmm7, xmm1
pshufd xmm1, xmm1, 0xf5
pmuludq xmm6, xmm1
movdqa xmm1, xmm2
pshufd xmm7, xmm7, 0xe8
paddd xmm2, xmm5
paddd xmm1, xmmword [0x7d44b0]
pshufd xmm6, xmm6, 0xe8
punpckldq xmm7, xmm6
movdqu xmm6, xmmword [edx - 0x10]
add edx, 0xffffffe0
add edi, 0xfffffff8
paddd xmm0, xmm7
pslld xmm1, 0x17
paddd xmm1, xmm4
pshufd xmm7, xmm6, 0x1b
pshufd xmm6, xmm6, 0x4e
cvttps2dq xmm1, xmm1
pmuludq xmm7, xmm1
pshufd xmm1, xmm1, 0xf5
pmuludq xmm6, xmm1
pshufd xmm1, xmm7, 0xe8
pshufd xmm6, xmm6, 0xe8
punpckldq xmm1, xmm6
paddd xmm3, xmm1
jne 0x4be500
paddd xmm3, xmm0
cmp ecx, ebx
pshufd xmm0, xmm3, 0xee
paddd xmm0, xmm3
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
movd edx, xmm1
je 0x4be5cc
dec eax
nop word cs:[eax + eax]
nop
mov esi, dword [esp + eax*4 + 0x28]
shl esi, cl
inc ecx
add edx, esi
dec eax
jne 0x4be5c0
mov eax, 1
mov ecx, ebx
shl eax, cl
cmp eax, edx
jb 0x4be77d
mov esi, dword [esp + 0x14]
shl ebp, 5
lea eax, [esi + ebp + 0xd80]
push 0x120
push 0
push eax
call fcn.007bdf30
add esp, 0xc
mov eax, dword [esp + 0x18]
lea eax, [esi + eax + 0x6c0]
push 0x240
push 0
push eax
call fcn.007bdf30
mov edx, ebp
add esp, 0xc
mov ebp, dword [esp]
mov edi, dword [esp + 0x1644]
add dword [esp + 4], 2
mov eax, 1
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 8], 0
mov dword [esp + 0x24], edx
nop dword [eax + eax]
test byte [esp + 0x18], 1
mov dword [esp + 0x10], ebp
je 0x4be690
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x4be7be
cmp dword [esp + 8], 0x21
je 0x4be7be
dec ecx
mov ebp, dword [esp + 8]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x1c]
jmp 0x4be6cd
mov esi, dword [esp + 0xc]
cmp esi, eax
jbe 0x4be7be
mov ecx, dword [esp + 8]
mov edx, 0x84
lea ecx, [ecx*4]
sub edx, ecx
shr edx, 2
cmp edx, eax
jbe 0x4be7be
mov ebp, dword [esp + 8]
mov ecx, dword [esp + 0x1c]
add ebp, eax
add ecx, eax
not eax
add esi, eax
mov dword [esp + 0xc], esi
mov edx, dword [esp + 0x10]
mov esi, dword [esp + ebp*4 + 0x28]
mov ebx, ebp
mov ebp, edx
sub ebp, esi
jb 0x4be99d
cmp edx, dword [esp]
ja 0x4be9a9
inc ebx
mov dl, 1
lea eax, [ecx + 1]
mov dword [esp + 8], ebx
mov dword [esp + 0x18], edx
mov ebx, dword [esp + 0x1648]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
xor eax, eax
test esi, esi
je 0x4be650
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x10]
shl esi, 2
neg esi
lea ebx, [edi + eax*4]
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx eax, word [ebx + esi]
cmp eax, 0x11f
ja 0x4be896
mov edi, dword [esp + 0x14]
add esi, 4
lea edi, [edi + edx]
mov byte [eax + edi + 0xd80], cl
jne 0x4be730
mov edi, dword [esp + 0x1644]
mov ebx, dword [esp + 0x1648]
xor eax, eax
jmp 0x4be650
add dword [esp + ecx*4 + 0x2c], 2
cmp eax, edx
je 0x4be5dd
dec dword [esp + ebx*4 + 0x28]
inc eax
mov ecx, ebx
nop word cs:[eax + eax]
nop
cmp ecx, 2
jb 0x4be775
mov esi, ecx
dec ecx
mov edi, dword [esp + esi*4 + 0x24]
test edi, edi
je 0x4be790
dec edi
cmp esi, 0x21
mov dword [esp + ecx*4 + 0x28], edi
jb 0x4be770
mov ecx, 0x21
mov edx, 0x21
push 0x84bd74
call fcn.007c1be0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov ecx, 2
xor eax, eax
mov edx, 2
mov dword [esp + 0xb0], 0
nop dword [eax]
cmp ecx, ebx
adc edx, 0
cmp ecx, 0x22
jae 0x4be8b1
cmp ecx, 0x21
je 0x4be8c1
add eax, dword [esp + ecx*4 + 0x24]
add eax, eax
cmp ecx, ebx
mov dword [esp + ecx*4 + 0xac], eax
jae 0x4be80e
cmp edx, ebx
mov ecx, edx
jbe 0x4be7e0
mov eax, ebp
shl ebp, 6
shl eax, 5
lea ecx, [esi + ebp + 0x6c0]
lea eax, [esi + eax + 0xd80]
mov dword [esp + 0x14], ecx
xor esi, esi
mov ecx, eax
jmp 0x4be839
inc esi
dec edi
lea ecx, [eax + esi]
test edi, edi
je 0x4be88b
cmp esi, 0x120
je 0x4be88b
movzx ecx, byte [ecx]
test ecx, ecx
je 0x4be830
cmp cl, 0x20
ja 0x4be900
mov edx, edi
mov edi, dword [esp + ecx*4 + 0xac]
lea ebx, [edi + 1]
mov dword [esp + ecx*4 + 0xac], ebx
xor ebx, ebx
nop word cs:[eax + eax]
mov ebp, edi
shr edi, 1
and ebp, 1
dec cl
lea ebx, [ebp + ebx*2]
jne 0x4be870
mov ecx, dword [esp + 0x14]
mov edi, edx
mov word [ecx + esi*2], bx
jmp 0x4be830
add esp, 0x1630
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, eax
mov edx, 0x120
push 0x84bda4
call fcn.007c1be0
push 0x84bcc4
call fcn.007c1be0
dec ecx
mov edx, 0x21
push 0x84bde4
call fcn.007c1be0
mov ecx, 0x21
mov edx, 0x21
push 0x84bdf4
call fcn.007c1be0
mov edx, 0x21
push 0x84be04
call fcn.007c1be0
mov edx, dword [esp]
push 0x84bca4
call fcn.007c1be0
mov edx, 0x21
push 0x84bdb4
call fcn.007c1be0
mov edx, 0x21
push 0x84bdd4
call fcn.007c1be0
mov ecx, edi
push 0x84bd14
call fcn.007c1be0
mov ecx, eax
push 0x84bd24
call fcn.007c1be0
mov ecx, eax
push 0x84bd54
call fcn.007c1be0
mov ecx, edi
push 0x84bd64
call fcn.007c1be0
mov ecx, edx
mov edx, dword [esp]
push 0x84bce4
call fcn.007c1be0
mov ecx, eax
push 0x84bcb4
call fcn.007c1be0
mov ecx, edi
push 0x84bcf4
call fcn.007c1be0
mov ecx, eax
push 0x84bd44
call fcn.007c1be0
mov edx, dword [esp]
mov ecx, eax
push 0x84bd04
call fcn.007c1be0
mov ecx, edi
push 0x84bd34
call fcn.007c1be0
mov edx, dword [esp]
lea ecx, [edx - 3]
push 0x84bcd4
call fcn.007c1be0
mov ecx, ebp
push 0x84bd94
call fcn.007c1e60
mov ecx, dword [esp + 0x10]
mov edx, dword [esp]
push 0x84bd94
call fcn.007c1c40
mov ecx, ebp
mov edx, 0x120
push 0x84bd84
call fcn.007c1c40
int3