Function at 0x419acd
Capabilities:
Get common file path

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.004365ba
mov eax, dword [ebp + 0xc]
or dword [ebp - 0x4c], 0xffffffff
lea ecx, [ebp + 0xc]
mov dword [ebp - 0x44], eax
call fcn.00409fda
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.0042c809
push 1
lea eax, [ebp + 0xc]
push eax
push 0x483104
mov word [ebp - 0x2a8], bx
call fcn.0042e2da
add esp, 0xc
test al, al
jne 0x419b56
cmp esi, ebx
mov byte [ebp - 0xc], al
je 0x419b5c
mov byte [ebp - 0xc], 1
cmp esi, ebx
setne byte [ebp - 0x11]
cmp byte [ebp - 0xc], 0
je 0x419b6e
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 0x419b7e
mov dl, al
movsx edi, dl
movzx eax, ax
cmp eax, edi
push 3
pop esi
jne 0x419e5e
movzx eax, word [ecx + 2]
cmp eax, edi
jne 0x419e40
push 1
lea eax, [ebp + 0xc]
push eax
add ecx, 4
push 0x483d3c
mov dword [ebp + 0xc], ecx
call fcn.0042e2da
add esp, 0xc
test al, al
je 0x419bc4
mov dword [ebp + 0x10], 1
jmp 0x419e32
push 2
lea eax, [ebp + 0xc]
push eax
push 0x483d38
call fcn.0042e2da
add esp, 0xc
test al, al
je 0x419be4
mov byte [ebp - 0xb], 1
jmp 0x419e32
push esi
lea eax, [ebp + 0xc]
push eax
push 0x483d34
call fcn.0042e2da
add esp, 0xc
test al, al
je 0x419c03
mov byte [ebp - 0xb], 0
jmp 0x419e32
push 4
lea eax, [ebp + 0xc]
push eax
push str.nrcd
call fcn.0042e2da
add esp, 0xc
test al, al
je 0x419c23
mov byte [ebp - 9], 2
jmp 0x419e32
push esi
lea eax, [ebp + 0xc]
push eax
push 0x483d28
call fcn.0042e2da
add esp, 0xc
test al, al
je 0x419c42
mov byte [ebp - 9], 0
jmp 0x419e32
push 2
lea eax, [ebp + 0xc]
push eax
push 0x483d24
call fcn.0042e2da
add esp, 0xc
test al, al
je 0x419c62
mov byte [ebp - 2], 1
jmp 0x419e32
push esi
lea eax, [ebp + 0xc]
push eax
push 0x483d20
call fcn.0042e2da
add esp, 0xc
test al, al
je 0x419c81
mov byte [ebp - 2], 0x23
jmp 0x419e32
push esi
lea eax, [ebp + 0xc]
push eax
push 0x483d1c
call fcn.0042e2da
add esp, 0xc
test al, al
je 0x419ca0
mov byte [ebp - 2], 0x2a
jmp 0x419e32
push esi
lea eax, [ebp + 0xc]
push eax
push 0x483d18
call fcn.0042e2da
add esp, 0xc
test al, al
je 0x419cbf
mov byte [ebp - 2], 0x24
jmp 0x419e32
push esi
lea eax, [ebp + 0xc]
push eax
push 0x483d14
call fcn.0042e2da
add esp, 0xc
test al, al
je 0x419cde
mov byte [ebp - 2], 0x40
jmp 0x419e32
push esi
lea eax, [ebp + 0xc]
push eax
push 0x483d10
call fcn.0042e2da
add esp, 0xc
test al, al
je 0x419cfd
mov byte [ebp - 2], 0x3d
jmp 0x419e32
push 2
lea eax, [ebp + 0xc]
push eax
push 0x483d0c
call fcn.0042e2da
add esp, 0xc
test al, al
je 0x419d20
mov dword [ebp - 0x24], 1
jmp 0x419e32
push esi
lea eax, [ebp + 0xc]
push eax
push 0x483d08
call fcn.0042e2da
add esp, 0xc
test al, al
je 0x419d3e
mov dword [ebp - 0x24], ebx
jmp 0x419e32
push esi
lea eax, [ebp + 0xc]
push eax
push 0x483d04
call fcn.0042e2da
add esp, 0xc
test al, al
je 0x419d5d
mov byte [ebp - 0xa], 1
jmp 0x419e32
push esi
lea eax, [ebp + 0xc]
push eax
push 0x483d00
call fcn.0042e2da
add esp, 0xc
test al, al
je 0x419d7c
mov byte [ebp - 0x12], 1
jmp 0x419e32
push 1
lea eax, [ebp + 0xc]
push eax
push 0x483cfc
call fcn.0042e2da
add esp, 0xc
test al, al
je 0x419d9c
mov byte [ebp - 0x2d], 1
jmp 0x419e32
push 4
push dword [ebp + 0xc]
push str.ret:
call fcn.00428263
add esp, 0xc
test al, al
lea eax, [ebp + 0xc]
je 0x419e0e
add dword [ebp + 0xc], 8
mov esi, dword [ebp + 0xc]
push eax
call fcn.00403c83
mov eax, dword [ebp + 0xc]
pop ecx
sub eax, esi
sar eax, 1
push eax
push esi
lea ecx, [ebp - 0x2c]
call fcn.0042c92f
lea ecx, [ebp + 0xc]
call fcn.00409fda
mov ecx, dword [ebp + 8]
push ebx
lea eax, [ebp - 0x2c]
push eax
call fcn.00402b15
push dword [ebp - 0x2c]
mov byte [ebp - 1], 1
push 0x483608
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
push 3
pop esi
jne 0x419e32
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 1], 3
mov word [eax], bx
jmp 0x419e32
push 1
push eax
push 0x483cf0
call fcn.0042e2da
add esp, 0xc
test al, al
je 0x419e28
mov byte [ebp - 0x13], 1
jmp 0x419e32
lea eax, [ebp + 0xc]
push eax
call fcn.00403cc8
pop ecx
mov ecx, dword [ebp + 0xc]
movzx eax, word [ecx]
cmp eax, edi
je 0x419b8f
cmp byte [ebp - 0xa], 0
je 0x419e5e
push 0xffffffffffffff9c
push 0x480934
push ebx
push ecx
mov ecx, dword [ebp + 8]
call fcn.00441d27
mov esi, eax
jmp 0x41a745
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.0042ca75
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 0x419eea
mov edi, eax
sub edi, dword [ebp - 0x44]
sar edi, 1
add dword [ebp - 0x10], 2
jmp 0x419eed
mov edi, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x10]
cmp eax, ebx
mov dword [ebp - 0x450], eax
mov dword [ebp - 0x5f8], eax
je 0x419f0c
cmp word [eax], 0x2a
jne 0x419f0c
mov byte [ebp - 0x25], 1
jmp 0x419f20
cmp byte [ebp - 0xc], 0
mov byte [ebp - 0x25], 0
jne 0x419f20
cmp byte [ebp - 0x11], 0
mov byte [ebp - 0xa], 1
je 0x419f24
mov byte [ebp - 0xa], 0
cmp byte [ebp - 0x12], 0
jne 0x419f78
cmp byte [ebp - 0xa], 0
je 0x419f78
mov eax, dword [ebp + 0x14]
cmp eax, ebx
mov dword [ebp - 0x1c], eax
jne 0x419f40
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 0x419f78
mov word [eax], bx
add dword [ebp - 0x1c], 2
cmp dword [ebp - 0x38], 2
jl 0x419f6f
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 0x419f47
cmp dword [ebp - 0x10], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x20], ebx
je 0x419f99
push 0x2c
push dword [ebp - 0x10]
call esi
cmp dword [ebp - 0x10], ebx
mov dword [ebp - 0x20], eax
je 0x419f99
mov eax, dword [ebp - 0x10]
mov word [eax - 2], bx
mov eax, dword [ebp + 0xc]
cmp word [eax], bx
jne 0x419fab
mov esi, 0x80070057
jmp 0x41a732
cmp dword [ebp - 0x20], ebx
je 0x419fba
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 0x419fd3
mov ecx, dword [ebp - 0x10]
cmp ecx, ebx
je 0x419fd3
cmp word [ecx], bx
jne 0x419fd3
mov dword [ebp - 0x10], ebx
test al, al
je 0x419ffa
cmp dword [ebp - 0x20], ebx
je 0x419ffa
mov ecx, dword [ebp + 8]
push ebx
push 0x2c
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.0042460e
mov eax, dword [ebp - 0x20]
cmp word [eax], bx
jne 0x419ffa
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ebx
mov dword [ebp - 8], ebx
mov byte [ebp - 1], 0
jne 0x41a120
cmp dword [ebp - 0x10], ebx
jne 0x41a018
mov dword [ebp - 0x10], 0x483cca
jmp 0x41a03e
push dword [ebp - 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push 0x483cca
call esi
test eax, eax
je 0x41a03e
push dword [ebp - 0x10]
push 0x483c9e
call esi
test eax, eax
jne 0x41a120
cmp dword [ebp - 0x24], ebx
mov byte [ebp - 1], 0xff
jge 0x41a04e
mov dword [ebp - 0x24], 0x31
cmp byte [ebp - 0x24], 0
je 0x41a120
lea ecx, [ebp + 0x10]
call fcn.0042c809
push 0xffffffffffffffff
push str.___exe:_
lea ecx, [ebp + 0x14]
call fcn.004365f0
lea eax, [ebp + 0x14]
push eax
lea ecx, [ebp + 0x10]
call fcn.00436650
lea ecx, [ebp + 0x14]
call fcn.00427365
push 0x51c
lea ecx, [ebp + 0x10]
call fcn.0042c850
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.004365f0
push dword [eax]
lea ecx, [ebp + 0x10]
call fcn.0042c877
lea ecx, [ebp + 0x14]
call fcn.00427365
cmp edi, ebx
jl 0x41a0cf
mov eax, dword [ebp - 0x50]
mov word [eax + edi*2], bx
push dword [ebp - 0x50]
lea ecx, [ebp + 0x10]
call fcn.0042c877
push 0xffffffffffffffff
push 0x483c58
lea ecx, [ebp + 0x14]
call fcn.004365f0
push dword [eax]
lea ecx, [ebp + 0x10]
call fcn.0042c877
lea ecx, [ebp + 0x14]
call fcn.00427365
push dword [ebp - 0x10]
lea ecx, [ebp + 0x10]
call fcn.0042c877
mov ecx, dword [ebp + 8]
push ebx
push ebx
push ebx
push ebx
push ecx
push dword [ebp + 0x10]
call fcn.004067ac
mov esi, eax
lea ecx, [ebp + 0x10]
jmp 0x41a72d
mov eax, dword [ebp - 0x10]
cmp eax, ebx
je 0x41b7ac
cmp word [eax], bx
je 0x41b7ac
cmp byte [ebp - 0x12], 0
jne 0x41a191
cmp byte [ebp - 0xa], 0
je 0x41a191
cmp dword [ebp + 0x14], ebx
je 0x41a191
push 2
pop esi
cmp dword [ebp - 0x38], esi
lea eax, [ebp - 0x5fc]
mov dword [ebp - 0x18], eax
mov dword [ebp + 0x14], ebx
jle 0x41a189
mov ecx, dword [ebp + 8]
push 1
push ebx
lea eax, [ebp + 0x14]
push eax
push dword [ebp + esi*4 - 0x454]
call fcn.0043d8d6
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 0x41a159
lea ecx, [ebp + 0x14]
call fcn.00427365
cmp byte [ebp - 0x12], 0
push 2
pop eax
jne 0x41a2aa
cmp byte [ebp - 0xa], 0
je 0x41a2aa
mov ecx, dword [ebp - 0x18]
cmp dword [ecx + 4], ebx
je 0x41a2aa
cmp byte [ebp - 0x39], 0
je 0x41a1c7
mov ecx, dword [ecx + 8]
cmp ecx, ebx
mov dword [ebp - 0x1c], ecx
je 0x41a1c7
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 0x41a2aa
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 0x41a3da
cmp byte [ebp - 2], 0x2a
je 0x41a378
cmp byte [ebp - 2], 0x24
je 0x41a293
cmp byte [ebp - 2], 0x40
je 0x41a24b
cmp byte [ebp - 2], 0x3d
je 0x41a288
cmp byte [ebp - 2], dl
je 0x41a3d0
inc eax
inc eax
movzx ecx, cx
inc dl
cmp ecx, 0x2a
mov dword [ebp - 0x1c], eax
je 0x41a378
cmp ecx, 0x3d
je 0x41a288
cmp ecx, 0x40
jne 0x41a293
xor ebx, ebx
cmp eax, ebx
je 0x41a3ff
push 4
call fcn.0046cbd8
cmp eax, ebx
pop ecx
je 0x41a26d
push dword [ebp - 0x1c]
mov ecx, eax
call fcn.00409f32
jmp 0x41a26f
xor eax, eax
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
push eax
lea ecx, [ebp - 0x230]
call fcn.0040a006
mov eax, dword [ebp - 0x1c]
jmp 0x41a3ff
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 0x41a2aa
cmp dword [ebp - 0x40], 0x64
jbe 0x41a1da
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push str._DllRegisterServer
push dword [ebp - 0x10]
call esi
test eax, eax
jne 0x41a2d9
cmp dword [ebp - 0x24], ebx
mov dword [ebp - 0x10], 0x483cca
mov byte [ebp - 1], 0xff
jge 0x41a2d5
mov dword [ebp - 0x24], 0x31
mov byte [ebp - 0xb], 1
push str._DllUnregisterServer
push dword [ebp - 0x10]
call esi
test eax, eax
jne 0x41a302
cmp dword [ebp - 0x24], ebx
mov dword [ebp - 0x10], 0x483c9e
mov byte [ebp - 1], 0xff
jge 0x41a2fe
mov dword [ebp - 0x24], 0x71
mov byte [ebp - 0xb], 1
push 0x20a
lea ecx, [ebp - 0x54]
call fcn.0042c827
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 0x41a41a
cmp word [eax + 2], si
jne 0x41a41a
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.0042eff2
mov ebx, dword [ebp - 0x218]
mov eax, ebx
or eax, dword [ebp - 0x214]
pop ecx
pop ecx
jne 0x41a406
mov al, byte [ebp - 0x11]
neg al
sbb eax, eax
and eax, 0x7ff8ffa9
add eax, 0x80070057
mov dword [ebp - 8], eax
jmp 0x41b73b
cmp word [eax], 0x2a
jne 0x41a383
inc eax
inc eax
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x34]
mov dword [ebp + 0x14], eax
call fcn.0042c809
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.0042460e
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x34]
mov dword [ebp + 0x14], ebx
call fcn.0040b0e9
cmp eax, ebx
je 0x41a3be
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.00427365
jmp 0x41a297
cmp cx, 0x23
jne 0x41a295
cmp cx, 0x23
jne 0x41a3e5
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.0042eff2
mov eax, dword [ebp - 0x48]
pop ecx
pop ecx
mov dword [esi], eax
jmp 0x41a297
cmp byte [ebp - 9], 0
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x14], ebx
mov byte [ebp - 1], 1
jge 0x41a41a
mov byte [ebp - 9], 1
cmp eax, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x44], esi
je 0x41a43b
cmp word [eax], 0x22
jne 0x41a431
mov dword [ebp - 0x44], 1
push eax
call fcn.0040d003
pop ecx
mov dword [ebp + 0xc], eax
mov cx, word [eax]
cmp cx, 0x2a
jne 0x41a44a
mov byte [ebp - 0x13], 1
xor esi, esi
cmp cx, si
mov edi, eax
je 0x41a45d
cmp cx, 0x2e
jne 0x41a45f
cmp word [eax + 2], si
jne 0x41a45f
xor edi, edi
cmp byte [ebp - 9], 0
jg 0x41a476
push dword [ebp - 0x54]
push 0x208
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov eax, dword [ebp + 0xc]
cmp byte [ebp - 0x25], 0
je 0x41a4b1
cmp byte [ebp - 0x13], 0
jne 0x41a4b1
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
cmp eax, esi
jne 0x41a49a
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, esi
je 0x41a49e
xor eax, eax
jmp 0x41a4aa
cmp byte [ebp - 0x11], 0
jne 0x41a49a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x41a72a
cmp byte [ebp - 0xb], 0
jle 0x41a4e8
push 0x5c
push esi
push eax
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
cmp eax, esi
je 0x41a4e8
sub eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x34]
sar eax, 1
inc eax
push eax
push dword [ebp + 0xc]
call fcn.004365d7
push dword [ebp - 0x34]
call fcn.0040a41e
pop ecx
lea ecx, [ebp - 0x34]
call fcn.00427365
cmp ebx, esi
jne 0x41a6cd
cmp byte [ebp - 0x13], 0
jne 0x41a529
mov esi, 0x4975e4
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp byte [ebp - 1], 0
jne 0x41a522
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
mov dword [ebp - 0x18], eax
jne 0x41a51a
mov byte [ebp - 1], 1
test edi, edi
jne 0x41a522
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 0x41a691
cmp byte [ebp - 0x13], bl
je 0x41a67e
cmp dword [ebp - 0x44], ebx
mov dword [ebp - 0x224], ebx
mov dword [ebp - 0x220], ebx
mov dword [ebp - 0x21c], ebx
mov esi, edi
jne 0x41a574
cmp word [edi], 0x23
jne 0x41a574
xor eax, eax
mov ax, word [edi + 2]
push eax
call fcn.0040efef
add esp, 4
test al, al
jne 0x41a57e
cmp word [edi], 0x2a
jne 0x41a5e9
inc edi
inc edi
mov esi, edi
cmp word [edi], bx
mov eax, dword [0x496dd4]
mov dword [ebp - 0x34], ebx
je 0x41a598
cmp word [esi], 0x23
je 0x41a598
inc esi
inc esi
cmp word [esi], bx
jne 0x41a58b
mov bx, word [esi]
cmp bx, 0x23
jne 0x41a5f8
and word [esi], 0
cmp word [edi], 0
je 0x41a5b9
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 0x41a5d8
push 0
lea ecx, [ebp - 0x224]
push ecx
push 0x483c48
push esi
push eax
call fcn.0040f3dc
add esp, 0x14
cmp dword [ebp - 0x34], 0
je 0x41a5f8
push dword [ebp - 0x34]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x41a5f8
lea eax, [ebp - 0x224]
push eax
push edi
call fcn.0040f0ce
pop ecx
pop ecx
mov edi, dword [ebp - 0x224]
test edi, edi
mov ebx, dword [ebp - 0x220]
jne 0x41a61c
lea ecx, [ebp - 0x224]
mov dword [ebp - 8], 0x80004005
call fcn.00427365
jmp 0x41a696
push 0x18
call fcn.0046cbd8
test eax, eax
pop ecx
je 0x41a633
mov ecx, eax
call fcn.0040ab1e
mov esi, eax
jmp 0x41a635
xor esi, esi
push ebx
push edi
mov ecx, esi
call fcn.0040f1ba
test eax, eax
je 0x41a667
push dword [ebp - 0x10]
lea ecx, [ebp - 0x44]
call fcn.00409f32
push dword [eax]
mov ecx, esi
call fcn.0040ab5a
lea ecx, [ebp - 0x44]
mov dword [ebp + 0x14], eax
call fcn.00427365
cmp dword [ebp + 0x14], 0
jne 0x41a66e
mov dword [ebp - 8], 0x80004005
lea ecx, [ebp - 0x224]
call fcn.00427365
mov ebx, dword [ebp + 0x14]
jmp 0x41a6cd
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [ebp - 0x18], eax
jne 0x41a6a1
call esi
mov dword [ebp - 8], eax
cmp dword [ebp - 0x18], ebx
jne 0x41a6a1
cmp byte [ebp - 0xc], 0
jne 0x41a6ec
jmp 0x41b6e1
push dword [ebp - 0x10]
lea ecx, [ebp - 0x44]
call fcn.00409f32
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.00427365
test ebx, ebx
jne 0x41a6cd
call esi
mov dword [ebp - 8], eax
cmp byte [ebp - 0xc], 0
je 0x41a75c
cmp byte [ebp - 1], 0
jg 0x41a6ec
cmp dword [ebp - 0x18], 0
je 0x41a6ec
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp - 0x11], 0
je 0x41a6f7
mov esi, dword [ebp + 0x14]
jmp 0x41a72a
cmp dword [ebp + 0x14], 0
je 0x41a715
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.0042b2cd
mov esi, dword [ebp - 8]
lea ecx, [ebp - 0x54]
call fcn.00427365
lea ecx, [ebp - 0x4c]
call fcn.00416c8f
lea ecx, [ebp - 0x230]
call fcn.00416dad
lea ecx, [ebp - 0x2c]
call fcn.00427365
lea ecx, [ebp - 0x50]
call fcn.00427365
mov eax, esi
jmp 0x41b7e0
xor esi, esi
cmp ebx, esi
mov byte [ebp + 0x17], 0
je case.default.0x41b129
test byte [ebp - 0x24], 7
je 0x41a7c2
call fcn.0042ac18
cmp dword [ebp - 0x24], esi
je 0x41a7c2
cmp dword [0x497190], esi
je 0x41a7c2
cmp dword [0x497194], esi
je 0x41a7c2
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 0x41a7bb
test al, 1
jne 0x41a7a8
mov byte [ebp + 0x17], 1
or byte [ebp + 0x17], 2
or al, 3
push 0
mov byte [edi + 0x10], al
call dword [0x497190]
jmp 0x41a7c2
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp - 0x12], 0
je 0x41a85c
and dword [ebp + 0x10], 0
cmp byte [ebp - 2], 0x40
mov byte [ebp - 0x14], 1
jne 0x41a7f5
cmp dword [ebp - 0x20], 0
je 0x41a7f5
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp - 0x20]
lea ecx, [ebp + 0x10]
call fcn.0042c791
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x10], 0
mov esi, dword [0x496dd4]
push 5
pop edi
je 0x41a838
push 0x12
push dword [ebp - 0x10]
push str.InstallHinfSection
call fcn.00428263
add esp, 0xc
test al, al
je 0x41a838
mov eax, dword [ebp - 0x10]
cmp word [eax + 0x24], 0
je 0x41a834
mov word [eax + 0x24], 1
mov eax, dword [ebp - 0x10]
cmp word [eax + 0x26], 0
jne 0x41a838
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.004277b4
pop ecx
push eax
call ebx
lea ecx, [ebp + 0x10]
mov dword [ebp - 8], eax
call fcn.00427365
jmp case.default.0x41b129
cmp dword [ebp + 0x10], 1
mov ecx, dword [ebp - 0x40]
jne 0x41b114
push 0x64
pop eax
cmp eax, ecx
sbb al, al
inc al
cmp ecx, 0x10
mov byte [ebp - 0x14], al
ja case.default.0x41a87e
jmp dword [ecx*4 + 0x41b7e7]
push dword [ebp - 0x210]
call ebx
jmp 0x41a89e
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
call ebx
pop ecx
pop ecx
jmp 0x41b6a7
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
call ebx
add esp, 0xc
jmp 0x41b6a7
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
call ebx
add esp, 0x10
jmp 0x41b6a7
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 0x41b6a7
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 0x41b6a7
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 0x41b6a7
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 0x41b6a7
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 0x41b6a7
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 0x41b6a7
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 0x41b6a7
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 0x41b6a7
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 0x41b6a7
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 0x41b6a7
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 0x41b6a7
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 0x41b6a7
cmp ecx, 0x14
ja 0x41acd9
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 0x41b6a7
cmp ecx, 0x1e
ja 0x41ada0
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 0x41b6a7
cmp ecx, 0x28
ja 0x41aea6
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 0x41b6a7
cmp ecx, 0x64
ja case.default.0x41b129
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 0x41b6a7
push 0x14
pop eax
cmp eax, ecx
sbb al, al
inc al
cmp ecx, 0x14
mov byte [ebp - 0x14], al
ja case.default.0x41b129
jmp dword [ecx*4 + 0x41b82b]
call ebx
jmp 0x41b6a7
push dword [ebp - 0x210]
call ebx
jmp 0x41b6a7
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
call ebx
jmp 0x41b6a7
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
call ebx
jmp 0x41b6a7
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
call ebx
jmp 0x41b6a7
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
call ebx
jmp 0x41b6a7
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 0x41b6a7
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 0x41b6a7
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 0x41b6a7
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 0x41b6a7
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 0x41b6a7
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 0x41b6a7
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 0x41b6a7
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 0x41b6a7
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 0x41b6a7
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 0x41b6a7
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 0x41b6a7
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 0x41b6a7
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 0x41b6a7
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 0x41b6a7
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 0x41b6bf
cmp dword [ebp - 0x18], 0
je 0x41b6bf
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp + 0x17], 0
je 0x41b6e1
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 0x41b6f0
push dword [ebp - 0x54]
call fcn.0040a41e
pop ecx
mov eax, dword [ebp - 0x218]
or eax, dword [ebp - 0x214]
je 0x41b704
cmp byte [ebp - 9], 0
jg 0x41b709
call fcn.0040f134
mov eax, dword [ebp - 0x2c]
mov ax, word [eax]
test ax, ax
je 0x41b75c
cmp ax, 0x2a
je 0x41b735
cmp byte [ebp - 0x14], 0
je 0x41b735
mov eax, dword [ebp - 8]
cdq
push edx
push eax
lea eax, [ebp - 0x2a8]
push eax
call fcn.00436260
add esp, 0xc
and dword [ebp - 8], 0
xor esi, esi
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx]
cmp ax, si
je 0x41b75c
cmp ax, 0x2a
je 0x41b75c
lea eax, [ebp - 0x2a8]
push eax
push ecx
mov ecx, dword [ebp + 8]
call fcn.0042b2cd
mov esi, dword [ebp - 0x38]
test esi, esi
jge 0x41b77c
mov eax, dword [ebp + esi*4 - 0x7a4]
test eax, eax
je 0x41b779
lea ecx, [ebp + 8]
mov dword [ebp + 8], eax
call fcn.00427365
inc esi
js 0x41b763
lea ecx, [ebp - 0x54]
call fcn.00427365
lea ecx, [ebp - 0x4c]
call fcn.00416c8f
lea ecx, [ebp - 0x230]
call fcn.00416dad
lea ecx, [ebp - 0x2c]
call fcn.00427365
lea ecx, [ebp - 0x50]
call fcn.00427365
mov eax, dword [ebp - 8]
jmp 0x41b7e0
lea ecx, [ebp - 0x4c]
call fcn.00416c8f
lea ecx, [ebp - 0x230]
call fcn.00416dad
lea ecx, [ebp - 0x2c]
call fcn.00427365
lea ecx, [ebp - 0x50]
call fcn.00427365
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