Function at 0x42adb0
Capabilities:
Check os version
Get process heap force flags
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x4a0379
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, 0x22b4
call fcn.00491ff0
mov eax, dword [0x4d4028]
xor eax, esp
mov dword [esp + 0x22b0], eax
push ebx
push esi
push edi
mov eax, dword [0x4d4028]
xor eax, esp
push eax
lea eax, [esp + 0x22f8]
mov dword fs:[0], eax
mov edi, ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x3c], edi
call dword [0x4a2ef4]
xor ebx, ebx
lea ecx, [esp + 0x10]
mov dword [esp + 0x2300], ebx
call dword [0x4a2ef4]
lea ecx, [esp + 0x14]
call dword [0x4a2ef4]
mov eax, dword [edi + 0x528]
mov ecx, eax
shr ecx, 0x18
mov byte [esp + 0x50], cl
mov edx, eax
mov ecx, eax
shr edx, 0x10
shr ecx, 8
xor esi, esi
mov byte [esp + 0x51], dl
mov byte [esp + 0x52], cl
mov byte [esp + 0x53], al
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov byte [esp + 0x2300], 3
cmp byte [edi + 0x520], 0
jne 0x42aed6
lea edx, [edi + 0x78]
push edx
lea eax, [edi + 0x40]
push eax
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x5c]
push edx
call fcn.00462dd4
mov esi, dword [esp + 0x30]
cmp esi, ebx
jne 0x42aecd
push 3
push 0x7613
push edi
call fcn.0047df9e
lea eax, [esp + 0x30]
mov byte [esp + 0x2300], 2
call fcn.00403bb0
lea ecx, [esp + 0x14]
call dword [0x4a2ee8]
lea ecx, [esp + 0x10]
call dword [0x4a2ee8]
lea ecx, [esp + 0x18]
call dword [0x4a2ee8]
mov eax, 0x41306
jmp 0x42c6b0
lea eax, [esi + 0x38]
mov dword [esp + 0x1c], eax
jmp 0x42aedc
mov dword [esp + 0x1c], ebx
mov eax, ebx
cmp eax, ebx
mov dword [esp + 0xe4], eax
je 0x42aef2
mov eax, dword [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [esp + 0x2300], 4
cmp byte [edi + 0x520], 0
jne 0x42b12d
mov eax, esi
call fcn.0045f59e
lea ecx, [esp + 0x7c]
mov edi, eax
call dword [0x4a2ef4]
lea ecx, [esp + 0x58]
call dword [0x4a2ef4]
lea ecx, [esp + 0x70]
call dword [0x4a2ef4]
lea ecx, [esp + 0x70]
push ecx
lea edx, [esp + 0x5c]
push edx
lea eax, [esp + 0x84]
push eax
mov ecx, esi
mov byte [esp + 0x230c], 7
call fcn.0045d18b
lea ecx, [esp + 0x7c]
push ecx
lea ecx, [esp + 0x1c]
call dword [0x4a2ea0]
lea ecx, [esp + 0x18]
call dword [0x4a2d84]
lea edx, [esp + 0x98]
push edx
lea ecx, [esp + 0x5c]
mov ebx, 0x4a3d98
call fcn.0040ec10
add esp, 4
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2304], 8
call dword [0x4a2db0]
lea ecx, [esp + 0x98]
mov byte [esp + 0x2300], 7
call dword [0x4a2ee8]
lea ecx, [esp + 0x18]
call dword [0x4a2d84]
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x74]
call fcn.0040ec10
add esp, 4
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2304], 9
call dword [0x4a2db0]
lea ecx, [esp + 0x60]
mov byte [esp + 0x2300], 7
call dword [0x4a2ee8]
lea ecx, [esp + 0x18]
call dword [0x4a2d84]
mov ecx, dword [esp + 0x18]
push ecx
lea edx, [esp + 0x14]
push 0x147d
push edx
call dword [0x4a2db8]
add esp, 0xc
push 0
add edi, 0xcb2
push edi
lea eax, [esp + 0xfc]
push eax
call fcn.00403ae0
mov dword [esp + 0x60], eax
push 0
push 0xcb1
lea ecx, [esp + 0xf4]
push ecx
mov byte [esp + 0x230c], 0xa
call fcn.00403ae0
mov byte [esp + 0x2300], 0xb
lea edx, [esp + 0xdc]
push edx
mov ecx, eax
call fcn.0040ec10
add esp, 4
push eax
lea eax, [esp + 0xb8]
push eax
mov edi, 0x4a8a10
mov byte [esp + 0x2308], 0xc
call fcn.0040a1d0
mov byte [esp + 0x2308], 0xd
mov ecx, dword [esp + 0x68]
push ecx
lea edx, [esp + 0x114]
push edx
mov ecx, eax
call fcn.00402df0
add esp, 0x10
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2304], 0xe
call dword [0x4a2db0]
lea ecx, [esp + 0x108]
call dword [0x4a2ee8]
lea ecx, [esp + 0xb4]
call dword [0x4a2ee8]
lea ecx, [esp + 0xdc]
call dword [0x4a2ee8]
lea ecx, [esp + 0xec]
call dword [0x4a2ee8]
lea ecx, [esp + 0xf4]
mov byte [esp + 0x2300], 7
call dword [0x4a2ee8]
mov ecx, dword [esp + 0x3c]
push 1
lea eax, [esp + 0x14]
push eax
call fcn.0047deb4
lea ecx, [esp + 0x70]
call dword [0x4a2ee8]
lea ecx, [esp + 0x58]
call dword [0x4a2ee8]
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2300], 4
call dword [0x4a2ee8]
mov edi, dword [esp + 0x3c]
xor ebx, ebx
push 0xffffffffffffffff
lea ecx, [edi + 0x78]
push ecx
lea edx, [edi + 0x40]
push edx
lea eax, [esp + 0x180]
push eax
call fcn.0045fb10
mov byte [esp + 0x2300], 0xf
mov ecx, dword [0x7f5f8c]
shr ecx, 2
and ecx, 1
cmp dword [0x7f5f98], 2
push 1
sete dl
cmp dword [0x7f5f80], ebx
push ecx
setne al
cmp dword [0x7f5f84], ebx
setne cl
push edx
push eax
lea eax, [esp + 0x184]
push ecx
call fcn.0045fc40
test al, al
jne 0x42b300
cmp dword [esp + 0x1cc], ebx
mov dword [esp + method.RecDev::FileTree.virtual_0], vtable.RecDev::FileTree.0
mov dword [esp + method.CDlgPage.virtual_8], vtable.RecDev::FileTree.1.0
je 0x42b1be
lea edx, [esp + 0x1cc]
push edx
call dword [0x4a3280]
add esp, 4
mov ecx, dword [esp + 0x1c4]
mov dword [esp + 0x1cc], ebx
mov dword [esp + 0x1d0], ebx
mov dword [esp + 0x1d4], ebx
mov byte [esp + 0x1d8], 0
mov eax, dword [ecx]
mov dword [ecx], ecx
mov ecx, dword [esp + 0x1c4]
mov dword [ecx + 4], ecx
mov ecx, dword [esp + 0x1c4]
cmp eax, ecx
mov dword [esp + 0x1c8], ebx
je 0x42b21a
mov esi, dword [eax]
push eax
call fcn.0048fec8
mov ecx, dword [esp + 0x1c8]
add esp, 4
cmp esi, ecx
mov eax, esi
jne 0x42b202
push ecx
call fcn.0048fec8
mov esi, dword [esp + 0x1b8]
add esp, 4
cmp esi, ebx
mov dword [esp + 0x1c4], ebx
je 0x42b260
mov edi, dword [esp + 0x1b8]
cmp esi, edi
je 0x42b257
lea ecx, [esi + 0x10]
call dword [0x4a2ee8]
add esi, 0x18
cmp esi, edi
jne 0x42b240
mov esi, dword [esp + 0x1b4]
push esi
call fcn.0048fec8
add esp, 4
mov eax, dword [esp + 0x19c]
cmp eax, ebx
mov dword [esp + 0x1b4], ebx
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1bc], ebx
mov dword [esp + method.RecDev::CallbackObject.virtual_0], vtable.RecDev::CallbackObject.0
je 0x42b298
push eax
lea eax, [esp + 0x178]
call fcn.0045c626
mov ecx, dword [esp + 0x1a4]
mov eax, dword [ecx]
mov dword [ecx], ecx
mov ecx, dword [esp + 0x1a4]
mov dword [ecx + 4], ecx
mov ecx, dword [esp + 0x1a4]
cmp eax, ecx
mov dword [esp + 0x1a8], ebx
je 0x42b2d8
nop
mov esi, dword [eax]
push eax
call fcn.0048fec8
mov ecx, dword [esp + 0x1a8]
add esp, 4
cmp esi, ecx
mov eax, esi
jne 0x42b2c0
push ecx
call fcn.0048fec8
add esp, 4
mov dword [esp + 0x1a4], ebx
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x42ae94
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x42ae94
cmp byte [edi + 0x520], 0
push 1
je 0x42b681
push 0x766e
push edi
call fcn.0047df9e
push ecx
mov ecx, esp
mov dword [esp + 0x8c], esp
push 0x4a6718
call dword [0x4a2ed8]
lea esi, [edi + 0x88]
push esi
lea eax, [esp + 0x17c]
push eax
mov ecx, edi
call fcn.0042a7c0
mov dword [esi], ebx
lea esi, [esp + 0x174]
call fcn.004600bf
cmp eax, 8
mov ebx, dword [esp + 0x3c]
jle 0x42b369
push 2
push 0x7574
push ebx
call fcn.0047df9e
mov ecx, dword [0x7f5fcc]
mov edx, dword [0x7f5fc8]
mov eax, dword [ebx + 0x540]
push ecx
push edx
push eax
push 1
lea esi, [esp + 0x184]
call fcn.004600bf
push eax
push 0
mov edi, esi
call fcn.0045fe44
lea eax, [esp + 0x74]
push eax
call fcn.0045c40f
add esp, 4
mov byte [esp + 0x2300], 0x10
mov eax, dword [esp + 0x74]
cmp dword [eax - 0xc], 0
je 0x42b424
push eax
push str.RecDev_Error:__s_n
or eax, 0xffffffff
mov ecx, 0x7f6050
call fcn.004012c0
add esp, 8
lea ecx, [esp + 0x74]
call dword [0x4a2ee8]
mov ecx, esi
call fcn.0045fbf3
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x42b3eb
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [esp + 0x30]
mov byte [esp + 0x2300], 2
call fcn.00403bb0
lea ecx, [esp + 0x14]
call dword [0x4a2ee8]
lea ecx, [esp + 0x10]
call dword [0x4a2ee8]
lea ecx, [esp + 0x18]
call dword [0x4a2ee8]
mov eax, 0x80004005
jmp 0x42c6b0
lea ecx, [esp + 0x74]
mov byte [esp + 0x2300], 0xf
call dword [0x4a2ee8]
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x42b443
cmp byte [eax + 0x40], 0
je 0x42b467
lea ecx, [esp + 0x174]
call fcn.0045fbf3
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x42ae94
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x42ae94
cmp dword [0x7f5f3c], 0
je 0x42b606
mov eax, dword [ebx + 0x524]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x42b606
mov eax, dword [ebx + 0x524]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x42b606
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0
push 0
lea ecx, [esp + 0x6c]
push ecx
push 0x400
mov esi, eax
push esi
push 0
push 0x1300
mov dword [esp + 0x80], 0
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
push 0
push 0x756e
lea edx, [esp + 0x108]
push edx
call fcn.00403ae0
mov byte [esp + 0x2300], 0x11
mov ecx, dword [esp + 0x64]
mov edx, dword [eax]
push ecx
push edx
lea eax, [esp + 0x1c]
push str._s__s
push eax
call dword [0x4a2ee0]
add esp, 0x10
lea ecx, [esp + 0x100]
mov byte [esp + 0x2300], 0xf
call dword [0x4a2ee8]
push 2
lea ecx, [esp + 0x18]
push ecx
mov ecx, ebx
call fcn.0047deb4
mov edx, dword [ebx + 0x524]
push edx
push str.Error_deleting_following_file:__s
mov eax, 0x100
mov ecx, 0x7f6050
call fcn.004012c0
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x74]
push ecx
mov edi, 0x4a6a78
call fcn.0040a1d0
mov byte [esp + 0x2310], 0x12
mov eax, dword [eax]
push eax
mov eax, 0x80
mov ecx, 0x7f6050
call fcn.004012c0
add esp, 0x14
lea ecx, [esp + 0x68]
mov byte [esp + 0x2300], 0xf
call dword [0x4a2ee8]
mov edx, dword [esp + 0x64]
push edx
call dword [sym.imp.KERNEL32.dll_LocalFree]
test esi, esi
jle 0x42b5a2
and esi, 0xffff
or esi, 0x80070000
test esi, esi
jge 0x42b606
push 0xae
mov ebx, str..TaskPremasterImage.cpp
mov edi, esi
call fcn.0041e240
lea ecx, [esp + 0x174]
call fcn.0045fbf3
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x42b5d0
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [esp + 0x30]
mov byte [esp + 0x2300], 2
call fcn.00403bb0
lea ecx, [esp + 0x14]
call dword [0x4a2ee8]
lea ecx, [esp + 0x10]
call dword [0x4a2ee8]
lea ecx, [esp + 0x18]
call dword [0x4a2ee8]
mov eax, esi
jmp 0x42c6b0
mov ecx, dword [0x7f5fcc]
mov edx, dword [0x7f5fc8]
mov eax, dword [ebx + 0x540]
push ecx
push edx
push eax
add ebx, 0x524
push ebx
lea ecx, [esp + 0x184]
call fcn.00460822
lea ecx, [esp + 0x174]
mov esi, eax
call fcn.0045fbf3
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x42b64b
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [esp + 0x30]
mov byte [esp + 0x2300], 2
call fcn.00403bb0
lea ecx, [esp + 0x14]
call dword [0x4a2ee8]
lea ecx, [esp + 0x10]
call dword [0x4a2ee8]
lea ecx, [esp + 0x18]
call dword [0x4a2ee8]
mov eax, esi
jmp 0x42c6b0
push 0x7552
push edi
mov byte [esp + 0x3b], 0
call fcn.0047df9e
mov eax, esi
call fcn.0045d5fe
test al, al
jne 0x42b6c0
push 0xffffffffffffffff
push 0x35
push 0x7572
call fcn.004900c6
cmp eax, 4
je 0x42b691
lea ecx, [esp + 0x174]
call fcn.0045fbf3
jmp 0x42b2e8
cmp byte [edi + 0x52e], 0
je 0x42ba11
mov eax, esi
call fcn.0045f59e
mov ebx, eax
lea eax, [esp + 0x150]
push eax
mov eax, esi
call fcn.0045e931
test al, al
jne 0x42b71c
push str.Couldnt_get_disc_information._n
mov eax, 0x80
mov ecx, 0x7f6050
call fcn.004012c0
add esp, 4
mov eax, esi
call fcn.0045e617
push 0xffffffffffffffff
push 0x30
push 0x963
call fcn.004900c6
xor ebx, ebx
jmp 0x42b691
test ebx, ebx
jne 0x42b7bc
mov ecx, dword [esp + 0x18]
push ecx
lea edx, [esp + 0x14]
push 0xbf8
push edx
call dword [0x4a2db8]
add esp, 0xc
push ebx
push 0x8e8
lea eax, [esp + 0xa8]
push eax
call fcn.00403ae0
lea ecx, [esp + 0xe0]
push ecx
mov ecx, eax
mov ebx, 0x4a6a78
mov byte [esp + 0x2304], 0x13
call fcn.0040ec10
add esp, 4
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2304], 0x14
call dword [0x4a2db0]
lea ecx, [esp + 0xe0]
call dword [0x4a2ee8]
lea ecx, [esp + 0xa0]
mov byte [esp + 0x2300], 0xf
call dword [0x4a2ee8]
mov edx, dword [esp + 0x10]
push 0
push 0x31
push edx
call fcn.004900cc
cmp eax, 1
jne 0x42c1b6
jmp 0x42b7f2
cmp ebx, 2
je 0x42b910
cmp ebx, 3
je 0x42b910
cmp ebx, 5
je 0x42b910
cmp ebx, 0xd
je 0x42b910
cmp ebx, 0xe
je 0x42b910
cmp ebx, 0x11
je 0x42b910
mov eax, esi
call fcn.0045e617
push 0x963
lea ecx, [esp + 0x14]
call dword [0x4a2eb8]
push 0
push 0x8f2
lea eax, [esp + 0xc0]
push eax
call fcn.00403ae0
mov edi, eax
push 0
push 0x8ec
lea ecx, [esp + 0x104]
push ecx
mov byte [esp + 0x230c], 0x15
call fcn.00403ae0
mov dword [esp + 0x68], eax
push 0
push 0x8e9
lea edx, [esp + 0xb8]
push edx
mov byte [esp + 0x230c], 0x16
call fcn.00403ae0
lea ecx, [esp + 0xe8]
push ecx
mov ecx, eax
mov ebx, 0x4a6a78
mov byte [esp + 0x2304], 0x17
call fcn.0040ec10
add esp, 4
mov byte [esp + 0x2300], 0x18
mov edx, dword [esp + 0x68]
push edx
lea ecx, [esp + 0xac]
push ecx
mov ecx, eax
call fcn.00402df0
lea edx, [esp + 0x94]
push edi
push edx
mov ecx, eax
mov byte [esp + 0x2310], 0x19
call fcn.00402df0
add esp, 0x10
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2304], 0x1a
call dword [0x4a2db0]
lea ecx, [esp + 0x8c]
call dword [0x4a2ee8]
lea ecx, [esp + 0xa8]
call dword [0x4a2ee8]
lea ecx, [esp + 0xe8]
call dword [0x4a2ee8]
lea ecx, [esp + 0xb0]
call dword [0x4a2ee8]
lea ecx, [esp + 0xfc]
call dword [0x4a2ee8]
lea ecx, [esp + 0xb8]
jmp 0x42b9e1
cmp byte [esp + 0x151], 2
jne 0x42bafc
mov eax, esi
call fcn.0045e617
push 0x964
lea ecx, [esp + 0x14]
call dword [0x4a2eb8]
push 0
push 0x8ef
lea ecx, [esp + 0xd0]
push ecx
call fcn.00403ae0
mov edi, eax
push 0
push 0x8e9
lea edx, [esp + 0x10c]
push edx
mov byte [esp + 0x230c], 0x1b
call fcn.00403ae0
lea ecx, [esp + 0xc0]
push ecx
mov ecx, eax
mov ebx, 0x4a6a78
mov byte [esp + 0x2304], 0x1c
call fcn.0040ec10
add esp, 4
lea edx, [esp + 0xf0]
push edi
push edx
mov ecx, eax
mov byte [esp + 0x2308], 0x1d
call fcn.00402df0
add esp, 8
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2304], 0x1e
call dword [0x4a2db0]
lea ecx, [esp + 0xf0]
call dword [0x4a2ee8]
lea ecx, [esp + 0xc0]
call dword [0x4a2ee8]
lea ecx, [esp + 0x104]
call dword [0x4a2ee8]
lea ecx, [esp + 0xc8]
mov byte [esp + 0x2300], 0xf
call dword [0x4a2ee8]
mov eax, dword [esp + 0x10]
push 0
push 0x35
push eax
call fcn.004900cc
cmp eax, 4
jne 0x42c1b6
mov edi, dword [esp + 0x3c]
xor ebx, ebx
jmp 0x42b691
movzx ecx, byte [edi + 0x53e]
push ebx
push ecx
push ebx
push 1
lea edx, [esp + 0x3f]
mov ecx, esi
call fcn.0046327b
cmp eax, 0x41306
jne 0x42ba40
lea ecx, [esp + 0x174]
call fcn.0045fbf3
jmp 0x42b2e8
cmp byte [esp + 0x2f], 0
je 0x42bafe
cmp byte [edi + 0x53e], 0
push ebx
je 0x42ba8b
push 0x7538
lea edx, [esp + 0x100]
push edx
call fcn.00403ae0
mov byte [esp + 0x2300], 0x1f
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x14]
push 0x7557
push ecx
call dword [0x4a2db8]
lea ecx, [esp + 0x104]
jmp 0x42babf
push 0x7539
lea edx, [esp + 0xd8]
push edx
call fcn.00403ae0
mov byte [esp + 0x2300], 0x20
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x14]
push 0x7557
push ecx
call dword [0x4a2db8]
lea ecx, [esp + 0xdc]
add esp, 0xc
mov byte [esp + 0x2300], 0xf
call dword [0x4a2ee8]
push 1
lea edx, [esp + 0x14]
push edx
mov ecx, edi
call fcn.0047deb4
movzx eax, byte [edi + 0x53d]
movzx ecx, byte [edi + 0x53e]
push eax
push ecx
push 1
push ebx
xor edx, edx
mov ecx, esi
call fcn.0046327b
jmp 0x42bafe
xor ebx, ebx
mov eax, esi
lea edi, [esp + 0x78]
call fcn.0045c3e8
mov byte [esp + 0x2300], 0x21
mov eax, dword [esp + 0x78]
cmp dword [eax - 0xc], ebx
je 0x42bb8c
push eax
push str.RecDev_Error:__s_n
or eax, 0xffffffff
mov ecx, 0x7f6050
call fcn.004012c0
add esp, 8
mov ecx, edi
call dword [0x4a2ee8]
lea ecx, [esp + 0x174]
call fcn.0045fbf3
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x42bb53
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [esp + 0x30]
mov byte [esp + 0x2300], 2
call fcn.00403bb0
lea ecx, [esp + 0x14]
call dword [0x4a2ee8]
lea ecx, [esp + 0x10]
call dword [0x4a2ee8]
lea ecx, [esp + 0x18]
call dword [0x4a2ee8]
mov eax, 0x80004005
jmp 0x42c6b0
lea ecx, [esp + 0x78]
mov byte [esp + 0x2300], 0xf
call dword [0x4a2ee8]
mov esi, dword [esp + 0x3c]
mov eax, dword [esi + 0x20]
cmp eax, ebx
je 0x42bbaf
cmp byte [eax + 0x40], 0
je 0x42bbc0
lea ecx, [esp + 0x174]
call fcn.0045fbf3
jmp 0x42b2e8
mov ebx, dword [esp + 0x30]
lea edx, [esp + 0x22]
push edx
lea eax, [esp + 0x27]
push eax
mov eax, ebx
mov byte [esp + 0x2b], 0
mov byte [esp + 0x2a], 0
call fcn.0045d6cf
test al, al
jne 0x42bc13
mov eax, ebx
lea edi, [esp + 0x10c]
call fcn.0045c3e8
push 2
push eax
mov ecx, esi
mov byte [esp + 0x2308], 0x22
call fcn.0047deb4
mov ecx, edi
mov byte [esp + 0x2300], 0xf
call dword [0x4a2ee8]
cmp byte [esp + 0x22], 0
je 0x42bc5d
movzx ecx, byte [esi + 0x52d]
push ecx
mov eax, ebx
call fcn.0045d7ec
test al, al
jne 0x42bc5d
mov eax, ebx
lea edi, [esp + 0xd8]
call fcn.0045c3e8
push 2
push eax
mov ecx, esi
mov byte [esp + 0x2308], 0x23
call fcn.0047deb4
mov ecx, edi
mov byte [esp + 0x2300], 0xf
call dword [0x4a2ee8]
lea edx, [esp + 0x22]
push edx
lea eax, [esp + 0x27]
push eax
mov eax, ebx
call fcn.0045d6cf
test al, al
jne 0x42bc9a
mov eax, ebx
lea edi, [esp + 0x90]
call fcn.0045c3e8
push 2
push eax
mov ecx, esi
mov byte [esp + 0x2308], 0x24
call fcn.0047deb4
mov ecx, edi
call dword [0x4a2ee8]
lea ecx, [esp + 0x24]
call dword [0x4a2ef4]
lea ecx, [esp + 0x28]
call dword [0x4a2ef4]
push 0x7531
lea ecx, [esp + 0x28]
mov byte [esp + 0x2304], 0x26
call dword [0x4a2eb8]
push 0x7532
lea ecx, [esp + 0x2c]
call dword [0x4a2eb8]
push 0x7560
lea ecx, [esp + 0x14]
call dword [0x4a2eb8]
cmp byte [esp + 0x22], 0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ecx, edx
jne 0x42bcf6
mov ecx, eax
cmp byte [esp + 0x23], 0
je 0x42bcff
mov eax, edx
push ecx
mov ecx, dword [esp + 0x14]
push eax
push ecx
lea edx, [esp + 0x20]
push edx
call dword [0x4a2ee0]
mov esi, dword [esp + 0x4c]
add esp, 0x10
push 1
lea eax, [esp + 0x18]
push eax
mov ecx, esi
call fcn.0047deb4
xor eax, eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
lea ecx, [esp + 0x40]
push ecx
mov byte [esp + 0x2304], 0x27
call fcn.0045dd42
mov ecx, dword [esi + 0x538]
test ecx, ecx
jne 0x42be02
cmp eax, 1
jle 0x42bdef
lea edx, [esp + 0x604]
push edx
call fcn.0044c390
lea eax, [esp + 0x604]
push eax
lea esi, [esp + 0x98]
mov byte [esp + 0x2304], 0x28
call fcn.00407060
mov byte [esp + 0x2300], 0x29
mov ecx, dword [esp + 0x30]
add ecx, 0x50
call fcn.0042c7c0
lea ecx, [esp + 0x604]
mov dword [esp + 0xe50], eax
call fcn.00490084
cmp eax, 1
jne 0x42bdb9
xor ebx, ebx
call fcn.00461e18
mov ecx, dword [esp + 0xe54]
lea edx, [esp + 0x94]
push edx
mov dword [esp + 0x58], ecx
mov byte [esp + 0x2304], 0x28
call fcn.00407040
lea ecx, [esp + 0x604]
mov byte [esp + 0x2300], 0x27
call fcn.0044c4e0
jmp 0x42be40
xor edi, edi
lea esi, [esp + 0x40]
call fcn.0042c740
mov eax, dword [eax]
mov dword [esp + 0x54], eax
jmp 0x42be40
test eax, eax
jle 0x42be28
mov edx, dword [esp + 0x44]
test edx, edx
jne 0x42be12
xor eax, eax
jmp 0x42be1b
mov eax, dword [esp + 0x48]
sub eax, edx
sar eax, 2
xor edx, edx
div ecx
sub eax, 1
jns 0x42be2f
xor eax, eax
jmp 0x42be2f
mov eax, dword [esp + 0xe4]
mov edi, eax
lea esi, [esp + 0x40]
call fcn.0042c740
mov ecx, dword [eax]
mov dword [esp + 0x54], ecx
mov esi, dword [esp + 0x30]
lea edx, [esp + 0x54]
push edx
mov eax, esi
call fcn.0045da71
test al, al
jne 0x42be8a
mov eax, esi
lea edi, [esp + 0x9c]
call fcn.0045c3e8
mov ebx, dword [esp + 0x3c]
push 2
push eax
mov ecx, ebx
mov byte [esp + 0x2308], 0x2a
call fcn.0047deb4
mov ecx, edi
mov byte [esp + 0x2300], 0x27
call dword [0x4a2ee8]
jmp 0x42be8e
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
test ecx, ecx
jne 0x42be9a
xor eax, eax
jmp 0x42bea3
mov eax, dword [esp + 0x48]
sub eax, ecx
sar eax, 2
lea edi, [eax - 1]
lea esi, [esp + 0x40]
call fcn.0042c740
mov eax, dword [eax]
mov ecx, dword [esp + 0x54]
push eax
push ecx
lea edx, [esp + 0x1c]
push 0x856
push edx
call dword [0x4a2db8]
add esp, 0x10
push 1
lea eax, [esp + 0x18]
push eax
mov ecx, ebx
call fcn.0047deb4
cmp byte [ebx + 0x52c], 0
mov esi, dword [esp + 0x30]
jne 0x42bf06
mov eax, esi
call fcn.0045de70
test al, al
je 0x42bef9
push 1
push 0x761b
jmp 0x42bf00
push 2
push 0x761c
push ebx
call fcn.0047df9e
lea ecx, [esp + 0x110]
push ecx
push 0xff
mov eax, esi
call fcn.0045e853
test al, al
jne 0x42bf4e
mov eax, esi
lea edi, [esp + 0xa4]
call fcn.0045c3e8
push 2
push eax
mov ecx, ebx
mov byte [esp + 0x2308], 0x2b
call fcn.0047deb4
mov ecx, edi
mov byte [esp + 0x2300], 0x27
call dword [0x4a2ee8]
cmp byte [ebx + 0x52f], 0
je 0x42c052
lea edx, [esp + 0xe5c]
push edx
mov eax, esi
call fcn.0045ea0c
test al, al
jne 0x42bf9e
mov eax, esi
lea edi, [esp + 0xac]
call fcn.0045c3e8
push 2
push eax
mov ecx, ebx
mov byte [esp + 0x2308], 0x2c
call fcn.0047deb4
mov ecx, edi
mov byte [esp + 0x2300], 0x27
call dword [0x4a2ee8]
lea eax, [esp + 0x12c]
push eax
mov eax, esi
call fcn.0045e931
test al, al
jne 0x42bfe1
mov eax, esi
lea edi, [esp + 0x84]
call fcn.0045c3e8
push 2
push eax
mov ecx, ebx
mov byte [esp + 0x2308], 0x2d
call fcn.0047deb4
mov ecx, edi
mov byte [esp + 0x2300], 0x27
call dword [0x4a2ee8]
cmp byte [esp + 0xe5c], 0
je 0x42c052
cmp byte [esp + 0x12c], 0
je 0x42c052
cmp byte [esp + 0x12d], 1
jne 0x42c052
movzx eax, byte [esp + 0xe66]
sub eax, 1
js 0x42c052
mov ecx, eax
shl ecx, 4
sub ecx, eax
lea edi, [esp + ecx*2 + 0xe68]
mov cl, byte [esp + 0xe65]
cmp byte [edi + 2], cl
jne 0x42c052
cmp byte [edi], 0
je 0x42c031
cmp byte [edi + 0x15], 0
jne 0x42c03d
sub eax, 1
sub edi, 0x1e
test eax, eax
jge 0x42c021
jmp 0x42c052
mov edx, eax
shl edx, 4
sub edx, eax
movzx eax, byte [esp + edx*2 + 0xe69]
mov dword [ebx + 0x530], eax
mov eax, dword [ebx + 0x530]
test eax, eax
jle 0x42c1cd
mov edi, dword [0x4a2db8]
push eax
lea ecx, [esp + 0x18]
push 0xc02
push ecx
call edi
add esp, 0xc
push 1
lea edx, [esp + 0x18]
push edx
mov ecx, ebx
call fcn.0047deb4
lea eax, [esp + 0x14]
push 0xc01
push eax
call edi
add esp, 8
push 1
lea ecx, [esp + 0x18]
push ecx
mov ecx, ebx
call fcn.0047deb4
mov edx, dword [0x7f5f8c]
movzx eax, byte [ebx + 0x530]
shr edx, 2
and edx, 0xffffff01
push edx
push eax
push esi
lea esi, [esp + 0x180]
call fcn.00460129
lea ecx, [esp + 0x6c]
push ecx
call fcn.0045c40f
add esp, 4
mov byte [esp + 0x2300], 0x2e
mov eax, dword [esp + 0x6c]
cmp dword [eax - 0xc], 0
je 0x42c17a
push eax
push str.RecDev_Error:__s_n
or eax, 0xffffffff
mov ecx, 0x7f6050
call fcn.004012c0
add esp, 8
lea ecx, [esp + 0x6c]
call dword [0x4a2ee8]
lea esi, [esp + 0x40]
call int.00440760
lea ecx, [esp + 0x28]
call dword [0x4a2ee8]
lea ecx, [esp + 0x24]
call dword [0x4a2ee8]
lea ecx, [esp + 0x174]
call fcn.0045fbf3
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x42c141
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [esp + 0x30]
mov byte [esp + 0x2300], 2
call fcn.00403bb0
lea ecx, [esp + 0x14]
call dword [0x4a2ee8]
lea ecx, [esp + 0x10]
call dword [0x4a2ee8]
lea ecx, [esp + 0x18]
call dword [0x4a2ee8]
mov eax, 0x80004005
jmp 0x42c6b0
lea ecx, [esp + 0x6c]
mov byte [esp + 0x2300], 0x27
call dword [0x4a2ee8]
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x42c199
cmp byte [eax + 0x40], 0
je 0x42c1cd
lea esi, [esp + 0x40]
call int.00440760
lea ecx, [esp + 0x28]
call dword [0x4a2ee8]
lea ecx, [esp + 0x24]
call dword [0x4a2ee8]
lea ecx, [esp + 0x174]
call fcn.0045fbf3
mov eax, dword [esp + 0x1c]
test eax, eax
jmp 0x42b2ee
push 1
push 0x766e
push ebx
call fcn.0047df9e
push ecx
mov ecx, esp
mov dword [esp + 0x88], esp
push 0x4a6718
call dword [0x4a2ed8]
lea esi, [ebx + 0x88]
push esi
lea edx, [esp + 0x17c]
push edx
mov ecx, ebx
call fcn.0042a7c0
xor edi, edi
cmp byte [esp + 0x110], 0
mov dword [esi], 0
je 0x42c228
cmp byte [esp + 0x11b], 0
je 0x42c228
mov edi, dword [esp + 0x120]
mov ecx, dword [0x7f5fcc]
mov edx, dword [0x7f5fc8]
mov eax, dword [ebx + 0x540]
push ecx
push edx
push eax
push 1
lea esi, [esp + 0x184]
call fcn.004600bf
push eax
push edi
mov edi, esi
call fcn.0045fe44
lea eax, [esp + 0x80]
push eax
call fcn.0045c40f
add esp, 4
mov byte [esp + 0x2300], 0x2f
mov eax, dword [esp + 0x80]
cmp dword [eax - 0xc], 0
je 0x42c30c
push eax
push str.RecDev_Error:__s_n
or eax, 0xffffffff
mov ecx, 0x7f6050
call fcn.004012c0
add esp, 8
lea ecx, [esp + 0x80]
call dword [0x4a2ee8]
lea esi, [esp + 0x40]
call int.00440760
lea ecx, [esp + 0x28]
call dword [0x4a2ee8]
lea ecx, [esp + 0x24]
call dword [0x4a2ee8]
mov ecx, edi
call fcn.0045fbf3
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x42c2d3
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [esp + 0x30]
mov byte [esp + 0x2300], 2
call fcn.00403bb0
lea ecx, [esp + 0x14]
call dword [0x4a2ee8]
lea ecx, [esp + 0x10]
call dword [0x4a2ee8]
lea ecx, [esp + 0x18]
call dword [0x4a2ee8]
mov eax, 0x80004005
jmp 0x42c6b0
lea ecx, [esp + 0x80]
mov byte [esp + 0x2300], 0x27
call dword [0x4a2ee8]
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x42c32e
cmp byte [eax + 0x40], 0
je 0x42c362
lea esi, [esp + 0x40]
call int.00440760
lea ecx, [esp + 0x28]
call dword [0x4a2ee8]
lea ecx, [esp + 0x24]
call dword [0x4a2ee8]
lea ecx, [esp + 0x174]
call fcn.0045fbf3
mov eax, dword [esp + 0x1c]
test eax, eax
jmp 0x42b2ee
cmp byte [ebx + 0x52c], 0
push 1
je 0x42c374
push 0x761e
jmp 0x42c379
push 0x7562
push ebx
call fcn.0047df9e
push 1
push 0x7597
push ebx
call fcn.0047df9e
cmp dword [0x7f5f94], 2
movzx ecx, byte [ebx + 0x52e]
movzx edx, byte [ebx + 0x52c]
mov esi, dword [esp + 0x30]
sete al
push ecx
push edx
lea ecx, [esp + 0x17c]
push eax
push ecx
mov eax, esi
call fcn.0045e15c
test al, al
mov eax, esi
jne 0x42c486
lea edi, [esp + 0xc4]
call fcn.0045c3e8
push eax
lea edx, [esp + 0xc0]
push edx
mov edi, 0x4a6a78
mov byte [esp + 0x2308], 0x30
call fcn.0040a1d0
mov byte [esp + 0x2308], 0x31
mov eax, dword [eax]
push eax
mov eax, 0x80
mov ecx, 0x7f6050
call fcn.004012c0
add esp, 0xc
lea ecx, [esp + 0xbc]
call dword [0x4a2ee8]
lea ecx, [esp + 0xc4]
mov byte [esp + 0x2300], 0x27
call dword [0x4a2ee8]
mov eax, esi
lea edi, [esp + 0xcc]
call fcn.0045c3e8
push 3
push eax
mov ecx, ebx
mov byte [esp + 0x2308], 0x32
call fcn.0047deb4
mov ecx, edi
call dword [0x4a2ee8]
lea esi, [esp + 0x40]
call int.00440760
lea ecx, [esp + 0x28]
call dword [0x4a2ee8]
lea ecx, [esp + 0x24]
call dword [0x4a2ee8]
lea ecx, [esp + 0x174]
call fcn.0045fbf3
mov eax, dword [esp + 0x1c]
test eax, eax
jmp 0x42b2ee
lea edi, [esp + 0x5c]
call fcn.0045c3e8
mov byte [esp + 0x2300], 0x33
mov eax, dword [esp + 0x5c]
cmp dword [eax - 0xc], 0
je 0x42c534
push eax
push str.RecDev_Error:__s_n
or eax, 0xffffffff
mov ecx, 0x7f6050
call fcn.004012c0
add esp, 8
mov ecx, edi
call dword [0x4a2ee8]
lea esi, [esp + 0x40]
call int.00440760
lea ecx, [esp + 0x28]
call dword [0x4a2ee8]
lea ecx, [esp + 0x24]
call dword [0x4a2ee8]
lea ecx, [esp + 0x174]
call fcn.0045fbf3
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x42c4fb
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [esp + 0x30]
mov byte [esp + 0x2300], 2
call fcn.00403bb0
lea ecx, [esp + 0x14]
call dword [0x4a2ee8]
lea ecx, [esp + 0x10]
call dword [0x4a2ee8]
lea ecx, [esp + 0x18]
call dword [0x4a2ee8]
mov eax, 0x80004005
jmp 0x42c6b0
lea ecx, [esp + 0x5c]
mov byte [esp + 0x2300], 0x27
call dword [0x4a2ee8]
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x42c553
cmp byte [eax + 0x40], 0
je 0x42c587
lea esi, [esp + 0x40]
call int.00440760
lea ecx, [esp + 0x28]
call dword [0x4a2ee8]
lea ecx, [esp + 0x24]
call dword [0x4a2ee8]
lea ecx, [esp + 0x174]
call fcn.0045fbf3
mov eax, dword [esp + 0x1c]
test eax, eax
jmp 0x42b2ee
fldz
sub esp, 0x10
fstp qword [esp + 8]
mov eax, ebx
fld qword [0x4b8bd0]
fstp qword [esp]
call fcn.0047dfe3
cmp byte [ebx + 0x52c], 0
mov esi, dword [esp + 0x30]
push 1
je 0x42c6d4
push 0x758e
push ebx
call fcn.0047df9e
cmp byte [ebx + 0x53c], 0
je 0x42c60f
push 1
push 0x7558
push ebx
call fcn.0047df9e
mov eax, esi
call fcn.0045e617
test al, al
jne 0x42c60f
mov eax, esi
lea edi, [esp + 0x88]
call fcn.0045c3e8
push 2
push eax
mov ecx, ebx
mov byte [esp + 0x2308], 0x35
call fcn.0047deb4
mov ecx, edi
mov byte [esp + 0x2300], 0x27
call dword [0x4a2ee8]
cmp byte [ebx + 0x534], 0
je 0x42c647
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x14]
push 0x845
push ecx
call dword [0x4a2db8]
mov edx, dword [esp + 0x1c]
add esp, 0xc
push 0
push 0x41
push edx
call fcn.004900cc
cmp eax, 2
je 0x42c452
lea esi, [esp + 0x40]
call int.00440760
lea ecx, [esp + 0x28]
call dword [0x4a2ee8]
lea ecx, [esp + 0x24]
call dword [0x4a2ee8]
lea ecx, [esp + 0x174]
call fcn.0045fbf3
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x42c67f
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [esp + 0x30]
mov byte [esp + 0x2300], 2
call fcn.00403bb0
lea ecx, [esp + 0x14]
call dword [0x4a2ee8]
lea ecx, [esp + 0x10]
call dword [0x4a2ee8]
lea ecx, [esp + 0x18]
call dword [0x4a2ee8]
xor eax, eax
mov ecx, dword [esp + 0x22f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x22b0]
xor ecx, esp
call fcn.00490f79
mov esp, ebp
pop ebp
ret
push 0x7563
push ebx
call fcn.0047df9e
mov eax, esi
call fcn.0045e46b
test al, al
jne 0x42c5be
mov eax, esi
lea edi, [esp + 0xd4]
call fcn.0045c3e8
push 3
push eax
mov ecx, ebx
mov byte [esp + 0x2308], 0x34
call fcn.0047deb4
mov ecx, edi
jmp 0x42c44c