Function at 0x40ebb0
Capabilities:
Create directory
Delete file
Get common file path
Query or enumerate registry value
Resolve function by parsing pe exports
Set current directory
Set registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x9dc
mov eax, dword [0x41e038]
xor eax, esp
mov dword [esp + 0x9d8], eax
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x18], edi
call fcn.00407c80
test al, al
jne 0x40ec73
xor eax, eax
mov word [esp + 0x80], ax
push 0x1a
mov eax, 0x402ba0
lea esi, [esp + 0x84]
mov dword [esp + 0x98], 7
mov dword [esp + 0x94], 0
call fcn.004088c0
mov eax, dword [esp + 0x80]
mov esi, 8
cmp dword [esp + 0x94], esi
jae 0x40ec2f
lea eax, [esp + 0x80]
push 0x40010
push 0x401968
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp dword [esp + 0x94], esi
jb 0x40ec5c
mov ecx, dword [esp + 0x80]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x9d8]
xor ecx, esp
call fcn.0041b4f6
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x78], 8
lea eax, [edi + 0x64]
jb 0x40ec7e
mov eax, dword [eax]
push eax
lea eax, [esp + 0x84]
call fcn.004081d0
mov esi, 0x10
add esp, 4
cmp dword [eax + 0x14], esi
jb 0x40ec9a
mov eax, dword [eax]
mov ecx, eax
call fcn.00416f80
mov dword [esp + 0x10], eax
cmp dword [esp + 0x94], esi
jb 0x40ecbf
mov edx, dword [esp + 0x80]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov edi, dword [edi + 8]
lea edi, [esp + edi*2 + 0xb8]
mov dword [esp + 0x14], edi
mov edx, dword [esp + 0x10]
mov ebx, dword [sym.imp.MSVCR100.dll_wcschr]
lea eax, [esp + 0x2c0]
lea esi, [esp + 0x30]
call fcn.00417410
lea eax, [esp + 0x2c0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40ecf1
push 0x104
sub eax, edx
lea ecx, [esp + 0xbc]
push ecx
inc eax
push eax
lea edx, [esp + 0x2cc]
push edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea eax, [esp + 0xb8]
push 0x5c
push eax
call ebx
add esp, 8
test eax, eax
je 0x40ed4b
mov edi, edi
lea edx, [esp + 0xb8]
mov ecx, 0x2f
push 0x5c
push edx
mov word [eax], cx
call ebx
add esp, 8
test eax, eax
jne 0x40ed30
mov eax, dword [esp + 0x18]
test byte [eax], 2
mov esi, dword [sym.imp.MSVCR100.dll__wcsnicmp]
je 0x40f125
push 6
push 0x40223c
push edi
call esi
add esp, 0xc
test eax, eax
jne 0x40eeeb
mov eax, edi
lea edx, [eax + 2]
jmp 0x40ed80
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40ed80
sub eax, edx
sar eax, 1
cmp eax, 6
jbe 0x40eeeb
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x138], 0
je 0x40eeeb
mov edi, ecx
cmp dword [edi + 0xcc], 8
lea esi, [edi + 0xb8]
mov dword [esp + 0x20], esi
jb 0x40edc2
mov eax, dword [esi]
jmp 0x40edc4
mov eax, esi
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
cmp byte [edi + 0xc], 0
jne 0x40edf0
lea ecx, [edi + 0x128]
sub edi, 0xffffff80
push edi
mov edx, esi
call fcn.0040f9d0
add esp, 4
test al, al
je 0x40f848
lea ecx, [ecx]
mov edi, dword [esp + 0x14]
lea edx, [esp + 0x10]
push edx
add edi, 0xc
call fcn.0040d8f0
add esp, 4
test al, al
je 0x40ec5c
mov edi, dword [esp + 0x10]
mov esi, edi
call fcn.00417510
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x2c0]
lea esi, [esp + 0x30]
mov edx, edi
call fcn.00417410
lea eax, [esp + 0x2c0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40ee37
push 0x104
sub eax, edx
lea ecx, [esp + 0xbc]
push ecx
inc eax
push eax
lea edx, [esp + 0x2cc]
push edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea eax, [esp + 0xb8]
push 0x5c
push eax
call ebx
add esp, 8
test eax, eax
je 0x40ee9b
jmp 0x40ee80
lea edx, [esp + 0xb8]
mov ecx, 0x2f
push 0x5c
push edx
mov word [eax], cx
call ebx
add esp, 8
test eax, eax
jne 0x40ee80
cmp dword [esp + 0x1c], 0
jne 0x40eebf
mov eax, dword [esp + 0x14]
push 6
push 0x40223c
push eax
call dword [sym.imp.MSVCR100.dll__wcsnicmp]
add esp, 0xc
test eax, eax
je 0x40edf0
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x1c4], 0
je 0x40f82c
mov ecx, dword [esp + 0x20]
lea edx, [eax + 0x1b4]
sub eax, 0xffffff80
push eax
call fcn.0040fe20
add esp, 4
jmp 0x40f82c
push 7
push 0x402258
push edi
call esi
add esp, 0xc
test eax, eax
jne 0x40f125
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40ef05
sub eax, edx
sar eax, 1
cmp eax, 7
jbe 0x40f125
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x154], 0
je 0x40f125
xor edx, edx
mov edi, ecx
push edx
lea esi, [edi + 0x9c]
push esi
or eax, 0xffffffff
lea ecx, [esp + 0x88]
mov dword [esp + 0x9c], 7
mov dword [esp + 0x98], 0
mov word [esp + 0x88], dx
call fcn.00408480
push 7
mov eax, 0x40160c
lea ecx, [esp + 0x84]
call fcn.00408790
cmp dword [esi + 0x14], 8
jb 0x40ef82
mov esi, dword [esi]
push esi
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea ecx, [edi + 0x144]
sub edi, 0xffffff80
push edi
lea edx, [esp + 0x84]
call fcn.0040f9d0
add esp, 4
test al, al
je 0x40f83c
lea ebx, [ebx]
mov edi, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0040d8f0
add esp, 4
test al, al
je 0x40f86e
push 0x402bd8
push edi
call dword [sym.imp.MSVCR100.dll_wcsstr]
add esp, 8
test eax, eax
je 0x40f05a
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push edi
push 0
push 0x40137c
push 0x401390
call esi
push edi
push 0
push 0x40163c
push 0x401390
call esi
push edi
push 0
push 0x402bf4
push 0x401390
call esi
push edi
push 0
push 0x402c14
push 0x401390
call esi
push edi
push 0
push 0x40167c
push 0x401390
call esi
push edi
push 0
push 0x40166c
push 0x401390
call esi
push edi
push 0
push 0x4016a4
push 0x401390
call esi
push edi
push 0
push 0x402c2c
push 0x401390
call esi
mov edi, dword [esp + 0x10]
mov esi, edi
call fcn.00417510
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x2c0]
lea esi, [esp + 0x30]
mov edx, edi
call fcn.00417410
lea eax, [esp + 0x2c0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40f085
push 0x104
sub eax, edx
lea ecx, [esp + 0xbc]
push ecx
inc eax
push eax
lea edx, [esp + 0x2cc]
push edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea eax, [esp + 0xb8]
push 0x5c
push eax
call ebx
add esp, 8
test eax, eax
je 0x40f0dd
lea edx, [esp + 0xb8]
mov ecx, 0x2f
push 0x5c
push edx
mov word [eax], cx
call ebx
add esp, 8
test eax, eax
jne 0x40f0c2
cmp dword [esp + 0x1c], 0
jne 0x40f101
mov eax, dword [esp + 0x14]
push 7
push 0x402258
push eax
call dword [sym.imp.MSVCR100.dll__wcsnicmp]
add esp, 0xc
test eax, eax
je 0x40efb0
cmp dword [esp + 0x94], 8
jb 0x40f82c
mov ecx, dword [esp + 0x80]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
jmp 0x40f82c
mov ebx, dword [esp + 0x18]
test byte [ebx], 1
je 0x40f81f
push 7
push 0x402268
push edi
call esi
add esp, 0xc
test eax, eax
jne 0x40f299
mov eax, edi
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40f150
sub eax, edx
sar eax, 1
cmp eax, 7
jbe 0x40f299
cmp dword [ebx + 0x100], 0
je 0x40f299
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
xor edx, edx
push edx
lea esi, [edi + 0xd4]
push esi
or eax, 0xffffffff
lea ecx, [esp + 0x88]
mov dword [esp + 0x9c], 7
mov dword [esp + 0x98], 0
mov word [esp + 0x88], dx
call fcn.00408480
push 7
mov eax, 0x402218
lea ecx, [esp + 0x84]
call fcn.00408790
cmp dword [esi + 0x14], 8
jb 0x40f1cf
mov esi, dword [esi]
push esi
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea ecx, [edi + 0xf0]
sub edi, 0xffffff80
push edi
lea edx, [esp + 0x84]
call fcn.0040f9d0
add esp, 4
test al, al
je 0x40f83c
lea esi, [ebx + 0xe]
call fcn.0040eb70
test al, al
jne 0x40f21a
lea eax, [esp + 0x10]
push eax
mov edi, ebx
call fcn.0040d8f0
add esp, 4
test al, al
je 0x40f8a4
mov esi, dword [esp + 0x10]
call fcn.00417510
mov edx, dword [esp + 0x10]
mov edi, eax
lea eax, [esp + 0x2c0]
lea esi, [esp + 0x30]
mov dword [esp + 0x1c], edi
call fcn.00417410
lea eax, [esp + 0x2c0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40f247
push 0x104
sub eax, edx
lea ecx, [esp + 0xbc]
push ecx
inc eax
push eax
lea edx, [esp + 0x2cc]
push edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test edi, edi
jne 0x40f101
push 7
mov eax, ebx
push 0x402268
push eax
call dword [sym.imp.MSVCR100.dll__wcsnicmp]
add esp, 0xc
test eax, eax
je 0x40f1f7
jmp 0x40f101
push 6
push 0x402278
push edi
call esi
add esp, 0xc
test eax, eax
jne 0x40f666
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40f2b3
sub eax, edx
sar eax, 1
cmp eax, 6
jbe 0x40f666
cmp dword [ebx + 0x170], 0
je 0x40f666
xor edx, edx
mov dword [esp + 0xb0], 7
mov dword [esp + 0xac], 0
mov word [esp + 0x9c], dx
push edx
cmp byte [ebx + 0xe], dl
je 0x40f34d
lea eax, [ebx + 0xd4]
push eax
or eax, 0xffffffff
lea ecx, [esp + 0xa4]
call fcn.00408480
push 6
mov eax, 0x402c38
lea ecx, [esp + 0xa0]
call fcn.00408790
cmp dword [esp + 0xb0], 8
mov eax, dword [esp + 0x9c]
jae 0x40f33f
lea eax, [esp + 0x9c]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
jmp 0x40f3ef
push 0x14
lea eax, [esp + 0x7e0]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x40f8da
lea eax, [esp + 0x7d8]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40f371
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0x7dc]
lea esi, [esp + 0xa0]
call fcn.004088c0
push 1
mov eax, 0x401a10
mov ecx, esi
call fcn.00408790
push 0x402c48
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, eax
push 0x402c5c
push ebx
mov dword [esp + 0x30], ebx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x40f909
lea ecx, [esp + 0x24]
push ecx
push 0x2001f
push 0
push 0x402c78
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x40f909
cmp dword [esp + 0xb0], 8
mov eax, dword [esp + 0x9c]
jae 0x40f407
lea eax, [esp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov edi, dword [esp + 0x14]
add edi, 0xc
mov esi, dword [sym.imp.MSVCR100.dll_wcschr]
push 0x2f
push edi
call esi
add esp, 8
test eax, eax
jne 0x40f55c
push 0x2e
push edi
call esi
push 0x402288
push eax
call dword [sym.imp.MSVCR100.dll__wcsicmp]
add esp, 0x10
test eax, eax
jne 0x40f55c
push eax
push edi
call dword [sym.imp.MSVCR100.dll__waccess]
add esp, 8
cmp eax, 0xffffffff
jne 0x40f55c
lea edx, [esp + 0x10]
push edx
call fcn.0040d8f0
add esp, 4
test al, al
je 0x40f8e6
mov eax, dword [esp + 0x18]
cmp byte [eax + 0xe], 0
jne 0x40f55c
push edi
mov dword [esp + 0x24], 0x104
call dword [sym.imp.GDI32.dll_AddFontResourceW]
push 1
lea ecx, [esp + 0x5d4]
push ecx
lea edx, [esp + 0x28]
push edx
push edi
call dword [esp + 0x3c]
test eax, eax
je 0x40f55c
lea eax, [esp + 0x5d0]
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x40f4b3
mov ecx, dword [0x402d2c]
mov edx, dword [0x402d30]
mov dword [eax], ecx
mov ecx, dword [0x402d34]
mov dword [eax + 4], edx
mov edx, dword [0x402d38]
mov dword [eax + 8], ecx
mov ecx, dword [0x402d3c]
push 0
mov dword [eax + 0xc], edx
mov edx, dword [0x402d40]
push 0
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x2c]
push 0
mov dword [eax + 0x14], edx
push 0
lea eax, [esp + 0x5e0]
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp eax, 2
jne 0x40f54e
mov eax, edi
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40f520
mov ecx, dword [esp + 0x24]
sub eax, edx
sar eax, 1
lea edx, [eax + eax + 2]
push edx
push edi
push 1
push 0
lea eax, [esp + 0x5e0]
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
jmp 0x40f55c
push edi
call dword [sym.imp.GDI32.dll_RemoveFontResourceW]
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov esi, dword [esp + 0x10]
call fcn.00417510
mov edx, dword [esp + 0x10]
mov ebx, eax
lea eax, [esp + 0x2c0]
lea esi, [esp + 0x30]
mov dword [esp + 0x1c], ebx
call fcn.00417410
lea eax, [esp + 0x2c0]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40f590
push 0x104
sub eax, edx
lea edx, [esp + 0xbc]
push edx
inc eax
push eax
lea eax, [esp + 0x2cc]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, dword [sym.imp.MSVCR100.dll_wcschr]
lea ecx, [esp + 0xb8]
push 0x5c
push ecx
call esi
add esp, 8
test eax, eax
je 0x40f5fb
jmp 0x40f5e0
mov edx, 0x2f
mov word [eax], dx
lea eax, [esp + 0xb8]
push 0x5c
push eax
call esi
add esp, 8
test eax, eax
jne 0x40f5e0
test ebx, ebx
jne 0x40f61c
mov ecx, dword [esp + 0x14]
push 6
push 0x402278
push ecx
call dword [sym.imp.MSVCR100.dll__wcsnicmp]
add esp, 0xc
test eax, eax
je 0x40f415
mov edx, dword [esp + 0x28]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [esp + 0x18]
cmp byte [eax + 0xe], 0
jne 0x40f642
push 0
push 0
push 0x1d
push 0xffff
call dword [sym.imp.USER32.dll_PostMessageW]
cmp dword [esp + 0xb0], 8
jb 0x40f82c
mov ecx, dword [esp + 0x9c]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
jmp 0x40f82c
push 0xe
push 0x402294
push edi
call esi
add esp, 0xc
test eax, eax
jne 0x40f81f
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40f680
sub eax, edx
sar eax, 1
cmp eax, 0xe
jbe 0x40f81f
cmp dword [ebx + 0x11c], 0
je 0x40f81f
xor edx, edx
lea eax, [ebx + 0xd4]
push edx
push eax
or eax, 0xffffffff
lea ecx, [esp + 0xa4]
mov dword [esp + 0xb8], 7
mov dword [esp + 0xb4], 0
mov word [esp + 0xa4], dx
call fcn.00408480
push 8
mov eax, 0x402228
lea ecx, [esp + 0xa0]
call fcn.00408790
cmp dword [esp + 0xb0], 8
mov eax, dword [esp + 0x9c]
jae 0x40f707
lea eax, [esp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov edi, dword [esp + 0x14]
mov eax, ebx
lea ecx, [eax + 0x10c]
sub eax, 0xffffff80
push eax
lea edx, [esp + 0xa0]
add edi, 0x1c
call fcn.0040f9d0
add esp, 4
test al, al
je 0x40f8da
jmp 0x40f740
mov esi, dword [sym.imp.MSVCR100.dll_wcschr]
push 0x2f
push edi
call esi
add esp, 8
test eax, eax
jne 0x40f78a
push 0x2e
push edi
call esi
push 0x4022b4
push eax
call dword [sym.imp.MSVCR100.dll__wcsicmp]
add esp, 0x10
test eax, eax
jne 0x40f78a
mov esi, edi
call fcn.0040ea00
test al, al
jne 0x40f78a
lea eax, [esp + 0x10]
push eax
call fcn.0040d8f0
add esp, 4
test al, al
je 0x40f8e6
mov esi, dword [esp + 0x10]
call fcn.00417510
mov edx, dword [esp + 0x10]
mov ebx, eax
lea eax, [esp + 0x2c0]
lea esi, [esp + 0x30]
mov dword [esp + 0x1c], ebx
call fcn.00417410
lea eax, [esp + 0x2c0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40f7b7
push 0x104
sub eax, edx
lea ecx, [esp + 0xbc]
push ecx
inc eax
push eax
lea edx, [esp + 0x2cc]
push edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test ebx, ebx
jne 0x40f802
mov eax, dword [esp + 0x14]
push 0xe
push 0x402294
push eax
call dword [sym.imp.MSVCR100.dll__wcsnicmp]
add esp, 0xc
test eax, eax
je 0x40f740
cmp dword [esp + 0xb0], 8
jb 0x40f82c
mov ecx, dword [esp + 0x9c]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
jmp 0x40f82c
mov esi, dword [esp + 0x10]
call fcn.00417510
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], 0
jne 0x40f848
mov edi, dword [esp + 0x14]
jmp 0x40eccd
lea esi, [esp + 0x80]
call fcn.00412770
mov esi, dword [esp + 0x10]
call fcn.00416f90
cmp dword [esp + 0x1c], 0xffffff9c
sete al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x9d8]
xor ecx, esp
call fcn.0041b4f6
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x94], 8
jb 0x40ec5c
mov edx, dword [esp + 0x80]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x9d8]
xor ecx, esp
call fcn.0041b4f6
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x94], 8
jb 0x40ec5c
mov eax, dword [esp + 0x80]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x9d8]
xor ecx, esp
call fcn.0041b4f6
mov esp, ebp
pop ebp
ret
lea esi, [esp + 0x9c]
jmp 0x40f843
lea esi, [esp + 0x9c]
call fcn.00412770
mov ecx, dword [esp + 0x9e4]
pop edi
pop esi
pop ebx
xor ecx, esp
xor al, al
call fcn.0041b4f6
mov esp, ebp
pop ebp
ret
xor ecx, ecx
mov edi, 7
push 0x25
mov eax, 0x402ce0
lea esi, [esp + 0x84]
mov dword [esp + 0x98], edi
mov dword [esp + 0x94], 0
mov word [esp + 0x84], cx
call fcn.004088c0
mov eax, dword [esp + 0x80]
mov esi, 8
cmp dword [esp + 0x94], esi
jae 0x40f959
lea eax, [esp + 0x80]
push 0x40010
push 0x401968
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [esp + 0x94], esi
jb 0x40f98d
mov edx, dword [esp + 0x80]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], 0
mov word [esp + 0x80], ax
cmp dword [esp + 0xb0], esi
jb 0x40f848
mov ecx, dword [esp + 0x9c]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
jmp 0x40f848