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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x80
mov dword [esp + 0xc], edx
mov edx, dword [edx + 0x128]
call 0x44b7de
pop eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x68], eax
test edx, edx
mov eax, edx
mov dword [esp + 8], edx
je 0x44b917
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x28]
mov ecx, dword [esi]
mov edx, dword [esi + 4]
test eax, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x6c], edx
je 0x44bcec
mov eax, dword [esp + 0xc]
mov edi, dword [esi + 8]
mov ebx, dword [esi + 0xc]
mov esi, dword [eax + 0x38]
mov eax, dword [eax + 0x3c]
mov dword [esp + 4], eax
push eax
mov dword [esp + 4], esi
push esi
mov dword [esp + 0x2c], ebx
push ebx
mov dword [esp + 0x34], edi
push edi
call fcn.00462b90
add esp, 0x10
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x14]
mov ebx, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x1c], ebx
mov edx, ecx
mov dword [esp + 0x18], ecx
and edx, eax
shr eax, 0x19
movd xmm0, eax
movdqu xmm1, xmmword [ebx + edx]
mov eax, dword [esi + 0x18]
mov esi, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmm2, xmm0
mov dword [esp + 0x10], eax
xor eax, eax
pcmpeqb xmm2, xmm1
pmovmskb edi, xmm2
pcmpeqd xmm2, xmm2
test di, di
jne 0x44b8ce
nop word cs:[eax + eax]
pcmpeqb xmm1, xmm2
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x44bd0e
lea edx, [eax + edx + 0x10]
movdqa xmm3, xmm0
add eax, 0x10
and edx, esi
movdqu xmm1, xmmword [ebx + edx]
pcmpeqb xmm3, xmm1
pmovmskb edi, xmm3
test edi, edi
je 0x44b8a0
tzcnt ecx, edi
add ecx, edx
and ecx, esi
mov esi, ebx
shl ecx, 2
sub esi, ecx
mov ecx, dword [esi - 4]
cmp dword [esp + 0x10], ecx
jbe 0x44bf9d
mov ebx, dword [esp + 0x14]
lea esi, [edi - 1]
imul ecx, ecx, 0x38
and esi, edi
mov edi, dword [ebx + ecx + 0x2c]
mov ecx, dword [ebx + ecx + 0x28]
mov ebx, dword [esp + 0x1c]
xor edi, dword [esp + 4]
xor ecx, dword [esp]
or ecx, edi
mov edi, esi
mov esi, dword [esp + 0x18]
jne 0x44b891
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x11c]
test eax, eax
mov dword [esp + 0x10], eax
je 0x44ba99
mov eax, dword [ebp + 8]
cmp dword [eax + 0x28], 0
je 0x44ba42
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 0x38]
mov eax, dword [eax + 0x3c]
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
mov dword [esp + 0x1c], eax
push eax
mov dword [esp + 0xc], esi
push esi
push dword [ebx + 0xc]
push dword [ebx + 8]
call fcn.00462b90
add esp, 0x10
mov esi, dword [ebx + 0x20]
mov edi, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x14]
mov dword [esp], esi
and esi, eax
shr eax, 0x19
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edi
movd xmm0, eax
movdqu xmm1, xmmword [edi + esi]
mov eax, dword [ebx + 0x18]
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmm2, xmm0
mov dword [esp + 4], eax
xor eax, eax
pcmpeqb xmm2, xmm1
pmovmskb edx, xmm2
pcmpeqd xmm2, xmm2
test dx, dx
je 0x44b9c0
mov ebx, dword [esp]
jmp 0x44b9fa
mov ebx, dword [esp]
nop word cs:[eax + eax]
nop dword [eax]
pcmpeqb xmm1, xmm2
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x44ba42
lea esi, [eax + esi + 0x10]
movdqa xmm3, xmm0
add eax, 0x10
and esi, ebx
movdqu xmm1, xmmword [edi + esi]
pcmpeqb xmm3, xmm1
pmovmskb edx, xmm3
test edx, edx
je 0x44b9d0
tzcnt ecx, edx
add ecx, esi
and ecx, ebx
mov ebx, edi
shl ecx, 2
sub ebx, ecx
mov ecx, dword [ebx - 4]
cmp dword [esp + 4], ecx
jbe 0x44bfab
mov edi, dword [esp + 0x18]
lea ebx, [edx - 1]
imul ecx, ecx, 0x38
and ebx, edx
mov edx, dword [edi + ecx + 0x2c]
mov ecx, dword [edi + ecx + 0x28]
mov edi, dword [esp + 0x14]
xor edx, dword [esp + 0x1c]
xor ecx, dword [esp + 8]
or ecx, edx
mov edx, ebx
jne 0x44b9ad
jmp 0x44ba99
mov esi, dword [esp + 0xc]
lea ecx, [esp + 0x2c]
mov edx, dword [esi + 0x80]
push dword [esp + 0x10]
push dword [esi + 0x118]
call 0x44bff0
add esp, 8
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
shl edx, 4
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
lea eax, [esp + 0x38]
add edx, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x44], edx
mov edx, esi
push dword [ebp + 8]
push eax
call 0x44c4a0
add esp, 8
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x134]
test eax, eax
mov dword [esp + 0x10], eax
je 0x44bf5a
mov eax, dword [ebp + 8]
cmp dword [eax + 0x28], 0
je 0x44bf5a
mov esi, dword [ebp + 8]
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0x38]
mov eax, dword [eax + 0x3c]
mov edx, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x18], eax
push eax
mov dword [esp + 0x20], edi
push edi
push dword [esi + 0xc]
push dword [esi + 8]
call fcn.00462b90
add esp, 0x10
mov ebx, dword [esi + 0x20]
mov edi, dword [esi + 0x1c]
mov ecx, dword [esi + 0x14]
mov dword [esp], ebx
and ebx, eax
shr eax, 0x19
mov dword [esp + 4], ecx
mov dword [esp + 0x14], edi
movd xmm0, eax
movdqu xmm1, xmmword [edi + ebx]
mov eax, dword [esi + 0x18]
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmm2, xmm0
mov dword [esp + 8], eax
xor eax, eax
pcmpeqb xmm2, xmm1
pmovmskb edx, xmm2
pcmpeqd xmm2, xmm2
test dx, dx
je 0x44bb40
mov esi, dword [esp]
jmp 0x44bb7e
mov esi, dword [esp]
nop word cs:[eax + eax]
nop dword [eax]
pcmpeqb xmm1, xmm2
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x44bf5a
lea ebx, [eax + ebx + 0x10]
movdqa xmm3, xmm0
add eax, 0x10
and ebx, esi
movdqu xmm1, xmmword [edi + ebx]
pcmpeqb xmm3, xmm1
pmovmskb edx, xmm3
test edx, edx
je 0x44bb50
tzcnt ecx, edx
add ecx, ebx
and ecx, esi
shl ecx, 2
sub edi, ecx
mov ecx, dword [edi - 4]
cmp dword [esp + 8], ecx
jbe 0x44bfb9
mov esi, dword [esp + 4]
lea edi, [edx - 1]
imul ecx, ecx, 0x38
and edi, edx
mov edx, dword [esi + ecx + 0x2c]
mov esi, dword [esi + ecx + 0x28]
xor edx, dword [esp + 0x18]
xor esi, dword [esp + 0x1c]
or esi, edx
mov edx, edi
mov edi, dword [esp + 0x14]
jne 0x44bb2f
mov eax, dword [esp + 4]
mov eax, dword [eax + ecx + 0x1c]
test eax, eax
je 0x44bc90
mov edx, dword [esp + 4]
xor esi, esi
cmp eax, 8
mov ecx, dword [edx + ecx + 0x18]
mov edx, 0
jb 0x44bc6d
mov edx, eax
lea esi, [ecx + 0x5c]
pxor xmm0, xmm0
pxor xmm1, xmm1
and edx, 0xfffffff8
mov edi, edx
nop dword [eax]
movd xmm2, dword [esi - 0x30]
movd xmm3, dword [esi - 0x3c]
movd xmm4, dword [esi - 0x54]
movd xmm6, dword [esi - 0xc]
movd xmm5, dword [esi - 0x18]
punpckldq xmm3, xmm2
movd xmm2, dword [esi - 0x48]
punpckldq xmm4, xmm2
movd xmm2, dword [esi]
punpcklqdq xmm4, xmm3
paddd xmm0, xmm4
movd xmm4, dword [esi - 0x24]
add esi, 0x60
add edi, 0xfffffff8
punpckldq xmm6, xmm2
punpckldq xmm4, xmm5
punpcklqdq xmm4, xmm6
paddd xmm1, xmm4
jne 0x44bc00
paddd xmm1, xmm0
cmp eax, edx
pshufd xmm0, xmm1, 0xee
paddd xmm0, xmm1
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
movd esi, xmm1
je 0x44bc88
sub eax, edx
lea edx, [edx + edx*2]
lea ecx, [ecx + edx*4 + 8]
nop word cs:[eax + eax]
add esi, dword [ecx]
add ecx, 0xc
dec eax
jne 0x44bc80
test esi, esi
jne 0x44bf5a
mov esi, dword [esp + 0xc]
lea ecx, [esp + 0x2c]
mov edx, dword [esi + 0x80]
push dword [esp + 0x10]
push dword [esi + 0x130]
call 0x44bff0
add esp, 8
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
shl edx, 4
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
lea eax, [esp + 0x38]
add edx, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x44], edx
mov edx, esi
push dword [ebp + 8]
push eax
call 0x44c4a0
add esp, 8
jmp 0x44bf5a
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0x14]
mov ebx, dword [esi + 0x1c]
mov dword [esp + 0x24], ecx
mov ecx, dword [esi + 0x18]
mov esi, dword [esi + 0x20]
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], esi
mov ecx, dword [eax + 0x124]
mov eax, dword [esp + 8]
lea eax, [eax + eax*2]
lea eax, [ecx + eax*8]
mov dword [esp + 0x74], eax
jmp 0x44bd40
mov ecx, dword [esp]
add ecx, 0x18
cmp ecx, dword [esp + 0x74]
je 0x44b917
cmp dword [esp + 0x78], 0
mov dword [esp], ecx
je 0x44bd30
mov eax, dword [esp]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 8], eax
push eax
mov dword [esp + 8], edi
push edi
push dword [esp + 0x2c]
push dword [esp + 0x34]
call fcn.00462b90
pcmpeqd xmm3, xmm3
add esp, 0x10
mov edx, esi
and edx, eax
shr eax, 0x19
movd xmm0, eax
movdqu xmm1, xmmword [ebx + edx]
xor eax, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmm2, xmm0
pcmpeqb xmm2, xmm1
pmovmskb edi, xmm2
test di, di
jne 0x44bdde
nop dword [eax]
pcmpeqb xmm1, xmm3
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x44bd30
lea edx, [eax + edx + 0x10]
movdqa xmm2, xmm0
add eax, 0x10
and edx, esi
movdqu xmm1, xmmword [ebx + edx]
pcmpeqb xmm2, xmm1
pmovmskb edi, xmm2
test edi, edi
je 0x44bdb0
tzcnt ecx, edi
add ecx, edx
and ecx, esi
mov esi, ebx
shl ecx, 2
sub esi, ecx
mov ecx, dword [esi - 4]
cmp dword [esp + 0x10], ecx
jbe 0x44bf9d
mov ebx, dword [esp + 0x14]
lea esi, [edi - 1]
imul ecx, ecx, 0x38
and esi, edi
mov edi, dword [ebx + ecx + 0x2c]
mov ebx, dword [ebx + ecx + 0x28]
xor edi, dword [esp + 8]
xor ebx, dword [esp + 4]
or ebx, edi
mov edi, esi
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
jne 0x44bda4
mov edx, dword [esp]
mov eax, dword [edx + 8]
test eax, eax
mov dword [esp + 4], eax
je 0x44becc
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov eax, dword [eax + ecx + 0x1c]
test eax, eax
je 0x44bd30
mov edx, dword [esp + 0x14]
lea eax, [eax + eax*2]
mov ecx, dword [edx + ecx + 0x18]
lea eax, [ecx + eax*4]
mov dword [esp + 0x64], eax
jmp 0x44be86
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
cmp ecx, dword [esp + 0x64]
je 0x44bd30
mov ebx, dword [ecx + 8]
mov edi, dword [ecx + 4]
mov edx, dword [esp]
mov eax, ecx
lea eax, [ecx + 0xc]
mov dword [esp + 8], eax
lea esi, [edi + 4]
shl ebx, 4
jmp 0x44bea9
add edi, 0x10
add esi, 0x10
add ebx, 0xfffffff0
test ebx, ebx
je 0x44be70
mov eax, dword [edi + 8]
cmp dword [edx + 0xc], eax
jne 0x44bea0
push eax
push dword [esi]
push dword [esp + 0xc]
call sub.msvcrt.dll_memcmp
mov edx, dword [esp + 0xc]
add esp, 0xc
test eax, eax
jne 0x44bea0
mov eax, edx
mov edx, dword [edx + 0x10]
test edx, edx
je 0x44bf5a
lea ecx, [esp + 0x38]
push dword [eax + 0x14]
call fcn.0047f8e0
add esp, 4
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
movzx eax, byte [ebp + 0xc]
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x38]
push eax
push 0
push 0
push dword [ebp + 8]
push dword [esp + 0x50]
push esi
push dword [esp + 0x24]
call fcn.0044b100
add esp, 0x1c
mov eax, dword [esp + 0x38]
cmp eax, 7
ja 0x44bf44
mov ecx, dword [esp + 0x68]
add ecx, dword [eax*4 + 0x44bfc8]
jmp ecx
test edi, 0x7fffffff
je 0x44bf5a
push esi
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esp + 0x10]
push 0x585d84
call fcn.00469a50
mov edx, dword [esp + 4]
push 0x585d84
call fcn.00469a50
mov edx, dword [esp + 8]
push 0x585d84
call fcn.00469a50
nop
dec ebp
pop es
add byte [eax], al
pop es
add byte [eax], al
pop es
add byte [eax], al
pop es
add byte [eax], al
test byte [edi], al
add byte [eax], al
pop es
add byte [eax], al
dec ebp
pop es
add byte [eax], al
dec ebp
pop es
add byte [eax], al
nop dword [eax + eax]
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x58
mov edi, dword [ebp + 0xc]
cmp edx, 0x110000
mov dword [ebp - 0x3c], ecx
jne 0x44c11a
test edi, edi
je 0x44c427
cmp edi, 0x7ffffff
ja 0x44c480
shl edi, 4
js 0x44c480
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x44c04a
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44c491
mov dword [0x5970d8], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x44c491
mov ebx, dword [ebp + 0xc]
mov esi, 4
mov ecx, eax
mov dword [ebp - 0x14], eax
jmp 0x44c0c2
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, dword [ebp - 0x10]
mov ebx, eax
test eax, eax
je 0x44c474
push edi
push ecx
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x14]
mov dword [edx + esi*2 - 8], edi
mov dword [edx + esi*2 - 4], ebx
mov dword [edx + esi*2], edi
mov byte [edx + esi*2 + 4], 0
mov ebx, dword [ebp - 0x18]
movzx eax, word [ebp - 0x38]
mov word [edx + esi*2 + 5], ax
movzx eax, byte [ebp - 0x36]
mov byte [edx + esi*2 + 7], al
add esi, 8
dec ebx
je 0x44c420
mov eax, dword [ebp + 8]
mov dword [ebp - 0x18], ebx
mov edi, dword [eax + esi]
mov ecx, dword [eax + esi - 4]
test edi, edi
je 0x44c110
js 0x44c480
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
mov dword [ebp - 0x10], ecx
test eax, eax
jne 0x44c070
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44c474
mov dword [0x5970d8], eax
jmp 0x44c070
mov ebx, 1
jmp 0x44c086
mov eax, edx
mov ecx, edx
lea edi, [edx*4]
mov ebx, edx
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 4
mov dword [ebp - 0x20], 0
shr eax, 0x12
shr ecx, 4
and edi, 0x3f00
shr ebx, 6
and eax, 7
and ecx, 0x3f00
or ecx, eax
mov eax, edx
shl eax, 0xa
and eax, 0x3f0000
or eax, ecx
mov ecx, edx
shr ecx, 0xc
or edi, ecx
mov ecx, edx
and ecx, 0x3f
mov esi, ecx
shl esi, 0x10
or esi, edi
mov edi, ecx
shl ecx, 8
or ecx, ebx
shl edi, 0x18
or esi, 0x8080e0
mov ebx, dword [ebp + 8]
lea edi, [edi + eax - 0x7f7f7f10]
or ecx, 0x80c0
cmp edx, 0x80
mov eax, 2
cmovb ecx, edx
sbb eax, 0
cmp edx, 0x10000
cmovb edi, esi
mov esi, 4
sbb esi, 0
cmp edx, 0x800
mov edx, dword [ebp + 0xc]
cmovb edi, ecx
mov ecx, esi
cmovb ecx, eax
mov eax, ebx
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x1c], ecx
lea edx, [ebx + edx*8]
mov dword [ebp - 0x44], edx
jmp 0x44c1f9
test dword [ebp - 0x50], 0x7fffffff
mov eax, dword [ebp - 0x40]
jne 0x44c3f0
cmp eax, dword [ebp - 0x44]
je 0x44c40c
mov edx, dword [eax]
lea ecx, [eax + 8]
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x38]
push dword [eax + 4]
call fcn.0047f8e0
mov ecx, dword [ebp - 0x1c]
add esp, 4
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
mov edi, dword [ebp - 0x30]
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x4c], edx
jmp 0x44c277
mov ecx, dword [ebp - 0x24]
mov eax, edx
inc edx
shl eax, 4
mov dword [ecx + eax], ebx
mov dword [ecx + eax + 4], esi
mov esi, dword [ebp - 0x10]
mov ebx, edi
mov dword [ecx + eax + 8], esi
mov esi, dword [ebp - 0x54]
mov byte [ecx + eax + 0xc], bl
mov ebx, esi
mov word [ecx + eax + 0xd], si
shr ebx, 0x10
mov byte [ecx + eax + 0xf], bl
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
test edx, edx
je 0x44c1e0
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x14]
mov eax, edx
sub eax, ecx
jae 0x44c320
mov esi, edx
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x64], 0
xor edi, edi
lea ecx, [ebp - 0x38]
push esi
call fcn.0047f6d0
add esp, 4
mov ebx, dword [ebp - 0x38]
cmp ebx, 0x80000001
je 0x44c44d
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
cmp ebx, 0x80000000
mov dword [ebp - 0x10], edi
jne 0x44c3a0
test edi, edi
je 0x44c3bb
js 0x44c480
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
mov ebx, ecx
test eax, eax
jne 0x44c302
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44c474
mov dword [0x5970d8], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov esi, eax
test eax, eax
mov ecx, ebx
jne 0x44c3c0
jmp 0x44c474
xor edi, edi
xor ebx, ebx
mov dword [ebp - 0x18], eax
nop word [eax + eax]
mov eax, edi
mov edi, dword [ebp - 0x18]
test al, 1
jne 0x44c28f
mov esi, ebx
cmp ebx, edi
ja 0x44c28f
mov eax, edx
sub eax, esi
jb 0x44c441
cmp esi, edi
setae bl
mov edi, ebx
mov ebx, esi
adc ebx, 0
cmp eax, ecx
jb 0x44c330
mov eax, dword [ebp - 0x10]
add eax, esi
push ecx
push eax
lea eax, [ebp - 0x5c]
push eax
call sub.msvcrt.dll_memcmp
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
add esp, 0xc
test eax, eax
jne 0x44c330
lea edi, [esi + ecx]
mov eax, edx
sub eax, edi
jb 0x44c485
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
add edi, edx
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x60], eax
jmp 0x44c29d
mov eax, dword [ebp - 0x2c]
mov esi, ecx
mov edi, eax
shr eax, 8
mov dword [ebp - 0x54], eax
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x28]
jne 0x44c240
jmp 0x44c3db
mov esi, 1
push edi
push ecx
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ebx, edi
xor edi, edi
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x28]
jne 0x44c240
lea ecx, [ebp - 0x28]
call fcn.004373d0
mov edx, dword [ebp - 0x20]
jmp 0x44c240
push dword [ebp - 0x4c]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x44]
jne 0x44c1f9
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x3c]
movsd xmm0, qword [ebp - 0x28]
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
jmp 0x44c439
mov edi, dword [ebp + 0xc]
mov eax, edi
jmp 0x44c42e
xor eax, eax
mov edx, 4
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], edi
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
add esp, 0x58
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, esi
push 0x580130
call fcn.004699f0
movsd xmm0, qword [ebp - 0x34]
mov ecx, str.invalid_raw_bytesbyte_index__is_not_a_valid_boundary__it_is_inside_U__bytes
mov edx, 0x11
movsd qword [ebp - 0x38], xmm0
push 0x575630
push 0x5753f4
lea eax, [ebp - 0x38]
push eax
call fcn.0046f150
mov ecx, 1
mov edx, edi
call fcn.00429f40
call fcn.00429f00
mov ecx, edi
push 0x57692c
call fcn.004699f0
mov ecx, 4
mov edx, edi
call fcn.00429f40
nop dword [eax]
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x24
mov esi, ecx
mov ecx, dword [ebp + 0xc]
mov ebx, dword [edx + 0x38]
mov edi, dword [edx + 0x3c]
mov dword [ebp - 0x20], edx
mov edx, ebx
push edi
call fcn.0045fcb0
add esp, 4
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x1c], esi
mov ecx, dword [eax + 0x138]
test ecx, ecx
je 0x44c53c
mov edx, dword [eax + 0x134]
imul eax, ecx, 0x38
mov ecx, edx
add eax, edx
mov dword [ebp - 0x18], eax
jmp 0x44c4f8
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x18]
je 0x44c53c
lea eax, [ecx + 0x38]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ecx + 0x18]
mov dword [ebp - 0x10], eax
shl ecx, 3
nop word [eax + eax]
test ecx, ecx
je 0x44c4f0
mov esi, dword [edx]
mov eax, dword [edx + 4]
add ecx, 0xfffffff8
add edx, 8
xor esi, ebx
xor eax, edi
or eax, esi
jne 0x44c510
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0xc]
mov edx, dword [eax]
push dword [eax + 4]
call fcn.0045fcb0
add esp, 4
jmp 0x44c4f0
mov ecx, dword [ebp + 8]
mov ebx, dword [ecx + 8]
mov edi, dword [ecx + 0xc]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
cmp ebx, edi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], edx
je 0x44c5a7
add ebx, 0x10
nop word [eax + eax]
mov eax, dword [ebx - 0x10]
cmp eax, 0x80000000
je 0x44c5a7
lea esi, [ebx - 0x10]
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x2c]
mov edx, dword [ebp - 0x20]
mov eax, dword [esi + 0xc]
mov dword [ecx + 8], eax
movsd xmm0, qword [esi + 4]
movsd qword [ecx], xmm0
mov ecx, dword [ebp - 0x1c]
push 1
push 0
push dword [ebp + 0xc]
lea eax, [ebp - 0x30]
push eax
call fcn.0044c600
add esp, 0x10
add esi, 0x10
add ebx, 0x10
cmp esi, edi
jne 0x44c560
jmp 0x44c5dd
sub edi, ebx
je 0x44c5dd
shr edi, 4
add ebx, 4
jmp 0x44c5c6
add ebx, 0x10
dec edi
je 0x44c5dd
cmp dword [ebx - 4], 0
je 0x44c5c0
push dword [ebx]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x44c5c0
cmp dword [ebp - 0x10], 0
je 0x44c5f3
push dword [ebp - 0x14]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
add esp, 0x24
pop esi
pop edi
pop ebx
pop ebp
ret