Function at 0x44b760
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 0x44b77e
pop eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x68], eax
test edx, edx
mov eax, edx
mov dword [esp + 8], edx
je 0x44b8b7
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 0x44bc8c
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.00462b80
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 0x44b86e
nop word cs:[eax + eax]
pcmpeqb xmm1, xmm2
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x44bcae
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 0x44b840
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 0x44bf3d
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 0x44b831
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x11c]
test eax, eax
mov dword [esp + 0x10], eax
je 0x44ba39
mov eax, dword [ebp + 8]
cmp dword [eax + 0x28], 0
je 0x44b9e2
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.00462b80
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 0x44b960
mov ebx, dword [esp]
jmp 0x44b99a
mov ebx, dword [esp]
nop word cs:[eax + eax]
nop dword [eax]
pcmpeqb xmm1, xmm2
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x44b9e2
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 0x44b970
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 0x44bf4b
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 0x44b94d
jmp 0x44ba39
mov esi, dword [esp + 0xc]
lea ecx, [esp + 0x2c]
mov edx, dword [esi + 0x80]
push dword [esp + 0x10]
push dword [esi + 0x118]
call 0x44bf90
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 0x44c440
add esp, 8
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x134]
test eax, eax
mov dword [esp + 0x10], eax
je 0x44befa
mov eax, dword [ebp + 8]
cmp dword [eax + 0x28], 0
je 0x44befa
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.00462b80
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 0x44bae0
mov esi, dword [esp]
jmp 0x44bb1e
mov esi, dword [esp]
nop word cs:[eax + eax]
nop dword [eax]
pcmpeqb xmm1, xmm2
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x44befa
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 0x44baf0
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 0x44bf59
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 0x44bacf
mov eax, dword [esp + 4]
mov eax, dword [eax + ecx + 0x1c]
test eax, eax
je 0x44bc30
mov edx, dword [esp + 4]
xor esi, esi
cmp eax, 8
mov ecx, dword [edx + ecx + 0x18]
mov edx, 0
jb 0x44bc0d
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 0x44bba0
paddd xmm1, xmm0
cmp eax, edx
pshufd xmm0, xmm1, 0xee
paddd xmm0, xmm1
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
movd esi, xmm1
je 0x44bc28
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 0x44bc20
test esi, esi
jne 0x44befa
mov esi, dword [esp + 0xc]
lea ecx, [esp + 0x2c]
mov edx, dword [esi + 0x80]
push dword [esp + 0x10]
push dword [esi + 0x130]
call 0x44bf90
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 0x44c440
add esp, 8
jmp 0x44befa
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 0x44bce0
mov ecx, dword [esp]
add ecx, 0x18
cmp ecx, dword [esp + 0x74]
je 0x44b8b7
cmp dword [esp + 0x78], 0
mov dword [esp], ecx
je 0x44bcd0
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.00462b80
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 0x44bd7e
nop dword [eax]
pcmpeqb xmm1, xmm3
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x44bcd0
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 0x44bd50
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 0x44bf3d
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 0x44bd44
mov edx, dword [esp]
mov eax, dword [edx + 8]
test eax, eax
mov dword [esp + 4], eax
je 0x44be6c
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 0x44bcd0
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 0x44be26
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
cmp ecx, dword [esp + 0x64]
je 0x44bcd0
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 0x44be49
add edi, 0x10
add esi, 0x10
add ebx, 0xfffffff0
test ebx, ebx
je 0x44be10
mov eax, dword [edi + 8]
cmp dword [edx + 0xc], eax
jne 0x44be40
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 0x44be40
mov eax, edx
mov edx, dword [edx + 0x10]
test edx, edx
je 0x44befa
lea ecx, [esp + 0x38]
push dword [eax + 0x14]
call fcn.0047fcd0
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.0044b0a0
add esp, 0x1c
mov eax, dword [esp + 0x38]
cmp eax, 7
ja 0x44bee4
mov ecx, dword [esp + 0x68]
add ecx, dword [eax*4 + 0x44bf68]
jmp ecx
test edi, 0x7fffffff
je 0x44befa
push esi
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esp + 0x10]
push 0x581154
call fcn.004699c0
mov edx, dword [esp + 4]
push 0x581154
call fcn.004699c0
mov edx, dword [esp + 8]
push 0x581154
call fcn.004699c0
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 0x44c0ba
test edi, edi
je 0x44c3c7
cmp edi, 0x7ffffff
ja 0x44c420
shl edi, 4
js 0x44c420
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x44bfea
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44c431
mov dword [0x5920d8], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x44c431
mov ebx, dword [ebp + 0xc]
mov esi, 4
mov ecx, eax
mov dword [ebp - 0x14], eax
jmp 0x44c062
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, dword [ebp - 0x10]
mov ebx, eax
test eax, eax
je 0x44c414
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 0x44c3c0
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 0x44c0b0
js 0x44c420
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
mov dword [ebp - 0x10], ecx
test eax, eax
jne 0x44c010
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44c414
mov dword [0x5920d8], eax
jmp 0x44c010
mov ebx, 1
jmp 0x44c026
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 0x44c199
test dword [ebp - 0x50], 0x7fffffff
mov eax, dword [ebp - 0x40]
jne 0x44c390
cmp eax, dword [ebp - 0x44]
je 0x44c3ac
mov edx, dword [eax]
lea ecx, [eax + 8]
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x38]
push dword [eax + 4]
call fcn.0047fcd0
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 0x44c217
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 0x44c180
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x14]
mov eax, edx
sub eax, ecx
jae 0x44c2c0
mov esi, edx
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x64], 0
xor edi, edi
lea ecx, [ebp - 0x38]
push esi
call fcn.0047fac0
add esp, 4
mov ebx, dword [ebp - 0x38]
cmp ebx, 0x80000001
je 0x44c3ed
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
cmp ebx, 0x80000000
mov dword [ebp - 0x10], edi
jne 0x44c340
test edi, edi
je 0x44c35b
js 0x44c420
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
mov ebx, ecx
test eax, eax
jne 0x44c2a2
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44c414
mov dword [0x5920d8], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov esi, eax
test eax, eax
mov ecx, ebx
jne 0x44c360
jmp 0x44c414
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 0x44c22f
mov esi, ebx
cmp ebx, edi
ja 0x44c22f
mov eax, edx
sub eax, esi
jb 0x44c3e1
cmp esi, edi
setae bl
mov edi, ebx
mov ebx, esi
adc ebx, 0
cmp eax, ecx
jb 0x44c2d0
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 0x44c2d0
lea edi, [esi + ecx]
mov eax, edx
sub eax, edi
jb 0x44c425
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
add edi, edx
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x60], eax
jmp 0x44c23d
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 0x44c1e0
jmp 0x44c37b
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 0x44c1e0
lea ecx, [ebp - 0x28]
call fcn.004373f0
mov edx, dword [ebp - 0x20]
jmp 0x44c1e0
push dword [ebp - 0x4c]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x44]
jne 0x44c199
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 0x44c3d9
mov edi, dword [ebp + 0xc]
mov eax, edi
jmp 0x44c3ce
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 0x57b0b8
call fcn.00469960
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 0x5705ac
push 0x570370
lea eax, [ebp - 0x38]
push eax
call fcn.0046f0c0
mov ecx, 1
mov edx, edi
call fcn.00429f60
call fcn.00429f20
mov ecx, edi
push 0x5718a4
call fcn.00469960
mov ecx, 4
mov edx, edi
call fcn.00429f60
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.0045fca0
add esp, 4
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x1c], esi
mov ecx, dword [eax + 0x138]
test ecx, ecx
je 0x44c4dc
mov edx, dword [eax + 0x134]
imul eax, ecx, 0x38
mov ecx, edx
add eax, edx
mov dword [ebp - 0x18], eax
jmp 0x44c498
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x18]
je 0x44c4dc
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 0x44c490
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 0x44c4b0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0xc]
mov edx, dword [eax]
push dword [eax + 4]
call fcn.0045fca0
add esp, 4
jmp 0x44c490
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 0x44c547
add ebx, 0x10
nop word [eax + eax]
mov eax, dword [ebx - 0x10]
cmp eax, 0x80000000
je 0x44c547
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.0044c5a0
add esp, 0x10
add esi, 0x10
add ebx, 0x10
cmp esi, edi
jne 0x44c500
jmp 0x44c57d
sub edi, ebx
je 0x44c57d
shr edi, 4
add ebx, 4
jmp 0x44c566
add ebx, 0x10
dec edi
je 0x44c57d
cmp dword [ebx - 4], 0
je 0x44c560
push dword [ebx]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x44c560
cmp dword [ebp - 0x10], 0
je 0x44c593
push dword [ebp - 0x14]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
add esp, 0x24
pop esi
pop edi
pop ebx
pop ebp
ret