Function at 0x499430
Capabilities:
Accept command line arguments

Disassembly:
push 0xffffffffffffffff
push 0x4e2e58
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x78
push ebx
push ebp
push esi
push edi
xor edi, edi
push 0xc
mov dword [esp + 0x18], edi
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x38], eax
cmp eax, edi
mov dword [esp + 0x90], edi
je 0x49947c
mov ecx, dword [esp + 0x98]
push ecx
mov ecx, eax
call fcn.00409380
jmp 0x49947e
xor eax, eax
cmp eax, edi
mov dword [esp + 0x90], 0xffffffff
mov dword [esp + 0x1c], eax
jne 0x4994a3
push 0x8007000e
call fcn.004cf728
mov eax, dword [esp + 0x1c]
cmp eax, edi
je 0x4994a7
mov eax, dword [eax]
jmp 0x4994a9
xor eax, eax
lea edx, [esp + 0x14]
push edx
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov esi, eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x10], esi
call fcn.00405de0
cmp esi, edi
je 0x49a604
cmp dword [esp + 0x14], 1
jle 0x49a5f9
mov eax, dword [0x52acd8]
test eax, eax
je 0x49a5f9
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x18], ebp
je 0x49a5f9
mov edi, esi
push 0xc
mov esi, dword [edi + 4]
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x38], eax
test eax, eax
mov dword [esp + 0x90], 1
je 0x49951e
push esi
mov ecx, eax
call fcn.00405e30
jmp 0x499520
xor eax, eax
test eax, eax
mov dword [esp + 0x90], 0xffffffff
mov dword [esp + 0x20], eax
jne 0x499541
push 0x8007000e
call fcn.004cf728
mov eax, dword [esp + 0x20]
test eax, eax
mov dword [esp + 0x90], 2
je 0x499559
mov ecx, eax
call fcn.00405ec0
jmp 0x49955b
xor eax, eax
push str._play
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
lea ecx, [esp + 0x20]
test eax, eax
sete bl
mov dword [esp + 0x90], 0xffffffff
call fcn.00405de0
test bl, bl
je 0x499cbb
mov cl, byte [0x52b630]
test cl, 1
jne 0x4995b2
or cl, 1
mov byte [0x52b630], cl
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov cl, byte [0x52b630]
mov dword [0x52b62c], eax
jmp 0x4995b7
mov eax, dword [0x52b62c]
test cl, 2
jne 0x4995d3
mov edx, eax
or cl, 2
and edx, 0xff
mov byte [0x52b630], cl
mov dword [0x52b628], edx
test cl, 4
jne 0x4995f1
or cl, 4
mov byte [0x52b630], cl
xor ecx, ecx
mov cl, ah
and ecx, 0xff
mov dword [0x52b624], ecx
cmp dword [0x52b624], 1
jae 0x49993e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0x52b63c]
mov dword [esp + 0x28], eax
sub eax, edx
cmp eax, 0x3e8
jle 0x4998b3
mov eax, dword [esp + 0x18]
push eax
mov edx, dword [eax]
call dword [edx + 0xcc]
mov eax, dword [esp + 0x10]
push 0xc
mov esi, dword [eax + 8]
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x38], eax
test eax, eax
mov dword [esp + 0x90], 3
je 0x499656
push esi
mov ecx, eax
call fcn.00405e30
jmp 0x499658
xor eax, eax
or esi, 0xffffffff
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x90], esi
jne 0x499678
push 0x8007000e
call fcn.004cf728
mov eax, dword [esp + 0x20]
test eax, eax
mov dword [esp + 0x90], 4
je 0x499690
mov ecx, eax
call fcn.00405ec0
jmp 0x499692
xor eax, eax
push 0
push 0
push 0x5265c0
push eax
mov ecx, 0x52af18
call fcn.00498dd0
lea ecx, [esp + 0x20]
mov dword [esp + 0x90], esi
call fcn.00405de0
push 0x52d140
lea ecx, [esp + 0x34]
call fcn.00402e60
mov eax, dword [0x526620]
mov ebx, 5
test eax, eax
mov dword [esp + 0x90], ebx
jne 0x499735
mov eax, dword [0x52661c]
test eax, eax
jne 0x499735
push 0x24
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x38], eax
test eax, eax
mov byte [esp + 0x90], 6
je 0x499707
push 0
mov ecx, eax
call fcn.00403720
jmp 0x499709
xor eax, eax
mov ecx, dword [0x5177d4]
mov byte [esp + 0x90], bl
push ecx
push 0x4036f0
mov ecx, 0x52b648
mov dword [0x52661c], eax
call fcn.00402160
mov dword [0x526620], 1
mov ecx, dword [esp + 0x30]
mov ebp, dword [0x52661c]
mov dword [esp + 0x90], esi
mov edx, dword [ecx]
call dword [edx + 8]
test ebp, ebp
mov dword [esp + 0x38], ebp
je 0x49975a
mov eax, dword [ebp]
push ebp
call dword [eax + 4]
mov ecx, dword [ebp]
lea edx, [esp + 0x2c]
push edx
push ebp
mov dword [esp + 0x98], 7
call dword [ecx + 0xd8]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x49989d
xor edi, edi
mov dword [esp + 0x44], vtable.CArray_class_CString__class_CString__.0
mov dword [esp + 0x48], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], edi
lea ecx, [esp + 0x58]
mov byte [esp + 0x90], 8
call fcn.004ba9b0
mov eax, dword [esp + 0x10]
mov bl, 9
push 0xc
mov byte [esp + 0x94], bl
mov esi, dword [eax + 8]
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x34], eax
cmp eax, edi
mov byte [esp + 0x90], 0xa
je 0x4997df
push esi
mov ecx, eax
call fcn.00405e30
jmp 0x4997e1
xor eax, eax
cmp eax, edi
mov byte [esp + 0x90], bl
mov dword [esp + 0x20], eax
jne 0x4997fe
push 0x8007000e
call fcn.004cf728
mov eax, dword [esp + 0x20]
cmp eax, edi
mov byte [esp + 0x90], 0xb
je 0x499813
mov ecx, eax
call fcn.00405ec0
jmp 0x499815
xor eax, eax
lea ecx, [esp + 0x44]
push ecx
push eax
lea ecx, [esp + 0x60]
call fcn.004bab10
lea ecx, [esp + 0x20]
mov edi, eax
mov byte [esp + 0x90], bl
call fcn.00405de0
xor esi, esi
test edi, edi
jle 0x49985c
mov edx, dword [esp + 0x48]
push 0
push 1
push 0x5265c0
mov eax, dword [edx + esi*4]
mov ecx, 0x52af18
push eax
call fcn.00498dd0
inc esi
cmp esi, edi
jl 0x49983c
lea ecx, [esp + 0x58]
mov byte [esp + 0x90], 8
call fcn.004baa60
mov dword [esp + 0x44], vtable.CArray_class_CString__class_CString__.0
mov eax, dword [esp + 0x48]
mov byte [esp + 0x90], 0xc
test eax, eax
je 0x49989d
mov ecx, dword [esp + 0x4c]
push ecx
push eax
call sub.MFC42.DLL_DestructElements
mov edx, dword [esp + 0x48]
push edx
call sub.MFC42.DLL_operatordelete
add esp, 4
test ebp, ebp
mov dword [esp + 0x90], 0xffffffff
je 0x4998b3
mov eax, dword [ebp]
push ebp
call dword [eax + 8]
mov ecx, dword [esp + 0x10]
push 0xc
mov esi, dword [ecx + 8]
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x38], eax
test eax, eax
mov dword [esp + 0x90], 0xd
je 0x4998e1
push esi
mov ecx, eax
call fcn.00405e30
jmp 0x4998e3
xor eax, eax
test eax, eax
mov dword [esp + 0x90], 0xffffffff
mov dword [esp + 0x20], eax
jne 0x499904
push 0x8007000e
call fcn.004cf728
mov eax, dword [esp + 0x20]
test eax, eax
mov dword [esp + 0x90], 0xe
je 0x499917
mov eax, dword [eax]
jmp 0x499919
xor eax, eax
mov ecx, dword [esp + 0x18]
push eax
push ecx
mov edx, dword [ecx]
call dword [edx + 0xd0]
lea ecx, [esp + 0x20]
call fcn.00405de0
mov eax, dword [esp + 0x28]
mov dword [0x52b63c], eax
jmp 0x49a5f9
mov ecx, dword [ebp]
push ebp
call dword [ecx + 0xcc]
mov edx, dword [esp + 0x14]
xor eax, eax
add edx, 0xfffffffe
mov dword [esp + 0x24], eax
test edx, edx
mov dword [esp + 0x30], eax
jle 0x49a5f9
mov eax, dword [esp + 0x10]
xor ebx, ebx
add eax, 8
or edi, 0xffffffff
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
mov ebp, 1
cmp eax, ebx
jne 0x499a13
mov ecx, dword [esp + 0x18]
push 0xc
mov esi, dword [ecx]
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x24], eax
cmp eax, ebx
mov dword [esp + 0x90], 0xf
je 0x4999af
push esi
mov ecx, eax
call fcn.00405e30
jmp 0x4999b1
xor eax, eax
mov ecx, eax
cmp eax, ebx
mov dword [esp + 0x90], edi
mov dword [esp + 0x20], ecx
jne 0x4999d0
push 0x8007000e
call fcn.004cf728
mov ecx, dword [esp + 0x20]
cmp ecx, ebx
mov dword [esp + 0x90], 0x10
je 0x4999e6
call fcn.00405ec0
jmp 0x4999e8
xor eax, eax
push ebx
push ebx
push 0x5265c0
push eax
mov ecx, 0x52af18
call fcn.00498dd0
lea ecx, [esp + 0x20]
mov dword [esp + 0x90], edi
call fcn.00405de0
mov dword [esp + 0x24], ebp
jmp 0x499a9b
mov edx, dword [esp + 0x18]
push 0xc
mov esi, dword [edx]
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x3c], eax
cmp eax, ebx
mov dword [esp + 0x90], 0x11
je 0x499a40
push esi
mov ecx, eax
call fcn.00405e30
jmp 0x499a42
xor eax, eax
mov ecx, eax
cmp eax, ebx
mov dword [esp + 0x90], edi
mov dword [esp + 0x28], ecx
jne 0x499a61
push 0x8007000e
call fcn.004cf728
mov ecx, dword [esp + 0x28]
cmp ecx, ebx
mov dword [esp + 0x90], 0x12
je 0x499a77
call fcn.00405ec0
jmp 0x499a79
xor eax, eax
push ebx
push ebp
push 0x5265c0
push eax
mov ecx, 0x52af18
call fcn.00498dd0
lea ecx, [esp + 0x28]
mov dword [esp + 0x90], edi
call fcn.00405de0
push 0x52d140
lea ecx, [esp + 0x38]
call fcn.00402e60
mov eax, dword [0x526620]
mov dword [esp + 0x90], 0x13
cmp eax, ebx
jne 0x499b13
cmp dword [0x52661c], ebx
jne 0x499b13
push 0x24
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x3c], eax
cmp eax, ebx
mov byte [esp + 0x90], 0x14
je 0x499ae9
push ebx
mov ecx, eax
call fcn.00403720
jmp 0x499aeb
xor eax, eax
mov dword [0x52661c], eax
mov eax, dword [0x5177d4]
push eax
push 0x4036f0
mov ecx, 0x52b648
mov byte [esp + 0x98], 0x13
call fcn.00402160
mov dword [0x526620], ebp
mov ecx, dword [esp + 0x34]
mov ebp, dword [0x52661c]
mov dword [esp + 0x90], edi
mov edx, dword [ecx]
call dword [edx + 8]
cmp ebp, ebx
mov dword [esp + 0x3c], ebp
je 0x499b38
mov eax, dword [ebp]
push ebp
call dword [eax + 4]
mov ecx, dword [ebp]
lea edx, [esp + 0x38]
push edx
push ebp
mov dword [esp + 0x98], 0x15
call dword [ecx + 0xd8]
cmp dword [esp + 0x38], ebx
je 0x499c81
mov dword [esp + 0x44], vtable.CArray_class_CString__class_CString__.0
mov dword [esp + 0x48], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], ebx
lea ecx, [esp + 0x58]
mov byte [esp + 0x90], 0x16
call fcn.004ba9b0
mov eax, dword [esp + 0x18]
push 0xc
mov byte [esp + 0x94], 0x17
mov esi, dword [eax]
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x40], eax
cmp eax, ebx
mov byte [esp + 0x90], 0x18
je 0x499bb7
push esi
mov ecx, eax
call fcn.00405e30
jmp 0x499bb9
xor eax, eax
mov ecx, eax
cmp eax, ebx
mov byte [esp + 0x90], 0x17
mov dword [esp + 0x2c], ecx
jne 0x499bd9
push 0x8007000e
call fcn.004cf728
mov ecx, dword [esp + 0x2c]
cmp ecx, ebx
mov byte [esp + 0x90], 0x19
je 0x499bec
call fcn.00405ec0
jmp 0x499bee
xor eax, eax
lea ecx, [esp + 0x44]
push ecx
push eax
lea ecx, [esp + 0x60]
call fcn.004bab10
lea ecx, [esp + 0x2c]
mov edi, eax
mov byte [esp + 0x90], 0x17
call fcn.00405de0
xor esi, esi
cmp edi, ebx
jle 0x499c35
mov edx, dword [esp + 0x48]
push ebx
push 1
push 0x5265c0
mov eax, dword [edx + esi*4]
mov ecx, 0x52af18
push eax
call fcn.00498dd0
inc esi
cmp esi, edi
jl 0x499c16
lea ecx, [esp + 0x58]
mov byte [esp + 0x90], 0x16
call fcn.004baa60
mov dword [esp + 0x44], vtable.CArray_class_CString__class_CString__.0
mov eax, dword [esp + 0x48]
mov byte [esp + 0x90], 0x1a
cmp eax, ebx
je 0x499c76
mov ecx, dword [esp + 0x4c]
push ecx
push eax
call sub.MFC42.DLL_DestructElements
mov edx, dword [esp + 0x48]
push edx
call sub.MFC42.DLL_operatordelete
add esp, 4
mov dword [esp + 0x44], vtable.CObject.0
or edi, 0xffffffff
cmp ebp, ebx
mov dword [esp + 0x90], edi
je 0x499c93
mov eax, dword [ebp]
push ebp
call dword [eax + 8]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
inc eax
add ecx, 0xfffffffe
add esi, 4
cmp eax, ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], esi
jl 0x499971
jmp 0x49a5f9
mov esi, dword [edi + 4]
push 0xc
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
mov dword [esp + 0x90], 0x1b
je 0x499ce5
push esi
mov ecx, eax
call fcn.00405e30
jmp 0x499ce7
xor eax, eax
test eax, eax
mov dword [esp + 0x90], 0xffffffff
mov dword [esp + 0x30], eax
jne 0x499d08
push 0x8007000e
call fcn.004cf728
mov eax, dword [esp + 0x30]
test eax, eax
mov dword [esp + 0x90], 0x1c
je 0x499d20
mov ecx, eax
call fcn.00405ec0
jmp 0x499d22
xor eax, eax
push str._addtolist
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
lea ecx, [esp + 0x30]
test eax, eax
sete bl
mov dword [esp + 0x90], 0xffffffff
call fcn.00405de0
test bl, bl
je 0x499e0c
mov edx, dword [esp + 0x14]
xor edi, edi
add edx, 0xfffffffe
test edx, edx
jle 0x49a5f9
mov eax, dword [esp + 0x10]
or ebx, 0xffffffff
lea ebp, [eax + 8]
mov esi, dword [ebp]
push 0xc
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
mov dword [esp + 0x90], 0x1d
je 0x499d97
push esi
mov ecx, eax
call fcn.00405e30
jmp 0x499d99
xor eax, eax
mov ecx, eax
mov dword [esp + 0x90], ebx
test eax, eax
mov dword [esp + 0x30], ecx
jne 0x499db8
push 0x8007000e
call fcn.004cf728
mov ecx, dword [esp + 0x30]
test ecx, ecx
mov dword [esp + 0x90], 0x1e
je 0x499dce
call fcn.00405ec0
jmp 0x499dd0
xor eax, eax
push 0
push 1
push 0x5265c0
push eax
mov ecx, 0x52af18
call fcn.00498dd0
lea ecx, [esp + 0x30]
mov dword [esp + 0x90], ebx
call fcn.00405de0
mov ecx, dword [esp + 0x14]
inc edi
add ecx, 0xfffffffe
add ebp, 4
cmp edi, ecx
jl 0x499d6d
jmp 0x49a5f9
mov esi, dword [edi + 4]
push 0xc
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
mov dword [esp + 0x90], 0x1f
je 0x499e36
push esi
mov ecx, eax
call fcn.00405e30
jmp 0x499e38
xor eax, eax
test eax, eax
mov dword [esp + 0x90], 0xffffffff
mov dword [esp + 0x30], eax
jne 0x499e59
push 0x8007000e
call fcn.004cf728
mov eax, dword [esp + 0x30]
test eax, eax
mov dword [esp + 0x90], 0x20
je 0x499e71
mov ecx, eax
call fcn.00405ec0
jmp 0x499e73
xor eax, eax
push str._playdvd
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
lea ecx, [esp + 0x30]
test eax, eax
sete bl
mov dword [esp + 0x90], 0xffffffff
call fcn.00405de0
test bl, bl
je 0x499fb9
mov edx, dword [ebp]
push ebp
call dword [edx + 0xcc]
mov esi, dword [edi + 8]
push 0xc
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
mov dword [esp + 0x90], 0x21
je 0x499ed7
push esi
mov ecx, eax
call fcn.00405e30
jmp 0x499ed9
xor eax, eax
test eax, eax
mov dword [esp + 0x90], 0xffffffff
mov dword [esp + 0x30], eax
jne 0x499efa
push 0x8007000e
call fcn.004cf728
mov eax, dword [esp + 0x30]
test eax, eax
mov dword [esp + 0x90], 0x22
je 0x499f0d
mov edi, dword [eax]
jmp 0x499f0f
xor edi, edi
push 0x52d100
lea ecx, [esp + 0x3c]
call fcn.00402e60
mov eax, dword [0x52662c]
mov bl, 0x23
test eax, eax
mov byte [esp + 0x90], bl
jne 0x499f8d
mov eax, dword [0x526628]
test eax, eax
jne 0x499f8d
push 0xb0
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
mov byte [esp + 0x90], 0x24
je 0x499f60
push 0
mov ecx, eax
call fcn.00404bd0
jmp 0x499f62
xor eax, eax
mov dword [0x526628], eax
mov eax, dword [0x517cd8]
push eax
push 0x404ba0
mov ecx, 0x52b648
mov byte [esp + 0x98], bl
call fcn.00402160
mov dword [0x52662c], 1
mov ecx, dword [esp + 0x38]
mov esi, dword [0x526628]
mov byte [esp + 0x90], 0x22
mov edx, dword [ecx]
call dword [edx + 8]
mov eax, dword [esi]
push edi
push esi
call dword [eax + 0x74]
lea ecx, [esp + 0x30]
call fcn.00405de0
jmp 0x49a5f9
mov esi, dword [edi + 4]
push 0xc
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
mov dword [esp + 0x90], 0x25
je 0x499fe3
push esi
mov ecx, eax
call fcn.00405e30
jmp 0x499fe5
xor eax, eax
test eax, eax
mov dword [esp + 0x90], 0xffffffff
mov dword [esp + 0x30], eax
jne 0x49a006
push 0x8007000e
call fcn.004cf728
mov eax, dword [esp + 0x30]
test eax, eax
mov dword [esp + 0x90], 0x26
je 0x49a01e
mov ecx, eax
call fcn.00405ec0
jmp 0x49a020
xor eax, eax
push str._fullscreen
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
lea ecx, [esp + 0x30]
test eax, eax
sete bl
mov dword [esp + 0x90], 0xffffffff
call fcn.00405de0
test bl, bl
je 0x49a0e3
mov ecx, dword [ebp]
push ebp
call dword [ecx + 0xcc]
mov esi, dword [edi + 8]
push 0xc
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
mov dword [esp + 0x90], 0x27
je 0x49a084
push esi
mov ecx, eax
call fcn.00405e30
jmp 0x49a086
xor eax, eax
test eax, eax
mov dword [esp + 0x90], 0xffffffff
mov dword [esp + 0x30], eax
jne 0x49a0a7
push 0x8007000e
call fcn.004cf728
mov eax, dword [esp + 0x30]
test eax, eax
mov dword [esp + 0x90], 0x28
je 0x49a0bf
mov ecx, eax
call fcn.00405ec0
jmp 0x49a0c1
xor eax, eax
push 0
push 0
push 0x5265c0
push eax
mov ecx, 0x52af18
call fcn.00498dd0
lea ecx, [esp + 0x30]
call fcn.00405de0
jmp 0x49a5f9
mov esi, dword [edi + 4]
push 0xc
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
mov dword [esp + 0x90], 0x29
je 0x49a10d
push esi
mov ecx, eax
call fcn.00405e30
jmp 0x49a10f
xor eax, eax
test eax, eax
mov dword [esp + 0x90], 0xffffffff
mov dword [esp + 0x30], eax
jne 0x49a130
push 0x8007000e
call fcn.004cf728
mov eax, dword [esp + 0x30]
test eax, eax
mov dword [esp + 0x90], 0x2a
je 0x49a148
mov ecx, eax
call fcn.00405ec0
jmp 0x49a14a
xor eax, eax
push str._start
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
lea ecx, [esp + 0x30]
test eax, eax
sete bl
mov dword [esp + 0x90], 0xffffffff
call fcn.00405de0
test bl, bl
je 0x49a20d
mov edx, dword [ebp]
push ebp
call dword [edx + 0xcc]
mov esi, dword [edi + 0xc]
push 0xc
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
mov dword [esp + 0x90], 0x2b
je 0x49a1ae
push esi
mov ecx, eax
call fcn.00405e30
jmp 0x49a1b0
xor eax, eax
test eax, eax
mov dword [esp + 0x90], 0xffffffff
mov dword [esp + 0x30], eax
jne 0x49a1d1
push 0x8007000e
call fcn.004cf728
mov eax, dword [esp + 0x30]
test eax, eax
mov dword [esp + 0x90], 0x2c
je 0x49a1e9
mov ecx, eax
call fcn.00405ec0
jmp 0x49a1eb
xor eax, eax
push 0
push 0
push 0x5265c0
push eax
mov ecx, 0x52af18
call fcn.00498dd0
lea ecx, [esp + 0x30]
call fcn.00405de0
jmp 0x49a5f9
mov esi, dword [edi + 4]
push 0xc
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
mov dword [esp + 0x90], 0x2d
je 0x49a237
push esi
mov ecx, eax
call fcn.00405e30
jmp 0x49a239
xor eax, eax
test eax, eax
mov dword [esp + 0x90], 0xffffffff
mov dword [esp + 0x30], eax
jne 0x49a25a
push 0x8007000e
call fcn.004cf728
mov eax, dword [esp + 0x30]
test eax, eax
mov dword [esp + 0x90], 0x2e
je 0x49a272
mov ecx, eax
call fcn.00405ec0
jmp 0x49a274
xor eax, eax
push str._runevent
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
lea ecx, [esp + 0x30]
test eax, eax
sete bl
mov dword [esp + 0x90], 0xffffffff
call fcn.00405de0
test bl, bl
je 0x49a2a7
xor eax, eax
jmp 0x49a609
mov ebp, dword [esp + 0x10]
push 0xc
mov esi, dword [ebp + 4]
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
mov dword [esp + 0x90], 0x2f
je 0x49a2d7
push esi
mov ecx, eax
call fcn.00405e30
mov esi, eax
jmp 0x49a2d9
xor esi, esi
or edi, 0xffffffff
mov dword [esp + 0x40], esi
test esi, esi
mov dword [esp + 0x90], edi
jne 0x49a2f5
push 0x8007000e
call fcn.004cf728
test esi, esi
mov dword [esp + 0x90], 0x30
je 0x49a30d
mov ecx, esi
call fcn.00405ec0
jmp 0x49a30f
xor eax, eax
push str._changeskin
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
mov dword [esp + 0x90], edi
test eax, eax
sete bl
test esi, esi
je 0x49a335
mov ecx, esi
call fcn.00405e70
test bl, bl
je 0x49a526
mov eax, dword [0x52d140]
mov ecx, 0x52d140
mov dword [esp + 0x40], 0x52d140
call dword [eax + 4]
mov eax, dword [0x526620]
mov ebx, 0x31
test eax, eax
mov dword [esp + 0x90], ebx
jne 0x49a3c3
mov eax, dword [0x52661c]
test eax, eax
jne 0x49a3c3
push 0x24
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x3c], eax
test eax, eax
mov byte [esp + 0x90], 0x32
je 0x49a395
push 0
mov ecx, eax
call fcn.00403720
jmp 0x49a397
xor eax, eax
mov ecx, dword [0x5177d4]
mov byte [esp + 0x90], bl
push ecx
push 0x4036f0
mov ecx, 0x52b648
mov dword [0x52661c], eax
call fcn.00402160
mov dword [0x526620], 1
mov edx, dword [0x52d140]
mov edi, dword [0x52661c]
mov ecx, 0x52d140
mov dword [esp + 0x90], 0xffffffff
call dword [edx + 8]
test edi, edi
mov dword [esp + 0x40], edi
je 0x49a3f0
mov eax, dword [edi]
push edi
call dword [eax + 4]
test edi, edi
mov dword [esp + 0x90], 0x33
je 0x49a508
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004ceb88
mov edx, dword [esp + 0x18]
push 0x5c
lea ecx, [esp + 0x1c]
mov byte [esp + 0x94], 0x34
mov esi, dword [edx - 8]
call sub.MFC42.DLL_CString::ReverseFind
sub esi, eax
lea eax, [esp + 0x30]
dec esi
lea ecx, [esp + 0x18]
push esi
push eax
call sub.MFC42.DLL_CString::Right
mov esi, dword [esp + 0x30]
mov bl, 0x35
push 0xc
mov byte [esp + 0x94], bl
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x3c], eax
test eax, eax
mov byte [esp + 0x90], 0x36
je 0x49a46f
push esi
mov ecx, eax
call fcn.00409380
mov esi, eax
jmp 0x49a471
xor esi, esi
test esi, esi
mov byte [esp + 0x90], bl
mov dword [esp + 0x3c], esi
jne 0x49a48a
push 0x8007000e
call fcn.004cf728
test esi, esi
mov byte [esp + 0x90], 0x37
je 0x49a49a
mov eax, dword [esi]
jmp 0x49a49c
xor eax, eax
mov ecx, dword [edi]
push eax
push edi
call dword [ecx + 0x30]
test esi, esi
je 0x49a4ae
mov ecx, esi
call fcn.00405e70
mov edx, dword [esp + 0x18]
push 0x207
push edx
push 0x52b41c
mov byte [0x52b623], 0
call dword [sym.imp.MSVCRT.dll__mbsnbcpy]
add esp, 0xc
push 0x52b41c
push 0
push 0x7ef
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.USER32.dll_PostThreadMessageA]
lea ecx, [esp + 0x30]
mov byte [esp + 0x90], 0x34
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x90], 0x33
call sub.MFC42.DLL_CString::CString
test edi, edi
mov dword [esp + 0x90], 0xffffffff
je 0x49a5f9
mov eax, dword [edi]
push edi
call dword [eax + 8]
jmp 0x49a5f9
mov eax, dword [esp + 0x18]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov edi, dword [ebp + 4]
push 0xc
call sub.MFC42.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [esp + 0x40], esi
test esi, esi
mov dword [esp + 0x90], 0x38
je 0x49a580
push edi
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
test eax, eax
mov dword [esi], eax
jne 0x49a582
test edi, edi
je 0x49a582
push 0x8007000e
call fcn.004cf728
jmp 0x49a582
xor esi, esi
test esi, esi
mov dword [esp + 0x90], 0xffffffff
mov dword [esp + 0x40], esi
jne 0x49a59f
push 0x8007000e
call fcn.004cf728
test esi, esi
mov dword [esp + 0x90], 0x39
je 0x49a5d8
mov eax, dword [esi + 4]
test eax, eax
jne 0x49a5d3
mov edx, dword [esi]
push edx
call fcn.004cf84a
test eax, eax
mov dword [esi + 4], eax
jne 0x49a5d3
cmp dword [esi], 0
je 0x49a5d3
push 0x8007000e
call fcn.004cf728
mov eax, dword [esi + 4]
jmp 0x49a5da
xor eax, eax
push 0
push 0
push 0x5265c0
push eax
mov ecx, 0x52af58
call fcn.004ab6c0
test esi, esi
je 0x49a5f9
mov ecx, esi
call fcn.00405e70
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, 1
mov ecx, dword [esp + 0x88]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x84
ret 4