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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xd4
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x34]
push ebx
push esi
push edi
push 0
push 0x526be0
push 0x526eb0
mov dword [esp + 0x44], eax
lea eax, [esp + 0x6c]
push 0
push ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0xdc], 5
call sub.VCRUNTIME140.dll___RTDynamicCast
add esp, 0x14
test eax, eax
je 0x4d1f50
mov eax, dword [eax + 0x30]
mov dword [ebp + 8], eax
jmp 0x4d1f53
mov eax, dword [ebp + 8]
push 0
push 0x526e58
push 0x526eb0
push 0
push eax
call sub.VCRUNTIME140.dll___RTDynamicCast
mov edi, dword [ebp + 0xc]
mov ebx, eax
mov eax, dword [ebp + 8]
add esp, 0x14
mov ecx, eax
mov esi, str.Object
mov edx, dword [eax]
call dword [edx + 0x20]
nop
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4d1fa6
test cx, cx
je 0x4d1fa2
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4d1fa6
add eax, 4
add esi, 4
test cx, cx
jne 0x4d1f80
xor eax, eax
jmp 0x4d1fab
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d1fc3
cmp byte [ebx + 0x28], al
mov ecx, edi
mov ebx, dword [ebp + 8]
sete al
add al, 0xf2
mov byte [ecx], al
jmp 0x4d22d6
mov ecx, dword [ebp + 8]
mov esi, str.Array
mov eax, dword [ecx]
call dword [eax + 0x20]
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4d1ff6
test cx, cx
je 0x4d1ff2
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4d1ff6
add eax, 4
add esi, 4
test cx, cx
jne 0x4d1fd0
xor eax, eax
jmp 0x4d1ffb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d2013
cmp byte [ebx + 0x28], al
mov ecx, edi
mov ebx, dword [ebp + 8]
sete al
add al, 0xf0
mov byte [ecx], al
jmp 0x4d22d6
mov ecx, dword [ebp + 8]
mov esi, 0x5067ac
mov eax, dword [ecx]
call dword [eax + 0x20]
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4d2046
test cx, cx
je 0x4d2042
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4d2046
add eax, 4
add esi, 4
test cx, cx
jne 0x4d2020
xor eax, eax
jmp 0x4d204b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d2063
cmp byte [ebx + 0x28], al
mov ecx, edi
mov ebx, dword [ebp + 8]
sete al
add al, 0xee
mov byte [ecx], al
jmp 0x4d22d6
mov ebx, dword [ebp + 8]
mov esi, str.Struct
mov ecx, ebx
mov eax, dword [ebx]
call dword [eax + 0x20]
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4d2098
test cx, cx
je 0x4d2094
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4d2098
add eax, 4
add esi, 4
test cx, cx
jne 0x4d2072
xor eax, eax
jmp 0x4d209d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d20ab
mov eax, edi
mov byte [eax], 0xee
jmp 0x4d22d6
mov eax, dword [ebx]
mov ecx, ebx
mov esi, str.Buffer
call dword [eax + 0x20]
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4d20dd
test cx, cx
je 0x4d20d9
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4d20dd
add eax, 4
add esi, 4
test cx, cx
jne 0x4d20b7
xor eax, eax
jmp 0x4d20e2
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d217d
push 0x4f5b70
lea ecx, [esp + 0x14]
mov dword [esp + 0xc4], ebx
call fcn.004d13c0
mov eax, dword [ebx]
lea ecx, [esp + 0xc0]
push 0
push 0
push ecx
push str.size
push 0
lea ecx, [esp + 0x24]
push ecx
mov ecx, ebx
call dword [eax + 0x1c]
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x10]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
push 0x4f5b70
mov byte [eax], 0xed
call fcn.004d13c0
mov eax, dword [ebx]
lea ecx, [esp + 0xc0]
push 0
push 0
push ecx
push 0x506ab8
push 0
lea ecx, [esp + 0x24]
push ecx
mov ecx, ebx
call dword [eax + 0x1c]
mov eax, dword [ebp + 0xc]
push edi
push dword [esp + 0x14]
add eax, 9
push eax
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp + 0xc]
add esp, 0xc
mov dword [eax + 1], edi
add edi, eax
mov dword [eax + 5], esi
jmp 0x4d22d6
mov eax, dword [ebx]
mov ecx, ebx
mov esi, str.ComValue
call dword [eax + 0x20]
nop dword [eax]
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4d21b6
test cx, cx
je 0x4d21b2
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4d21b6
add eax, 4
add esi, 4
test cx, cx
jne 0x4d2190
xor eax, eax
jmp 0x4d21bb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d2294
push eax
push 0x526f48
push 0x526eb0
push eax
push ebx
call sub.VCRUNTIME140.dll___RTDynamicCast
mov ebx, eax
add esp, 0x14
test ebx, ebx
je 0x4d21ec
movzx eax, word [ebx + 0x14]
cmp eax, 9
jb 0x4d2229
cmp eax, 0x18
jb 0x4d2229
mov ecx, dword fs:[0x2c]
mov esi, dword [0x62271c]
mov eax, dword [ecx + esi*4]
cmp byte [eax + 0x2198], 0
jne 0x4d2211
call fcn.004ebad3
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + esi*4]
push str.Only_following_values_are_supported_VT_EMPTY_NULL_BOOL_I2_I4_R4_R8_CY_DATE_BSTR_I1_UI1_UI2_UI4_I8_UI8_INT_UINT
push str.Type_mismatch.
mov ecx, dword [ecx + 0x298]
call fcn.0046cf30
mov ecx, edi
lea edi, [ecx + 9]
mov byte [ecx], 0xec
lea edx, [ecx + 0xa]
mov al, byte [ebx + 0x14]
mov byte [edi], al
cmp word [ebx + 0x14], 8
jne 0x4d2276
push dword [ebx + 8]
call dword [sym.imp.OLEAUT32.dll_SysAllocStringByteLen]
mov edi, dword [ebp + 0xc]
xor ecx, ecx
lea esi, [eax + 2]
mov eax, esi
add eax, 1
mov dword [edi + 1], eax
lea eax, [edi + 0xa]
adc ecx, ecx
push esi
mov dword [edi + 5], ecx
push dword [ebx + 8]
push eax
call sub.VCRUNTIME140.dll_memmove
mov ebx, dword [ebp + 8]
inc edi
add esp, 0xc
add edi, esi
jmp 0x4d22d6
mov dword [ecx + 1], 9
mov dword [ecx + 5], 0
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
mov ebx, dword [ebp + 8]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x4d22d6
mov ecx, dword fs:[0x2c]
mov esi, dword [0x62271c]
mov eax, dword [ecx + esi*4]
cmp byte [eax + 0x2198], 0
jne 0x4d22b9
call fcn.004ebad3
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + esi*4]
mov ecx, ebx
mov esi, dword [eax + 0x298]
mov eax, dword [ebx]
call dword [eax + 0x20]
push eax
push str.Type_mismatch.
mov ecx, esi
call fcn.0046cf30
mov ecx, dword fs:[0x2c]
add edi, 9
mov esi, dword [0x62271c]
mov eax, dword [ecx + esi*4]
cmp byte [eax + 0x2198], 0
jne 0x4d22fe
call fcn.004ebad3
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + esi*4]
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0x1000102
cmp byte [eax + 0x2198], 0
mov dword [esp + 0x9c], 0x4f5b70
mov dword [esp + 0x8c], 0x4f5b70
jne 0x4d2346
call fcn.004ebad3
push 1
lea ecx, [esp + 0x3c]
mov dword [esp + 0x44], ebx
mov ebx, dword [ebp + 0x10]
push ecx
lea ecx, [esp + 0xc8]
mov dword [esp + 0xb4], 0
push ecx
mov eax, dword [ebx]
lea ecx, [esp + 0x1c]
push 0x50616c
push 2
push ecx
mov ecx, ebx
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0x1000102
mov dword [esp + 0xd0], 0x4f5b70
mov dword [esp + 0xc0], 0x4f5b70
mov dword [esp + 0x60], 5
mov dword [esp + 0xd8], ebx
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], 0x4f5b70
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x38], 0x4f5b70
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], 1
call dword [eax + 0x1c]
mov eax, dword [esp + 0x10]
or eax, dword [esp + 0x14]
jne 0x4d245a
mov ecx, dword [ebp + 0x14]
push 2
mov dword [esp + 0x6c], 1
mov dword [esp + 0x68], 0
mov eax, dword [ecx]
mov dword [esp + 0x64], eax
inc eax
mov dword [ecx], eax
lea ecx, [esp + 0x3c]
mov eax, dword [ebx]
push ecx
lea ecx, [esp + 0xc8]
mov dword [esp + 0x20], 0
push ecx
push 0
push 1
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], 0x4f5b70
push ecx
mov ecx, ebx
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x38], 0x4f5b70
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], 1
call dword [eax + 0x1c]
mov ecx, dword [ebp + 8]
mov esi, str.ComValue
mov eax, dword [ecx]
call dword [eax + 0x20]
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4d248d
test cx, cx
je 0x4d2489
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4d248d
add eax, 4
add esi, 4
test cx, cx
jne 0x4d2467
xor eax, eax
jmp 0x4d2492
sbb eax, eax
or eax, 1
test eax, eax
je 0x4d2f80
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x84]
mov dword [esp + 0x40], eax
mov esi, str.Buffer
lea eax, [esp + 0xa0]
mov dword [esp + 0x48], 4
mov dword [esp + 0x54], 0
mov dword [esp + 0x44], 2
mov dword [esp + 0x68], 4
mov dword [esp + 0x60], eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x64], 2
mov eax, dword [ecx]
call dword [eax + 0x20]
nop dword [eax]
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4d2516
test cx, cx
je 0x4d2512
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4d2516
add eax, 4
add esi, 4
test cx, cx
jne 0x4d24f0
xor eax, eax
jmp 0x4d251b
sbb eax, eax
or eax, 1
test eax, eax
je 0x4d2ac0
mov ecx, dword [ebp + 8]
mov esi, str.Object
mov eax, dword [ecx]
call dword [eax + 0x20]
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4d2556
test cx, cx
je 0x4d2552
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4d2556
add eax, 4
add esi, 4
test cx, cx
jne 0x4d2530
xor eax, eax
jmp 0x4d255b
sbb eax, eax
or eax, 1
test eax, eax
je 0x4d2ac0
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x10]
push 0
push 2
push eax
lea eax, [esp + 0x40]
mov dword [esp + 0x1c], ecx
push eax
mov dword [esp + 0x28], 5
call fcn.004d0f70
add esp, 0x10
cmp eax, 1
jne 0x4d2f8d
push 0
push 2
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x40]
call fcn.004cb930
add esp, 0x10
cmp eax, 3
jne 0x4d2ab6
nop
lea eax, [esp + 0x40]
push eax
call fcn.004a2dd0
mov esi, eax
add esp, 4
test esi, esi
je 0x4d26a8
mov eax, dword [ebx]
lea ecx, [esp + 0x38]
push 1
push ecx
lea ecx, [esp + 0xc8]
mov dword [esp + 0x20], 0
push ecx
push 0x50616c
push 2
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], 0x4f5b70
push ecx
mov ecx, ebx
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x38], 0x4f5b70
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], 1
call dword [eax + 0x1c]
mov eax, dword [esp + 0x10]
or eax, dword [esp + 0x14]
je 0x4d2685
mov eax, dword [ebx]
lea ecx, [esp + 0x38]
push 1
push ecx
lea ecx, [esp + 0xc8]
mov dword [esp + 0x20], 0
push ecx
push 0
push 0
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], 0x4f5b70
push ecx
mov ecx, ebx
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x38], 0x4f5b70
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], 1
call dword [eax + 0x1c]
mov byte [edi], 0xf4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [edi + 5], ecx
jmp 0x4d27d9
push dword [ebp + 0x14]
push ebx
push edi
push esi
call fcn.004d1f00
add esp, 0x10
mov ecx, eax
sub ecx, 9
mov dword [edi + 1], ecx
sbb edx, 0
mov dword [edi + 5], edx
add edi, eax
jmp 0x4d27df
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x40]
push eax
call fcn.00428610
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x4d2701
mov byte [edi], 0xf6
mov esi, dword [esp + 0x44]
test esi, esi
je 0x4d26d2
lea esi, [esi*2 + 2]
jmp 0x4d26d4
xor esi, esi
mov dword [edi + 1], esi
mov eax, esi
mov dword [edi + 5], 0
add edi, 9
or eax, 0
je 0x4d27df
push esi
push dword [esp + 0x44]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
jmp 0x4d27df
cmp eax, 2
lea eax, [esp + 0x40]
jne 0x4d2720
push 1
push eax
mov byte [edi], 0xf7
call fcn.004a2c10
fstp qword [edi + 1]
add esp, 8
jmp 0x4d27dc
push eax
call fcn.004a2d80
add esp, 4
test edx, edx
jl 0x4d2770
jg 0x4d2734
cmp eax, 0xffffffff
jbe 0x4d273c
mov byte [edi], 0xf8
jmp 0x4d27d6
test edx, edx
jl 0x4d2770
jg 0x4d2749
cmp eax, 0xffff
jbe 0x4d2757
mov byte [edi], 0xfa
mov dword [edi + 1], eax
add edi, 5
jmp 0x4d27df
test edx, edx
jl 0x4d2770
jg 0x4d2764
cmp eax, 0xff
jbe 0x4d2770
mov byte [edi], 0xfc
mov word [edi + 1], ax
add edi, 3
jmp 0x4d27df
cmp edx, 0xffffffff
jl 0x4d27d3
jg 0x4d277c
cmp eax, 0xffffffff
jbe 0x4d2787
mov byte [edi], 0xfe
mov byte [edi + 1], al
add edi, 2
jmp 0x4d27df
cmp edx, 0xffffffff
jl 0x4d27d3
jg 0x4d2795
cmp eax, 0xffffff7f
jbe 0x4d27a0
mov byte [edi], 0xff
mov byte [edi + 1], al
add edi, 2
jmp 0x4d27df
cmp edx, 0xffffffff
jl 0x4d27d3
jg 0x4d27ae
cmp eax, 0xffff7fff
jbe 0x4d27ba
mov byte [edi], 0xfd
mov word [edi + 1], ax
add edi, 3
jmp 0x4d27df
cmp edx, 0xffffffff
jl 0x4d27d3
jg 0x4d27c8
cmp eax, 0x80000000
jb 0x4d27d3
mov byte [edi], 0xfb
mov dword [edi + 1], eax
add edi, 5
jmp 0x4d27df
mov byte [edi], 0xf9
mov dword [edi + 5], edx
mov dword [edi + 1], eax
add edi, 9
lea eax, [esp + 0x60]
push eax
call fcn.004a2dd0
mov esi, eax
add esp, 4
test esi, esi
je 0x4d28e9
mov eax, dword [ebx]
lea ecx, [esp + 0x3c]
push 1
push ecx
lea ecx, [esp + 0xc8]
mov dword [esp + 0x50], 5
push ecx
push 0x50616c
push 2
lea ecx, [esp + 0x24]
mov dword [esp + 0x54], esi
push ecx
mov ecx, ebx
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], 0x4f5b70
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x38], 0x4f5b70
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], 1
call dword [eax + 0x1c]
mov eax, dword [esp + 0x10]
or eax, dword [esp + 0x14]
je 0x4d28c0
mov eax, dword [ebx]
lea ecx, [esp + 0x3c]
push 1
push ecx
lea ecx, [esp + 0xc8]
mov dword [esp + 0x20], 0
push ecx
push 0
push 0
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], 0x4f5b70
push ecx
mov ecx, ebx
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x38], 0x4f5b70
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], 1
call dword [eax + 0x1c]
mov byte [edi], 0xc
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [edi + 5], ecx
jmp 0x4d2a1a
push dword [ebp + 0x14]
push ebx
push edi
push esi
call fcn.004d1f00
add esp, 0x10
mov ecx, eax
sub ecx, 9
mov dword [edi + 1], ecx
mov cl, byte [edi]
sbb edx, 0
neg cl
mov dword [edi + 5], edx
mov byte [edi], cl
add edi, eax
jmp 0x4d2a20
mov ecx, dword [esp + 0x60]
lea eax, [esp + 0x60]
push eax
call fcn.00428610
mov eax, dword [esp + 0x68]
test eax, eax
jne 0x4d2942
mov byte [edi], 0xa
mov esi, dword [esp + 0x64]
test esi, esi
je 0x4d2913
lea esi, [esi*2 + 2]
jmp 0x4d2915
xor esi, esi
mov dword [edi + 1], esi
mov eax, esi
mov dword [edi + 5], 0
add edi, 9
or eax, 0
je 0x4d2a20
push esi
push dword [esp + 0x64]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
jmp 0x4d2a20
cmp eax, 2
lea eax, [esp + 0x60]
jne 0x4d2961
push 1
push eax
mov byte [edi], 9
call fcn.004a2c10
fstp qword [edi + 1]
add esp, 8
jmp 0x4d2a1d
push eax
call fcn.004a2d80
add esp, 4
test edx, edx
jl 0x4d29b1
jg 0x4d2975
cmp eax, 0xffffffff
jbe 0x4d297d
mov byte [edi], 8
jmp 0x4d2a17
test edx, edx
jl 0x4d29b1
jg 0x4d298a
cmp eax, 0xffff
jbe 0x4d2998
mov byte [edi], 6
mov dword [edi + 1], eax
add edi, 5
jmp 0x4d2a20
test edx, edx
jl 0x4d29b1
jg 0x4d29a5
cmp eax, 0xff
jbe 0x4d29b1
mov byte [edi], 4
mov word [edi + 1], ax
add edi, 3
jmp 0x4d2a20
cmp edx, 0xffffffff
jl 0x4d2a14
jg 0x4d29bd
cmp eax, 0xffffffff
jbe 0x4d29c8
mov byte [edi], 2
mov byte [edi + 1], al
add edi, 2
jmp 0x4d2a20
cmp edx, 0xffffffff
jl 0x4d2a14
jg 0x4d29d6
cmp eax, 0xffffff7f
jbe 0x4d29e1
mov byte [edi], 1
mov byte [edi + 1], al
add edi, 2
jmp 0x4d2a20
cmp edx, 0xffffffff
jl 0x4d2a14
jg 0x4d29ef
cmp eax, 0xffff7fff
jbe 0x4d29fb
mov byte [edi], 3
mov word [edi + 1], ax
add edi, 3
jmp 0x4d2a20
cmp edx, 0xffffffff
jl 0x4d2a14
jg 0x4d2a09
cmp eax, 0x80000000
jbe 0x4d2a14
mov byte [edi], 5
mov byte [edi + 1], al
add edi, 5
jmp 0x4d2a20
mov byte [edi], 7
mov dword [edi + 5], edx
mov dword [edi + 1], eax
add edi, 9
mov al, byte [esp + 0x99]
test al, 0x40
je 0x4d2a41
and al, 0xb7
mov byte [esp + 0x99], al
mov eax, dword [esp + 0x84]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov al, byte [esp + 0xb5]
test al, 0x40
je 0x4d2a62
and al, 0xb7
mov byte [esp + 0xb5], al
mov eax, dword [esp + 0xa0]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
lea eax, [esp + 0x84]
mov dword [esp + 0x48], 4
mov dword [esp + 0x40], eax
lea eax, [esp + 0xa0]
push 0
mov dword [esp + 0x64], eax
lea eax, [esp + 0x3c]
push 2
push eax
push dword [esp + 0x40]
mov dword [esp + 0x54], 2
mov dword [esp + 0x78], 4
mov dword [esp + 0x74], 2
call fcn.004cb930
add esp, 0x10
cmp eax, 3
je 0x4d25b0
mov ecx, dword [esp + 0x34]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp + 8]
lea edx, [esp + 0xc0]
push 0
push 0
push edx
push str.OwnProps
mov dword [esp + 0xd0], ecx
lea edx, [esp + 0x20]
mov dword [esp + 0x28], 0
mov dword [esp + 0x20], 0x4f5b70
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x30], 0x4f5b70
mov dword [esp + 0x34], 0
mov dword [esp + 0x3c], 1
mov eax, dword [ecx]
push 2
push edx
call dword [eax + 0x1c]
cmp dword [esp + 0x18], 5
jne 0x4d2f8d
mov esi, dword [esp + 0x10]
lea eax, [esp + 0x38]
push 0
push 2
push eax
push esi
mov dword [esp + 0xcc], esi
mov dword [esp + 0xd0], ebx
call fcn.004cb930
add esp, 0x10
cmp eax, 3
jne 0x4d2f5a
nop
mov esi, dword [esp + 0x40]
cmp byte [esi + 0x17], 0
jne 0x4d2b64
mov ecx, dword [esi + 0xc]
call fcn.00422af0
mov esi, eax
movzx eax, byte [esi + 0x15]
and eax, 0x70
cmp eax, 0x10
je 0x4d2c30
cmp eax, 0x20
je 0x4d2c1c
cmp eax, 0x40
je 0x4d2c10
mov bl, byte [esi + 0x17]
test bl, bl
jne 0x4d2b9b
mov ecx, dword [esi + 0xc]
call fcn.00422af0
mov dword [esp + 0x34], eax
jmp 0x4d2ba1
mov eax, esi
mov dword [esp + 0x34], esi
test byte [eax + 0x15], 1
je 0x4d2bb5
mov ecx, eax
call fcn.00422b10
mov bl, byte [esi + 0x17]
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0xc]
shr eax, 1
mov dword [esp + 0x34], eax
test bl, bl
jne 0x4d2bce
mov ecx, dword [esi + 0xc]
push 1
call fcn.00422310
jmp 0x4d2bf7
test byte [esi + 0x15], 1
je 0x4d2bde
mov ecx, esi
call fcn.00422b10
mov bl, byte [esi + 0x17]
cmp bl, 3
jne 0x4d2bf4
cmp byte [esi + 0x15], 0
jl 0x4d2bf4
mov ecx, esi
call fcn.004e7e30
and byte [esi + 0x15], 0x7f
mov eax, dword [esi + 8]
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], eax
jmp 0x4d2c45
mov eax, dword [esi]
mov dword [esp + 0x48], 5
jmp 0x4d2c41
movsd xmm0, qword [esi]
mov dword [esp + 0x48], 2
movsd qword [esp + 0x40], xmm0
jmp 0x4d2c45
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [esp + 0x48], 1
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], eax
mov byte [edi], 0xf5
mov esi, dword [esp + 0x44]
test esi, esi
je 0x4d2c59
lea esi, [esi*2 + 2]
jmp 0x4d2c5b
xor esi, esi
mov dword [edi + 1], esi
mov eax, esi
mov dword [edi + 5], 0
add edi, 9
or eax, 0
je 0x4d2c7f
push esi
push dword [esp + 0x44]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
lea eax, [esp + 0x60]
push eax
call fcn.004a2dd0
mov esi, eax
add esp, 4
test esi, esi
je 0x4d2d89
mov eax, dword [ebx]
lea ecx, [esp + 0x3c]
push 1
push ecx
lea ecx, [esp + 0xc8]
mov dword [esp + 0x50], 5
push ecx
push 0x50616c
push 2
lea ecx, [esp + 0x24]
mov dword [esp + 0x54], esi
push ecx
mov ecx, ebx
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], 0x4f5b70
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x38], 0x4f5b70
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], 1
call dword [eax + 0x1c]
mov eax, dword [esp + 0x10]
or eax, dword [esp + 0x14]
je 0x4d2d60
mov eax, dword [ebx]
lea ecx, [esp + 0x3c]
push 1
push ecx
lea ecx, [esp + 0xc8]
mov dword [esp + 0x20], 0
push ecx
push 0
push 0
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], 0x4f5b70
push ecx
mov ecx, ebx
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x38], 0x4f5b70
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], 1
call dword [eax + 0x1c]
mov byte [edi], 0xc
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [edi + 5], ecx
jmp 0x4d2eba
push dword [ebp + 0x14]
push ebx
push edi
push esi
call fcn.004d1f00
add esp, 0x10
mov ecx, eax
sub ecx, 9
mov dword [edi + 1], ecx
mov cl, byte [edi]
sbb edx, 0
neg cl
mov dword [edi + 5], edx
mov byte [edi], cl
add edi, eax
jmp 0x4d2ec0
mov ecx, dword [esp + 0x60]
lea eax, [esp + 0x60]
push eax
call fcn.00428610
mov eax, dword [esp + 0x68]
test eax, eax
jne 0x4d2de2
mov byte [edi], 0xa
mov esi, dword [esp + 0x64]
test esi, esi
je 0x4d2db3
lea esi, [esi*2 + 2]
jmp 0x4d2db5
xor esi, esi
mov dword [edi + 1], esi
mov eax, esi
mov dword [edi + 5], 0
add edi, 9
or eax, 0
je 0x4d2ec0
push esi
push dword [esp + 0x64]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
jmp 0x4d2ec0
cmp eax, 2
lea eax, [esp + 0x60]
jne 0x4d2e01
push 1
push eax
mov byte [edi], 9
call fcn.004a2c10
fstp qword [edi + 1]
add esp, 8
jmp 0x4d2ebd
push eax
call fcn.004a2d80
add esp, 4
test edx, edx
jl 0x4d2e51
jg 0x4d2e15
cmp eax, 0xffffffff
jbe 0x4d2e1d
mov byte [edi], 8
jmp 0x4d2eb7
test edx, edx
jl 0x4d2e51
jg 0x4d2e2a
cmp eax, 0xffff
jbe 0x4d2e38
mov byte [edi], 6
mov dword [edi + 1], eax
add edi, 5
jmp 0x4d2ec0
test edx, edx
jl 0x4d2e51
jg 0x4d2e45
cmp eax, 0xff
jbe 0x4d2e51
mov byte [edi], 4
mov word [edi + 1], ax
add edi, 3
jmp 0x4d2ec0
cmp edx, 0xffffffff
jl 0x4d2eb4
jg 0x4d2e5d
cmp eax, 0xffffffff
jbe 0x4d2e68
mov byte [edi], 2
mov byte [edi + 1], al
add edi, 2
jmp 0x4d2ec0
cmp edx, 0xffffffff
jl 0x4d2eb4
jg 0x4d2e76
cmp eax, 0xffffff7f
jbe 0x4d2e81
mov byte [edi], 1
mov byte [edi + 1], al
add edi, 2
jmp 0x4d2ec0
cmp edx, 0xffffffff
jl 0x4d2eb4
jg 0x4d2e8f
cmp eax, 0xffff7fff
jbe 0x4d2e9b
mov byte [edi], 3
mov word [edi + 1], ax
add edi, 3
jmp 0x4d2ec0
cmp edx, 0xffffffff
jl 0x4d2eb4
jg 0x4d2ea9
cmp eax, 0x80000000
jbe 0x4d2eb4
mov byte [edi], 5
mov byte [edi + 1], al
add edi, 5
jmp 0x4d2ec0
mov byte [edi], 7
mov dword [edi + 5], edx
mov dword [edi + 1], eax
add edi, 9
mov al, byte [esp + 0x99]
test al, 0x40
je 0x4d2ee1
and al, 0xb7
mov byte [esp + 0x99], al
mov eax, dword [esp + 0x84]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov al, byte [esp + 0xb5]
test al, 0x40
je 0x4d2f02
and al, 0xb7
mov byte [esp + 0xb5], al
mov eax, dword [esp + 0xa0]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov esi, dword [esp + 0xbc]
lea eax, [esp + 0x84]
mov dword [esp + 0x40], eax
lea eax, [esp + 0xa0]
push 0
mov dword [esp + 0x64], eax
lea eax, [esp + 0x3c]
push 2
push eax
push esi
mov dword [esp + 0x58], 4
mov dword [esp + 0x54], 2
mov dword [esp + 0x78], 4
mov dword [esp + 0x74], 2
call fcn.004cb930
add esp, 0x10
cmp eax, 3
je 0x4d2b50
mov eax, dword [esi]
push esi
call dword [eax + 8]
push 0
push 0
lea ecx, [esp + 0x8c]
call fcn.004e7620
push 0
push 0
lea ecx, [esp + 0xa8]
call fcn.004e7620
sub edi, dword [ebp + 0xc]
mov eax, edi
cdq
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
xor edx, edx
pop ebx
mov esp, ebp
pop ebp
ret