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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x160
mov edi, dword [ebp + 8]
mov ebx, edx
call 0x4e2c24
pop eax
test bl, bl
mov dword [esp + 0x1c], eax
je 0x4e2efa
mov dword [esp + 0x78], ecx
mov ecx, dword [edi + 8]
mov dword [esp + 0x7c], ecx
add ecx, 0x40
call fcn.00475195
cmp bl, 1
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], 0
je 0x4e2f06
movzx eax, bl
cmp eax, 2
jne 0x4e3192
xor edx, edx
mov ecx, 0x8000
inc edx
call fcn.0041d1cf
lea esi, [esp + 0xe0]
mov ecx, esi
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 8], 0x8000
call fcn.004c29a0
mov eax, dword [esi + 8]
mov ebx, dword [esi]
xor edx, edx
lea esi, [esp + 0x108]
mov ecx, esi
inc edx
mov dword [esp + 4], eax
call fcn.004546b4
mov eax, dword [esp + 4]
mov dword [esi - 0x28], ebx
movsd xmm0, qword [edi]
mov ecx, 0x10
mov dword [esi - 0x24], eax
xor eax, eax
mov dword [esi - 0x1c], eax
mov dword [esi - 0x20], eax
mov eax, dword [edi + 8]
movsd qword [esi - 0x18], xmm0
lea edi, [esp + 0x80]
mov dword [esi - 0x10], eax
xor eax, eax
mov dword [esi - 8], eax
mov dword [esi - 4], eax
lea esi, [esp + 0xe0]
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x38]
mov ebx, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x24], ecx
cmp eax, ebx
je 0x4e2dde
mov dword [esp + 4], ebx
sub ebx, eax
mov edx, eax
mov eax, ebx
sub eax, ecx
jb 0x4e37d9
mov esi, dword [esp + 8]
mov dword [esp + 0x14], edx
add esi, edx
add ecx, esi
push eax
push 0
push ecx
call sub.msvcrt.dll_memset
add esp, 0xc
lea edx, [esp + 0x80]
lea ecx, [esp + 0xe0]
push ebx
push esi
lea eax, [esp + 0xb0]
push eax
call fcn.004e1cba
add esp, 0xc
movzx edx, byte [esp + 0xe0]
cmp edx, 4
je 0x4e2dff
mov ecx, dword [edx*4 + 0x4e3810]
mov bl, byte [esp + 0xe1]
movzx edi, word [esp + 0xe2]
mov esi, dword [esp + 0xe4]
add ecx, dword [esp + 0x1c]
mov eax, ebx
jmp ecx
mov esi, ecx
lea ecx, [esp + 8]
mov edx, ebx
push 0x20
call fcn.004750d5
mov ecx, esi
add esp, 4
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
jmp 0x4e2d02
mov eax, dword [esp + 0xe4]
cmp ebx, eax
mov ecx, eax
cmova ecx, ebx
test eax, eax
je 0x4e35cf
cmp ebx, eax
jb 0x4e37ed
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 4]
sub ecx, eax
add edx, eax
mov eax, edx
cmp edx, ebx
mov dword [esp + 0x10], edx
jne 0x4e2cf6
cmp ebx, dword [esp + 0x18]
jne 0x4e2cf6
xorps xmm0, xmm0
mov esi, ecx
movaps xmmword [esp + 0xf0], xmm0
movaps xmmword [esp + 0xe0], xmm0
mov ecx, edi
lea edx, [esp + 0x80]
push 0x20
lea eax, [esp + 0xe4]
push eax
lea eax, [esp + 0xb0]
push eax
call fcn.004e1cba
add esp, 0xc
movzx eax, byte [esp + 0x38]
cmp eax, 4
je 0x4e2ebb
mov eax, dword [eax*4 + 0x4e3820]
add eax, dword [esp + 0x1c]
jmp eax
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x4e35cf
cmp ecx, 0x21
jae 0x4e3801
lea eax, [esp + ecx + 0xe0]
lea ecx, [esp + 8]
lea edx, [esp + 0xe0]
push eax
call fcn.004ba2b7
add esp, 4
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ecx, esi
jmp 0x4e2cf6
mov eax, dword [edi + 8]
movsd xmm0, qword [edi]
jmp 0x4e3704
xor edx, edx
mov ecx, 0x8000
inc edx
call fcn.0041d1cf
lea esi, [esp + 0xe0]
mov ecx, esi
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 8], 0x8000
call fcn.004c29a0
mov eax, dword [esi + 8]
mov ebx, dword [esi]
lea esi, [esp + 0x108]
xor edx, edx
mov ecx, esi
mov dword [esp + 4], eax
call fcn.004546b4
mov ecx, dword [esp + 4]
xor eax, eax
mov dword [esi - 0x28], ebx
movsd xmm0, qword [edi]
mov dword [esi - 0x24], ecx
mov dword [esi - 0x1c], eax
mov dword [esi - 0x20], eax
mov eax, dword [edi + 8]
movsd qword [esi - 0x18], xmm0
lea edi, [esp + 0x80]
mov ecx, 0x10
mov dword [esi - 0x10], eax
xor eax, eax
mov dword [esi - 8], eax
mov dword [esi - 4], eax
lea esi, [esp + 0xe0]
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x38]
mov ebx, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x24], ecx
cmp eax, ebx
je 0x4e3076
mov dword [esp + 4], ebx
sub ebx, eax
mov edx, eax
mov eax, ebx
sub eax, ecx
jb 0x4e37d9
mov esi, dword [esp + 8]
mov dword [esp + 0x14], edx
add esi, edx
add ecx, esi
push eax
push 0
push ecx
call sub.msvcrt.dll_memset
add esp, 0xc
lea edx, [esp + 0x80]
lea ecx, [esp + 0xe0]
push ebx
push esi
lea eax, [esp + 0xb0]
push eax
call fcn.004e1cba
add esp, 0xc
movzx edx, byte [esp + 0xe0]
cmp edx, 4
je 0x4e3097
mov ecx, dword [edx*4 + 0x4e3830]
mov bl, byte [esp + 0xe1]
movzx edi, word [esp + 0xe2]
mov esi, dword [esp + 0xe4]
add ecx, dword [esp + 0x1c]
mov eax, ebx
jmp ecx
mov esi, ecx
lea ecx, [esp + 8]
mov edx, ebx
push 0x20
call fcn.004750d5
mov ecx, esi
add esp, 4
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
jmp 0x4e2f9a
mov eax, dword [esp + 0xe4]
cmp ebx, eax
mov ecx, eax
cmova ecx, ebx
test eax, eax
je 0x4e35cf
cmp ebx, eax
jb 0x4e37ed
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 4]
sub ecx, eax
add edx, eax
mov eax, edx
cmp edx, ebx
mov dword [esp + 0x10], edx
jne 0x4e2f8e
cmp ebx, dword [esp + 0x18]
jne 0x4e2f8e
xorps xmm0, xmm0
mov esi, ecx
movaps xmmword [esp + 0xf0], xmm0
movaps xmmword [esp + 0xe0], xmm0
mov ecx, edi
lea edx, [esp + 0x80]
push 0x20
lea eax, [esp + 0xe4]
push eax
lea eax, [esp + 0xb0]
push eax
call fcn.004e1cba
add esp, 0xc
movzx eax, byte [esp + 0x38]
cmp eax, 4
je 0x4e3153
mov eax, dword [eax*4 + 0x4e3840]
add eax, dword [esp + 0x1c]
jmp eax
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x4e35cf
cmp ecx, 0x21
jae 0x4e3801
lea eax, [esp + ecx + 0xe0]
lea ecx, [esp + 8]
lea edx, [esp + 0xe0]
push eax
call fcn.004ba2b7
add esp, 4
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ecx, esi
jmp 0x4e2f8e
mov eax, dword [edi + 8]
movsd xmm0, qword [edi]
xor edi, edi
mov ecx, 0x8000
inc edi
mov edx, edi
mov dword [esp + 0x30], eax
movsd qword [esp + 0x28], xmm0
call fcn.0041d1cf
lea esi, [esp + 0xe0]
mov ecx, esi
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 8], 0x8000
call fcn.004c29a0
mov eax, dword [esi]
mov ebx, dword [esi + 8]
mov ecx, 0xa
mov edx, edi
mov dword [esp + 4], eax
call fcn.0046a9ee
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], 0xa
mov byte [eax], 0x1f
mov edx, dword [esp + 0x88]
cmp edx, 1
jbe 0x4e3767
mov eax, dword [esp + 0x80]
cmp edx, 2
mov byte [eax + 1], 0x8b
je 0x4e3771
cmp edx, 3
mov byte [eax + 2], 8
jbe 0x4e377d
cmp edx, 4
mov byte [eax + 3], 0
je 0x4e3789
cmp edx, 5
mov byte [eax + 4], 0
jbe 0x4e3795
cmp edx, 6
mov byte [eax + 5], 0
je 0x4e37a1
cmp edx, 7
mov byte [eax + 6], 0
jbe 0x4e37ad
cmp edx, 8
mov byte [eax + 7], 0
je 0x4e37b9
cmp edx, 9
mov byte [eax + 8], 0
jbe 0x4e37c5
mov byte [eax + 9], 0xff
lea edi, [esp + 0xc0]
lea ecx, [esp + 0x138]
lea esi, [esp + 0x38]
mov eax, dword [edi - 0x38]
movsd xmm0, qword [edi - 0x40]
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
mov ecx, esi
call fcn.0045456a
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x30]
movsd xmm0, qword [esp + 0x28]
xor edx, edx
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ebx
xor ebx, ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x30], ecx
mov ecx, edi
movsd qword [esi + 0x28], xmm0
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3c], ebx
call fcn.004546b4
lea eax, [esp + 0x80]
mov ecx, 0x10
lea edx, [esp + 0xe0]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, eax
mov ecx, 0x16
mov edi, edx
lea eax, [esp + 8]
rep movsd dword es:[edi], dword [esi]
mov dword [edx + 0x64], ebx
mov byte [edx + 0x68], 0
mov esi, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x24], ebx
mov ecx, dword [esp + 4]
cmp ecx, esi
je 0x4e33f1
mov dword [esp + 0x14], esi
sub esi, ecx
mov eax, esi
sub eax, ebx
jb 0x4e37dd
mov edi, dword [esp + 8]
mov dword [esp + 4], ecx
add edi, ecx
lea ecx, [edi + ebx]
push eax
push 0
push ecx
call sub.msvcrt.dll_memset
add esp, 0xc
lea ecx, [esp + 0x80]
lea edx, [esp + 0xe0]
push esi
push edi
call fcn.004e1a36
add esp, 8
movzx ebx, byte [esp + 0x80]
cmp ebx, 4
je 0x4e340e
mov ecx, dword [ebx*4 + 0x4e3850]
mov dl, byte [esp + 0x81]
movzx edi, word [esp + 0x82]
mov esi, dword [esp + 0x84]
add ecx, dword [esp + 0x1c]
mov eax, edx
jmp ecx
lea ecx, [esp + 8]
mov edx, esi
push 0x20
call fcn.004750d5
add esp, 4
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
jmp 0x4e3326
mov eax, dword [esp + 0x84]
cmp esi, eax
mov ebx, eax
cmova ebx, esi
test eax, eax
je 0x4e365a
cmp esi, eax
jb 0x4e37f1
mov ecx, dword [esp + 4]
mov esi, dword [esp + 0x14]
sub ebx, eax
add ecx, eax
cmp ecx, esi
mov dword [esp + 0x10], ecx
mov dword [esp + 4], ecx
jne 0x4e3316
cmp esi, dword [esp + 0x18]
jne 0x4e3316
xorps xmm0, xmm0
lea esi, [esp + 0x38]
movaps xmmword [esp + 0x90], xmm0
movaps xmmword [esp + 0x80], xmm0
mov ecx, esi
lea edx, [esp + 0xe0]
push 0x20
lea eax, [esp + 0x84]
push eax
call fcn.004e1a36
add esp, 8
movzx eax, byte [esp + 0x38]
cmp eax, 4
je 0x4e34c6
mov eax, dword [eax*4 + 0x4e3860]
add eax, dword [esp + 0x1c]
jmp eax
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x4e365a
cmp ecx, 0x21
jae 0x4e3801
lea eax, [esp + ecx + 0x80]
lea ecx, [esp + 8]
lea edx, [esp + 0x80]
push eax
call fcn.004ba2b7
add esp, 4
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
mov dword [esp + 4], eax
jmp 0x4e3316
lea ecx, [esp + 0x80]
call fcn.004d8570
lea ecx, [esp + 0xa8]
call fcn.004e3870
jmp 0x4e368e
lea ecx, [esp + 0xf8]
call fcn.004d8570
lea esi, [esp + 0x120]
mov ecx, esi
call fcn.004e3870
cmp dword [esi + 0x1c], 0
je 0x4e368e
push dword [esp + 0x138]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov eax, dword [0x5c91e4]
cmp eax, 3
jbe 0x4e36f6
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x38]
lea edi, [esp + 0x7c]
lea edx, [esp + 0x80]
mov esi, fcn.004444a0
mov dword [edx], edi
mov dword [edx + 4], esi
mov dword [edx + 8], ecx
mov dword [edx + 0xc], esi
mov dword [ecx], eax
lea ecx, [esp + 0xe0]
mov dword [ecx], str.Compressed
mov dword [ecx + 4], 3
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], 2
mov dword [ecx + 0x10], 0
mov edx, 4
push 0x7e
push 0x5997f8
call fcn.0046a714
add esp, 8
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x78]
movsd xmm0, qword [esp + 8]
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
inc ecx
push 0x55392c
jmp 0x4e37cf
mov ecx, 2
push 0x55393c
jmp 0x4e37cf
mov ecx, 3
push 0x55394c
jmp 0x4e37cf
mov ecx, 4
push 0x55395c
jmp 0x4e37cf
mov ecx, 5
push 0x55396c
jmp 0x4e37cf
mov ecx, 6
push 0x55397c
jmp 0x4e37cf
mov ecx, 7
push 0x55398c
jmp 0x4e37cf
mov ecx, 8
push 0x55399c
jmp 0x4e37cf
mov ecx, 9
push 0x5539ac
call fcn.00444440
add esp, 4
ud2
mov edx, ebx
jmp 0x4e37e1
mov ecx, ebx
mov edx, esi
push 0x5a306c
call fcn.00444cf0
jmp 0x4e37d4
mov edx, ebx
jmp 0x4e37f5
mov ecx, ebx
mov edx, esi
push 0x5a2f5c
call fcn.00445020
jmp 0x4e37d4
mov edx, 0x20
push 0x5a2f7c
jmp 0x4e37fa