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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x1ec
mov esi, edx
mov edx, dword [edx + 4]
mov eax, dword [esi + 8]
mov ebx, edx
mov ebp, dword [eax]
mov dword [esp + 0xa4], eax
sub ebx, ebp
jb 0x44f484
mov dword [esp + 0x90], ecx
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
mov dword [esp + 0xa0], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x94], eax
imul ecx, dword [eax]
test ecx, ecx
je 0x44f495
mov eax, dword [esp + 0x200]
xor edx, edx
add ebp, dword [esi]
mov dword [esp + 0x98], eax
mov eax, ebx
div ecx
mov edi, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov dword [esp + 0x50], 0
mov dword [esp + 0x10], ecx
sub ebx, edx
mov edx, dword [esi + 0x20]
mov dword [esp + 0x9c], edi
mov edi, dword [esi + 0x1c]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb0], edx
mov edx, dword [esi + 0x24]
mov dword [esp + 0xac], edi
mov dword [esp + 0xa8], edx
mov eax, dword [esp + 0x98]
mov edi, dword [esp + 0x50]
sub eax, 1
jb 0x44f340
sub ebx, ecx
jb 0x44f340
mov dword [esp + 0x98], eax
lea eax, [ebp + ecx]
mov dword [esp + 0xbc], ebx
mov dword [esp], ebp
mov dword [esp + 0xb8], eax
lea eax, [edi + 1]
mov dword [esp + 0x50], eax
mov eax, str.assertion_failed:_mid___self.len__chunk_size_must_be_non_zero
mov dword [esp + 0x24], eax
and dword [esp + 0x28], 0
mov dword [esp + 0x2c], eax
and dword [esp + 0x30], 0
mov dword [esp + 0x34], eax
and dword [esp + 0x38], 0
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
and dword [esp + 0x40], 0
mov ebx, dword [eax]
cmp ebx, 4
push 4
pop eax
cmovae ebx, eax
xor ebp, ebp
cmp ebx, ebp
je 0x44e468
mov eax, dword [esp + 0x9c]
lea esi, [ebp + 1]
mov edx, dword [eax]
mov ecx, edx
imul edx, dword [esp + 0x50]
imul ecx, edi
push 0x5a35e8
mov eax, dword [esp + 0x208]
push dword [eax + ebp*8 + 4]
push dword [eax + ebp*8]
call fcn.0044f4df
add esp, 0xc
mov dword [esp + ebp*8 + 0x24], eax
mov dword [esp + ebp*8 + 0x28], edx
mov ebp, esi
jmp 0x44e427
mov ecx, dword [esp + 0xac]
mov esi, dword [esp + 0xa8]
mov eax, dword [esp + 0xb0]
mov ch, byte [ecx]
mov cl, byte [esi + 0x10]
mov esi, dword [esp + 0x94]
mov eax, dword [eax]
mov ebx, dword [esi]
mov esi, dword [esp + 0x9c]
movzx edx, ch
mov ebp, dword [esi]
mov esi, dword [edx*4 + 0x62fca8]
mov byte [esp + 0x22], ch
mov byte [esp + 0x23], cl
cmp esi, 4
je 0x44e74b
cmp esi, 3
jne 0x44e936
cmp ch, cl
jne 0x44e936
mov edx, dword [esp]
lea edi, [esp + 0x54]
lea eax, [ebx + ebx*2]
mov ecx, edi
push 0x62f728
push eax
push dword [esp + 0x18]
call fcn.005621c9
add esp, 0xc
mov edx, dword [esp + 0x24]
lea esi, [esp + 0xd8]
mov ecx, esi
push 0x62f738
push ebp
push dword [esp + 0x30]
call fcn.00562225
add esp, 0xc
lea ebx, [esp + 0x14c]
mov edx, edi
mov ecx, ebx
push esi
call fcn.0055e389
pop eax
mov edx, dword [esp + 0x2c]
mov ecx, edi
push 0x62f748
push ebp
push dword [esp + 0x38]
call fcn.00562225
add esp, 0xc
mov ecx, esi
mov edx, ebx
push edi
call fcn.0055e3f3
pop eax
mov edx, dword [esp + 0x34]
mov ecx, edi
push 0x62f758
push ebp
push dword [esp + 0x40]
call fcn.00562225
add esp, 0xc
mov ecx, ebx
mov edx, esi
push edi
call fcn.0055e448
pop eax
mov eax, dword [esp + 0x190]
mov edx, dword [esp + 0x194]
mov ecx, dword [esp + 0x1b4]
mov edi, dword [esp + 0x1b0]
mov ebx, dword [esp + 0x154]
mov ebp, dword [esp + 0x15c]
mov dword [esp + 0x14], eax
add eax, eax
mov dword [esp + 8], edx
add edx, ecx
mov esi, ecx
imul edx, eax
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x160]
imul esi, edi
add esi, esi
add edx, dword [esp + 0x180]
add esi, dword [esp + 0x1a0]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x170]
mov dword [esp], edx
xor edx, edx
mov dword [esp + 4], esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x18], eax
mov eax, ebp
push 3
pop esi
div esi
mov dword [esp + 0x48], ebp
lea eax, [edi + edi]
mov dword [esp + 0x4c], edi
mov dword [esp + 0xc4], ebx
sub ebp, edx
mov dword [esp + 0xd0], edx
mov dword [esp + 0xc0], eax
mov dword [esp + 0xcc], ebp
cmp ecx, dword [esp + 0x18]
jae 0x44eca0
test ebx, ebx
je 0x44eca0
lea eax, [ecx + 1]
add ecx, dword [esp + 8]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x44]
mov dword [esp + 0xc], eax
add ecx, dword [esp + 0xd4]
mov eax, ecx
imul ecx, edi
imul eax, dword [esp + 0x48]
lea esi, [edx + ecx*2]
mov ecx, dword [esp + 0xcc]
lea edx, [esp + 0xd8]
add eax, ebx
mov dword [esp + 0xe0], eax
add eax, ecx
mov dword [esp + 0xe4], ecx
lea ecx, [esp + 0x14c]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0xdc], eax
lea eax, [esi + edi*2]
mov dword [esp + 0xe8], 3
push eax
push esi
call fcn.0055e179
pop eax
pop ecx
mov esi, dword [esp + 0x168]
mov edx, dword [esp + 0x16c]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x15c]
mov eax, dword [esp + 0x154]
sub edx, esi
lea ebp, [esi + esi]
cmp edx, edi
cmovae edx, edi
mov edi, dword [esp + 0x4c]
add ebp, dword [esp + 0x160]
cmp edx, edi
cmovae edx, edi
imul esi, ecx
xor edi, edi
lea esi, [eax + esi + 2]
cmp edx, edi
je 0x44e723
test eax, eax
je 0x44e723
test ecx, ecx
je 0x44f3aa
mov bl, byte [ebp + edi*2]
cmp ecx, 1
mov byte [esi - 2], bl
je 0x44f3b5
mov ebx, dword [esp]
cmp ecx, 2
mov bl, byte [ebx + edi*2]
mov byte [esi - 1], bl
jbe 0x44f3c1
mov ebx, dword [esp + 4]
mov bl, byte [ebx + edi*2]
inc edi
mov byte [esi], bl
add esi, ecx
jmp 0x44e6e3
mov ecx, dword [esp]
mov eax, dword [esp + 0xc0]
mov ebx, dword [esp + 0xc4]
add ecx, dword [esp + 0xc8]
add dword [esp + 4], eax
mov dword [esp], ecx
mov ecx, dword [esp + 0xc]
jmp 0x44e614
cmp ch, cl
jne 0x44e936
mov edx, dword [esp]
lea edi, [esp + 0x54]
shl ebx, 2
mov ecx, edi
push 0x62f798
push ebx
push dword [esp + 0x18]
call fcn.005621c9
add esp, 0xc
mov edx, dword [esp + 0x24]
lea ebx, [esp + 0x14c]
mov ecx, ebx
push 0x62f7a8
push ebp
push dword [esp + 0x30]
call fcn.00562225
add esp, 0xc
lea esi, [esp + 0xd8]
mov edx, edi
mov ecx, esi
push ebx
call fcn.0055e389
pop eax
mov edx, dword [esp + 0x2c]
mov ecx, edi
push 0x62f7b8
push ebp
push dword [esp + 0x38]
call fcn.00562225
add esp, 0xc
mov ecx, ebx
mov edx, esi
push edi
call fcn.0055e3f3
pop eax
mov edx, dword [esp + 0x34]
mov ecx, edi
push 0x62f7c8
push ebp
push dword [esp + 0x40]
call fcn.00562225
add esp, 0xc
mov ecx, esi
mov edx, ebx
push edi
call fcn.0055e448
pop eax
mov edx, dword [esp + 0x3c]
mov ecx, edi
push 0x62f7d8
push ebp
push dword [esp + 0x48]
call fcn.00562225
add esp, 0xc
mov ecx, ebx
mov edx, esi
push edi
call fcn.0055e2d3
pop eax
lea ecx, [esp + 0x54]
lea edx, [esp + 0x14c]
call fcn.00562282
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x44eca0
mov edi, dword [esp + 0x64]
mov esi, dword [esp + 0x58]
mov dword [esp + 0x84], ecx
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov ebp, dword [esp + 0x68]
mov ebx, dword [esp + 0x70]
mov dword [esp], edi
mov edi, esi
and esi, 0xfffffffc
add ecx, esi
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0x6c]
and edi, 3
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x80], edi
mov edi, dword [esp + 0x78]
mov dword [esp + 0x8c], 4
mov dword [esp + 4], esi
lea esi, [eax + edx*2]
lea edx, [esp + 0x7c]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0xd8]
push esi
push eax
call fcn.0055e179
pop eax
pop ecx
mov esi, dword [esp + 0xf4]
mov edx, dword [esp + 0xf8]
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0xe0]
sub edx, esi
cmp edx, ebp
cmovae edx, ebp
lea ebp, [esi + esi]
add ebp, dword [esp + 0xec]
cmp edx, ebx
cmovae edx, ebx
cmp edx, edi
cmovae edx, edi
imul esi, ecx
xor edi, edi
lea esi, [eax + esi + 3]
cmp edx, edi
je 0x44e80b
test eax, eax
je 0x44e80b
test ecx, ecx
je 0x44f355
mov bl, byte [ebp + edi*2]
cmp ecx, 1
mov byte [esi - 3], bl
je 0x44f363
mov ebx, dword [esp]
cmp ecx, 2
mov bl, byte [ebx + edi*2]
mov byte [esi - 2], bl
jbe 0x44f36f
mov ebx, dword [esp + 4]
cmp ecx, 3
mov bl, byte [ebx + edi*2]
mov byte [esi - 1], bl
je 0x44f37b
mov ebx, dword [esp + 0xc]
mov bl, byte [ebx + edi*2]
inc edi
mov byte [esi], bl
add esi, ecx
jmp 0x44e8db
cmp cl, 3
jne 0x44e9fa
and ch, 0xe
cmp ch, 2
jne 0x44e9fa
mov edx, dword [esp + 0x24]
lea edi, [esp + 0x54]
mov ecx, edi
push 0x62e9a0
push ebp
push dword [esp + 0x30]
call fcn.00562225
add esp, 0xc
mov edx, dword [esp]
lea esi, [esp + 0xd8]
mov ecx, esi
push 0x62e9b0
push ebx
push dword [esp + 0x18]
call fcn.005621c9
add esp, 0xc
mov edx, edi
lea ecx, [esp + 0x14c]
push esi
call fcn.0055e245
pop eax
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x15c]
mov ebp, dword [esp + 0x170]
mov ecx, dword [esp + 0x178]
mov ebx, edx
mov edi, edx
mov dword [esp], ecx
mov dword [esp + 4], ebp
imul ebx, eax
imul edi, ebp
add ebx, ebx
add edi, dword [esp + 0x168]
add ebx, dword [esp + 0x14c]
cmp eax, ebp
cmovb ebp, eax
add eax, eax
cmp edx, dword [esp]
jae 0x44eca0
xor esi, esi
cmp ebp, esi
je 0x44e9f1
mov cl, byte [ebx + esi*2]
mov byte [edi + esi], cl
inc esi
jmp 0x44e9e4
add edi, dword [esp + 4]
inc edx
add ebx, eax
jmp 0x44e9d9
movzx edi, cl
cmp edx, 2
je 0x44ec70
cmp edx, 5
je 0x44ecd3
cmp edx, 6
jne 0x44f3f6
test cl, cl
je 0x44eeed
cmp edi, 1
jne 0x44f3f6
mov edx, dword [esp]
lea edi, [esp + 0x54]
shl ebx, 2
mov ecx, edi
push 0x62f878
push ebx
push dword [esp + 0x18]
call fcn.005621c9
add esp, 0xc
mov edx, dword [esp + 0x24]
lea ebx, [esp + 0x14c]
mov ecx, ebx
push 0x62f888
push ebp
push dword [esp + 0x30]
call fcn.00562225
add esp, 0xc
lea esi, [esp + 0xd8]
mov edx, edi
mov ecx, esi
push ebx
call fcn.0055e389
pop eax
mov edx, dword [esp + 0x2c]
mov ecx, edi
push 0x62f898
push ebp
push dword [esp + 0x38]
call fcn.00562225
add esp, 0xc
mov ecx, ebx
mov edx, esi
push edi
call fcn.0055e3f3
pop eax
mov edx, dword [esp + 0x34]
mov ecx, edi
push 0x62f8a8
push ebp
push dword [esp + 0x40]
call fcn.00562225
add esp, 0xc
mov ecx, esi
mov edx, ebx
push edi
call fcn.0055e448
pop eax
mov edx, dword [esp + 0x3c]
mov ecx, edi
push 0x62f8b8
push ebp
push dword [esp + 0x48]
call fcn.00562225
add esp, 0xc
mov ecx, ebx
mov edx, esi
push edi
call fcn.0055e2d3
pop eax
lea ecx, [esp + 0x54]
lea edx, [esp + 0x14c]
call fcn.00562282
mov ebp, dword [esp + 0x54]
test ebp, ebp
je 0x44eca0
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x68]
xor edx, edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov eax, ecx
push 3
pop edi
div edi
mov eax, dword [esp + 8]
mov dword [esp + 0x84], ebp
sub ecx, edx
add ebp, ecx
mov dword [esp + 0x88], ecx
lea ecx, [esp + 0xd8]
mov dword [esp + 0x7c], ebp
xor ebp, ebp
mov dword [esp + 0x80], edx
mov dword [esp + 0x8c], 3
lea edx, [esp + 0x7c]
lea eax, [ebx + eax*2]
push eax
push ebx
call fcn.0055e179
pop eax
pop ecx
mov ebx, dword [esp + 0xf4]
mov edx, dword [esp + 0xf8]
mov edi, dword [esp]
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0xe0]
sub edx, ebx
cmp edx, esi
cmovae edx, esi
lea esi, [ebx + ebx]
add esi, dword [esp + 0xec]
mov dword [esp + 8], esi
mov esi, dword [esp + 4]
mov dword [esp + 4], eax
cmp edx, esi
cmovae edx, esi
cmp edx, edi
cmovae edx, edi
imul ebx, ecx
lea edi, [eax + ebx + 2]
mov dword [esp], edx
cmp dword [esp], ebp
je 0x44eae1
cmp dword [esp + 4], 0
je 0x44eae1
test ecx, ecx
je 0x44f387
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
movzx ebx, byte [eax + ebp*2]
mov eax, dword [esp + 0x14]
movzx esi, byte [edx + ebp*2]
movzx eax, byte [eax + ebp*2]
imul esi, eax
lea edx, [esi + 0x80]
shr edx, 8
cmp ecx, 1
lea edx, [edx + esi + 0x80]
mov esi, dword [esp + 0xc]
movzx esi, byte [esi + ebp*2]
mov byte [edi - 2], dh
je 0x44f392
movzx eax, ax
imul esi, eax
lea edx, [esi + 0x80]
shr edx, 8
cmp ecx, 2
lea edx, [edx + esi + 0x80]
mov byte [edi - 1], dh
jbe 0x44f39e
imul eax, ebx
inc ebp
lea edx, [eax + 0x80]
shr edx, 8
lea eax, [edx + eax + 0x80]
mov byte [edi], ah
add edi, ecx
jmp 0x44ebd6
cmp edi, 8
ja 0x44f3f6
mov ecx, 0x183
bt ecx, edi
jae 0x44f3f6
lea ecx, [esp + 0x24]
mov edx, ebx
push dword [esp + 0x10]
push dword [esp + 4]
push eax
push edi
push ebp
call fcn.00562360
add esp, 0x14
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x94]
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xb8]
mov eax, dword [eax]
imul eax, dword [ecx]
mov ecx, dword [esp + 0xa4]
add dword [ecx], eax
mov ecx, dword [esp + 0x10]
jmp 0x44e3ab
test edi, edi
je 0x44f134
cmp edi, 1
jne 0x44f3f6
mov esi, dword [esp + 0x10]
mov edx, ebx
lea ecx, [esp + 0x24]
push esi
mov edi, ebx
mov ebx, dword [esp + 4]
push ebx
push eax
push 1
push ebp
call fcn.00562360
add esp, 0x14
lea eax, [edi + edi*2]
lea edi, [esp + 0x54]
mov edx, ebx
mov ecx, edi
push 0x62f828
push eax
push esi
call fcn.005621c9
add esp, 0xc
mov edx, dword [esp + 0x3c]
lea esi, [esp + 0xd8]
mov ecx, esi
push 0x62f838
push ebp
push dword [esp + 0x48]
call fcn.00562225
add esp, 0xc
mov edx, edi
lea ecx, [esp + 0x14c]
push esi
call fcn.0055e389
pop eax
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x154]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x170]
mov esi, ecx
mov dword [esp + 0x14], ecx
and ecx, 0xfffffffc
mov dword [esp + 0x1c], edx
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x178]
and esi, 3
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x18], ecx
cmp eax, dword [esp + 0x18]
jae 0x44eca0
test edx, edx
je 0x44eca0
lea ecx, [eax + 1]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0xc], ecx
mov ecx, eax
imul ecx, dword [esp + 0x14]
imul eax, esi
add ecx, edx
mov edx, dword [esp + 8]
mov dword [esp + 0xe0], ecx
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x44]
lea esi, [eax + esi*2]
add ecx, edx
mov dword [esp + 0xe4], edx
lea edx, [esp + 0xd8]
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0xdc], ecx
lea ecx, [esp + 0x14c]
mov dword [esp + 0xe8], 4
push esi
push eax
call fcn.0055e179
pop eax
pop ecx
mov edi, dword [esp + 0x16c]
mov esi, dword [esp + 0x168]
mov ecx, dword [esp + 0x15c]
mov eax, dword [esp + 0x154]
mov edx, dword [esp + 0x160]
mov dword [esp], edi
mov edi, esi
mov ebp, eax
mov dword [esp + 4], edx
imul edi, ecx
lea edi, [eax + edi + 2]
cmp esi, dword [esp]
jae 0x44eee0
test ebp, ebp
je 0x44eee0
test ecx, ecx
je 0x44f3cd
mov eax, dword [esp + 4]
movzx edx, byte [edi - 2]
movzx ebx, byte [eax + esi*2]
xor edx, 0xff
imul edx, ebx
lea eax, [edx + 0x80]
shr eax, 8
cmp ecx, 1
lea eax, [eax + edx + 0x80]
mov byte [edi - 2], ah
je 0x44f3d8
movzx eax, byte [edi - 1]
xor eax, 0xff
imul eax, ebx
lea edx, [eax + 0x80]
shr edx, 8
cmp ecx, 2
lea eax, [edx + eax + 0x80]
mov byte [edi - 1], ah
jbe 0x44f3e4
movzx eax, byte [edi]
inc esi
xor eax, 0xff
imul eax, ebx
lea edx, [eax + 0x80]
shr edx, 8
lea eax, [edx + eax + 0x80]
mov byte [edi], ah
add edi, ecx
jmp 0x44ee49
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x1c]
jmp 0x44ed99
mov edx, dword [esp]
lea edi, [esp + 0x54]
lea eax, [ebx + ebx*2]
mov ecx, edi
push 0x62f878
push eax
push dword [esp + 0x18]
call fcn.005621c9
add esp, 0xc
mov edx, dword [esp + 0x24]
lea ebx, [esp + 0x14c]
mov ecx, ebx
push 0x62f888
push ebp
push dword [esp + 0x30]
call fcn.00562225
add esp, 0xc
lea esi, [esp + 0xd8]
mov edx, edi
mov ecx, esi
push ebx
call fcn.0055e389
pop eax
mov edx, dword [esp + 0x2c]
mov ecx, edi
push 0x62f898
push ebp
push dword [esp + 0x38]
call fcn.00562225
add esp, 0xc
mov ecx, ebx
mov edx, esi
push edi
call fcn.0055e3f3
pop eax
mov edx, dword [esp + 0x34]
mov ecx, edi
push 0x62f8a8
push ebp
push dword [esp + 0x40]
call fcn.00562225
add esp, 0xc
mov ecx, esi
mov edx, ebx
push edi
call fcn.0055e448
pop eax
mov edx, dword [esp + 0x3c]
mov ecx, edi
push 0x62f8b8
push ebp
push dword [esp + 0x48]
call fcn.00562225
add esp, 0xc
mov ecx, ebx
mov edx, esi
push edi
call fcn.0055e2d3
pop eax
lea ecx, [esp + 0x54]
lea edx, [esp + 0x14c]
call fcn.00562282
mov ebp, dword [esp + 0x54]
test ebp, ebp
je 0x44eca0
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x68]
xor edx, edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov eax, ecx
push 3
pop edi
div edi
mov eax, dword [esp + 8]
mov dword [esp + 0x84], ebp
sub ecx, edx
add ebp, ecx
mov dword [esp + 0x88], ecx
lea ecx, [esp + 0xd8]
mov dword [esp + 0x7c], ebp
xor ebp, ebp
mov dword [esp + 0x80], edx
mov dword [esp + 0x8c], 3
lea edx, [esp + 0x7c]
lea eax, [ebx + eax*2]
push eax
push ebx
call fcn.0055e179
pop eax
pop ecx
mov ebx, dword [esp + 0xf4]
mov edx, dword [esp + 0xf8]
mov edi, dword [esp]
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0xe0]
sub edx, ebx
cmp edx, esi
cmovae edx, esi
lea esi, [ebx + ebx]
add esi, dword [esp + 0xec]
mov dword [esp + 8], esi
mov esi, dword [esp + 4]
mov dword [esp + 4], eax
cmp edx, esi
cmovae edx, esi
cmp edx, edi
cmovae edx, edi
imul ebx, ecx
lea edi, [eax + ebx + 2]
mov dword [esp], edx
cmp dword [esp], ebp
je 0x44efa5
cmp dword [esp + 4], 0
je 0x44efa5
test ecx, ecx
je 0x44f387
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
movzx ebx, byte [eax + ebp*2]
mov eax, dword [esp + 0x14]
movzx esi, byte [edx + ebp*2]
movzx eax, byte [eax + ebp*2]
imul esi, eax
lea edx, [esi + 0x80]
shr edx, 8
cmp ecx, 1
lea edx, [edx + esi + 0x80]
mov esi, dword [esp + 0xc]
movzx esi, byte [esi + ebp*2]
mov byte [edi - 2], dh
je 0x44f392
movzx eax, ax
imul esi, eax
lea edx, [esi + 0x80]
shr edx, 8
cmp ecx, 2
lea edx, [edx + esi + 0x80]
mov byte [edi - 1], dh
jbe 0x44f39e
imul eax, ebx
inc ebp
lea edx, [eax + 0x80]
shr edx, 8
lea eax, [edx + eax + 0x80]
mov byte [edi], ah
add edi, ecx
jmp 0x44f09a
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x24]
mov edx, ebx
push esi
mov edi, ebx
mov ebx, dword [esp + 4]
push ebx
push eax
push 0
push ebp
call fcn.00562360
add esp, 0x14
lea eax, [edi + edi*2]
lea edi, [esp + 0x54]
mov edx, ebx
mov ecx, edi
push 0x62f828
push eax
push esi
call fcn.005621c9
add esp, 0xc
mov edx, dword [esp + 0x3c]
lea esi, [esp + 0xd8]
mov ecx, esi
push 0x62f838
push ebp
push dword [esp + 0x48]
call fcn.00562225
add esp, 0xc
lea ecx, [esp + 0x14c]
mov edx, edi
push esi
call fcn.0055e389
pop eax
mov eax, dword [esp + 0x160]
mov edi, dword [esp + 0x154]
mov ecx, dword [esp + 0x174]
mov ebx, dword [esp + 0x15c]
xor edx, edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x170]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 0x18], eax
mov eax, ebx
push 3
pop esi
div esi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], edi
sub ebx, edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ebx
cmp ecx, dword [esp + 0x18]
jae 0x44eca0
test edi, edi
je 0x44eca0
lea eax, [ecx + 1]
mov edx, dword [esp + 8]
mov dword [esp + 0xc], eax
mov eax, ecx
imul eax, dword [esp + 0x14]
add eax, edi
mov edi, dword [esp + 0x4c]
mov dword [esp + 0xe0], eax
imul ecx, edi
lea esi, [edx + ecx*2]
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0xd8]
add eax, ecx
mov dword [esp + 0xe4], ecx
lea ecx, [esp + 0x14c]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xdc], eax
lea eax, [esi + edi*2]
mov dword [esp + 0xe8], 3
push eax
push esi
call fcn.0055e179
pop eax
pop ecx
mov esi, dword [esp + 0x16c]
mov edi, dword [esp + 0x168]
mov ecx, dword [esp + 0x15c]
mov eax, dword [esp + 0x154]
mov edx, dword [esp + 0x160]
mov dword [esp], esi
mov esi, edi
mov ebp, eax
mov dword [esp + 4], edx
imul esi, ecx
lea ebx, [eax + esi + 2]
cmp edi, dword [esp]
jae 0x44f333
test ebp, ebp
je 0x44f333
test ecx, ecx
je 0x44f3cd
mov eax, dword [esp + 4]
movzx edx, byte [ebx - 2]
movzx esi, byte [eax + edi*2]
xor edx, 0xff
imul edx, esi
lea eax, [edx + 0x80]
shr eax, 8
cmp ecx, 1
lea eax, [eax + edx + 0x80]
mov byte [ebx - 2], ah
je 0x44f3d8
movzx eax, byte [ebx - 1]
xor eax, 0xff
imul eax, esi
lea edx, [eax + 0x80]
shr edx, 8
cmp ecx, 2
lea eax, [edx + eax + 0x80]
mov byte [ebx - 1], ah
jbe 0x44f3e4
movzx eax, byte [ebx]
inc edi
xor eax, 0xff
imul eax, esi
lea edx, [eax + 0x80]
shr edx, 8
lea eax, [edx + eax + 0x80]
mov byte [ebx], ah
add ebx, ecx
jmp 0x44f29c
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x1c]
jmp 0x44f1ec
mov eax, dword [esp + 0x90]
mov byte [eax], 0xd
add esp, 0x1ec
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
xor edx, edx
push 0x62f7e8
jmp 0x44f3ee
xor ecx, ecx
inc ecx
mov edx, ecx
push 0x62f7f8
jmp 0x44f3ee
push 2
pop ecx
mov edx, ecx
push 0x62f808
jmp 0x44f3ee
push 3
pop ecx
mov edx, ecx
push 0x62f818
jmp 0x44f3ee
xor ecx, ecx
xor edx, edx
push 0x62f8c8
jmp 0x44f3ee
xor ecx, ecx
inc ecx
mov edx, ecx
push 0x62f8d8
jmp 0x44f3ee
push 2
pop ecx
mov edx, ecx
push 0x62f8e8
jmp 0x44f3ee
xor ecx, ecx
xor edx, edx
push 0x62f768
jmp 0x44f3ee
xor ecx, ecx
inc ecx
mov edx, ecx
push 0x62f778
jmp 0x44f3ee
push 2
pop ecx
mov edx, ecx
push 0x62f788
jmp 0x44f3ee
xor ecx, ecx
xor edx, edx
push 0x62f848
jmp 0x44f3ee
xor ecx, ecx
inc ecx
mov edx, ecx
push 0x62f858
jmp 0x44f3ee
push 2
pop ecx
mov edx, ecx
push 0x62f868
call fcn.00576a40
pop eax
ud2
lea eax, [esp + 0x22]
lea esi, [esp + 0x14c]
lea ecx, [esp + 0x23]
mov dword [esp + 0xd8], eax
mov eax, 0x56233a
mov dword [esi], str.Unimplemented_colorspace_mapping_from__to
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], eax
push 2
pop eax
mov dword [esi + 4], eax
and dword [esi + 0x10], 0
lea ecx, [esp + 0xd8]
lea edi, [esp + 0x1e0]
mov edx, esi
mov dword [esi + 8], ecx
mov ecx, edi
mov dword [esi + 0xc], eax
call fcn.004130e0
mov eax, dword [edi + 8]
movsd xmm0, qword [edi]
mov dword [esi + 0xb], eax
movsd qword [esi + 3], xmm0
mov eax, dword [esp + 0x90]
movsd xmm0, qword [esi + 7]
movsd xmm1, qword [esi]
movsd qword [eax + 8], xmm0
movsd qword [eax + 1], xmm1
mov byte [eax], 0
jmp 0x44f34a
mov ecx, ebp
push 0x5a35c8
call fcn.005769d0
jmp 0x44f3f3
lea ecx, [esp + 0x14c]
mov edx, 0x5a35d8
mov dword [ecx], 0x62e64c
mov dword [ecx + 4], 1
and dword [ecx + 0x10], 0
mov dword [ecx + 8], str.assertion_failed:_mid___self.len__chunk_size_must_be_non_zero
and dword [ecx + 0xc], 0
call fcn.005769a0
ud2