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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x148
mov esi, dword [esp + 0x184]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x180]
mov edx, dword [esp + 0x17c]
call 0x5e590c
pop eax
mov dword [esp + 0x14], eax
test esi, esi
je 0x5e5932
lea eax, [esi - 1]
xor edi, edi
nop word [eax + eax]
cmp eax, ecx
jae 0x5e6a0d
add edi, dword [edx]
add edx, 0x10
dec esi
jne 0x5e5920
jmp 0x5e5934
xor edi, edi
mov ecx, dword [esp + 0x170]
mov esi, dword [esp + 0x188]
shr edi, 9
lea edx, [edi + 1]
mov dword [esp], edx
cmp ecx, 1
jne 0x5e59db
mov ebx, dword [esi + 4]
cmp edx, 0x101
mov eax, 0x101
cmovb eax, edx
mov dword [esp + 4], eax
cmp ebx, edi
ja 0x5e5a8a
mov esi, dword [esi]
test ebx, ebx
mov eax, ebx
cmove eax, edx
nop word [eax + eax]
mov ebp, eax
add eax, eax
cmp ebp, edi
jbe 0x5e5980
test ebp, ebp
js 0x5e6a82
mov ecx, 8
mov edx, ebp
call fcn.0071ee80
test eax, eax
je 0x5e6a87
test ebx, ebx
je 0x5e5a7b
push ebx
push esi
push eax
mov ebx, eax
call fcn.007bd9b0
add esp, 0xc
mov eax, esi
mov esi, dword [esp + 0x188]
mov dword [esi], ebx
mov dword [esi + 4], ebp
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5e5a87
cmp ecx, 0xe
jae 0x5e6aa1
test ecx, ecx
je 0x5e6a6e
mov ax, pe_nt_image_headers32
xor edx, edx
div cx
mov ecx, dword [esp]
mov ebx, dword [esi + 4]
movzx eax, ax
mov dword [esp + 0xc], eax
inc eax
cmp ecx, eax
cmovb eax, ecx
cmp ebx, edi
mov dword [esp + 4], eax
ja 0x5e5c20
mov esi, dword [esi]
test ebx, ebx
mov eax, ebx
cmove eax, ecx
nop dword [eax]
mov ebp, eax
add eax, eax
cmp ebp, edi
jbe 0x5e5a20
test ebp, ebp
js 0x5e6a82
mov ecx, 8
mov edx, ebp
call fcn.0071ee80
test eax, eax
je 0x5e6a87
test ebx, ebx
je 0x5e5c11
push ebx
push esi
push eax
mov ebx, eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x188]
mov dword [eax], ebx
mov dword [eax + 4], ebp
push esi
mov esi, eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5e5c1d
mov esi, dword [esp + 0x188]
mov dword [esi], eax
mov dword [esi + 4], ebp
mov edx, dword [esp]
mov ebp, dword [esi + 0xc]
mov ebx, dword [esp + 0x170]
cmp ebp, edi
ja 0x5e5b2c
mov esi, dword [esi + 8]
test ebp, ebp
mov eax, ebp
cmove eax, edx
nop word cs:[eax + eax]
mov ebx, eax
add eax, eax
cmp ebx, edi
jbe 0x5e5ab0
cmp ebx, 0x1fffffff
ja 0x5e6a82
lea edx, [ebx*4]
test edx, edx
js 0x5e6a82
mov ecx, 8
mov dword [esp + 0xc], edx
call fcn.0071ee80
test eax, eax
je 0x5e6ac3
mov edi, eax
lea eax, [ebp*4]
push eax
push esi
push edi
call fcn.007bd9b0
add esp, 0xc
mov eax, esi
mov esi, dword [esp + 0x188]
mov edx, dword [esp]
test ebp, ebp
mov dword [esi + 8], edi
mov dword [esi + 0xc], ebx
mov ebx, dword [esp + 0x170]
je 0x5e5b2c
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [esp]
mov edi, dword [esp + 4]
mov dword [esi + 0x14], edx
xor ecx, ecx
mov eax, edi
mov dword [esi + 0x78], edi
shl eax, 0xa
lea esi, [eax + edi*8]
movzx eax, byte [0x94bfc5]
mov edx, esi
call fcn.0071ee80
test eax, eax
je 0x5e6820
mov ebp, eax
cmp edi, 2
mov esi, eax
jb 0x5e5b97
dec edi
mov esi, ebp
nop word cs:[eax + eax]
nop dword [eax]
push 0x404
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0x404], 0x7f7ff023
add esi, 0x408
dec edi
jne 0x5e5b70
mov edi, dword [esp + 4]
push 0x404
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0x404], 0x7f7ff023
mov esi, dword [esp + 0x188]
mov eax, dword [esi + 0x58]
mov dword [esi + 0x58], ebp
cmp dword [esi + 0x5c], 0
mov dword [esi + 0x5c], edi
je 0x5e5bd6
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
push 0x404
push 0
push ebp
call fcn.007bdf30
add esp, 0xc
xorps xmm0, xmm0
mov dword [ebp + 0x404], 0x7f7ff023
xor edx, edx
mov ecx, pe_nt_image_headers32
mov eax, 0x200
movups xmmword [esp + 0x7c], xmm0
movss xmm0, dword [0x7d5248]
jmp 0x5e5df7
mov esi, dword [esp + 0x188]
mov dword [esi], eax
mov dword [esi + 4], ebp
mov ecx, dword [esp]
mov ebp, dword [esi + 0xc]
cmp ebp, edi
ja 0x5e5cbd
mov esi, dword [esi + 8]
test ebp, ebp
mov eax, ebp
cmove eax, ecx
nop word cs:[eax + eax]
nop
mov ebx, eax
add eax, eax
cmp ebx, edi
jbe 0x5e5c40
cmp ebx, 0x1fffffff
ja 0x5e6a82
lea edx, [ebx*4]
test edx, edx
js 0x5e6a82
mov ecx, 8
mov dword [esp + 8], edx
call fcn.0071ee80
test eax, eax
je 0x5e6a93
mov edi, eax
test ebp, ebp
je 0x5e5cad
shl ebp, 2
push ebp
push esi
push edi
call fcn.007bd9b0
add esp, 0xc
mov eax, esi
mov esi, dword [esp + 0x188]
mov dword [esi + 8], edi
mov dword [esi + 0xc], ebx
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5e5cba
mov esi, dword [esp + 0x188]
mov dword [esi + 8], edi
mov dword [esi + 0xc], ebx
mov ecx, dword [esp]
mov ebx, dword [esp + 0x170]
mov edi, dword [esp + 4]
mov dword [esi + 0x14], ecx
imul edi, ebx
test edi, edi
mov dword [esi + 0x78], edi
je 0x5e682c
cmp edi, 0x1fc07f
ja 0x5e6a82
mov eax, edi
shl eax, 0xa
lea esi, [eax + edi*8]
test esi, esi
js 0x5e6a82
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, esi
call fcn.0071ee80
test eax, eax
je 0x5e6820
mov ebp, eax
cmp edi, 2
mov esi, eax
jb 0x5e5d47
mov dword [esp + 4], edi
dec edi
mov esi, ebp
nop dword [eax]
push 0x404
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0x404], 0x7f7ff023
add esi, 0x408
dec edi
jne 0x5e5d20
mov edi, dword [esp + 4]
push 0x404
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0x404], 0x7f7ff023
mov esi, dword [esp + 0x188]
cmp dword [esi + 0x5c], 0
je 0x5e5d7f
push dword [esi + 0x58]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp edi, ebx
mov dword [esi + 0x58], ebp
mov dword [esi + 0x5c], edi
jb 0x5e6ab5
mov eax, ebx
shl eax, 0xa
lea esi, [eax + ebx*8]
add esi, ebp
nop word [eax + eax]
push 0x404
push 0
push ebp
call fcn.007bdf30
add esp, 0xc
mov dword [ebp + 0x404], 0x7f7ff023
add ebp, 0x408
cmp ebp, esi
jne 0x5e5da0
mov esi, dword [esp + 0x188]
mov edi, dword [esp + 0xc]
xorps xmm0, xmm0
mov edx, 1
xor eax, eax
xor ecx, ecx
movups xmmword [esp + 0x7c], xmm0
movups xmmword [esp + 0x3c], xmm0
movups xmmword [esp + 0x4c], xmm0
movups xmmword [esp + 0x5c], xmm0
movups xmmword [esp + 0x6c], xmm0
xorps xmm0, xmm0
movsd xmm1, qword [esp + 0x7c]
movsd xmm2, qword [esp + 0x84]
mov dword [esp + 0xac], edx
mov dword [esp + 0xc], edx
movsd qword [esp + 0xb0], xmm1
movsd qword [esp + 0xb8], xmm2
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
movss dword [esp + 0xc8], xmm0
movsd xmm0, qword [esp + 0x3c]
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
movq xmm1, qword [esp + 0x44]
mov eax, 0x101
movsd qword [esp + 0xe0], xmm0
movsd xmm0, qword [esp + 0x4c]
movq qword [esp + 0xe8], xmm1
movsd qword [esp + 0xf0], xmm0
movsd xmm0, qword [esp + 0x54]
movsd qword [esp + 0xf8], xmm0
movsd xmm0, qword [esp + 0x5c]
movsd qword [esp + 0x100], xmm0
movsd xmm0, qword [esp + 0x64]
movsd qword [esp + 0x108], xmm0
movsd xmm0, qword [esp + 0x6c]
movsd qword [esp + 0x110], xmm0
movsd xmm0, qword [esp + 0x74]
movsd qword [esp + 0x118], xmm0
mov dword [esp + 0x120], pe_nt_image_headers32
mov dword [esp + 0x124], ebx
mov ebx, dword [esp + 0x184]
mov dword [esp + 0x128], edi
mov edi, dword [esi + 0x1c]
movdqa xmm0, xmmword [0x7d5250]
mov dword [esp + 0x12c], 0x200
mov dword [esp + 0x130], 0x43c80000
shr ebx, 0xa
movdqu xmmword [esp + 0x134], xmm0
mov dword [esp + 0x144], 0
lea ebp, [ebx + 1]
cmp ebp, 0x101
mov dword [esp + 4], ebp
cmovb eax, ebp
cmp edi, ebx
mov dword [esp], eax
ja 0x5e5fd0
mov eax, dword [esi + 0x18]
test edi, edi
mov dword [esp + 8], eax
mov eax, edi
cmove eax, ebp
nop word [eax + eax]
mov ebp, eax
add eax, eax
cmp ebp, ebx
jbe 0x5e5f70
test ebp, ebp
js 0x5e6a82
mov ecx, 8
mov edx, ebp
call fcn.0071ee80
test eax, eax
je 0x5e6a87
test edi, edi
je 0x5e5fc6
push edi
mov edi, dword [esp + 0xc]
push edi
push eax
mov dword [esp + 0x1c], eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x10]
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ebp
push edi
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5e5fcc
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ebp
mov ebp, dword [esp + 4]
mov edi, dword [esi + 0x24]
cmp edi, ebx
ja 0x5e6065
mov ecx, dword [esi + 0x20]
test edi, edi
mov eax, edi
cmove eax, ebp
nop word cs:[eax + eax]
nop
mov esi, eax
add eax, eax
cmp esi, ebx
jbe 0x5e5ff0
cmp esi, 0x1fffffff
ja 0x5e6a82
lea edx, [esi*4]
test edx, edx
js 0x5e6a82
mov ebx, ecx
mov ecx, 8
mov dword [esp + 8], edx
call fcn.0071ee80
test eax, eax
je 0x5e6a93
mov ebp, eax
lea eax, [edi*4]
push eax
push ebx
push ebp
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x188]
test edi, edi
mov dword [eax + 0x20], ebp
mov ebp, dword [esp + 4]
mov dword [eax + 0x24], esi
mov esi, eax
je 0x5e6065
push ebx
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esp]
mov dword [esi + 0x2c], ebp
xor ecx, ecx
mov dword [esi + 0x7c], ebx
imul esi, ebx, 0xb08
movzx eax, byte [0x94bfc5]
mov edx, esi
call fcn.0071ee80
test eax, eax
je 0x5e6820
mov ebp, eax
cmp ebx, 2
mov esi, eax
jb 0x5e60c3
lea edi, [ebx - 1]
mov esi, ebp
nop word [eax + eax]
push 0xb04
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0xb04], 0x7f7ff023
add esi, 0xb08
dec edi
jne 0x5e60a0
push 0xb04
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0xb04], 0x7f7ff023
mov esi, dword [esp + 0x188]
mov eax, dword [esi + 0x60]
mov dword [esi + 0x60], ebp
cmp dword [esi + 0x64], 0
mov dword [esi + 0x64], ebx
je 0x5e6102
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
push 0xb04
push 0
push ebp
call fcn.007bdf30
add esp, 0xc
mov ebx, dword [esp + 0x184]
mov dword [ebp + 0xb04], 0x7f7ff023
pxor xmm0, xmm0
mov eax, 0x101
mov edi, dword [esi + 0x34]
movdqu xmmword [esp + 0x7c], xmm0
movdqa xmm0, xmmword [0x7d5260]
mov dword [esp + 0x8c], 0x2c0
mov dword [esp + 0x90], 0x400
mov dword [esp + 0x94], 0x43fa0000
shr ebx, 9
lea ebp, [ebx + 1]
movdqu xmmword [esp + 0x98], xmm0
mov dword [esp + 0xa8], 0
cmp ebp, 0x101
mov dword [esp + 4], ebp
cmovb eax, ebp
cmp edi, ebx
mov dword [esp], eax
ja 0x5e6200
mov eax, dword [esi + 0x30]
test edi, edi
mov dword [esp + 8], eax
mov eax, edi
cmove eax, ebp
nop word [eax + eax]
mov ebp, eax
add eax, eax
cmp ebp, ebx
jbe 0x5e61a0
test ebp, ebp
js 0x5e6a82
mov ecx, 8
mov edx, ebp
call fcn.0071ee80
test eax, eax
je 0x5e6a87
test edi, edi
je 0x5e61f6
push edi
mov edi, dword [esp + 0xc]
push edi
push eax
mov dword [esp + 0x1c], eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x10]
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], ebp
push edi
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5e61fc
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], ebp
mov ebp, dword [esp + 4]
mov edi, dword [esi + 0x3c]
cmp edi, ebx
ja 0x5e6295
mov ecx, dword [esi + 0x38]
test edi, edi
mov eax, edi
cmove eax, ebp
nop word cs:[eax + eax]
nop
mov esi, eax
add eax, eax
cmp esi, ebx
jbe 0x5e6220
cmp esi, 0x1fffffff
ja 0x5e6a82
lea edx, [esi*4]
test edx, edx
js 0x5e6a82
mov ebx, ecx
mov ecx, 8
mov dword [esp + 8], edx
call fcn.0071ee80
test eax, eax
je 0x5e6a93
mov ebp, eax
lea eax, [edi*4]
push eax
push ebx
push ebp
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x188]
test edi, edi
mov dword [eax + 0x38], ebp
mov ebp, dword [esp + 4]
mov dword [eax + 0x3c], esi
mov esi, eax
je 0x5e6295
push ebx
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword [esp]
mov dword [esi + 0x44], ebp
xor ecx, ecx
mov dword [esi + 0x80], edi
imul esi, edi, 0x888
movzx eax, byte [0x94bfc5]
mov edx, esi
call fcn.0071ee80
test eax, eax
je 0x5e6820
cmp edi, 2
mov ebx, eax
mov esi, eax
jb 0x5e62f8
dec edi
mov ebp, ebx
mov esi, ebx
nop dword [eax]
push 0x884
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0x884], 0x7f7ff023
add esi, 0x888
dec edi
jne 0x5e62d0
mov edi, dword [esp]
mov ebx, ebp
push 0x884
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov ebp, dword [esp + 0x188]
mov dword [esi + 0x884], 0x7f7ff023
mov eax, dword [ebp + 0x68]
mov dword [ebp + 0x68], ebx
cmp dword [ebp + 0x6c], 0
mov dword [ebp + 0x6c], edi
je 0x5e6337
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
lea eax, [ebp + 0x18]
mov dword [esp + 0x2c], eax
lea eax, [ebp + 0x7c]
mov dword [esp + 0x30], eax
lea eax, [ebp + 0x30]
mov dword [esp + 0x24], eax
lea eax, [ebp + 0x80]
mov dword [esp + 0x28], eax
push 0x884
push 0
push ebx
call fcn.007bdf30
add esp, 0xc
mov dword [ebx + 0x884], 0x7f7ff023
cmp dword [esp + 0x184], 0
movdqa xmm1, xmmword [0x7d5250]
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x170]
pxor xmm0, xmm0
movdqu xmmword [esp + 0x3c], xmm0
mov dword [esp + 0x4c], 0x40
mov dword [esp + 0x50], 0x200
mov dword [esp + 0x54], 0x42c80000
movdqu xmmword [esp + 0x58], xmm1
mov dword [esp + 0x68], 0
je 0x5e6770
movzx eax, byte [esp + 0x164]
movzx ecx, byte [esp + 0x168]
mov ebx, dword [esp + 0x15c]
xor esi, esi
mov byte [esp + 4], al
lea eax, [ebp + 0x78]
mov dword [esp + 8], eax
mov eax, ecx
jmp 0x5e6406
movzx eax, byte [esp]
mov esi, dword [esp + 0x38]
inc esi
cmp esi, dword [esp + 0x184]
je 0x5e6762
cmp esi, dword [esp + 0x180]
je 0x5e6a19
mov byte [esp], al
mov edx, dword [ebp + 0x64]
mov eax, dword [esp + 0xa4]
cmp eax, edx
jae 0x5e6a2c
mov edi, dword [esp + 0x17c]
mov dword [esp + 0x38], esi
shl esi, 4
movzx ebp, word [edi + esi + 0xc]
movzx ecx, bp
cmp ecx, 0x2c0
jae 0x5e6a38
mov dword [esp + 0xc], edx
mov word [esp + 0x22], bp
mov edx, eax
mov eax, dword [edi + esi + 4]
mov ebp, dword [edi + esi]
movzx esi, word [edi + esi + 0xe]
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x188]
mov dword [esp + 0x10], eax
imul eax, edx, 0xb08
mov esi, dword [esi + 0x60]
lea edi, [esi + eax]
inc dword [edi + ecx*4]
inc dword [esi + eax + 0xb00]
mov ecx, dword [esp + 0xa0]
inc ecx
mov dword [esp + 0xa0], ecx
cmp ecx, dword [esp + 0x9c]
je 0x5e64c0
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x160]
test ebp, ebp
jne 0x5e65cf
jmp 0x5e64f0
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x7c]
push 0
push dword [esp + 0x34]
push dword [esp + 0x14]
push esi
call fcn.005e9e20
add esp, 0x10
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x160]
test ebp, ebp
jne 0x5e65cf
nop
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x188]
and eax, 0x1ffffff
add ebx, eax
test eax, eax
movzx eax, byte [esp]
je 0x5e63f4
lea ecx, [ebx - 2]
and ecx, edi
cmp ecx, edx
jae 0x5e6a47
lea eax, [ebx - 1]
and eax, edi
cmp eax, edx
jae 0x5e6a51
mov edx, dword [esp + 0x1c]
cmp word [esp + 0x22], 0x7f
movzx ecx, byte [edx + ecx]
movzx eax, byte [edx + eax]
mov byte [esp], cl
mov byte [esp + 4], al
jbe 0x5e63f0
mov eax, dword [ebp + 0x6c]
mov ecx, dword [esp + 0x64]
cmp ecx, eax
jae 0x5e6a01
mov edi, dword [esp + 0x34]
and edi, 0x3ff
movzx edx, di
cmp edx, 0x220
jae 0x5e6a5d
mov esi, dword [ebp + 0x68]
imul ecx, ecx, 0x888
lea edx, [esi + ecx]
inc dword [edx + edi*4]
inc dword [esi + ecx + 0x880]
mov ecx, dword [esp + 0x60]
inc ecx
mov dword [esp + 0x60], ecx
cmp ecx, dword [esp + 0x5c]
jne 0x5e63f0
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x3c]
push 0
push dword [esp + 0x2c]
push eax
push esi
call fcn.005eaa00
add esp, 0x10
mov ebp, dword [esp + 0x188]
jmp 0x5e63f0
add esp, 0x10
mov edx, dword [esp + 0x18]
inc ebx
dec ebp
je 0x5e64f0
movzx eax, byte [esp]
mov ah, byte [esp + 4]
mov esi, dword [esp + 0x188]
mov ecx, ebx
and ecx, edi
cmp ecx, edx
jae 0x5e69bb
mov edx, dword [esp + 0x1c]
cmp dword [esp + 0xac], 0
mov byte [esp], ah
movzx ecx, byte [edx + ecx]
movzx edx, cl
mov byte [esp + 4], cl
je 0x5e6630
movzx ecx, byte [esp + 0x16c]
mov dword [esp + 0xc], edx
mov ecx, dword [ecx*4 + 0x5e6ad4]
add ecx, dword [esp + 0x14]
jmp ecx
mov eax, dword [esi + 0x5c]
mov ecx, dword [esp + 0xd8]
cmp ecx, eax
jae 0x5e6a01
mov esi, dword [esi + 0x58]
mov edi, ebx
mov ebx, edx
mov edx, ecx
shl edx, 0xa
lea ecx, [edx + ecx*8]
lea edx, [esi + ecx]
inc dword [edx + ebx*4]
inc dword [esi + ecx + 0x400]
mov ebx, edi
mov edi, dword [esp + 0x160]
mov ecx, dword [esp + 0xd4]
inc ecx
mov dword [esp + 0xd4], ecx
cmp ecx, dword [esp + 0xd0]
jne 0x5e65c3
mov edx, dword [esp + 0x188]
lea ecx, [esp + 0xb0]
push 0
push dword [esp + 0xc]
push eax
push esi
call fcn.005e74f0
jmp 0x5e65c0
mov eax, dword [esp + 0xac]
mov ebx, dword [esp + 0x170]
test eax, eax
mov eax, dword [ebp + 0x58]
mov esi, dword [ebp + 0x5c]
lea edi, [ebp + 0x78]
lea ecx, [esp + 0xb0]
mov edx, ebp
je 0x5e6792
push 1
push edi
push esi
push eax
call fcn.005e80b0
jmp 0x5e679c
push 1
push edi
push esi
push eax
call fcn.005e74f0
add esp, 0x10
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x7c]
push 1
push dword [esp + 0x34]
push dword [ebp + 0x64]
push dword [ebp + 0x60]
call fcn.005e9e20
add esp, 0x10
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x3c]
push 1
push dword [esp + 0x2c]
push dword [ebp + 0x6c]
push dword [ebp + 0x68]
call fcn.005eaa00
add esp, 0x10
cmp ebx, 1
jbe 0x5e69b0
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x14], edx
shl edx, 6
mov dword [ebp + 0x70], edx
mov dword [esp], edx
je 0x5e6840
cmp edx, 0x1fffffff
ja 0x5e6a82
mov esi, dword [esp + 0x14]
shl esi, 8
js 0x5e6a82
mov ecx, 8
mov edx, esi
call fcn.0071ee80
mov edx, dword [esp]
mov ebx, eax
test eax, eax
jne 0x5e6845
mov ecx, 4
mov edx, esi
call fcn.007c1490
mov ebp, 4
cmp dword [esi + 0x5c], 0
jne 0x5e5d6e
jmp 0x5e5d7f
mov ebx, 4
mov eax, dword [ebp + 0x48]
mov dword [ebp + 0x48], ebx
cmp dword [ebp + 0x4c], 0
mov dword [ebp + 0x4c], edx
je 0x5e6866
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [esp]
cmp dword [esp + 0x14], 0
je 0x5e69b0
mov eax, dword [esp + 0x178]
mov ecx, ebx
xor esi, esi
xor edi, edi
xor ebp, ebp
mov dword [esp + 8], ebx
neg eax
nop word cs:[eax + eax]
mov dword [esp + 0x18], ecx
cmp edi, edx
mov ecx, edx
mov dword [esp + 0x1c], esi
mov dword [esp + 4], ebp
mov ebp, edi
mov dword [esp + 0xc], edi
cmova ecx, edi
mov ebp, dword [esp + 4]
add ecx, esi
mov esi, dword [esp + 0x178]
mov edi, ebp
cmp esi, ecx
cmovb ecx, esi
mov esi, 0x3f
cmp ecx, 0x3f
cmovae ecx, esi
shl edi, 6
mov esi, edx
sub esi, edi
mov edi, 0
cmovb esi, edi
mov edi, dword [esp + 0x178]
cmp edi, esi
cmovb esi, edi
mov edi, 0x3f
cmp esi, 0x3f
cmovae esi, edi
mov edi, ebp
mov ebp, 0
imul edi, dword [esp + 0x170]
cmp esi, 4
jb 0x5e694c
inc esi
mov edx, 4
movd xmm0, edi
mov ebx, esi
mov ebp, esi
pshufd xmm0, xmm0, 0
and ebx, 3
cmove ebx, edx
mov edx, dword [esp + 0x174]
xor esi, esi
sub ecx, ebx
sub ebp, ebx
mov ebx, dword [esp + 0x18]
inc ecx
nop dword [eax]
movdqu xmm1, xmmword [edx + esi*4]
paddd xmm1, xmm0
movdqu xmmword [ebx + esi*4], xmm1
add esi, 4
cmp ecx, esi
jne 0x5e6930
mov edx, dword [esp]
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
inc dword [esp + 4]
add ecx, ebp
add ebp, 0xffffffc0
nop dword [eax]
lea esi, [eax + ebp]
cmp esi, 0xffffffc0
je 0x5e69e4
cmp ecx, edx
jae 0x5e69f7
mov edx, dword [esp + 0x174]
mov esi, dword [edx + ebp*4 + 0x100]
mov edx, dword [esp]
add esi, edi
mov dword [ebx + ecx*4], esi
inc ecx
inc ebp
jne 0x5e6960
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 4]
add edi, 0x40
add esi, 0xffffffc0
add ecx, 0x100
cmp ebp, dword [esp + 0x14]
jne 0x5e6890
add esp, 0x148
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x9260bc
call fcn.007c1be0
mov ecx, edx
mov edx, dword [esp + 0x178]
push 0x9260cc
call fcn.007c1be0
mov edx, eax
push 0x925eac
call fcn.007c1be0
mov ecx, dword [esp + 0x178]
mov edx, ecx
push 0x925d00
call fcn.007c1be0
push 0x925d10
call fcn.007c1be0
mov edx, eax
push 0x925d40
call fcn.007c1be0
mov edx, ecx
push 0x9260dc
call fcn.007c1be0
mov ecx, dword [esp + 0x180]
mov edx, ecx
push 0x92608c
call fcn.007c1be0
mov ecx, eax
push 0x925d40
call fcn.007c1be0
mov edx, 0x2c0
push 0x9257b4
call fcn.007c1be0
push 0x92609c
call fcn.007c1be0
mov ecx, eax
push 0x9260ac
call fcn.007c1be0
mov ecx, edi
mov edx, 0x220
push 0x9257b4
call fcn.007c1be0
mov ecx, str.attempt_to_divide_by_zero
mov edx, 0x19
push 0x925e9c
call fcn.007c1ca0
call fcn.00418cb0
mov ecx, 1
mov edx, ebp
call fcn.007c1490
mov edx, dword [esp + 8]
mov ecx, 4
call fcn.007c1490
mov ecx, str.assertion_failed:_num_contexts___BROTLI_MAX_STATIC_CONTEXTS
mov edx, 0x3c
push 0x925e8c
call fcn.007c1ca0
mov ecx, ebx
mov edx, edi
push 0x9257a4
call fcn.007c1c40
mov edx, dword [esp + 0xc]
mov ecx, 4
call fcn.007c1490
nop dword [eax]
adc ecx, dword [0xdae0000]
add byte [eax], al
xchg edi, eax
or eax, 0xdb50000
add byte [eax], al
int3