Function at 0x4191c9
Capabilities:
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7a0
push ebx
push esi
mov esi, dword [ebp + 0x10]
and dword [ebp + 0x10], 1
push edi
push dword [ebp + 0xc]
lea ecx, [ebp - 0x4c]
and esi, 0xf0
call fcn.00434695
mov eax, dword [ebp + 0xc]
or dword [ebp - 0x1c], 0xffffffff
lea ecx, [ebp + 0xc]
mov dword [ebp - 0x48], eax
call fcn.00409aad
xor ebx, ebx
lea ecx, [ebp - 0x30]
mov byte [ebp - 0xb], 0xff
mov byte [ebp - 9], 0xff
mov byte [ebp - 0x21], bl
mov byte [ebp - 1], bl
mov byte [ebp - 2], bl
mov byte [ebp - 0x22], bl
mov byte [ebp - 0xa], bl
mov byte [ebp - 0xd], bl
mov dword [ebp - 0x2c], 0xffff0000
call fcn.0042aeb8
push 1
lea eax, [ebp + 0xc]
push eax
push 0x47d148
mov word [ebp - 0x2a4], bx
call fcn.0042c7e8
add esp, 0xc
test al, al
jne 0x41924f
cmp esi, ebx
mov byte [ebp - 0xc], al
je 0x419255
mov byte [ebp - 0xc], 1
cmp esi, ebx
setne byte [ebp - 0x15]
cmp byte [ebp - 0xc], 0
je 0x419267
mov byte [ebp - 0xb], 0
mov byte [ebp - 9], 1
mov ecx, dword [ebp + 0xc]
mov ax, word [ecx]
cmp ax, 0x2d
mov dl, 0x2a
jne 0x419277
mov dl, al
movsx edi, dl
movzx eax, ax
cmp eax, edi
push 3
pop esi
jne 0x419536
movzx eax, word [ecx + 2]
cmp eax, edi
jne 0x419518
push 1
lea eax, [ebp + 0xc]
push eax
add ecx, 4
push 0x47db08
mov dword [ebp + 0xc], ecx
call fcn.0042c7e8
add esp, 0xc
test al, al
je 0x4192bd
mov dword [ebp + 0x10], 1
jmp 0x41950a
push 2
lea eax, [ebp + 0xc]
push eax
push 0x47db04
call fcn.0042c7e8
add esp, 0xc
test al, al
je 0x4192dd
mov byte [ebp - 0xb], 1
jmp 0x41950a
push esi
lea eax, [ebp + 0xc]
push eax
push 0x47db00
call fcn.0042c7e8
add esp, 0xc
test al, al
je 0x4192fc
mov byte [ebp - 0xb], 0
jmp 0x41950a
push 4
lea eax, [ebp + 0xc]
push eax
push str.nrcd
call fcn.0042c7e8
add esp, 0xc
test al, al
je 0x41931c
mov byte [ebp - 9], 2
jmp 0x41950a
push esi
lea eax, [ebp + 0xc]
push eax
push 0x47daf4
call fcn.0042c7e8
add esp, 0xc
test al, al
je 0x41933b
mov byte [ebp - 9], 0
jmp 0x41950a
push 2
lea eax, [ebp + 0xc]
push eax
push 0x47daf0
call fcn.0042c7e8
add esp, 0xc
test al, al
je 0x41935b
mov byte [ebp - 2], 1
jmp 0x41950a
push esi
lea eax, [ebp + 0xc]
push eax
push 0x47daec
call fcn.0042c7e8
add esp, 0xc
test al, al
je 0x41937a
mov byte [ebp - 2], 0x23
jmp 0x41950a
push esi
lea eax, [ebp + 0xc]
push eax
push 0x47dae8
call fcn.0042c7e8
add esp, 0xc
test al, al
je 0x419399
mov byte [ebp - 2], 0x2a
jmp 0x41950a
push esi
lea eax, [ebp + 0xc]
push eax
push 0x47dae4
call fcn.0042c7e8
add esp, 0xc
test al, al
je 0x4193b8
mov byte [ebp - 2], 0x24
jmp 0x41950a
push esi
lea eax, [ebp + 0xc]
push eax
push 0x47dae0
call fcn.0042c7e8
add esp, 0xc
test al, al
je 0x4193d7
mov byte [ebp - 2], 0x40
jmp 0x41950a
push esi
lea eax, [ebp + 0xc]
push eax
push 0x47dadc
call fcn.0042c7e8
add esp, 0xc
test al, al
je 0x4193f6
mov byte [ebp - 2], 0x3d
jmp 0x41950a
push 2
lea eax, [ebp + 0xc]
push eax
push 0x47dad8
call fcn.0042c7e8
add esp, 0xc
test al, al
je 0x419419
mov dword [ebp - 0x2c], 1
jmp 0x41950a
push esi
lea eax, [ebp + 0xc]
push eax
push 0x47dad4
call fcn.0042c7e8
add esp, 0xc
test al, al
je 0x419437
mov dword [ebp - 0x2c], ebx
jmp 0x41950a
push esi
lea eax, [ebp + 0xc]
push eax
push 0x47dad0
call fcn.0042c7e8
add esp, 0xc
test al, al
je 0x419456
mov byte [ebp - 0xa], 1
jmp 0x41950a
push esi
lea eax, [ebp + 0xc]
push eax
push 0x47dacc
call fcn.0042c7e8
add esp, 0xc
test al, al
je 0x419475
mov byte [ebp - 0xd], 1
jmp 0x41950a
push 4
push dword [ebp + 0xc]
push str.ret:
call fcn.00426f79
add esp, 0xc
test al, al
lea eax, [ebp + 0xc]
je 0x4194e7
add dword [ebp + 0xc], 8
mov esi, dword [ebp + 0xc]
push eax
call fcn.00403adb
mov eax, dword [ebp + 0xc]
pop ecx
sub eax, esi
sar eax, 1
push eax
push esi
lea ecx, [ebp - 0x30]
call fcn.00409fd6
lea ecx, [ebp + 0xc]
call fcn.00409aad
mov ecx, dword [ebp + 8]
push ebx
lea eax, [ebp - 0x30]
push eax
call fcn.00402aa0
push dword [ebp - 0x30]
mov byte [ebp - 1], 1
push 0x47cdc4
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
push 3
pop esi
jne 0x41950a
mov eax, dword [ebp - 0x30]
mov byte [ebp - 1], 3
mov word [eax], bx
jmp 0x41950a
push esi
push eax
push 0x47dac0
call fcn.0042c7e8
add esp, 0xc
test al, al
je 0x419500
mov byte [ebp - 0x22], 1
jmp 0x41950a
lea eax, [ebp + 0xc]
push eax
call fcn.00403b20
pop ecx
mov ecx, dword [ebp + 0xc]
movzx eax, word [ecx]
cmp eax, edi
je 0x419288
cmp byte [ebp - 0xa], 0
je 0x419536
push 0xffffffffffffff9c
push 0x47a8e8
push ebx
push ecx
mov ecx, dword [ebp + 8]
call fcn.0043f523
mov edi, eax
jmp 0x419de5
push 0x6e
pop ecx
xor eax, eax
push 0x6a
lea edi, [ebp - 0x208]
mov dword [ebp - 0x20c], ebx
rep stosd dword es:[edi], eax
pop ecx
push 0x69
lea edi, [ebp - 0x44c]
rep stosd dword es:[edi], eax
pop ecx
lea edi, [ebp - 0x5f4]
rep stosd dword es:[edi], eax
push 0x69
pop ecx
lea edi, [ebp - 0x79c]
mov dword [ebp - 0x7a0], ebx
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x22c]
mov dword [ebp - 0x44], ebx
call fcn.0042b079
mov esi, dword [sym.imp.SHLWAPI.dll_StrChrW]
lea eax, [ebp - 0x450]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0xc]
push 0x2c
push eax
mov dword [ebp - 0x450], eax
mov dword [ebp - 0x5f8], eax
mov dword [ebp - 0x3c], 1
call esi
cmp eax, ebx
mov dword [ebp - 0x14], eax
je 0x4195c2
mov edi, eax
sub edi, dword [ebp - 0x48]
sar edi, 1
add dword [ebp - 0x14], 2
jmp 0x4195c5
mov edi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
cmp eax, ebx
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x5f4], eax
je 0x4195e4
cmp word [eax], 0x2a
jne 0x4195e4
mov byte [ebp - 0x31], 1
jmp 0x4195f8
cmp byte [ebp - 0xc], 0
mov byte [ebp - 0x31], 0
jne 0x4195f8
cmp byte [ebp - 0x15], 0
mov byte [ebp - 0xa], 1
je 0x4195fc
mov byte [ebp - 0xa], 0
cmp byte [ebp - 0xd], 0
jne 0x419650
cmp byte [ebp - 0xa], 0
je 0x419650
mov eax, dword [ebp + 0x14]
cmp eax, ebx
mov dword [ebp - 0x20], eax
jne 0x419618
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x3c], 1
push 0x2c
push dword [ebp - 0x20]
call esi
cmp eax, ebx
mov dword [ebp - 0x20], eax
je 0x419650
mov word [eax], bx
add dword [ebp - 0x20], 2
cmp dword [ebp - 0x3c], 2
jl 0x419647
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp + ecx*4 - 0x450], eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0x6a
jl 0x41961f
cmp dword [ebp - 0x14], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x28], ebx
je 0x419671
push 0x2c
push dword [ebp - 0x14]
call esi
cmp dword [ebp - 0x14], ebx
mov dword [ebp - 0x28], eax
je 0x419671
mov eax, dword [ebp - 0x14]
mov word [eax - 2], bx
mov eax, dword [ebp + 0xc]
cmp word [eax], bx
jne 0x419683
mov edi, 0x80070057
jmp 0x419dd2
cmp dword [ebp - 0x28], ebx
je 0x419692
mov eax, dword [ebp - 0x28]
mov word [eax], bx
add dword [ebp - 0x28], 2
mov al, byte [ebp - 1]
and al, 2
mov byte [ebp - 0x3d], al
je 0x4196ab
mov ecx, dword [ebp - 0x14]
cmp ecx, ebx
je 0x4196ab
cmp word [ecx], bx
jne 0x4196ab
mov dword [ebp - 0x14], ebx
test al, al
je 0x4196d2
cmp dword [ebp - 0x28], ebx
je 0x4196d2
mov ecx, dword [ebp + 8]
push ebx
push 0x2c
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.004236a6
mov eax, dword [ebp - 0x28]
cmp word [eax], bx
jne 0x4196d2
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], ebx
mov dword [ebp - 8], ebx
mov byte [ebp - 1], 0
jne 0x4197f8
cmp dword [ebp - 0x14], ebx
jne 0x4196f0
mov dword [ebp - 0x14], 0x47da9a
jmp 0x419716
push dword [ebp - 0x14]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push 0x47da9a
call esi
test eax, eax
je 0x419716
push dword [ebp - 0x14]
push 0x47da6e
call esi
test eax, eax
jne 0x4197f8
cmp dword [ebp - 0x2c], ebx
mov byte [ebp - 1], 0xff
jge 0x419726
mov dword [ebp - 0x2c], 0x31
cmp byte [ebp - 0x2c], 0
je 0x4197f8
lea ecx, [ebp + 0x10]
call fcn.0042aeb8
push 0xffffffffffffffff
push str.___exe:_
lea ecx, [ebp + 0x14]
call fcn.0042605a
lea eax, [ebp + 0x14]
push eax
lea ecx, [ebp + 0x10]
call fcn.004346f7
lea ecx, [ebp + 0x14]
call fcn.0042602e
push 0x51c
lea ecx, [ebp + 0x10]
call fcn.0042aeff
mov eax, dword [ebp + 0x10]
push 0x208
add eax, 0x10
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0xffffffffffffffff
push str.____nowin___nfb___hide_PECMDpecmd_cmd_CALL__
lea ecx, [ebp + 0x14]
call fcn.0042605a
push dword [eax]
lea ecx, [ebp + 0x10]
call fcn.0042af26
lea ecx, [ebp + 0x14]
call fcn.0042602e
cmp edi, ebx
jl 0x4197a7
mov eax, dword [ebp - 0x4c]
mov word [eax + edi*2], bx
push dword [ebp - 0x4c]
lea ecx, [ebp + 0x10]
call fcn.0042af26
push 0xffffffffffffffff
push 0x47da28
lea ecx, [ebp + 0x14]
call fcn.0042605a
push dword [eax]
lea ecx, [ebp + 0x10]
call fcn.0042af26
lea ecx, [ebp + 0x14]
call fcn.0042602e
push dword [ebp - 0x14]
lea ecx, [ebp + 0x10]
call fcn.0042af26
mov ecx, dword [ebp + 8]
push ebx
push ebx
push ebx
push ebx
push ecx
push dword [ebp + 0x10]
call fcn.0040653e
mov edi, eax
lea ecx, [ebp + 0x10]
jmp 0x419dcd
mov eax, dword [ebp - 0x14]
cmp eax, ebx
je 0x41adf5
cmp word [eax], bx
je 0x41adf5
cmp byte [ebp - 0xd], 0
jne 0x419869
cmp byte [ebp - 0xa], 0
je 0x419869
cmp dword [ebp + 0x14], ebx
je 0x419869
push 2
pop esi
cmp dword [ebp - 0x3c], esi
lea eax, [ebp - 0x5f8]
mov dword [ebp - 0x38], eax
mov dword [ebp + 0x14], ebx
jle 0x419861
mov ecx, dword [ebp + 8]
push 1
push ebx
lea eax, [ebp + 0x14]
push eax
push dword [ebp + esi*4 - 0x450]
call fcn.0043b18c
mov eax, dword [ebp + 0x14]
mov dword [ebp + esi*4 - 0x5f8], eax
mov dword [ebp + esi*4 - 0x7a0], eax
inc esi
cmp esi, dword [ebp - 0x3c]
mov dword [ebp + 0x14], ebx
jl 0x419831
lea ecx, [ebp + 0x14]
call fcn.0042602e
cmp byte [ebp - 0xd], 0
push 2
pop eax
jne 0x41997c
cmp byte [ebp - 0xa], 0
je 0x41997c
mov ecx, dword [ebp - 0x38]
cmp dword [ecx + 4], ebx
je 0x41997c
cmp byte [ebp - 0x3d], 0
je 0x41989f
mov ecx, dword [ecx + 8]
cmp ecx, ebx
mov dword [ebp - 0x20], ecx
je 0x41989f
push 3
pop eax
mov ecx, dword [ebp - 0x38]
shl eax, 2
lea edi, [eax + ecx]
lea eax, [ebp + eax - 0x454]
mov dword [ebp - 0x38], eax
mov eax, dword [edi]
add dword [ebp - 0x38], 4
add edi, 4
cmp eax, ebx
mov dword [ebp - 0x20], eax
je 0x41997c
mov esi, dword [ebp - 0x44]
mov cx, word [eax]
lea esi, [ebp + esi*4 - 0x20c]
xor dl, dl
cmp byte [ebp - 2], 0x23
mov dword [esi], eax
je 0x419aa7
cmp byte [ebp - 2], 0x2a
je 0x419a45
cmp byte [ebp - 2], 0x24
je 0x41996b
cmp byte [ebp - 2], 0x40
je 0x419923
cmp byte [ebp - 2], 0x3d
je 0x419960
cmp byte [ebp - 2], dl
je 0x419a9d
inc eax
inc eax
movzx ecx, cx
inc dl
cmp ecx, 0x2a
mov dword [ebp - 0x20], eax
je 0x419a45
cmp ecx, 0x3d
je 0x419960
cmp ecx, 0x40
jne 0x41996b
xor ebx, ebx
cmp eax, ebx
je 0x419ad8
push 4
call fcn.004669a8
cmp eax, ebx
pop ecx
je 0x419945
push dword [ebp - 0x20]
mov ecx, eax
call fcn.0040f564
jmp 0x419947
xor eax, eax
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
push eax
lea ecx, [ebp - 0x22c]
call fcn.00409ad9
mov eax, dword [ebp - 0x20]
jmp 0x419ad8
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ecx]
movsx eax, dl
lea eax, [ecx + eax*2]
mov dword [esi], eax
xor ebx, ebx
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0x64
jbe 0x4198b2
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push str._DllRegisterServer
push dword [ebp - 0x14]
call esi
test eax, eax
jne 0x4199ab
cmp dword [ebp - 0x2c], ebx
mov dword [ebp - 0x14], 0x47da9a
mov byte [ebp - 1], 0xff
jge 0x4199a7
mov dword [ebp - 0x2c], 0x31
mov byte [ebp - 0xb], 1
push str._DllUnregisterServer
push dword [ebp - 0x14]
call esi
test eax, eax
jne 0x4199d4
cmp dword [ebp - 0x2c], ebx
mov dword [ebp - 0x14], 0x47da6e
mov byte [ebp - 1], 0xff
jge 0x4199d0
mov dword [ebp - 0x2c], 0x71
mov byte [ebp - 0xb], 1
push 0x20a
lea ecx, [ebp - 0x50]
call fcn.0042aed6
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x220], ebx
mov dword [ebp - 0x21c], ebx
xor edi, edi
cmp word [eax], 0x23
jne 0x419af0
cmp word [eax + 2], bx
jne 0x419af0
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.0042d9d2
mov edi, dword [ebp - 0x220]
mov eax, edi
or eax, dword [ebp - 0x21c]
pop ecx
pop ecx
jne 0x419adf
mov al, byte [ebp - 0x15]
neg al
sbb eax, eax
and eax, 0x7ff8ffa9
add eax, 0x80070057
mov dword [ebp - 8], eax
jmp 0x41ad84
cmp word [eax], 0x2a
jne 0x419a50
inc eax
inc eax
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x1c]
mov dword [ebp + 0x14], eax
call fcn.0042aeb8
mov ecx, dword [ebp + 8]
xor ebx, ebx
push ebx
push 0x2c
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 0x14]
push eax
call fcn.004236a6
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x1c]
mov dword [ebp + 0x14], ebx
call fcn.0040ac3f
cmp eax, ebx
je 0x419a8b
mov eax, dword [eax + 4]
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x14]
lea ecx, [ebp - 0x1c]
mov dword [esi], eax
call fcn.0042602e
jmp 0x41996f
cmp cx, 0x23
jne 0x41996d
cmp cx, 0x23
jne 0x419ab2
inc eax
inc eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x214]
push eax
xor ebx, ebx
lea eax, [ebp - 0x20]
push eax
mov dword [ebp - 0x214], ebx
mov dword [ebp - 0x210], ebx
call fcn.0042d9d2
mov eax, dword [ebp - 0x214]
pop ecx
pop ecx
mov dword [esi], eax
jmp 0x41996f
cmp byte [ebp - 9], 0
mov eax, dword [ebp + 0xc]
mov byte [ebp - 1], 1
jge 0x419af0
mov byte [ebp - 9], 1
cmp eax, ebx
mov dword [ebp + 0x14], ebx
je 0x419b01
push eax
call fcn.0040ca55
pop ecx
mov dword [ebp + 0xc], eax
mov cx, word [eax]
cmp cx, 0x2a
jne 0x419b0e
mov byte [ebp - 0x22], 1
test cx, cx
mov ebx, eax
je 0x419b22
cmp cx, 0x2e
jne 0x419b24
cmp word [eax + 2], 0
jne 0x419b24
xor ebx, ebx
cmp byte [ebp - 0x31], 0
je 0x419b59
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x419b42
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x419b46
xor eax, eax
jmp 0x419b52
cmp byte [ebp - 0x15], 0
jne 0x419b42
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x419dca
cmp byte [ebp - 9], 0
jg 0x419b70
push dword [ebp - 0x50]
push 0x208
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov eax, dword [ebp + 0xc]
cmp byte [ebp - 0xb], 0
jle 0x419ba8
push 0x5c
push 0
push eax
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
test eax, eax
je 0x419ba8
sub eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1c]
sar eax, 1
inc eax
push eax
push dword [ebp + 0xc]
call fcn.00426041
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea ecx, [ebp - 0x1c]
call fcn.0042602e
test edi, edi
mov esi, 0x49062c
jne 0x419d7a
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp byte [ebp - 1], 0
jne 0x419bdc
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
mov dword [ebp + 0x14], eax
jne 0x419bd4
mov byte [ebp - 1], 1
test ebx, ebx
jne 0x419bdc
mov byte [ebp - 1], 2
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test ebx, ebx
je 0x419d3c
cmp byte [ebp - 0x22], 0
je 0x419d25
xor eax, eax
cmp word [ebx], 0x2a
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], eax
jne 0x419c89
mov eax, dword [0x48fde8]
xor ecx, ecx
inc ebx
inc ebx
cmp word [ebx], cx
mov dword [ebp - 0x1c], ecx
mov esi, ebx
je 0x419c2f
cmp word [esi], 0x23
je 0x419c2f
inc esi
inc esi
cmp word [esi], cx
jne 0x419c22
xor ecx, ecx
mov cx, word [esi]
cmp cx, 0x23
mov dword [ebp - 0x38], ecx
jne 0x419c98
and word [esi], 0
cmp word [ebx], 0
je 0x419c55
push 2
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov dword [ebp - 0x1c], eax
test eax, eax
mov cx, word [ebp - 0x38]
mov word [esi], cx
je 0x419c78
push 0
lea ecx, [ebp - 0x218]
push ecx
push str.EXEDATA
push esi
push eax
call fcn.0040f8b6
add esp, 0x14
cmp dword [ebp - 0x1c], 0
je 0x419c98
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x419c98
lea eax, [ebp - 0x218]
push eax
push ebx
call fcn.0040f62e
pop ecx
pop ecx
mov ebx, dword [ebp - 0x218]
test ebx, ebx
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x1c], eax
jne 0x419cc2
lea ecx, [ebp - 0x218]
mov dword [ebp - 8], 0x80004005
call fcn.0042602e
jmp 0x419d42
push 0x18
call fcn.004669a8
test eax, eax
pop ecx
je 0x419cd9
mov ecx, eax
call fcn.0040a6a9
mov esi, eax
jmp 0x419cdb
xor esi, esi
push dword [ebp - 0x1c]
mov ecx, esi
push ebx
call fcn.0040f694
test eax, eax
je 0x419d0c
push dword [ebp - 0x14]
lea ecx, [ebp - 0x1c]
call fcn.0040f564
push dword [eax]
mov ecx, esi
call fcn.0040a6e5
lea ecx, [ebp - 0x1c]
mov edi, eax
call fcn.0042602e
test edi, edi
jne 0x419d13
mov dword [ebp - 8], 0x80004005
lea ecx, [ebp - 0x218]
call fcn.0042602e
mov esi, 0x49062c
jmp 0x419d7a
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
mov dword [ebp + 0x14], eax
jne 0x419d4d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 8], eax
cmp dword [ebp + 0x14], 0
jne 0x419d4d
cmp byte [ebp - 0xc], 0
jne 0x419d95
jmp 0x41ad2a
push dword [ebp - 0x14]
lea ecx, [ebp - 0x1c]
call fcn.0040f564
push dword [eax]
push dword [ebp + 0x14]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [ebp - 0x1c]
mov edi, eax
call fcn.0042602e
test edi, edi
jne 0x419d7a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 8], eax
cmp byte [ebp - 0xc], 0
je 0x419dfc
cmp byte [ebp - 1], 0
jg 0x419d95
cmp dword [ebp + 0x14], 0
je 0x419d95
push dword [ebp + 0x14]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp - 0x15], 0
jne 0x419dca
test edi, edi
je 0x419db5
push edi
lea eax, [ebp - 0x2a4]
push str.0x_p
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x2a4]
push eax
push dword [ebp - 0x30]
call fcn.00429dbf
mov edi, dword [ebp - 8]
lea ecx, [ebp - 0x50]
call fcn.0042602e
lea ecx, [ebp - 0x48]
call fcn.00416451
lea ecx, [ebp - 0x22c]
call fcn.0040f513
lea ecx, [ebp - 0x30]
call fcn.0042602e
lea ecx, [ebp - 0x4c]
call fcn.0042602e
mov eax, edi
jmp 0x41ae29
xor bl, bl
test edi, edi
je case.default.0x41a777
test byte [ebp - 0x2c], 7
je 0x419e58
call fcn.0043219c
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x419e58
cmp dword [0x4901ac], eax
je 0x419e58
cmp dword [0x4901b0], eax
je 0x419e58
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp + 8]
mov al, byte [ecx + 0xf]
test al, 2
jne 0x419e51
test al, 1
jne 0x419e3f
inc bl
or al, 3
push 0
or bl, 2
mov byte [ecx + 0xf], al
call dword [0x4901ac]
jmp 0x419e58
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp - 0xd], 0
je 0x419ead
and dword [ebp + 0x10], 0
cmp byte [ebp - 2], 0x40
jne 0x419e83
cmp dword [ebp - 0x28], 0
je 0x419e83
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp - 0x28]
lea ecx, [ebp + 0x10]
call fcn.00409e88
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 8]
push 5
push dword [ebp - 0x28]
push dword [0x48fde8]
push dword [eax + 0x28]
call fcn.004264ee
pop ecx
push eax
call edi
lea ecx, [ebp + 0x10]
mov dword [ebp - 8], eax
call fcn.0042602e
jmp case.default.0x41a777
cmp dword [ebp + 0x10], 1
mov ecx, dword [ebp - 0x44]
jne 0x41a762
push 0x64
pop eax
cmp eax, ecx
sbb al, al
inc al
cmp ecx, 0x10
mov byte [ebp - 0x21], al
ja case.default.0x419ecf
jmp dword [ecx*4 + 0x41ae30]
push dword [ebp - 0x20c]
call edi
jmp 0x419eef
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
pop ecx
pop ecx
jmp 0x41acf5
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
add esp, 0xc
jmp 0x41acf5
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
add esp, 0x10
jmp 0x41acf5
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
add esp, 0x14
jmp 0x41acf5
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
add esp, 0x18
jmp 0x41acf5
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
add esp, 0x1c
jmp 0x41acf5
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
add esp, 0x20
jmp 0x41acf5
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
add esp, 0x24
jmp 0x41acf5
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
add esp, 0x28
jmp 0x41acf5
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
add esp, 0x2c
jmp 0x41acf5
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
add esp, 0x30
jmp 0x41acf5
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
add esp, 0x34
jmp 0x41acf5
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
add esp, 0x38
jmp 0x41acf5
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
add esp, 0x3c
jmp 0x41acf5
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
add esp, 0x40
jmp 0x41acf5
cmp ecx, 0x14
ja 0x41a32a
push dword [ebp - 0x1c0]
push dword [ebp - 0x1c4]
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
add esp, 0x50
jmp 0x41acf5
cmp ecx, 0x1e
ja 0x41a3f1
push dword [ebp - 0x198]
push dword [ebp - 0x19c]
push dword [ebp - 0x1a0]
push dword [ebp - 0x1a4]
push dword [ebp - 0x1a8]
push dword [ebp - 0x1ac]
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
push dword [ebp - 0x1c0]
push dword [ebp - 0x1c4]
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
add esp, 0x78
jmp 0x41acf5
cmp ecx, 0x28
ja 0x41a4f7
push dword [ebp - 0x170]
push dword [ebp - 0x174]
push dword [ebp - 0x178]
push dword [ebp - 0x17c]
push dword [ebp - 0x180]
push dword [ebp - 0x184]
push dword [ebp - 0x188]
push dword [ebp - 0x18c]
push dword [ebp - 0x190]
push dword [ebp - 0x194]
push dword [ebp - 0x198]
push dword [ebp - 0x19c]
push dword [ebp - 0x1a0]
push dword [ebp - 0x1a4]
push dword [ebp - 0x1a8]
push dword [ebp - 0x1ac]
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
push dword [ebp - 0x1c0]
push dword [ebp - 0x1c4]
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
add esp, 0xa0
jmp 0x41acf5
cmp ecx, 0x64
ja case.default.0x41a777
push dword [ebp - 0x80]
push dword [ebp - 0x84]
push dword [ebp - 0x88]
push dword [ebp - 0x8c]
push dword [ebp - 0x90]
push dword [ebp - 0x94]
push dword [ebp - 0x98]
push dword [ebp - 0x9c]
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
push dword [ebp - 0xa8]
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
push dword [ebp - 0xb4]
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
push dword [ebp - 0xc0]
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
push dword [ebp - 0xd4]
push dword [ebp - 0xd8]
push dword [ebp - 0xdc]
push dword [ebp - 0xe0]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [ebp - 0xec]
push dword [ebp - 0xf0]
push dword [ebp - 0xf4]
push dword [ebp - 0xf8]
push dword [ebp - 0xfc]
push dword [ebp - 0x100]
push dword [ebp - 0x104]
push dword [ebp - 0x108]
push dword [ebp - 0x10c]
push dword [ebp - 0x110]
push dword [ebp - 0x114]
push dword [ebp - 0x118]
push dword [ebp - 0x11c]
push dword [ebp - 0x120]
push dword [ebp - 0x124]
push dword [ebp - 0x128]
push dword [ebp - 0x12c]
push dword [ebp - 0x130]
push dword [ebp - 0x134]
push dword [ebp - 0x138]
push dword [ebp - 0x13c]
push dword [ebp - 0x140]
push dword [ebp - 0x144]
push dword [ebp - 0x148]
push dword [ebp - 0x14c]
push dword [ebp - 0x150]
push dword [ebp - 0x154]
push dword [ebp - 0x158]
push dword [ebp - 0x15c]
push dword [ebp - 0x160]
push dword [ebp - 0x164]
push dword [ebp - 0x168]
push dword [ebp - 0x16c]
push dword [ebp - 0x170]
push dword [ebp - 0x174]
push dword [ebp - 0x178]
push dword [ebp - 0x17c]
push dword [ebp - 0x180]
push dword [ebp - 0x184]
push dword [ebp - 0x188]
push dword [ebp - 0x18c]
push dword [ebp - 0x190]
push dword [ebp - 0x194]
push dword [ebp - 0x198]
push dword [ebp - 0x19c]
push dword [ebp - 0x1a0]
push dword [ebp - 0x1a4]
push dword [ebp - 0x1a8]
push dword [ebp - 0x1ac]
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
push dword [ebp - 0x1c0]
push dword [ebp - 0x1c4]
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
add esp, 0x190
jmp 0x41acf5
push 0x14
pop eax
cmp eax, ecx
sbb al, al
inc al
cmp ecx, 0x14
mov byte [ebp - 0x21], al
ja case.default.0x41a777
jmp dword [ecx*4 + 0x41ae74]
call edi
jmp 0x41acf5
push dword [ebp - 0x20c]
call edi
jmp 0x41acf5
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
jmp 0x41acf5
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
jmp 0x41acf5
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
jmp 0x41acf5
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
jmp 0x41acf5
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
jmp 0x41acf5
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
jmp 0x41acf5
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
jmp 0x41acf5
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
jmp 0x41acf5
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
jmp 0x41acf5
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
jmp 0x41acf5
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
jmp 0x41acf5
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
jmp 0x41acf5
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
jmp 0x41acf5
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
jmp 0x41acf5
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
jmp 0x41acf5
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
jmp 0x41acf5
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
jmp 0x41acf5
push dword [ebp - 0x1c4]
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
jmp 0x41acf5
push dword [ebp - 0x1c0]
push dword [ebp - 0x1c4]
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call edi
mov dword [ebp - 8], eax
cmp byte [ebp - 1], 0
jg 0x41ad0d
cmp dword [ebp + 0x14], 0
je 0x41ad0d
push dword [ebp + 0x14]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test bl, bl
je 0x41ad2a
call dword [0x4901b0]
mov eax, dword [ebp + 8]
not bl
and byte [eax + 0xf], bl
push 0x49062c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp - 9], 0
jg 0x41ad39
push dword [ebp - 0x50]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov eax, dword [ebp - 0x220]
or eax, dword [ebp - 0x21c]
je 0x41ad4d
cmp byte [ebp - 9], 0
jg 0x41ad52
call fcn.0040a64b
mov eax, dword [ebp - 0x30]
mov ax, word [eax]
test ax, ax
je 0x41ada5
cmp ax, 0x2a
je 0x41ad7e
cmp byte [ebp - 0x21], 0
je 0x41ad7e
mov eax, dword [ebp - 8]
cdq
push edx
push eax
lea eax, [ebp - 0x2a4]
push eax
call fcn.00434504
add esp, 0xc
and dword [ebp - 8], 0
xor ebx, ebx
mov ecx, dword [ebp - 0x30]
mov ax, word [ecx]
cmp ax, bx
je 0x41ada5
cmp ax, 0x2a
je 0x41ada5
lea eax, [ebp - 0x2a4]
push eax
push ecx
mov ecx, dword [ebp + 8]
call fcn.00429dbf
mov esi, dword [ebp - 0x3c]
test esi, esi
jge 0x41adc5
mov eax, dword [ebp + esi*4 - 0x7a0]
test eax, eax
je 0x41adc2
lea ecx, [ebp + 8]
mov dword [ebp + 8], eax
call fcn.0042602e
inc esi
js 0x41adac
lea ecx, [ebp - 0x50]
call fcn.0042602e
lea ecx, [ebp - 0x48]
call fcn.00416451
lea ecx, [ebp - 0x22c]
call fcn.0040f513
lea ecx, [ebp - 0x30]
call fcn.0042602e
lea ecx, [ebp - 0x4c]
call fcn.0042602e
mov eax, dword [ebp - 8]
jmp 0x41ae29
lea ecx, [ebp - 0x48]
call fcn.00416451
lea ecx, [ebp - 0x22c]
call fcn.0040f513
lea ecx, [ebp - 0x30]
call fcn.0042602e
lea ecx, [ebp - 0x4c]
call fcn.0042602e
mov al, byte [ebp - 0x15]
neg al
sbb eax, eax
and eax, 0x7ff8ffa9
add eax, 0x80070057
pop edi
pop esi
pop ebx
leave
ret 0x10