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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x1c8
mov dword [esp + 0x70], ecx
mov ecx, dword [ebp + 8]
call 0x4cd25b
pop eax
mov ebx, edx
mov dword [esp + 0x28], eax
mov esi, dword [ecx + 0x2ec]
test esi, esi
je 0x4cd28c
cmp esi, 6
ja 0x4cf05e
imul eax, esi, 0x7c
cmp dword [eax + ecx - 0x7c], 0x80000001
je 0x4cf05e
lea edi, [eax + ecx - 0x7c]
jmp 0x4cd292
mov edi, dword [ecx + 0x2e8]
mov ecx, dword [edi + 0x38]
mov eax, dword [edi + 0x34]
test ecx, ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], 0
je 0x4cd2d8
cmp byte [eax], 0x17
jne 0x4cd2d8
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x38]
push 1
push 0x17
call fcn.004cf090
add esp, 8
cmp byte [esp + 0xa8], 0
jne 0x4cd41c
jmp 0x4cd2fd
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x38]
push 0
push 0x18
call fcn.004cf090
add esp, 8
cmp byte [esp + 0xa8], 0
jne 0x4cd41c
mov eax, dword [esp + 0x40]
mov dword [esp + 8], edi
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0xb0]
mov edi, dword [esp + 0xb4]
cmp eax, dword [esp + 0x3c]
jae 0x4cd3f7
mov ecx, dword [esp + 0x38]
cmp byte [ecx + eax], 0x17
jne 0x4cd3f7
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x38]
push 1
push 0x17
call fcn.004cf090
add esp, 8
cmp byte [esp + 0xa8], 0
jne 0x4cd41c
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x80], ebx
cmp ecx, esi
mov edx, eax
sbb edx, edi
mov dl, 0x24
jb 0x4cd424
mov ebx, edi
mov edi, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
cmp edi, esi
mov esi, edx
sbb edx, ebx
mov dl, 0x1f
jb 0x4cd424
cmp ecx, edi
mov dl, 0x1d
sbb eax, esi
jb 0x4cd424
mov eax, dword [esp + 0x40]
mov dl, 0x1a
cmp eax, dword [esp + 0x3c]
jne 0x4cd5dd
mov eax, dword [ebp + 0x14]
mov edi, dword [esp + 8]
mov dword [esp + 0x134], eax
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x4cd44d
mov ecx, dword [edi + 0x50]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
lea ecx, [esp + 0xa8]
mov dword [esp + 0xb0], 0
call fcn.004cb730
mov esi, dword [ebp + 8]
test al, 1
mov eax, edx
je 0x4cd461
mov edx, eax
jmp 0x4cd424
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x38]
push 0
push 0x18
call fcn.004cf090
add esp, 8
cmp byte [esp + 0xa8], 0
je 0x4cd354
movzx edx, byte [esp + 0xa9]
movzx ecx, dl
xor eax, eax
add ecx, 0xffffffd2
cmp ecx, 3
ja 0x4cd438
cmp ecx, 2
je 0x4cd438
mov al, 1
mov ecx, dword [esp + 0x70]
mov byte [ecx + 1], al
mov byte [ecx + 2], dl
mov byte [ecx], 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp dword [esp + 0x2c], 0
mov esi, dword [ebp + 8]
je 0x4cd53e
mov dl, 0x22
xor eax, eax
jmp 0x4cd438
mov eax, dword [esp + 0xb0]
cmp eax, dword [esp + 0xac]
jne 0x4cd48c
cmp dword [esp + 0x2c], 0
je 0x4cd51d
mov al, 0x22
test dl, 1
je 0x4cd3f3
jmp 0x4cd528
mov bh, dl
lea ecx, [esp + 0x38]
lea edx, [esp + 0xa8]
push 2
call fcn.004cb520
add esp, 4
mov esi, dword [esp + 0x38]
test esi, esi
je 0x4cd4d6
mov edx, dword [esp + 0x3c]
mov al, 0x1a
test edx, edx
je 0x4cd3f3
movzx ecx, byte [esi]
test cl, cl
je 0x4cd4e0
mov esi, dword [ebp + 8]
js 0x4cd3f3
cmp edx, 1
mov dl, bh
jne 0x4cd3f3
jmp 0x4cd4fb
movzx eax, byte [esp + 0x3c]
jmp 0x4cd3f3
dec edx
je 0x4cd4f4
movzx ecx, byte [esi + 1]
mov esi, dword [ebp + 8]
test cl, cl
jns 0x4cd3f3
jmp 0x4cd4c9
mov esi, dword [ebp + 8]
xor ecx, ecx
mov dl, bh
cmp dword [esp + 0x2c], 0
je 0x4cd51d
mov al, 0x22
test dl, 1
je 0x4cd3f3
movzx ecx, cl
mov al, 0x33
cmp ecx, dword [ebp + 0x14]
jb 0x4cd3f3
jmp 0x4cd528
mov al, 0x1c
test dl, 1
jne 0x4cd3f3
mov eax, dword [esp + 0xb0]
mov dl, 0x1a
cmp eax, dword [esp + 0xac]
jne 0x4cd5dd
mov eax, dword [edi + 0x5c]
test eax, eax
je 0x4cd5e4
mov ecx, dword [edi + 0x60]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0xb0], 0
mov esi, dword [ecx + 4]
mov edi, dword [ecx + 8]
mov ebx, ecx
jmp 0x4cd58a
mov eax, dword [esp + 0xb0]
cmp eax, dword [esp + 0xac]
je 0x4cead1
lea ecx, [esp + 0x38]
lea edx, [esp + 0xa8]
push 6
call fcn.004cb520
add esp, 4
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4ceac7
cmp edi, dword [esp + 0x3c]
jne 0x4cd576
push edi
push eax
push esi
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x4cd576
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
sub eax, ecx
add eax, ecx
jb 0x4cf05e
mov esi, dword [ebp + 8]
jmp 0x4cd5f4
xor eax, eax
jmp 0x4cd438
mov ebx, dword [esp + 0x80]
test byte [ebx], 1
je 0x4cead8
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x4ceae1
mov edi, dword [ebx + 0x20]
lea eax, [eax + eax*8]
xor ecx, ecx
mov edx, dword [ebx + 0x10]
lea eax, [edi + eax*4]
mov dword [esp + 0x140], edx
mov dword [esp + 0x154], eax
movzx eax, byte [ebx + 0x16]
mov byte [esp + 0x26], al
movzx eax, byte [ebx + 0x15]
mov byte [esp + 0x17], al
test al, 1
mov eax, 0x38
cmove eax, ecx
mov cl, 0x37
mov dword [esp + 0x13c], eax
movzx eax, byte [ebx + 0x14]
mov byte [esp + 0x27], al
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x144], eax
lea eax, [eax + edx*4]
mov dword [esp + 0x7c], eax
mov eax, dword [edi + 4]
mov edx, dword [edi + 8]
mov dword [esp + 0x6c], edi
mov dword [esp + 8], eax
mov eax, dword [esi + 0x2ec]
test eax, eax
je 0x4cd69f
cmp eax, 6
ja 0x4cf05e
mov edi, eax
imul eax, eax, 0x7c
cmp dword [eax + esi - 0x7c], 0x80000001
je 0x4cf05e
lea eax, [eax + esi - 0x7c]
jmp 0x4cd6a7
mov edi, eax
mov eax, dword [esi + 0x2e8]
cmp dword [eax + 0x30], edx
jne 0x4cd6cb
mov ebx, edx
push edx
push dword [esp + 0xc]
push dword [eax + 0x2c]
mov byte [esp + 0x21], cl
call sub.VCRUNTIME140.dll_memcmp
movzx ecx, byte [esp + 0x21]
add esp, 0xc
test eax, eax
je 0x4cd71a
mov edx, dword [esp + 0x34]
and edx, 0xff000000
or edx, 0x370001
test dl, 1
je 0x4ceae7
test edx, 0x100
jne 0x4ceaf3
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x34], edx
shr edx, 0x10
movzx ecx, cl
add edi, 0x24
call fcn.004d0f60
cmp edi, dword [esp + 0x154]
mov ecx, eax
jne 0x4cd665
jmp 0x4ceafc
test edi, edi
mov dword [esp + 4], ebx
je 0x4cd733
imul eax, edi, 0x7c
cmp dword [eax + esi - 0x7c], 0x80000001
je 0x4cf05e
mov eax, dword [esp + 0x6c]
cmp byte [esp + 0x26], 2
mov dword [esp + 0x30], edi
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x10], ecx
mov dword [esp], eax
jne 0x4cd7fb
mov esi, dword [esp + 0x30]
test esi, esi
je 0x4cd77e
cmp esi, 6
ja 0x4cf05e
mov eax, dword [ebp + 8]
lea edi, [esi - 1]
imul ebx, edi, 0x7c
cmp dword [eax + ebx], 0x80000001
je 0x4cf05e
add ebx, eax
jmp 0x4cd789
mov eax, dword [ebp + 8]
xor edi, edi
mov ebx, dword [eax + 0x2e8]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
lea eax, [ebx + 0x14]
push dword [ebp + 0x18]
push eax
push dword [esp + 8]
push dword [esp + 0x1c]
call fcn.004cf6e0
add esp, 0x10
cmp al, 0x46
jne 0x4ce915
mov eax, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x48]
test esi, esi
mov esi, edi
mov dword [esp + 0x10], eax
mov dword [esp], ecx
jne 0x4cd757
mov eax, dword [esp + 0x6c]
xor ecx, ecx
cmp dword [eax + 0x18], 0x80000001
je 0x4cd7d5
mov ecx, dword [eax + 0x1c]
mov edx, dword [ebp + 0x18]
mov esi, dword [ebp + 8]
mov eax, dword [eax + 0x20]
mov edx, dword [edx + 8]
mov dword [esp + 8], edx
mov edx, dword [esi + 0x2e8]
mov dword [esp + 0x130], edx
mov edx, dword [esp + 0x30]
jmp 0x4cde27
cmp dword [esp + 0x140], 0
mov edi, dword [esp + 0x30]
je 0x4ce6d1
xor ecx, ecx
jmp 0x4cd855
test byte [esp + 0x17], 1
mov edi, dword [esp + 0x68]
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
jne 0x4ce996
test esi, esi
mov esi, dword [ebx + 0x44]
mov edx, dword [ebx + 0x48]
mov ecx, dword [ebx + 0x54]
mov eax, dword [ebx + 0x58]
mov dword [esp + 0x10], esi
mov dword [esp], edx
mov esi, dword [ebx + 0x3c]
mov edx, dword [ebx + 0x40]
mov dword [esp + 0x78], eax
mov dword [esp + 8], esi
mov dword [esp + 4], edx
je 0x4cd7c3
mov esi, edi
test edi, edi
mov dword [esp + 0x54], ecx
je 0x4cd882
cmp esi, 6
ja 0x4cf05e
mov eax, dword [ebp + 8]
lea edi, [esi - 1]
imul ebx, edi, 0x7c
cmp dword [eax + ebx], 0x80000001
je 0x4cf05e
add ebx, eax
jmp 0x4cd88d
mov eax, dword [ebp + 8]
xor edi, edi
mov ebx, dword [eax + 0x2e8]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
lea eax, [ebx + 0x14]
push dword [ebp + 0x18]
push eax
push dword [esp + 8]
push dword [esp + 0x1c]
call fcn.004cf6e0
add esp, 0x10
mov ecx, dword [esp + 4]
cmp al, 0x46
jne 0x4ce6af
cmp dword [ebx + 0x30], ecx
jne 0x4cf05e
mov eax, ecx
mov ecx, dword [ebx + 0x2c]
push eax
push dword [esp + 0xc]
mov dword [esp + 0x20], ecx
push ecx
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x4cf05e
movzx ecx, byte [esp + 0x27]
test esi, esi
setne al
xor cl, 1
test al, cl
jne 0x4cd828
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x68], edi
mov ebx, dword [esp + 0x144]
mov edi, dword [esp + 4]
mov dword [esp + 0x20], esi
jmp 0x4cd91f
mov edi, dword [esp + 4]
add ebx, 4
cmp ebx, dword [esp + 0x7c]
je 0x4cd811
mov ecx, dword [ebx]
mov eax, dword [ecx + 8]
mov dword [esp + 0xc], eax
neg eax
jno 0x4cd95e
cmp dword [ecx + 0x2c], edi
jne 0x4cd912
push edi
push dword [esp + 0x1c]
push dword [ecx + 0x28]
mov dword [esp + 0x14], ecx
call sub.VCRUNTIME140.dll_memcmp
mov esi, dword [esp + 0x14]
add esp, 0xc
test eax, eax
jne 0x4cd912
mov edx, dword [esi + 0x38]
mov eax, 0x3c
test edx, edx
jne 0x4cd992
jmp 0x4cdc23
cmp dword [ecx + 0x10], edi
jne 0x4cd912
push edi
push dword [esp + 0x1c]
push dword [ecx + 0xc]
mov dword [esp + 0x14], ecx
call sub.VCRUNTIME140.dll_memcmp
mov esi, dword [esp + 0x14]
add esp, 0xc
test eax, eax
jne 0x4cd912
xor eax, eax
cmp eax, dword [esi + 0x38]
jo 0x4cdc46
mov edx, dword [esi + 0x3c]
mov eax, 0x40
lea ecx, [esp + 0xa8]
mov dword [esp + 8], esi
push dword [esi + eax]
call fcn.004cf880
add esp, 4
movzx eax, byte [esp + 0xbb]
cmp al, 2
je 0x4cd912
test al, 1
jne 0x4cf05e
cmp dword [esp + 0x20], 0
sete al
test byte [esp + 0xb9], al
jne 0x4cd912
movzx ecx, byte [esp + 0xb8]
xor cl, 1
or al, cl
test al, 1
je 0x4cd912
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x74]
test esi, esi
je 0x4cdc1d
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x4cd90e
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xac]
mov edi, dword [edx + 0x78]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x38]
mov dword [esp + 0x40], 0
call fcn.004cfee0
mov eax, dword [esp + 0xac]
test eax, eax
sete cl
or cl, byte [esp + 0xa8]
test cl, 1
jne 0x4cd90e
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], edi
test edi, edi
mov edi, dword [esp + 4]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x5c], eax
mov dword [esp + 0xa4], 0
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edx
je 0x4cd912
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x9c]
call fcn.004cb970
test byte [esp + 0xa8], 1
jne 0x4cd912
mov eax, dword [esp + 0xb4]
or eax, dword [esp + 0xbc]
jne 0x4cd912
mov eax, dword [esp + 0xac]
test eax, eax
je 0x4cd912
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x38], eax
lea edx, [esp + 0x38]
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0xa8]
mov dword [esp + 0x40], 0
call fcn.004cfee0
test byte [esp + 0xa8], 1
jne 0x4cd912
mov eax, dword [esp + 0xac]
test eax, eax
je 0x4cd912
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], edx
jmp 0x4cdbf6
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x5c]
call fcn.004d0100
movzx eax, byte [esp + 0xa8]
cmp eax, 6
je 0x4cdc04
cmp eax, 3
jne 0x4cdbf3
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0x88]
jne 0x4cdb8b
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 4]
cmp eax, dword [esp + 0x60]
jne 0x4cdb41
jmp 0x4cdc04
mov esi, dword [esp + 0xac]
mov edi, dword [esp + 0xb0]
jmp 0x4cdbae
cmp eax, 5
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0x88]
je 0x4cdb7b
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x84]
call fcn.004d0100
movzx eax, byte [esp + 0xa8]
cmp eax, 6
je 0x4cdb7b
cmp eax, 3
jne 0x4cdb9b
cmp edi, dword [esp + 0xb0]
jne 0x4cdb9e
push edi
push dword [esp + 0xb0]
push esi
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x4cdb9e
jmp 0x4cdc1d
cmp eax, 5
mov eax, dword [esp + 0x64]
cmp eax, dword [esp + 0x60]
jne 0x4cdb41
mov eax, dword [esp + 0xa4]
cmp eax, dword [esp + 0xa0]
jne 0x4cda91
jmp 0x4cd912
neg dword [esp + 0xc]
jno 0x4cdc46
mov eax, 0x24
mov ecx, 0x1c
mov edx, 0x14
mov dword [esp + 0xc], 0x10
mov edi, 0x18
mov ebx, 0x20
jmp 0x4cdc67
mov eax, 0x34
mov ecx, 0x28
mov edx, 0x1c
mov edi, 0x24
mov ebx, 0x30
mov dword [esp + 0xc], 0x18
mov esi, dword [esp + 8]
mov eax, dword [esi + eax]
mov ebx, dword [esi + ebx]
mov ecx, dword [esi + ecx]
mov edi, dword [esi + edi]
mov edx, dword [esi + edx]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc]
mov esi, dword [esi + eax]
mov eax, dword [esp + 0x18]
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], edi
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], eax
push dword [ebp + 0x18]
lea eax, [esp + 0xac]
push eax
push dword [esp + 8]
push dword [esp + 0x1c]
call fcn.004cf6e0
add esp, 0x10
cmp al, 0x46
jne 0x4ce971
cmp byte [esp + 0x26], 0
mov ecx, dword [ebp + 0xc]
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
jne 0x4cdd11
mov edx, dword [esp + 8]
xor edi, edi
xor eax, eax
cmp edi, dword [edx + 8]
seto al
shl eax, 6
cmp ecx, dword [edx + eax]
mov ecx, dword [ebp + 0x10]
sbb ecx, dword [edx + eax + 4]
jae 0x4ceac0
mov eax, dword [esp + 0x54]
test eax, eax
je 0x4cddb9
mov ecx, dword [esp + 0x78]
lea edx, [esp + 0xa8]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], 0
lea ecx, [esp + 0x38]
push 3
call fcn.004cb520
add esp, 4
mov edx, dword [esp + 0x38]
test edx, edx
je 0x4cea95
mov esi, dword [esp + 0x3c]
xor edi, edi
mov al, 0x1a
test esi, esi
je 0x4ce92e
movzx ecx, byte [edx]
cmp cl, 7
ja 0x4ce92e
cmp esi, 1
sete ah
test cl, cl
setne ch
test ah, ch
jne 0x4ce92e
cmp esi, 1
je 0x4cf05e
mov ah, 0xff
shl ah, cl
test cl, cl
je 0x4cdda7
not ah
and ah, byte [edx + esi - 1]
jne 0x4ce92e
test byte [edx + 1], 2
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
je 0x4ceab9
mov edx, dword [esp + 8]
lea ecx, [esp + 0xa8]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
call fcn.004d03c0
add esp, 8
mov eax, dword [esp + 0xa8]
mov edi, dword [esp + 0x68]
mov ecx, eax
and cl, 3
cmp cl, 2
je 0x4cd828
cmp eax, 3
jne 0x4cea8c
movzx eax, byte [esp + 0xb0]
jmp 0x4cea9a
mov eax, dword [esp + 0x64]
cmp eax, dword [esp + 0x60]
jne 0x4cea1e
cmp dword [esp + 0x30], 0
mov ecx, dword [edx + 0x64]
mov eax, dword [edx + 0x68]
mov edx, dword [esp + 0x128]
je 0x4ce95a
test edx, edx
mov dword [esp + 0x30], edx
je 0x4cde54
cmp edx, 6
ja 0x4cf05e
dec edx
mov dword [esp + 0x128], edx
imul edx, edx, 0x7c
cmp dword [esi + edx], 0x80000001
je 0x4cf05e
add edx, esi
jmp 0x4cde66
mov edx, dword [esp + 0x130]
mov dword [esp + 0x128], 0
test ecx, ecx
je 0x4cde0f
test eax, eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], 0
mov dword [esp + 0x148], edx
je 0x4cdf28
xor edi, edi
cmp byte [ecx], 0xa0
mov ecx, 0
mov dword [esp + 0x98], 0
jne 0x4cdee4
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x5c]
push 0xa0
call fcn.004cb520
add esp, 4
mov eax, dword [esp + 0xa8]
test eax, eax
mov dword [esp + 0x98], eax
je 0x4cea52
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0x60]
cmp ecx, eax
jae 0x4cdf26
mov eax, dword [esp + 0x5c]
cmp byte [eax + ecx], 0xa1
jne 0x4cdf26
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x5c]
push 0xa1
call fcn.004cb520
add esp, 4
mov edi, dword [esp + 0xa8]
test edi, edi
je 0x4cea52
mov eax, dword [esp + 0xac]
mov dword [esp + 0x78], eax
jmp 0x4cdf35
jmp 0x4cdf35
mov dword [esp + 0x98], 0
xor edi, edi
mov eax, dword [esp + 8]
mov dword [esp + 4], edi
mov dword [esp], eax
mov eax, dword [esp + 0x30]
test eax, eax
mov dword [esp + 0x1c], eax
je 0x4cdf70
cmp eax, 6
ja 0x4cf05e
lea edx, [eax - 1]
imul ecx, edx, 0x7c
cmp dword [esi + ecx], 0x80000001
je 0x4cf05e
add ecx, esi
mov dword [esp + 0x54], edx
jmp 0x4cdf7f
mov ecx, dword [esp + 0x130]
mov dword [esp + 0x54], 0
mov edx, dword [ecx + 0x3c]
mov esi, dword [ecx + 0x40]
mov eax, dword [ecx + 0x6c]
mov ecx, dword [ecx + 0x70]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], 0
mov dword [esp + 0x38], edx
mov edx, dword [esp]
mov dword [esp + 0x3c], esi
mov ebx, edx
test eax, eax
mov dword [esp], edx
mov dword [esp + 0xc], ebx
je 0x4cdfc5
mov eax, dword [esp + 0x48]
cmp eax, dword [esp + 0x44]
jne 0x4cdfe1
mov dword [esp + 0x40], 0
cmp dword [esp + 0x38], 0
mov esi, dword [ebp + 8]
mov dword [esp + 0x38], 0
mov byte [esp + 0x18], 1
jne 0x4ce02e
jmp 0x4ce63b
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x40]
call fcn.004d0100
movzx ecx, byte [esp + 0xa8]
movzx eax, byte [esp + 0xa9]
mov esi, dword [ebp + 8]
cmp cl, 5
mov byte [esp + 0x18], cl
je 0x4ce65c
mov edx, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
mov byte [esp + 0x5b], al
mov dword [esp + 0x12c], edx
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x14c]
mov ecx, dword [esp + 0x78]
mov byte [esp + 0xa8], 0
mov esi, 1
xor ebx, ebx
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], edx
mov byte [esp + 0xb4], 1
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], ecx
lea ecx, [esp + 0xa8]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 2
movzx edx, byte [ecx]
cmp dl, 2
mov byte [esp + 0x20], dl
je 0x4ce5bb
mov edx, dword [ecx + 4]
test edx, edx
je 0x4ce0b0
mov eax, edx
mov edx, dword [ecx + 8]
mov ecx, esi
jmp 0x4ce0d0
test edi, edi
setne cl
xor bl, 1
test cl, bl
je 0x4ce5bb
mov edx, dword [esp + 0x78]
mov ecx, 2
mov eax, edi
mov byte [esp + 0x20], 1
mov esi, dword [ebp + 8]
test edx, edx
mov dword [esp + 0xc0], ecx
je 0x4ce5a4
cmp dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
mov al, 0x2e
je 0x4ce65c
mov eax, dword [esp + 0x10]
xor ebx, ebx
mov dword [esp + 8], edx
mov dword [esp + 0x150], ecx
mov dword [esp + 0x94], 0
mov dword [esp + 0x68], 0
mov edx, dword [esp + 0xc]
mov dword [esp], edx
dec edx
cmp ebx, dword [esp + 8]
mov ch, 0x1a
jae 0x4ce616
mov cl, byte [eax + ebx]
dec dword [esp]
mov eax, ecx
not al
test al, 0x1f
je 0x4ce613
lea eax, [ebx + 1]
cmp eax, dword [esp + 8]
jae 0x4ce613
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc], edx
lea edi, [ebx + 2]
movsx edx, byte [eax + ebx + 1]
test edx, edx
jns 0x4ce296
movzx eax, dl
add eax, 0xffffff7f
cmp eax, 3
ja 0x4ce60f
mov eax, dword [eax*4 + 0x4cf060]
mov edx, dword [esp + 8]
add eax, dword [esp + 0x28]
jmp eax
mov ebx, edi
add ebx, edx
jb 0x4ce60f
cmp cl, 0x30
jne 0x4ce60f
cmp ebx, dword [esp + 8]
ja 0x4ce60f
add edi, eax
lea ecx, [esp + 0x84]
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], edx
lea edx, [esp + 0x9c]
mov dword [esp + 0xa4], 0
call fcn.004d0100
movzx ecx, byte [esp + 0x84]
movzx edx, byte [esp + 0x85]
cmp cl, 5
je 0x4ce5c9
mov eax, dword [esp + 0xa4]
cmp eax, dword [esp + 0xa0]
jne 0x4ce60d
cmp byte [esp + 0x18], 4
ja 0x4ce35b
movzx esi, byte [esp + 0x18]
mov edi, dword [esp + 0x88]
mov eax, dword [esp + 0x8c]
mov esi, dword [esi*4 + 0x4cf070]
add esi, dword [esp + 0x28]
jmp esi
cmp ebx, dword [esp + 8]
je 0x4ce573
mov edx, dword [esp + 0xc]
mov esi, dword [ebp + 8]
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x10]
add edx, 0xffffffff
jb 0x4ce11f
jmp 0x4ce656
mov eax, dword [ebp + 0x18]
mov edx, dword [esp + 0xc]
mov edi, dword [esp + 4]
mov dword [eax + 8], edx
test byte [esp + 0x68], 1
mov ecx, dword [esp + 0x150]
je 0x4ce59d
test byte [esp + 0x94], 1
je 0x4ce672
mov dword [esp + 8], edx
mov dword [esp], edx
cmp ecx, 2
mov bl, 1
lea ecx, [esp + 0xb4]
mov esi, 2
jne 0x4ce090
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xc], eax
jmp 0x4ce5e1
mov ecx, dword [esp + 0xc]
mov eax, dword [ebp + 0x18]
mov dword [eax + 8], ecx
mov edi, dword [esp + 4]
cmp dl, 0x47
mov ebx, ecx
mov dword [esp], ecx
jne 0x4ce627
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x40]
mov dword [esp + 8], edx
mov edx, dword [esp]
test eax, eax
mov dword [esp], edx
mov dword [esp + 0xc], ebx
jne 0x4cdfb3
jmp 0x4cdfc5
mov ch, 0xc
mov edi, dword [esp + 4]
mov edx, dword [esp]
mov eax, dword [ebp + 0x18]
mov dword [esp], edx
mov dword [esp + 0xc], edx
mov dword [eax + 8], edx
mov al, ch
mov edx, eax
mov ecx, dword [esp + 0xc]
mov eax, edx
and al, 0x7e
cmp al, 0x46
mov dword [esp + 8], ecx
jne 0x4cea5a
cmp dword [esp + 0x1c], 0
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x148]
jne 0x4cdf44
jmp 0x4cde01
xor edx, edx
mov ch, 0x2e
jmp 0x4ce616
mov ecx, dword [esp + 8]
mov dword [esp + 0xc], ecx
jmp 0x4ce625
mov esi, dword [ebp + 8]
mov al, 0x32
mov dword [esp], edx
jmp 0x4ce625
movzx ecx, al
add ecx, 0xffffffd2
cmp ecx, 3
ja 0x4ce92c
mov edi, pe_nt_image_headers32
cmp ecx, 2
jne 0x4ce92e
jmp 0x4ce92c
test byte [esp + 0x27], 1
je 0x4ce7b2
test byte [esp + 0x17], 1
je 0x4ce70a
test edi, edi
je 0x4ce99c
imul eax, dword [esp + 0x30], 0x7c
mov ecx, dword [ebp + 8]
cmp dword [eax + ecx - 0x7c], 0x80000001
je 0x4cf05e
lea esi, [eax + ecx - 0x7c]
jmp 0x4ce9a5
test edi, edi
je 0x4ce731
cmp edi, 6
ja 0x4cf05e
mov eax, dword [ebp + 8]
lea ebx, [edi - 1]
imul esi, ebx, 0x7c
cmp dword [eax + esi], 0x80000001
je 0x4cf05e
add esi, eax
jmp 0x4ce73c
mov eax, dword [ebp + 8]
xor ebx, ebx
mov esi, dword [eax + 0x2e8]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
lea eax, [esi + 0x14]
push dword [ebp + 0x18]
push eax
push dword [esp + 8]
push dword [esp + 0x1c]
call fcn.004cf6e0
add esp, 0x10
cmp al, 0x46
jne 0x4ce915
mov eax, dword [esp + 4]
cmp dword [esi + 0x30], eax
jne 0x4cf05e
push eax
push dword [esp + 0xc]
push dword [esi + 0x2c]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x4cf05e
mov ecx, dword [esi + 0x48]
mov eax, dword [esi + 0x44]
mov edx, dword [esi + 0x3c]
test edi, edi
mov edi, ebx
mov dword [esp], ecx
mov ecx, dword [esi + 0x40]
mov dword [esp + 0x10], eax
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
jne 0x4ce70a
jmp 0x4cd7c3
test byte [esp + 0x17], 1
je 0x4ce871
mov edi, dword [esp + 0x30]
test edi, edi
je 0x4ce7e8
cmp edi, 6
ja 0x4cf05e
mov eax, dword [ebp + 8]
mov ebx, edi
dec edi
imul esi, edi, 0x7c
cmp dword [eax + esi], 0x80000001
je 0x4cf05e
add esi, eax
jmp 0x4ce7f5
mov eax, dword [ebp + 8]
mov ebx, edi
xor edi, edi
mov esi, dword [eax + 0x2e8]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
lea eax, [esi + 0x14]
push dword [ebp + 0x18]
push eax
push dword [esp + 8]
push dword [esp + 0x1c]
call fcn.004cf6e0
add esp, 0x10
cmp al, 0x46
jne 0x4ce915
mov eax, dword [esp + 4]
cmp dword [esi + 0x30], eax
jne 0x4cf05e
push eax
push dword [esp + 0xc]
push dword [esi + 0x2c]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x4cf05e
test ebx, ebx
je 0x4cea15
mov ecx, dword [esi + 0x48]
mov eax, dword [esi + 0x44]
mov edx, dword [esi + 0x3c]
mov dword [esp], ecx
mov ecx, dword [esi + 0x40]
mov dword [esp + 0x10], eax
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
test edi, edi
jne 0x4ce7c5
jmp 0x4ce7e8
test edi, edi
je 0x4ce898
cmp edi, 6
ja 0x4cf05e
mov eax, dword [ebp + 8]
lea ebx, [edi - 1]
imul esi, ebx, 0x7c
cmp dword [eax + esi], 0x80000001
je 0x4cf05e
add esi, eax
jmp 0x4ce8a3
mov eax, dword [ebp + 8]
xor ebx, ebx
mov esi, dword [eax + 0x2e8]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
lea eax, [esi + 0x14]
push dword [ebp + 0x18]
push eax
push dword [esp + 8]
push dword [esp + 0x1c]
call fcn.004cf6e0
add esp, 0x10
cmp al, 0x46
jne 0x4ce915
mov eax, dword [esp + 4]
cmp dword [esi + 0x30], eax
jne 0x4cf05e
push eax
push dword [esp + 0xc]
push dword [esi + 0x2c]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x4cf05e
mov ecx, dword [esi + 0x48]
mov eax, dword [esi + 0x44]
mov edx, dword [esi + 0x3c]
test edi, edi
mov edi, ebx
mov dword [esp], ecx
mov ecx, dword [esi + 0x40]
mov dword [esp + 0x10], eax
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
jne 0x4ce871
jmp 0x4cd7c3
movzx ecx, al
add ecx, 0xffffffd2
cmp ecx, 3
ja 0x4ce92c
cmp ecx, 2
je 0x4ce92c
mov edi, pe_nt_image_headers32
jmp 0x4ce92e
xor edi, edi
mov edx, dword [esp + 0x34]
mov esi, dword [ebp + 8]
movzx eax, al
shl eax, 0x10
and edx, 0xff000000
or edx, edi
lea edx, [eax + edx + 1]
movzx ecx, byte [esp + 0x15]
test dl, 1
jne 0x4cd6e4
jmp 0x4ceae7
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x6c]
and edx, 0xffffff00
mov dword [esp + 0x124], eax
jmp 0x4ce947
movzx ecx, al
cmp ecx, 0x29
je 0x4cea24
cmp ecx, 0x43
je 0x4cea28
cmp ecx, 0x45
jne 0x4cea2a
mov al, 0x44
jmp 0x4cea2a
xor edi, edi
mov al, 0x38
jmp 0x4ce92e
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x2e8]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
lea eax, [esi + 0x14]
push dword [ebp + 0x18]
push eax
push dword [esp + 8]
push dword [esp + 0x1c]
call fcn.004cf6e0
add esp, 0x10
movzx ecx, al
lea edx, [ecx - 0x2e]
cmp edx, 2
jb 0x4ce925
cmp ecx, 0x31
je 0x4ce925
xor edi, edi
cmp ecx, 0x46
jne 0x4ce92e
mov eax, dword [esp + 4]
cmp dword [esi + 0x30], eax
jne 0x4cf05e
push eax
push dword [esp + 0xc]
push dword [esi + 0x2c]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
mov ecx, eax
mov al, 0x38
test ecx, ecx
je 0x4ce92e
jmp 0x4cf05e
mov eax, dword [esp + 0x13c]
jmp 0x4cea9a
xor eax, eax
mov dl, 0x1a
jmp 0x4cea71
mov al, 0x28
jmp 0x4cea2a
mov al, 0x42
xor edi, edi
cmp al, 0x29
je 0x4cea4b
movzx ecx, al
cmp ecx, 0x45
je 0x4cea44
cmp ecx, 0x43
jne 0x4cea9a
mov al, 0x42
jmp 0x4ce92e
mov al, 0x44
jmp 0x4ce92e
mov al, 0x28
jmp 0x4ce92e
movzx edx, byte [esp + 0xac]
movzx ecx, dl
xor eax, eax
add ecx, 0xffffffd2
cmp ecx, 3
ja 0x4cea71
cmp ecx, 2
je 0x4cea71
mov eax, pe_nt_image_headers32
mov ecx, dword [esp + 0x34]
movzx edi, dl
shl edi, 0x10
and ecx, 0xff000000
or ecx, eax
lea edx, [edi + ecx + 1]
jmp 0x4ce947
xor edi, edi
mov al, 0x20
jmp 0x4ce92e
movzx eax, byte [esp + 0x3c]
movzx ecx, al
xor edi, edi
add ecx, 0xffffffd2
cmp ecx, 3
ja 0x4ce92e
cmp ecx, 2
jne 0x4ce925
jmp 0x4ce92e
mov al, 0x2a
jmp 0x4ce92e
mov al, 0x21
jmp 0x4ce92e
movzx edx, byte [esp + 0x3c]
jmp 0x4cd424
mov dl, 0x34
jmp 0x4cd424
mov dl, 0x34
xor eax, eax
jmp 0x4cd438
xor eax, eax
mov dl, 0x37
jmp 0x4ceb15
mov ecx, dword [esp + 0x124]
jmp 0x4cefff
mov ecx, dword [esp + 0x124]
jmp 0x4ceb1f
mov edx, ecx
movzx ecx, cl
xor eax, eax
add ecx, 0xffffffd2
cmp ecx, 3
ja 0x4ceb15
cmp ecx, 2
je 0x4ceb15
mov eax, pe_nt_image_headers32
movzx ecx, dl
shl ecx, 0x10
lea edx, [ecx + eax + 1]
test dl, 1
je 0x4cefff
test edx, 0x100
jne 0x4cf00e
mov ecx, dword [esp + 0x80]
shr edx, 0x10
mov dword [esp + 0x34], edx
mov eax, dword [ecx + 0x2c]
test eax, eax
je 0x4cf01c
cmp dword [esp + 0x2c], 1
mov edi, dword [ecx + 0x28]
lea eax, [eax + eax*2]
sbb dword [esp + 0x134], 0xffffffff
lea ebx, [edi + eax*4]
mov dword [esp + 0x1c], ebx
mov edx, dword [edi + 4]
lea ecx, [esp + 0xa8]
push dword [edi + 8]
call fcn.004cbe70
add esp, 4
mov ecx, dword [esp + 0xa8]
movzx eax, byte [esp + 0xac]
cmp ecx, 0x80000001
jne 0x4cebc1
mov edx, eax
xor ecx, ecx
add dl, 0xd2
cmp dl, 4
jae 0x4ceba9
movzx ecx, dl
mov ecx, dword [ecx*4 + 0xfd176c]
mov edx, dword [esp + 0x28]
shl eax, 0x10
and edx, 0xff000000
or edx, ecx
lea edx, [eax + edx + 1]
jmp 0x4ced63
lea ebx, [esp + 0xb0]
mov dword [esp], ecx
movzx ecx, byte [esp + 0xaf]
movsd xmm1, qword [ebx + 8]
movsd xmm2, qword [ebx + 0x10]
mov edx, dword [ebx + 0x30]
movsd xmm0, qword [ebx]
mov dword [esp + 8], ecx
movzx ecx, word [esp + 0xad]
movsd qword [esp + 0x160], xmm1
movsd xmm1, qword [ebx + 0x18]
movsd qword [esp + 0x168], xmm2
movsd xmm2, qword [ebx + 0x20]
mov dword [esp + 0x188], edx
mov edx, dword [esp + 0xe4]
movsd qword [esp + 0x158], xmm0
movsd qword [esp + 0x170], xmm1
movsd xmm1, qword [ebx + 0x28]
movsd qword [esp + 0x178], xmm2
movsd xmm2, qword [ebx + 0x6c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xe8]
movsd qword [esp + 0x180], xmm1
movsd xmm1, qword [ebx + 0x64]
movsd qword [esp + 0x1b8], xmm2
movsd xmm2, qword [ebx + 0x5c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xec]
movsd qword [esp + 0x1b0], xmm1
movsd xmm1, qword [ebx + 0x54]
movsd qword [esp + 0x1a8], xmm2
movsd xmm2, qword [ebx + 0x44]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0xf0]
movsd qword [esp + 0x1a0], xmm1
movsd xmm1, qword [ebx + 0x4c]
mov ebx, dword [esi + 0x2ec]
movsd qword [esp + 0x190], xmm2
mov dword [esp + 0x2c], edx
test ebx, ebx
movsd qword [esp + 0x198], xmm1
mov dword [esp + 0x20], ebx
je 0x4cecea
cmp ebx, 6
ja 0x4cf05e
imul edx, ebx, 0x7c
cmp dword [edx + esi - 0x7c], 0x80000001
je 0x4cf05e
lea edx, [edx + esi - 0x7c]
jmp 0x4cecf0
mov edx, dword [esi + 0x2e8]
mov ebx, dword [esp + 8]
shl ecx, 8
mov dword [esp + 0x7c], 0x370001
mov dword [esp + 0x18], edi
shl ebx, 0x18
or ebx, ecx
or ebx, eax
mov eax, dword [esp + 0xc]
mov dword [esp + 8], ebx
cmp eax, dword [edx + 0x30]
jne 0x4ced2b
push eax
push dword [edx + 0x2c]
push dword [esp + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x4ced9f
mov edx, dword [esp + 0x28]
and edx, 0xff000000
add edx, dword [esp + 0x7c]
test dword [esp], 0x7fffffff
je 0x4ced58
push dword [esp + 8]
push 0
push dword [0xfd5200]
mov esi, edx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edx, esi
mov esi, dword [ebp + 8]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
test dl, 1
je 0x4cf04a
test edx, 0x100
jne 0x4cf054
mov dword [esp + 0x28], edx
shr edx, 0x10
movzx ecx, al
add edi, 0xc
call fcn.004d0f60
cmp edi, ebx
mov dword [esp + 0x34], eax
jne 0x4ceb67
jmp 0x4cf01c
mov edi, dword [esp + 0x20]
test edi, edi
je 0x4cedb8
imul eax, edi, 0x7c
cmp dword [eax + esi - 0x7c], 0x80000001
je 0x4cf05e
mov eax, dword [esi + 0x2e8]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x6c], eax
jmp 0x4cedd2
test edi, edi
mov edi, esi
je 0x4cee4d
test edi, edi
je 0x4cedf0
mov eax, dword [ebp + 8]
lea esi, [edi - 1]
imul ebx, esi, 0x7c
cmp dword [eax + ebx], 0x80000001
je 0x4cf05e
add ebx, eax
jmp 0x4cedf6
mov ebx, dword [esp + 0x6c]
xor esi, esi
cmp ecx, dword [ebx + 0x48]
jne 0x4cedcc
push ecx
push dword [ebx + 0x44]
push dword [esp + 0x18]
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
add esp, 0xc
test eax, eax
jne 0x4cedcc
mov eax, dword [esp + 0xc]
cmp eax, dword [ebx + 0x40]
jne 0x4cedcc
push dword [esp + 0xc]
push dword [ebx + 0x3c]
push dword [esp + 0xc]
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
add esp, 0xc
test edi, edi
je 0x4cee45
test eax, eax
mov edi, esi
jne 0x4cedd2
test eax, eax
je 0x4ced2f
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 4]
test eax, eax
je 0x4cee95
dec eax
mov ecx, dword [ebp + 0x18]
cmp dword [esp + 0x20], 6
mov dword [ecx + 4], eax
jb 0x4ceea2
test dword [esp], 0x7fffffff
je 0x4cee80
push dword [esp + 8]
push 0
push dword [0xfd5200]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edx, dword [esp + 0x28]
and edx, 0xff000000
or edx, 0x300001
jmp 0x4ced58
mov dword [esp + 0x7c], 0x2f0101
jmp 0x4ced2f
imul eax, dword [esp + 0x20], 0x7c
mov ecx, dword [ebp + 8]
lea ebx, [ecx + eax]
mov eax, dword [ecx + eax]
cmp eax, 0x80000002
jl 0x4ceecc
test eax, eax
je 0x4ceecc
push dword [ebx + 4]
push 0
push dword [0xfd5200]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esp]
movsd xmm0, qword [esp + 0x158]
movsd xmm1, qword [esp + 0x160]
movsd xmm2, qword [esp + 0x1a0]
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0xa8]
mov dword [ebx], eax
mov eax, dword [esp + 8]
mov dword [ebx + 4], eax
movsd qword [ebx + 8], xmm0
movsd xmm0, qword [esp + 0x168]
mov eax, dword [esp + 0x188]
movsd qword [ebx + 0x10], xmm1
movsd xmm1, qword [esp + 0x198]
movsd qword [ebx + 0x18], xmm0
movsd xmm0, qword [esp + 0x170]
mov dword [ebx + 0x38], eax
mov eax, dword [esp + 4]
movsd qword [ebx + 0x20], xmm0
movsd xmm0, qword [esp + 0x178]
movsd qword [ebx + 0x28], xmm0
movsd xmm0, qword [esp + 0x180]
movsd qword [ebx + 0x30], xmm0
mov dword [ebx + 0x3c], eax
mov eax, dword [esp + 0xc]
movsd xmm0, qword [esp + 0x190]
mov dword [ebx + 0x40], eax
mov eax, dword [esp + 0x10]
mov dword [ebx + 0x44], eax
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x48], eax
movsd qword [ebx + 0x54], xmm1
movsd xmm1, qword [esp + 0x1a8]
movsd qword [ebx + 0x5c], xmm2
movsd xmm2, qword [esp + 0x1b0]
mov eax, dword [ebp + 8]
movsd qword [ebx + 0x4c], xmm0
movsd qword [ebx + 0x64], xmm1
movsd xmm1, qword [esp + 0x1b8]
movsd qword [ebx + 0x6c], xmm2
movsd qword [ebx + 0x74], xmm1
inc dword [eax + 0x2ec]
push dword [ebp + 0x18]
push dword [esp + 0x138]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push eax
call fcn.004cd240
add esp, 0x14
cmp byte [esp + 0xa8], 1
jne 0x4cefe8
mov ecx, dword [ebp + 8]
call fcn.004d0fa0
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0xac]
mov dword [esp + 0x54], eax
jmp 0x4ced58
mov eax, dword [esp + 0x70]
mov dword [eax + 4], ecx
mov byte [eax], 0
jmp 0x4cd445
mov eax, dword [esp + 0x70]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp 0x4cd445
mov ebx, dword [esp + 0x34]
mov edx, 0x1000101
mov eax, ebx
add al, 0xd2
movzx ecx, al
shl ecx, 3
shr edx, cl
xor ecx, ecx
cmp al, 4
cmovb ecx, edx
mov edx, dword [esp + 0x70]
mov byte [edx + 1], cl
mov byte [edx + 2], bl
mov byte [edx], 1
jmp 0x4cd445
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x54]
jmp 0x4cf003
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x54]
jmp 0x4cf012
ud2