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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7a4
push ebx
push esi
mov esi, dword [ebp + 0x10]
and dword [ebp + 0x10], 1
push edi
push dword [ebp + 0xc]
lea ecx, [ebp - 0x50]
and esi, 0xf0
call fcn.004361de
mov eax, dword [ebp + 0xc]
or dword [ebp - 0x4c], 0xffffffff
lea ecx, [ebp + 0xc]
mov dword [ebp - 0x44], eax
call fcn.00409e64
xor ebx, ebx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0xb], 0xff
mov byte [ebp - 9], 0xff
mov byte [ebp - 0x14], bl
mov byte [ebp - 1], bl
mov byte [ebp - 2], bl
mov byte [ebp - 0x13], bl
mov byte [ebp - 0xa], bl
mov byte [ebp - 0x12], bl
mov byte [ebp - 0x2d], bl
mov dword [ebp - 0x24], 0xffff0000
call fcn.0042c3f7
push 1
lea eax, [ebp + 0xc]
push eax
push 0x483104
mov word [ebp - 0x2a8], bx
call fcn.0042df66
add esp, 0xc
test al, al
jne 0x419825
cmp esi, ebx
mov byte [ebp - 0xc], al
je 0x41982b
mov byte [ebp - 0xc], 1
cmp esi, ebx
setne byte [ebp - 0x11]
cmp byte [ebp - 0xc], 0
je 0x41983d
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 0x41984d
mov dl, al
movsx edi, dl
movzx eax, ax
cmp eax, edi
push 3
pop esi
jne 0x419b2d
movzx eax, word [ecx + 2]
cmp eax, edi
jne 0x419b0f
push 1
lea eax, [ebp + 0xc]
push eax
add ecx, 4
push 0x483d34
mov dword [ebp + 0xc], ecx
call fcn.0042df66
add esp, 0xc
test al, al
je 0x419893
mov dword [ebp + 0x10], 1
jmp 0x419b01
push 2
lea eax, [ebp + 0xc]
push eax
push 0x483d30
call fcn.0042df66
add esp, 0xc
test al, al
je 0x4198b3
mov byte [ebp - 0xb], 1
jmp 0x419b01
push esi
lea eax, [ebp + 0xc]
push eax
push 0x483d2c
call fcn.0042df66
add esp, 0xc
test al, al
je 0x4198d2
mov byte [ebp - 0xb], 0
jmp 0x419b01
push 4
lea eax, [ebp + 0xc]
push eax
push str.nrcd
call fcn.0042df66
add esp, 0xc
test al, al
je 0x4198f2
mov byte [ebp - 9], 2
jmp 0x419b01
push esi
lea eax, [ebp + 0xc]
push eax
push 0x483d20
call fcn.0042df66
add esp, 0xc
test al, al
je 0x419911
mov byte [ebp - 9], 0
jmp 0x419b01
push 2
lea eax, [ebp + 0xc]
push eax
push 0x483d1c
call fcn.0042df66
add esp, 0xc
test al, al
je 0x419931
mov byte [ebp - 2], 1
jmp 0x419b01
push esi
lea eax, [ebp + 0xc]
push eax
push 0x483d18
call fcn.0042df66
add esp, 0xc
test al, al
je 0x419950
mov byte [ebp - 2], 0x23
jmp 0x419b01
push esi
lea eax, [ebp + 0xc]
push eax
push 0x483d14
call fcn.0042df66
add esp, 0xc
test al, al
je 0x41996f
mov byte [ebp - 2], 0x2a
jmp 0x419b01
push esi
lea eax, [ebp + 0xc]
push eax
push 0x483d10
call fcn.0042df66
add esp, 0xc
test al, al
je 0x41998e
mov byte [ebp - 2], 0x24
jmp 0x419b01
push esi
lea eax, [ebp + 0xc]
push eax
push 0x483d0c
call fcn.0042df66
add esp, 0xc
test al, al
je 0x4199ad
mov byte [ebp - 2], 0x40
jmp 0x419b01
push esi
lea eax, [ebp + 0xc]
push eax
push 0x483d08
call fcn.0042df66
add esp, 0xc
test al, al
je 0x4199cc
mov byte [ebp - 2], 0x3d
jmp 0x419b01
push 2
lea eax, [ebp + 0xc]
push eax
push 0x483d04
call fcn.0042df66
add esp, 0xc
test al, al
je 0x4199ef
mov dword [ebp - 0x24], 1
jmp 0x419b01
push esi
lea eax, [ebp + 0xc]
push eax
push 0x483d00
call fcn.0042df66
add esp, 0xc
test al, al
je 0x419a0d
mov dword [ebp - 0x24], ebx
jmp 0x419b01
push esi
lea eax, [ebp + 0xc]
push eax
push 0x483cfc
call fcn.0042df66
add esp, 0xc
test al, al
je 0x419a2c
mov byte [ebp - 0xa], 1
jmp 0x419b01
push esi
lea eax, [ebp + 0xc]
push eax
push 0x483cf8
call fcn.0042df66
add esp, 0xc
test al, al
je 0x419a4b
mov byte [ebp - 0x12], 1
jmp 0x419b01
push 1
lea eax, [ebp + 0xc]
push eax
push 0x483cf4
call fcn.0042df66
add esp, 0xc
test al, al
je 0x419a6b
mov byte [ebp - 0x2d], 1
jmp 0x419b01
push 4
push dword [ebp + 0xc]
push str.ret:
call fcn.00427f14
add esp, 0xc
test al, al
lea eax, [ebp + 0xc]
je 0x419add
add dword [ebp + 0xc], 8
mov esi, dword [ebp + 0xc]
push eax
call fcn.00403c2d
mov eax, dword [ebp + 0xc]
pop ecx
sub eax, esi
sar eax, 1
push eax
push esi
lea ecx, [ebp - 0x2c]
call fcn.0042c51d
lea ecx, [ebp + 0xc]
call fcn.00409e64
mov ecx, dword [ebp + 8]
push ebx
lea eax, [ebp - 0x2c]
push eax
call fcn.00402a5b
push dword [ebp - 0x2c]
mov byte [ebp - 1], 1
push 0x483600
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
push 3
pop esi
jne 0x419b01
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 1], 3
mov word [eax], bx
jmp 0x419b01
push 1
push eax
push 0x483ce8
call fcn.0042df66
add esp, 0xc
test al, al
je 0x419af7
mov byte [ebp - 0x13], 1
jmp 0x419b01
lea eax, [ebp + 0xc]
push eax
call fcn.00403c51
pop ecx
mov ecx, dword [ebp + 0xc]
movzx eax, word [ecx]
cmp eax, edi
je 0x41985e
cmp byte [ebp - 0xa], 0
je 0x419b2d
push 0xffffffffffffff9c
push 0x480934
push ebx
push ecx
mov ecx, dword [ebp + 8]
call fcn.00441969
mov esi, eax
jmp 0x41a414
push 0x6e
pop ecx
xor eax, eax
push 0x6a
lea edi, [ebp - 0x20c]
mov dword [ebp - 0x210], ebx
rep stosd dword es:[edi], eax
pop ecx
push 0x69
lea edi, [ebp - 0x450]
rep stosd dword es:[edi], eax
pop ecx
lea edi, [ebp - 0x5f8]
rep stosd dword es:[edi], eax
push 0x69
pop ecx
lea edi, [ebp - 0x7a0]
mov dword [ebp - 0x7a4], ebx
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x40], ebx
call fcn.0042c663
mov esi, dword [sym.imp.SHLWAPI.dll_StrChrW]
lea eax, [ebp - 0x454]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0xc]
push 0x2c
push eax
mov dword [ebp - 0x454], eax
mov dword [ebp - 0x5fc], eax
mov dword [ebp - 0x38], 1
call esi
cmp eax, ebx
mov dword [ebp - 0x10], eax
je 0x419bb9
mov edi, eax
sub edi, dword [ebp - 0x44]
sar edi, 1
add dword [ebp - 0x10], 2
jmp 0x419bbc
mov edi, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x10]
cmp eax, ebx
mov dword [ebp - 0x450], eax
mov dword [ebp - 0x5f8], eax
je 0x419bdb
cmp word [eax], 0x2a
jne 0x419bdb
mov byte [ebp - 0x25], 1
jmp 0x419bef
cmp byte [ebp - 0xc], 0
mov byte [ebp - 0x25], 0
jne 0x419bef
cmp byte [ebp - 0x11], 0
mov byte [ebp - 0xa], 1
je 0x419bf3
mov byte [ebp - 0xa], 0
cmp byte [ebp - 0x12], 0
jne 0x419c47
cmp byte [ebp - 0xa], 0
je 0x419c47
mov eax, dword [ebp + 0x14]
cmp eax, ebx
mov dword [ebp - 0x1c], eax
jne 0x419c0f
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x38], 1
push 0x2c
push dword [ebp - 0x1c]
call esi
cmp eax, ebx
mov dword [ebp - 0x1c], eax
je 0x419c47
mov word [eax], bx
add dword [ebp - 0x1c], 2
cmp dword [ebp - 0x38], 2
jl 0x419c3e
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x38]
mov dword [ebp + ecx*4 - 0x454], eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x6a
jl 0x419c16
cmp dword [ebp - 0x10], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x20], ebx
je 0x419c68
push 0x2c
push dword [ebp - 0x10]
call esi
cmp dword [ebp - 0x10], ebx
mov dword [ebp - 0x20], eax
je 0x419c68
mov eax, dword [ebp - 0x10]
mov word [eax - 2], bx
mov eax, dword [ebp + 0xc]
cmp word [eax], bx
jne 0x419c7a
mov esi, 0x80070057
jmp 0x41a401
cmp dword [ebp - 0x20], ebx
je 0x419c89
mov eax, dword [ebp - 0x20]
mov word [eax], bx
add dword [ebp - 0x20], 2
mov al, byte [ebp - 1]
and al, 2
mov byte [ebp - 0x39], al
je 0x419ca2
mov ecx, dword [ebp - 0x10]
cmp ecx, ebx
je 0x419ca2
cmp word [ecx], bx
jne 0x419ca2
mov dword [ebp - 0x10], ebx
test al, al
je 0x419cc9
cmp dword [ebp - 0x20], ebx
je 0x419cc9
mov ecx, dword [ebp + 8]
push ebx
push 0x2c
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.004242ef
mov eax, dword [ebp - 0x20]
cmp word [eax], bx
jne 0x419cc9
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ebx
mov dword [ebp - 8], ebx
mov byte [ebp - 1], 0
jne 0x419def
cmp dword [ebp - 0x10], ebx
jne 0x419ce7
mov dword [ebp - 0x10], 0x483cc2
jmp 0x419d0d
push dword [ebp - 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push 0x483cc2
call esi
test eax, eax
je 0x419d0d
push dword [ebp - 0x10]
push 0x483c96
call esi
test eax, eax
jne 0x419def
cmp dword [ebp - 0x24], ebx
mov byte [ebp - 1], 0xff
jge 0x419d1d
mov dword [ebp - 0x24], 0x31
cmp byte [ebp - 0x24], 0
je 0x419def
lea ecx, [ebp + 0x10]
call fcn.0042c3f7
push 0xffffffffffffffff
push str.___exe:_
lea ecx, [ebp + 0x14]
call fcn.00436214
lea eax, [ebp + 0x14]
push eax
lea ecx, [ebp + 0x10]
call fcn.00436274
lea ecx, [ebp + 0x14]
call fcn.0042704a
push 0x51c
lea ecx, [ebp + 0x10]
call fcn.0042c43e
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.00436214
push dword [eax]
lea ecx, [ebp + 0x10]
call fcn.0042c465
lea ecx, [ebp + 0x14]
call fcn.0042704a
cmp edi, ebx
jl 0x419d9e
mov eax, dword [ebp - 0x50]
mov word [eax + edi*2], bx
push dword [ebp - 0x50]
lea ecx, [ebp + 0x10]
call fcn.0042c465
push 0xffffffffffffffff
push 0x483c50
lea ecx, [ebp + 0x14]
call fcn.00436214
push dword [eax]
lea ecx, [ebp + 0x10]
call fcn.0042c465
lea ecx, [ebp + 0x14]
call fcn.0042704a
push dword [ebp - 0x10]
lea ecx, [ebp + 0x10]
call fcn.0042c465
mov ecx, dword [ebp + 8]
push ebx
push ebx
push ebx
push ebx
push ecx
push dword [ebp + 0x10]
call fcn.00406707
mov esi, eax
lea ecx, [ebp + 0x10]
jmp 0x41a3fc
mov eax, dword [ebp - 0x10]
cmp eax, ebx
je 0x41b47b
cmp word [eax], bx
je 0x41b47b
cmp byte [ebp - 0x12], 0
jne 0x419e60
cmp byte [ebp - 0xa], 0
je 0x419e60
cmp dword [ebp + 0x14], ebx
je 0x419e60
push 2
pop esi
cmp dword [ebp - 0x38], esi
lea eax, [ebp - 0x5fc]
mov dword [ebp - 0x18], eax
mov dword [ebp + 0x14], ebx
jle 0x419e58
mov ecx, dword [ebp + 8]
push 1
push ebx
lea eax, [ebp + 0x14]
push eax
push dword [ebp + esi*4 - 0x454]
call fcn.0043d4de
mov eax, dword [ebp + 0x14]
mov dword [ebp + esi*4 - 0x5fc], eax
mov dword [ebp + esi*4 - 0x7a4], eax
inc esi
cmp esi, dword [ebp - 0x38]
mov dword [ebp + 0x14], ebx
jl 0x419e28
lea ecx, [ebp + 0x14]
call fcn.0042704a
cmp byte [ebp - 0x12], 0
push 2
pop eax
jne 0x419f79
cmp byte [ebp - 0xa], 0
je 0x419f79
mov ecx, dword [ebp - 0x18]
cmp dword [ecx + 4], ebx
je 0x419f79
cmp byte [ebp - 0x39], 0
je 0x419e96
mov ecx, dword [ecx + 8]
cmp ecx, ebx
mov dword [ebp - 0x1c], ecx
je 0x419e96
push 3
pop eax
mov ecx, dword [ebp - 0x18]
shl eax, 2
lea edi, [eax + ecx]
lea eax, [ebp + eax - 0x458]
mov dword [ebp - 0x18], eax
mov eax, dword [edi]
add dword [ebp - 0x18], 4
add edi, 4
cmp eax, ebx
mov dword [ebp - 0x1c], eax
je 0x419f79
mov esi, dword [ebp - 0x40]
mov cx, word [eax]
lea esi, [ebp + esi*4 - 0x210]
xor dl, dl
cmp byte [ebp - 2], 0x23
mov dword [esi], eax
je 0x41a0a9
cmp byte [ebp - 2], 0x2a
je 0x41a047
cmp byte [ebp - 2], 0x24
je 0x419f62
cmp byte [ebp - 2], 0x40
je 0x419f1a
cmp byte [ebp - 2], 0x3d
je 0x419f57
cmp byte [ebp - 2], dl
je 0x41a09f
inc eax
inc eax
movzx ecx, cx
inc dl
cmp ecx, 0x2a
mov dword [ebp - 0x1c], eax
je 0x41a047
cmp ecx, 0x3d
je 0x419f57
cmp ecx, 0x40
jne 0x419f62
xor ebx, ebx
cmp eax, ebx
je 0x41a0ce
push 4
call fcn.0046c708
cmp eax, ebx
pop ecx
je 0x419f3c
push dword [ebp - 0x1c]
mov ecx, eax
call fcn.00409dd3
jmp 0x419f3e
xor eax, eax
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
push eax
lea ecx, [ebp - 0x230]
call fcn.00409e90
mov eax, dword [ebp - 0x1c]
jmp 0x41a0ce
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx]
movsx eax, dl
lea eax, [ecx + eax*2]
mov dword [esi], eax
xor ebx, ebx
inc dword [ebp - 0x40]
cmp byte [ebp - 0x2d], 0
jne 0x419f79
cmp dword [ebp - 0x40], 0x64
jbe 0x419ea9
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push str._DllRegisterServer
push dword [ebp - 0x10]
call esi
test eax, eax
jne 0x419fa8
cmp dword [ebp - 0x24], ebx
mov dword [ebp - 0x10], 0x483cc2
mov byte [ebp - 1], 0xff
jge 0x419fa4
mov dword [ebp - 0x24], 0x31
mov byte [ebp - 0xb], 1
push str._DllUnregisterServer
push dword [ebp - 0x10]
call esi
test eax, eax
jne 0x419fd1
cmp dword [ebp - 0x24], ebx
mov dword [ebp - 0x10], 0x483c96
mov byte [ebp - 1], 0xff
jge 0x419fcd
mov dword [ebp - 0x24], 0x71
mov byte [ebp - 0xb], 1
push 0x20a
lea ecx, [ebp - 0x54]
call fcn.0042c415
mov eax, dword [ebp + 0xc]
xor esi, esi
xor ebx, ebx
mov dword [ebp - 0x218], esi
mov dword [ebp - 0x214], esi
cmp word [eax], 0x23
mov dword [ebp + 0x14], ebx
jne 0x41a0e9
cmp word [eax + 2], si
jne 0x41a0e9
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.0042ec7e
mov ebx, dword [ebp - 0x218]
mov eax, ebx
or eax, dword [ebp - 0x214]
pop ecx
pop ecx
jne 0x41a0d5
mov al, byte [ebp - 0x11]
neg al
sbb eax, eax
and eax, 0x7ff8ffa9
add eax, 0x80070057
mov dword [ebp - 8], eax
jmp 0x41b40a
cmp word [eax], 0x2a
jne 0x41a052
inc eax
inc eax
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x34]
mov dword [ebp + 0x14], eax
call fcn.0042c3f7
mov ecx, dword [ebp + 8]
xor ebx, ebx
push ebx
push 0x2c
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp + 0x14]
push eax
call fcn.004242ef
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x34]
mov dword [ebp + 0x14], ebx
call fcn.0040af39
cmp eax, ebx
je 0x41a08d
mov eax, dword [eax + 4]
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x14]
lea ecx, [ebp - 0x34]
mov dword [esi], eax
call fcn.0042704a
jmp 0x419f66
cmp cx, 0x23
jne 0x419f64
cmp cx, 0x23
jne 0x41a0b4
inc eax
inc eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x48]
push eax
xor ebx, ebx
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
call fcn.0042ec7e
mov eax, dword [ebp - 0x48]
pop ecx
pop ecx
mov dword [esi], eax
jmp 0x419f66
cmp byte [ebp - 9], 0
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x14], ebx
mov byte [ebp - 1], 1
jge 0x41a0e9
mov byte [ebp - 9], 1
cmp eax, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x44], esi
je 0x41a10a
cmp word [eax], 0x22
jne 0x41a100
mov dword [ebp - 0x44], 1
push eax
call fcn.0040ce49
pop ecx
mov dword [ebp + 0xc], eax
mov cx, word [eax]
cmp cx, 0x2a
jne 0x41a119
mov byte [ebp - 0x13], 1
xor esi, esi
cmp cx, si
mov edi, eax
je 0x41a12c
cmp cx, 0x2e
jne 0x41a12e
cmp word [eax + 2], si
jne 0x41a12e
xor edi, edi
cmp byte [ebp - 9], 0
jg 0x41a145
push dword [ebp - 0x54]
push 0x208
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov eax, dword [ebp + 0xc]
cmp byte [ebp - 0x25], 0
je 0x41a180
cmp byte [ebp - 0x13], 0
jne 0x41a180
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
cmp eax, esi
jne 0x41a169
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, esi
je 0x41a16d
xor eax, eax
jmp 0x41a179
cmp byte [ebp - 0x11], 0
jne 0x41a169
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x41a3f9
cmp byte [ebp - 0xb], 0
jle 0x41a1b7
push 0x5c
push esi
push eax
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
cmp eax, esi
je 0x41a1b7
sub eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x34]
sar eax, 1
inc eax
push eax
push dword [ebp + 0xc]
call fcn.004361fb
push dword [ebp - 0x34]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea ecx, [ebp - 0x34]
call fcn.0042704a
cmp ebx, esi
jne 0x41a39c
cmp byte [ebp - 0x13], 0
jne 0x41a1f8
mov esi, 0x4975e4
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp byte [ebp - 1], 0
jne 0x41a1f1
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
mov dword [ebp - 0x18], eax
jne 0x41a1e9
mov byte [ebp - 1], 1
test edi, edi
jne 0x41a1f1
mov byte [ebp - 1], 2
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
xor ebx, ebx
cmp edi, ebx
je 0x41a360
cmp byte [ebp - 0x13], bl
je 0x41a34d
cmp dword [ebp - 0x44], ebx
mov dword [ebp - 0x224], ebx
mov dword [ebp - 0x220], ebx
mov dword [ebp - 0x21c], ebx
mov esi, edi
jne 0x41a243
cmp word [edi], 0x23
jne 0x41a243
xor eax, eax
mov ax, word [edi + 2]
push eax
call fcn.0040ee76
add esp, 4
test al, al
jne 0x41a24d
cmp word [edi], 0x2a
jne 0x41a2b8
inc edi
inc edi
mov esi, edi
cmp word [edi], bx
mov eax, dword [0x496dd4]
mov dword [ebp - 0x34], ebx
je 0x41a267
cmp word [esi], 0x23
je 0x41a267
inc esi
inc esi
cmp word [esi], bx
jne 0x41a25a
mov bx, word [esi]
cmp bx, 0x23
jne 0x41a2c7
and word [esi], 0
cmp word [edi], 0
je 0x41a288
push 2
push 0
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov dword [ebp - 0x34], eax
test eax, eax
mov word [esi], bx
je 0x41a2a7
push 0
lea ecx, [ebp - 0x224]
push ecx
push str.EXEDATA
push esi
push eax
call fcn.0040f211
add esp, 0x14
cmp dword [ebp - 0x34], 0
je 0x41a2c7
push dword [ebp - 0x34]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x41a2c7
lea eax, [ebp - 0x224]
push eax
push edi
call fcn.0040ef89
pop ecx
pop ecx
mov edi, dword [ebp - 0x224]
test edi, edi
mov ebx, dword [ebp - 0x220]
jne 0x41a2eb
lea ecx, [ebp - 0x224]
mov dword [ebp - 8], 0x80004005
call fcn.0042704a
jmp 0x41a365
push 0x18
call fcn.0046c708
test eax, eax
pop ecx
je 0x41a302
mov ecx, eax
call fcn.0040a96e
mov esi, eax
jmp 0x41a304
xor esi, esi
push ebx
push edi
mov ecx, esi
call fcn.0040efef
test eax, eax
je 0x41a336
push dword [ebp - 0x10]
lea ecx, [ebp - 0x44]
call fcn.00409dd3
push dword [eax]
mov ecx, esi
call fcn.0040a9aa
lea ecx, [ebp - 0x44]
mov dword [ebp + 0x14], eax
call fcn.0042704a
cmp dword [ebp + 0x14], 0
jne 0x41a33d
mov dword [ebp - 8], 0x80004005
lea ecx, [ebp - 0x224]
call fcn.0042704a
mov ebx, dword [ebp + 0x14]
jmp 0x41a39c
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [ebp - 0x18], eax
jne 0x41a370
call esi
mov dword [ebp - 8], eax
cmp dword [ebp - 0x18], ebx
jne 0x41a370
cmp byte [ebp - 0xc], 0
jne 0x41a3bb
jmp 0x41b3b0
push dword [ebp - 0x10]
lea ecx, [ebp - 0x44]
call fcn.00409dd3
push dword [eax]
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, eax
lea ecx, [ebp - 0x44]
mov dword [ebp + 0x14], ebx
call fcn.0042704a
test ebx, ebx
jne 0x41a39c
call esi
mov dword [ebp - 8], eax
cmp byte [ebp - 0xc], 0
je 0x41a42b
cmp byte [ebp - 1], 0
jg 0x41a3bb
cmp dword [ebp - 0x18], 0
je 0x41a3bb
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp - 0x11], 0
je 0x41a3c6
mov esi, dword [ebp + 0x14]
jmp 0x41a3f9
cmp dword [ebp + 0x14], 0
je 0x41a3e4
push dword [ebp + 0x14]
lea eax, [ebp - 0x2a8]
push str.0x_p
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x2a8]
push eax
push dword [ebp - 0x2c]
call fcn.0042af0d
mov esi, dword [ebp - 8]
lea ecx, [ebp - 0x54]
call fcn.0042704a
lea ecx, [ebp - 0x4c]
call fcn.004169e7
lea ecx, [ebp - 0x230]
call fcn.0043f614
lea ecx, [ebp - 0x2c]
call fcn.0042704a
lea ecx, [ebp - 0x50]
call fcn.0042704a
mov eax, esi
jmp 0x41b4af
xor esi, esi
cmp ebx, esi
mov byte [ebp + 0x17], 0
je case.default.0x41adf8
test byte [ebp - 0x24], 7
je 0x41a491
call fcn.0042a858
cmp dword [ebp - 0x24], esi
je 0x41a491
cmp dword [0x497190], esi
je 0x41a491
cmp dword [0x497194], esi
je 0x41a491
mov esi, 0x4975e4
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [ebp + 8]
mov al, byte [edi + 0x10]
test al, 2
jne 0x41a48a
test al, 1
jne 0x41a477
mov byte [ebp + 0x17], 1
or byte [ebp + 0x17], 2
or al, 3
push 0
mov byte [edi + 0x10], al
call dword [0x497190]
jmp 0x41a491
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp - 0x12], 0
je 0x41a52b
and dword [ebp + 0x10], 0
cmp byte [ebp - 2], 0x40
mov byte [ebp - 0x14], 1
jne 0x41a4c4
cmp dword [ebp - 0x20], 0
je 0x41a4c4
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp - 0x20]
lea ecx, [ebp + 0x10]
call fcn.0042c37f
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x10], 0
mov esi, dword [0x496dd4]
push 5
pop edi
je 0x41a507
push 0x12
push dword [ebp - 0x10]
push str.InstallHinfSection
call fcn.00427f14
add esp, 0xc
test al, al
je 0x41a507
mov eax, dword [ebp - 0x10]
cmp word [eax + 0x24], 0
je 0x41a503
mov word [eax + 0x24], 1
mov eax, dword [ebp - 0x10]
cmp word [eax + 0x26], 0
jne 0x41a507
xor edi, edi
xor esi, esi
mov eax, dword [ebp + 8]
push edi
push dword [ebp - 0x20]
push esi
push dword [eax + 0x2c]
call fcn.00427465
pop ecx
push eax
call ebx
lea ecx, [ebp + 0x10]
mov dword [ebp - 8], eax
call fcn.0042704a
jmp case.default.0x41adf8
cmp dword [ebp + 0x10], 1
mov ecx, dword [ebp - 0x40]
jne 0x41ade3
push 0x64
pop eax
cmp eax, ecx
sbb al, al
inc al
cmp ecx, 0x10
mov byte [ebp - 0x14], al
ja case.default.0x41a54d
jmp dword [ecx*4 + 0x41b4b6]
push dword [ebp - 0x210]
call ebx
jmp 0x41a56d
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
call ebx
pop ecx
pop ecx
jmp 0x41b376
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
call ebx
add esp, 0xc
jmp 0x41b376
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
call ebx
add esp, 0x10
jmp 0x41b376
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
call ebx
add esp, 0x14
jmp 0x41b376
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
call ebx
add esp, 0x18
jmp 0x41b376
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
call ebx
add esp, 0x1c
jmp 0x41b376
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]
push dword [ebp - 0x210]
call ebx
add esp, 0x20
jmp 0x41b376
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]
push dword [ebp - 0x210]
call ebx
add esp, 0x24
jmp 0x41b376
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]
push dword [ebp - 0x210]
call ebx
add esp, 0x28
jmp 0x41b376
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]
push dword [ebp - 0x210]
call ebx
add esp, 0x2c
jmp 0x41b376
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]
push dword [ebp - 0x210]
call ebx
add esp, 0x30
jmp 0x41b376
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]
push dword [ebp - 0x210]
call ebx
add esp, 0x34
jmp 0x41b376
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]
push dword [ebp - 0x210]
call ebx
add esp, 0x38
jmp 0x41b376
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]
push dword [ebp - 0x210]
call ebx
add esp, 0x3c
jmp 0x41b376
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]
push dword [ebp - 0x210]
call ebx
add esp, 0x40
jmp 0x41b376
cmp ecx, 0x14
ja 0x41a9a8
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]
push dword [ebp - 0x210]
call ebx
add esp, 0x50
jmp 0x41b376
cmp ecx, 0x1e
ja 0x41aa6f
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]
push dword [ebp - 0x210]
call ebx
add esp, 0x78
jmp 0x41b376
cmp ecx, 0x28
ja 0x41ab75
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]
push dword [ebp - 0x210]
call ebx
add esp, 0xa0
jmp 0x41b376
cmp ecx, 0x64
ja case.default.0x41adf8
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]
push dword [ebp - 0x210]
call ebx
add esp, 0x190
jmp 0x41b376
push 0x14
pop eax
cmp eax, ecx
sbb al, al
inc al
cmp ecx, 0x14
mov byte [ebp - 0x14], al
ja case.default.0x41adf8
jmp dword [ecx*4 + 0x41b4fa]
call ebx
jmp 0x41b376
push dword [ebp - 0x210]
call ebx
jmp 0x41b376
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
call ebx
jmp 0x41b376
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
call ebx
jmp 0x41b376
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
call ebx
jmp 0x41b376
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
call ebx
jmp 0x41b376
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
call ebx
jmp 0x41b376
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
call ebx
jmp 0x41b376
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]
push dword [ebp - 0x210]
call ebx
jmp 0x41b376
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]
push dword [ebp - 0x210]
call ebx
jmp 0x41b376
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]
push dword [ebp - 0x210]
call ebx
jmp 0x41b376
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]
push dword [ebp - 0x210]
call ebx
jmp 0x41b376
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]
push dword [ebp - 0x210]
call ebx
jmp 0x41b376
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]
push dword [ebp - 0x210]
call ebx
jmp 0x41b376
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]
push dword [ebp - 0x210]
call ebx
jmp 0x41b376
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]
push dword [ebp - 0x210]
call ebx
jmp 0x41b376
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]
push dword [ebp - 0x210]
call ebx
jmp 0x41b376
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]
push dword [ebp - 0x210]
call ebx
jmp 0x41b376
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]
push dword [ebp - 0x210]
call ebx
jmp 0x41b376
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]
push dword [ebp - 0x210]
call ebx
jmp 0x41b376
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]
push dword [ebp - 0x210]
call ebx
mov dword [ebp - 8], eax
cmp byte [ebp - 1], 0
jg 0x41b38e
cmp dword [ebp - 0x18], 0
je 0x41b38e
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp + 0x17], 0
je 0x41b3b0
call dword [0x497194]
mov al, byte [ebp + 0x17]
mov ecx, dword [ebp + 8]
not al
and byte [ecx + 0x10], al
push 0x4975e4
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp - 9], 0
jg 0x41b3bf
push dword [ebp - 0x54]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov eax, dword [ebp - 0x218]
or eax, dword [ebp - 0x214]
je 0x41b3d3
cmp byte [ebp - 9], 0
jg 0x41b3d8
call fcn.0040a910
mov eax, dword [ebp - 0x2c]
mov ax, word [eax]
test ax, ax
je 0x41b42b
cmp ax, 0x2a
je 0x41b404
cmp byte [ebp - 0x14], 0
je 0x41b404
mov eax, dword [ebp - 8]
cdq
push edx
push eax
lea eax, [ebp - 0x2a8]
push eax
call fcn.00435e84
add esp, 0xc
and dword [ebp - 8], 0
xor esi, esi
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx]
cmp ax, si
je 0x41b42b
cmp ax, 0x2a
je 0x41b42b
lea eax, [ebp - 0x2a8]
push eax
push ecx
mov ecx, dword [ebp + 8]
call fcn.0042af0d
mov esi, dword [ebp - 0x38]
test esi, esi
jge 0x41b44b
mov eax, dword [ebp + esi*4 - 0x7a4]
test eax, eax
je 0x41b448
lea ecx, [ebp + 8]
mov dword [ebp + 8], eax
call fcn.0042704a
inc esi
js 0x41b432
lea ecx, [ebp - 0x54]
call fcn.0042704a
lea ecx, [ebp - 0x4c]
call fcn.004169e7
lea ecx, [ebp - 0x230]
call fcn.0043f614
lea ecx, [ebp - 0x2c]
call fcn.0042704a
lea ecx, [ebp - 0x50]
call fcn.0042704a
mov eax, dword [ebp - 8]
jmp 0x41b4af
lea ecx, [ebp - 0x4c]
call fcn.004169e7
lea ecx, [ebp - 0x230]
call fcn.0043f614
lea ecx, [ebp - 0x2c]
call fcn.0042704a
lea ecx, [ebp - 0x50]
call fcn.0042704a
mov al, byte [ebp - 0x11]
neg al
sbb eax, eax
and eax, 0x7ff8ffa9
add eax, 0x80070057
pop edi
pop esi
pop ebx
leave
ret 0x10