Function at 0x103743a0
Capabilities:
Contain obfuscated stackstrings
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10419ea2
mov eax, dword fs:[0]
push eax
sub esp, 0x6d0
mov eax, dword [0x104c5878]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x6c4], ecx
mov dword [ebp - 0x610], 0
mov dword [ebp - 0x630], 0
mov dword [ebp - 0x62c], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x628], 0
mov dword [ebp - 0x630], 0
mov dword [ebp - 0x62c], 0
mov dword [ebp - 4], 1
mov dword [ebp - 0x66c], 0
mov dword [ebp - 0x668], 0
mov byte [ebp - 4], 2
mov dword [ebp - 0x664], 0
mov dword [ebp - 0x66c], 0
mov dword [ebp - 0x668], 0
mov byte [ebp - 4], 3
mov dword [ebp - 0x6b4], 0
mov dword [ebp - 0x6b0], 0
mov byte [ebp - 4], 4
mov dword [ebp - 0x6ac], 0
mov dword [ebp - 0x6b4], 0
mov dword [ebp - 0x6b0], 0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x66c]
call fcn.10368930
lea ecx, [ebp - 0x6b4]
call fcn.103687b0
mov dword [ebp - 0x678], 0x10460cac
mov dword [ebp - 0x674], 2
mov byte [ebp - 4], 8
mov dword [ebp - 0x69c], 0
mov dword [ebp - 0x698], 0xffffffff
mov dword [ebp - 0x694], 0x10460cac
mov dword [ebp - 0x690], 2
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x6b4]
mov dword [ebp - 0x68c], edx
mov edi, dword [ebp - 0x6b0]
mov dword [ebp - 0x640], edx
mov dword [ebp - 0x688], edi
mov byte [ebp - 4], 8
mov dword [ebp - 0x610], 2
test edi, edi
je 0x10374520
lea esi, [edi - 1]
jmp 0x10374522
xor esi, esi
mov ecx, dword [ebp - 0x668]
inc esi
mov dword [ebp - 0x698], esi
test ecx, ecx
je 0x10374538
lea eax, [ecx - 1]
jmp 0x1037453a
xor eax, eax
inc eax
add eax, esi
cmp eax, dword [ebp - 0x664]
jbe 0x1037460b
test ecx, ecx
je 0x10374550
dec ecx
jmp 0x10374552
xor ecx, ecx
inc ecx
mov dl, 1
add ecx, esi
call fcn.103675e0
mov ecx, dword [ebp - 0x668]
mov dword [ebp - 0x624], eax
test ecx, ecx
je 0x1037456f
dec ecx
jmp 0x10374571
xor ecx, ecx
push ecx
push dword [ebp - 0x66c]
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0x668]
add esp, 0xc
test ecx, ecx
je 0x10374596
dec ecx
add ecx, dword [ebp - 0x624]
mov edx, ecx
jmp 0x1037459e
mov ecx, dword [ebp - 0x624]
mov edx, ecx
mov al, byte [0x10460cac]
inc ecx
mov byte [edx], al
test edi, edi
je 0x103745ad
dec edi
jmp 0x103745af
xor edi, edi
push edi
push dword [ebp - 0x640]
push ecx
call fcn.103ce0b0
mov eax, dword [ebp - 0x668]
add esp, 0xc
test eax, eax
je 0x103745cc
dec eax
jmp 0x103745ce
xor eax, eax
mov edx, dword [ebp - 0x624]
add eax, esi
mov byte [eax + edx], 0
mov eax, dword [ebp - 0x668]
test eax, eax
je 0x103745e7
dec eax
jmp 0x103745e9
xor eax, eax
mov ecx, dword [ebp - 0x66c]
inc eax
add eax, esi
mov dword [ebp - 0x66c], edx
mov dword [ebp - 0x668], eax
mov dword [ebp - 0x664], eax
call fcn.10367720
jmp 0x1037466a
test ecx, ecx
je 0x10374612
dec ecx
jmp 0x10374614
xor ecx, ecx
add ecx, dword [ebp - 0x66c]
mov al, byte [0x10460cac]
mov byte [ecx], al
inc ecx
test edi, edi
je 0x10374629
dec edi
jmp 0x1037462b
xor edi, edi
push edi
push edx
push ecx
call fcn.103ce0b0
mov eax, dword [ebp - 0x668]
add esp, 0xc
test eax, eax
je 0x10374643
dec eax
jmp 0x10374645
xor eax, eax
lea ecx, [esi + eax]
mov eax, dword [ebp - 0x66c]
mov byte [ecx + eax], 0
mov eax, dword [ebp - 0x668]
test eax, eax
je 0x1037465f
dec eax
jmp 0x10374661
xor eax, eax
inc eax
add eax, esi
mov dword [ebp - 0x668], eax
mov eax, 2
mov dword [ebp - 0x610], eax
and eax, 0xfffffffd
mov dword [ebp - 0x610], eax
mov byte [ebp - 4], 0xe
xor ecx, ecx
call fcn.10367720
mov dword [ebp - 0x69c], 0
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x668]
test edx, edx
je 0x103746a4
dec edx
jmp 0x103746a6
xor edx, edx
mov ecx, dword [ebp - 0x66c]
push edx
call fcn.103714e0
mov eax, dword [ebp - 0x668]
add esp, 4
test eax, eax
je 0x103746c2
dec eax
jmp 0x103746c4
xor eax, eax
push eax
push dword [ebp - 0x66c]
lea ecx, [ebp - 0x684]
call fcn.103711b0
mov ecx, eax
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x678], 0x104788e4
mov dword [ebp - 0x674], 3
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x69c], 0
mov dword [ebp - 0x698], 0xffffffff
mov dword [ebp - 0x694], 0x104788e4
mov dword [ebp - 0x690], 3
mov byte [ebp - 4], 0x14
mov eax, dword [ecx]
mov dword [ebp - 0x68c], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x688], eax
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x610], 4
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x69c]
push eax
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0xffffffff
call fcn.10354c90
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x98], str._FB
mov dword [ebp - 0x94], 6
mov byte [ebp - 4], 0x17
mov dword [ebp - 0x610], 0xc
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x174]
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0xffffffff
call fcn.10354d00
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x6c4]
mov eax, dword [ecx]
mov dword [ebp - 0x14c], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x148], eax
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x610], 0x1c
mov dword [ebp - 0x614], eax
test eax, eax
jns 0x10374862
mov eax, dword [ebp - 0x170]
test eax, eax
jns 0x10374845
mov eax, dword [ebp - 0x168]
test eax, eax
jns 0x1037482e
mov eax, dword [ebp - 0x160]
test eax, eax
je 0x10374815
lea ecx, [eax - 1]
jmp 0x10374817
xor ecx, ecx
mov eax, dword [ebp - 0x158]
test eax, eax
je 0x10374824
dec eax
jmp 0x10374826
xor eax, eax
add eax, ecx
mov dword [ebp - 0x168], eax
mov ecx, dword [ebp - 0x150]
test ecx, ecx
je 0x1037483b
dec ecx
jmp 0x1037483d
xor ecx, ecx
add eax, ecx
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x148]
test ecx, ecx
je 0x10374852
dec ecx
jmp 0x10374854
xor ecx, ecx
add eax, ecx
mov dword [ebp - 0x614], eax
mov dword [ebp - 0x178], eax
lea edi, [eax + 1]
mov dl, 1
mov ecx, edi
mov dword [ebp - 0x634], edi
call fcn.103675e0
mov esi, eax
mov eax, dword [ebp - 0x614]
mov dword [ebp - 0x618], esi
mov byte [eax + esi], 0
mov eax, dword [ebp - 0x160]
test eax, eax
je 0x10374893
dec eax
jmp 0x10374895
xor eax, eax
push eax
push dword [ebp - 0x164]
push esi
call fcn.103ce0b0
mov eax, dword [ebp - 0x160]
add esp, 0xc
test eax, eax
je 0x103748b2
dec eax
jmp 0x103748b4
xor eax, eax
mov ecx, dword [ebp - 0x158]
mov dword [ebp - 0x614], eax
test ecx, ecx
je 0x103748c7
dec ecx
jmp 0x103748c9
xor ecx, ecx
push ecx
push dword [ebp - 0x15c]
add eax, esi
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0x158]
add esp, 0xc
test ecx, ecx
je 0x103748e8
dec ecx
jmp 0x103748ea
xor ecx, ecx
mov eax, dword [ebp - 0x614]
add eax, ecx
mov ecx, dword [ebp - 0x150]
mov dword [ebp - 0x614], eax
test ecx, ecx
je 0x10374905
dec ecx
jmp 0x10374907
xor ecx, ecx
push ecx
push dword [ebp - 0x154]
add eax, esi
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0x150]
add esp, 0xc
mov eax, dword [ebp - 0x614]
test ecx, ecx
je 0x1037492c
dec eax
add eax, ecx
mov ecx, dword [ebp - 0x148]
test ecx, ecx
je 0x10374939
dec ecx
jmp 0x1037493b
xor ecx, ecx
push ecx
push dword [ebp - 0x14c]
add eax, esi
push eax
call fcn.103ce0b0
mov dword [ebp - 0x62c], edi
add esp, 0xc
mov dword [ebp - 0x628], edi
xor ecx, ecx
mov dword [ebp - 0x620], esi
mov dword [ebp - 0x630], esi
call fcn.10367720
mov esi, 0x1c
mov dword [ebp - 0x610], esi
and esi, 0xffffffef
mov dword [ebp - 0x610], esi
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0x17c]
call fcn.10367720
mov dword [ebp - 0x17c], 0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x174]
call fcn.10353670
and esi, 0xfffffff7
mov dword [ebp - 0x610], esi
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0xb8]
call fcn.10353670
and esi, 0xfffffffb
mov dword [ebp - 0x610], esi
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0x69c]
call fcn.10367720
mov dword [ebp - 0x69c], 0
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x684]
call fcn.10367720
mov dword [ebp - 0x684], 0
mov byte [ebp - 4], 5
mov dword [ebp - 0x654], 0
mov dword [ebp - 0x650], 0
mov byte [ebp - 4], 0x28
mov dword [ebp - 0x64c], 0
mov dword [ebp - 0x654], 0
mov dword [ebp - 0x650], 0
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x654]
call fcn.103679e0
mov dword [ebp - 0x678], str.CPU
mov dword [ebp - 0x674], 6
mov byte [ebp - 4], 0x2c
mov dword [ebp - 0x6dc], 0
mov dword [ebp - 0x6d8], 0xffffffff
mov dword [ebp - 0x6d4], str.CPU
mov dword [ebp - 0x6d0], 6
mov byte [ebp - 4], 0x2d
mov eax, dword [ebp - 0x654]
mov dword [ebp - 0x6cc], eax
mov edx, dword [ebp - 0x650]
mov dword [ebp - 0x63c], eax
mov dword [ebp - 0x640], edx
mov dword [ebp - 0x6c8], edx
mov byte [ebp - 4], 0x2c
mov dword [ebp - 0x610], 0x20
test edx, edx
je 0x10374ac3
lea eax, [edx - 1]
jmp 0x10374ac5
xor eax, eax
lea ecx, [eax + 5]
mov dword [ebp - 0x624], eax
test edi, edi
mov dword [ebp - 0x6d8], ecx
mov eax, 1
cmovne eax, edi
add eax, ecx
cmp eax, edi
jbe 0x10374bb3
test edi, edi
je 0x10374af1
lea eax, [edi - 1]
jmp 0x10374af3
xor eax, eax
inc eax
mov dl, 1
add ecx, eax
call fcn.103675e0
mov esi, eax
mov dword [ebp - 0x620], esi
test edi, edi
je 0x10374b0e
lea eax, [edi - 1]
jmp 0x10374b10
xor eax, eax
push eax
push dword [ebp - 0x618]
push esi
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10374b2d
lea ecx, [esi - 1]
add ecx, edi
mov edx, ecx
jmp 0x10374b31
mov ecx, esi
mov edx, esi
mov eax, dword [str.CPU]
add ecx, 5
mov dword [edx], eax
mov al, byte [0x104788ec]
mov byte [edx + 4], al
mov eax, dword [ebp - 0x640]
test eax, eax
je 0x10374b50
dec eax
jmp 0x10374b52
xor eax, eax
push eax
push dword [ebp - 0x63c]
push ecx
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10374b6b
lea eax, [edi - 1]
jmp 0x10374b6d
xor eax, eax
mov edx, dword [ebp - 0x624]
add eax, edx
test edi, edi
mov byte [eax + esi + 5], 0
mov eax, 1
cmovne eax, edi
lea edi, [edx + 5]
add edi, eax
mov eax, edi
mov dword [ebp - 0x634], edi
mov dword [ebp - 0x62c], eax
mov dword [ebp - 0x628], edi
mov dword [ebp - 0x630], esi
mov ecx, dword [ebp - 0x618]
call fcn.10367720
jmp 0x10374c42
test edi, edi
je 0x10374bc8
mov ecx, dword [ebp - 0x618]
dec ecx
add ecx, edi
mov dword [ebp - 0x614], ecx
jmp 0x10374bd6
mov esi, dword [ebp - 0x618]
mov ecx, esi
mov dword [ebp - 0x614], esi
mov esi, dword [ebp - 0x614]
add ecx, 5
mov eax, dword [str.CPU]
mov dword [esi], eax
mov al, byte [0x104788ec]
mov byte [esi + 4], al
test edx, edx
je 0x10374bf5
dec edx
jmp 0x10374bf7
xor edx, edx
push edx
push dword [ebp - 0x63c]
push ecx
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10374c10
lea ecx, [edi - 1]
jmp 0x10374c12
xor ecx, ecx
mov eax, dword [ebp - 0x618]
add eax, dword [ebp - 0x624]
test edi, edi
mov byte [eax + ecx + 5], 0
mov eax, 1
cmovne eax, edi
add eax, 5
add eax, dword [ebp - 0x624]
mov dword [ebp - 0x62c], eax
mov esi, dword [ebp - 0x620]
mov eax, 0x20
mov dword [ebp - 0x610], eax
and eax, 0xffffffdf
mov dword [ebp - 0x610], eax
mov byte [ebp - 4], 0x32
xor ecx, ecx
call fcn.10367720
mov dword [ebp - 0x6dc], 0
mov byte [ebp - 4], 0x34
mov ecx, dword [ebp - 0x654]
call fcn.10367720
mov dword [ebp - 0x654], 0
mov byte [ebp - 4], 5
mov dword [ebp - 0x680], str.CORE
mov dword [ebp - 0x67c], 7
mov byte [ebp - 4], 0x36
lea eax, [ebp - 0x6a8]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ecx, dword [ebp - 0x694]
mov byte [ebp - 4], 0x37
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xffffffff
mov dword [ebp - 0xb8], str.CORE
mov dword [ebp - 0xb4], 7
mov byte [ebp - 4], 0x38
lea eax, [ebp - 0xb0]
mov dword [ebp - 0x674], eax
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
mov byte [ebp - 4], 0x39
lea edx, [ebp - 0xa8]
call fcn.10355d50
inc eax
mov dword [ebp - 0xac], eax
mov byte [ebp + eax - 0xa8], 0
lea eax, [ebp - 0xa8]
mov dword [ebp - 0xb0], eax
mov byte [ebp - 4], 0x37
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x610], 0x40
mov dword [ebp - 0x63c], edx
test edx, edx
jns 0x10374d7a
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x10374d5a
lea ecx, [eax - 1]
jmp 0x10374d5c
xor ecx, ecx
mov eax, dword [ebp - 0xac]
test eax, eax
je 0x10374d69
dec eax
jmp 0x10374d6b
xor eax, eax
lea edx, [eax + ecx]
mov dword [ebp - 0x63c], edx
mov dword [ebp - 0xbc], edx
mov ecx, dword [ebp - 0x62c]
test ecx, ecx
je 0x10374d89
lea eax, [ecx - 1]
jmp 0x10374d8b
xor eax, eax
inc eax
add eax, edx
cmp eax, edi
jbe 0x10374eb3
mov edi, dword [ebp - 0x62c]
test edi, edi
je 0x10374da5
lea eax, [edi - 1]
jmp 0x10374da7
xor eax, eax
lea ecx, [eax + 1]
add ecx, edx
mov dl, 1
call fcn.103675e0
mov dword [ebp - 0x624], eax
test edi, edi
je 0x10374dc2
lea ecx, [edi - 1]
jmp 0x10374dc4
xor ecx, ecx
push ecx
push esi
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10374dd8
lea ecx, [edi - 1]
jmp 0x10374dda
xor ecx, ecx
mov eax, dword [ebp - 0x624]
add eax, ecx
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0x614], eax
test ecx, ecx
je 0x10374df5
dec ecx
jmp 0x10374df7
xor ecx, ecx
push ecx
push dword [ebp - 0xb8]
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0xb4]
add esp, 0xc
mov eax, dword [ebp - 0x614]
test ecx, ecx
je 0x10374e1a
dec eax
add eax, ecx
mov ecx, dword [ebp - 0xac]
test ecx, ecx
je 0x10374e27
dec ecx
jmp 0x10374e29
xor ecx, ecx
push ecx
push dword [ebp - 0xb0]
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10374e42
lea eax, [edi - 1]
jmp 0x10374e44
xor eax, eax
mov edx, dword [ebp - 0x63c]
add eax, edx
mov ecx, dword [ebp - 0x624]
test edi, edi
mov byte [eax + ecx], 0
mov eax, 1
cmovne eax, edi
mov ecx, esi
mov esi, dword [ebp - 0x624]
lea edi, [edx + eax]
mov eax, edi
mov dword [ebp - 0x634], edi
mov dword [ebp - 0x62c], eax
mov dword [ebp - 0x628], edi
mov dword [ebp - 0x614], eax
mov dword [ebp - 0x620], esi
mov dword [ebp - 0x630], esi
call fcn.10367720
mov dword [ebp - 0x624], edi
mov dword [ebp - 0x670], edi
mov dword [ebp - 0x63c], edi
mov dword [ebp - 0x648], edi
jmp 0x10374f67
test ecx, ecx
je 0x10374eba
dec ecx
jmp 0x10374ebc
xor ecx, ecx
lea eax, [ecx + esi]
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0x614], eax
test ecx, ecx
je 0x10374ed2
dec ecx
jmp 0x10374ed4
xor ecx, ecx
push ecx
push dword [ebp - 0xb8]
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0xb4]
add esp, 0xc
mov eax, dword [ebp - 0x614]
test ecx, ecx
je 0x10374ef7
dec eax
add eax, ecx
mov ecx, dword [ebp - 0xac]
test ecx, ecx
je 0x10374f04
dec ecx
jmp 0x10374f06
xor ecx, ecx
push ecx
push dword [ebp - 0xb0]
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0x62c]
add esp, 0xc
test ecx, ecx
je 0x10374f25
lea eax, [ecx - 1]
jmp 0x10374f27
xor eax, eax
add eax, dword [ebp - 0x63c]
test ecx, ecx
mov byte [eax + esi], 0
mov eax, 1
cmovne eax, ecx
add eax, dword [ebp - 0x63c]
mov ecx, eax
mov dword [ebp - 0x62c], eax
mov dword [ebp - 0x614], eax
mov dword [ebp - 0x624], ecx
mov dword [ebp - 0x670], ecx
mov dword [ebp - 0x63c], ecx
mov dword [ebp - 0x648], ecx
mov eax, 0x40
mov dword [ebp - 0x610], eax
and eax, 0xffffffbf
mov dword [ebp - 0x610], eax
mov byte [ebp - 4], 0x3e
mov ecx, dword [ebp - 0xc0]
call fcn.10367720
mov dword [ebp - 0xc0], 0
mov byte [ebp - 4], 5
mov dl, 1
lea ecx, [ebp - 0x6b4]
call fcn.10367b10
mov dword [ebp - 0x678], str.OS
mov dword [ebp - 0x674], 5
mov byte [ebp - 4], 0x43
mov dword [ebp - 0x69c], 0
mov dword [ebp - 0x698], 0xffffffff
mov dword [ebp - 0x694], str.OS
mov dword [ebp - 0x690], 5
mov byte [ebp - 4], 0x44
mov eax, dword [ebp - 0x6b4]
mov dword [ebp - 0x68c], eax
mov edx, dword [ebp - 0x6b0]
mov dword [ebp - 0x61c], eax
mov dword [ebp - 0x640], edx
mov dword [ebp - 0x688], edx
mov byte [ebp - 4], 0x43
mov dword [ebp - 0x610], 0x8000
test edx, edx
je 0x10375024
lea eax, [edx - 1]
jmp 0x1037503e
mov ecx, dword [ebp - 0x670]
xor eax, eax
mov dword [ebp - 0x624], ecx
mov ecx, dword [ebp - 0x648]
mov dword [ebp - 0x63c], ecx
cmp dword [ebp - 0x624], 0
lea ecx, [eax + 4]
mov dword [ebp - 0x618], eax
mov eax, 1
cmovne eax, dword [ebp - 0x63c]
add eax, ecx
mov dword [ebp - 0x698], ecx
cmp eax, edi
mov edi, dword [ebp - 0x614]
jbe 0x10375143
test edi, edi
je 0x10375079
lea eax, [edi - 1]
jmp 0x1037507b
xor eax, eax
inc eax
mov dl, 1
add ecx, eax
call fcn.103675e0
mov dword [ebp - 0x624], eax
test edi, edi
je 0x10375094
lea ecx, [edi - 1]
jmp 0x10375096
xor ecx, ecx
push ecx
push esi
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x103750b2
lea ecx, [edi - 1]
add ecx, dword [ebp - 0x624]
mov edx, ecx
jmp 0x103750ba
mov ecx, dword [ebp - 0x624]
mov edx, ecx
mov eax, dword [str.OS]
add ecx, 4
mov dword [edx], eax
mov eax, dword [ebp - 0x640]
test eax, eax
je 0x103750d1
dec eax
jmp 0x103750d3
xor eax, eax
push eax
push dword [ebp - 0x61c]
push ecx
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x103750ec
lea ecx, [edi - 1]
jmp 0x103750ee
xor ecx, ecx
mov eax, dword [ebp - 0x618]
add eax, dword [ebp - 0x624]
test edi, edi
mov byte [eax + ecx + 4], 0
mov eax, 1
mov ecx, dword [ebp - 0x618]
cmovne eax, edi
add ecx, 4
add eax, ecx
mov ecx, esi
mov esi, dword [ebp - 0x624]
mov edi, eax
mov dword [ebp - 0x62c], edi
mov dword [ebp - 0x628], eax
mov dword [ebp - 0x634], eax
mov dword [ebp - 0x620], esi
mov dword [ebp - 0x630], esi
call fcn.10367720
jmp 0x103751a8
test edi, edi
je 0x1037514e
lea ecx, [edi - 1]
add ecx, esi
jmp 0x10375150
mov ecx, esi
mov eax, dword [str.OS]
mov esi, ecx
add ecx, 4
mov dword [esi], eax
test edx, edx
je 0x10375163
dec edx
jmp 0x10375165
xor edx, edx
push edx
push dword [ebp - 0x61c]
push ecx
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x1037517e
lea eax, [edi - 1]
jmp 0x10375180
xor eax, eax
mov ecx, dword [ebp - 0x618]
add eax, ecx
mov esi, dword [ebp - 0x620]
test edi, edi
mov byte [eax + esi + 4], 0
mov eax, 1
cmovne eax, edi
lea edi, [ecx + 4]
add edi, eax
mov dword [ebp - 0x62c], edi
mov eax, 0x8000
mov dword [ebp - 0x610], eax
and eax, 0xffff7fff
mov dword [ebp - 0x610], eax
mov byte [ebp - 4], 0x49
xor ecx, ecx
call fcn.10367720
mov dword [ebp - 0x69c], 0
mov byte [ebp - 4], 5
lea edx, [ebp - 0x680]
xor ecx, ecx
call fcn.10367930
test al, al
je 0x103754c2
mov dword [ebp - 0x644], str.MEM
mov dword [ebp - 0x640], 6
mov byte [ebp - 4], 0x4c
mov ecx, dword [ebp - 0x680]
mov eax, dword [ebp - 0x67c]
shrd ecx, eax, 0x1e
shr eax, 0x1e
mov byte [ebp - 4], 0x4d
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xffffffff
mov dword [ebp - 0xb8], str.MEM
mov dword [ebp - 0xb4], 6
mov byte [ebp - 4], 0x4e
lea edx, [ebp - 0xb0]
mov dword [ebp - 0x674], edx
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
mov byte [ebp - 4], 0x4f
push eax
push ecx
lea ecx, [ebp - 0xa8]
call fcn.1035df40
inc eax
add esp, 8
mov dword [ebp - 0xac], eax
mov byte [ebp + eax - 0xa8], 0
lea eax, [ebp - 0xa8]
mov dword [ebp - 0xb0], eax
mov byte [ebp - 4], 0x4d
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0x610], 0x10000
mov dword [ebp - 0x614], ecx
test ecx, ecx
jns 0x103752e2
test edx, edx
je 0x103752c3
lea ecx, [edx - 1]
jmp 0x103752c5
xor ecx, ecx
mov eax, dword [ebp - 0xac]
test eax, eax
je 0x103752d2
dec eax
jmp 0x103752d4
xor eax, eax
add ecx, eax
mov dword [ebp - 0x614], ecx
mov dword [ebp - 0xbc], ecx
test edi, edi
je 0x103752eb
lea eax, [edi - 1]
jmp 0x103752ed
xor eax, eax
inc eax
add eax, ecx
cmp eax, dword [ebp - 0x634]
jbe 0x10375407
test edi, edi
je 0x10375305
lea eax, [edi - 1]
jmp 0x10375307
xor eax, eax
inc eax
mov dl, 1
add ecx, eax
call fcn.103675e0
mov dword [ebp - 0x648], eax
test edi, edi
je 0x10375320
lea ecx, [edi - 1]
jmp 0x10375322
xor ecx, ecx
push ecx
push esi
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10375336
lea ecx, [edi - 1]
jmp 0x10375338
xor ecx, ecx
mov eax, dword [ebp - 0x648]
add eax, ecx
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0x61c], eax
test ecx, ecx
je 0x10375353
dec ecx
jmp 0x10375355
xor ecx, ecx
push ecx
push dword [ebp - 0xb8]
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0xb4]
add esp, 0xc
mov eax, dword [ebp - 0x61c]
test ecx, ecx
je 0x10375378
dec eax
add eax, ecx
mov ecx, dword [ebp - 0xac]
test ecx, ecx
je 0x10375385
dec ecx
jmp 0x10375387
xor ecx, ecx
push ecx
push dword [ebp - 0xb0]
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x103753a6
lea eax, [edi - 1]
mov dword [ebp - 0x61c], eax
jmp 0x103753b0
mov dword [ebp - 0x61c], 0
mov ecx, dword [ebp - 0x614]
test edi, edi
mov edx, dword [ebp - 0x648]
mov esi, dword [ebp - 0x61c]
lea eax, [edx + ecx]
mov byte [eax + esi], 0
mov eax, 1
cmovne eax, edi
add eax, ecx
mov edi, eax
mov dword [ebp - 0x634], eax
mov dword [ebp - 0x62c], edi
mov dword [ebp - 0x628], eax
mov eax, edx
mov ecx, dword [ebp - 0x620]
mov dword [ebp - 0x620], eax
mov dword [ebp - 0x630], eax
call fcn.10367720
jmp 0x1037548f
test edi, edi
je 0x10375410
lea eax, [edi - 1]
jmp 0x10375412
xor eax, eax
add eax, esi
mov dword [ebp - 0x61c], eax
test edx, edx
je 0x10375421
dec edx
jmp 0x10375423
xor edx, edx
push edx
push dword [ebp - 0xb8]
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0xb4]
add esp, 0xc
mov eax, dword [ebp - 0x61c]
test ecx, ecx
je 0x10375446
dec eax
add eax, ecx
mov ecx, dword [ebp - 0xac]
test ecx, ecx
je 0x10375453
dec ecx
jmp 0x10375455
xor ecx, ecx
push ecx
push dword [ebp - 0xb0]
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x1037546e
lea eax, [edi - 1]
jmp 0x10375470
xor eax, eax
mov ecx, dword [ebp - 0x614]
add eax, ecx
test edi, edi
mov byte [eax + esi], 0
mov eax, 1
cmovne eax, edi
lea edi, [ecx + eax]
mov dword [ebp - 0x62c], edi
mov eax, 0x10000
mov dword [ebp - 0x610], eax
and eax, 0xfffeffff
mov dword [ebp - 0x610], eax
mov byte [ebp - 4], 0x54
mov ecx, dword [ebp - 0xc0]
call fcn.10367720
mov dword [ebp - 0xc0], 0
mov byte [ebp - 4], 5
lea eax, [ebp - 0x90]
mov dword [ebp - 0x64c], 0
mov dword [ebp - 0x654], eax
lea eax, [ebp - 0x654]
push eax
push 0x10368760
push 0
push 0
mov dword [ebp - 0x650], 0x10
call dword [sym.imp.USER32.dll_EnumDisplayMonitors]
cmp dword [ebp - 0x64c], 0
je 0x10376053
mov dword [ebp - 0x680], str.SCRN
mov dword [ebp - 0x67c], 7
mov byte [ebp - 4], 0x58
mov ecx, dword [ebp - 0x90]
mov byte [ebp - 4], 0x59
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xffffffff
mov dword [ebp - 0xb8], str.SCRN
mov dword [ebp - 0xb4], 7
mov byte [ebp - 4], 0x5a
lea eax, [ebp - 0xb0]
mov dword [ebp - 0x674], eax
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
mov byte [ebp - 4], 0x5b
lea edx, [ebp - 0xa8]
call fcn.10353170
inc eax
mov dword [ebp - 0xac], eax
mov byte [ebp + eax - 0xa8], 0
lea eax, [ebp - 0xa8]
mov dword [ebp - 0xb0], eax
mov byte [ebp - 4], 0x59
mov dword [ebp - 0x610], 0x20000
mov byte [ebp - 4], 0x5e
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x194]
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x198], 0xffffffff
call fcn.1035de00
mov byte [ebp - 4], 0x5f
lea eax, [ebp - 0x164]
mov dword [ebp - 0x674], eax
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x160], 0
mov byte [ebp - 4], 0x60
lea eax, [ebp - 0x15c]
mov byte [ebp - 0x15c], 0x78
mov dword [ebp - 0x160], 2
mov byte [ebp - 0x15a], 0
mov dword [ebp - 0x164], eax
mov byte [ebp - 4], 0x5e
mov esi, dword [ebp - 0x8c]
mov dword [ebp - 0x610], 0x60000
mov byte [ebp - 4], 0x63
lea eax, [ebp - 0x19c]
push eax
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0xffffffff
call fcn.1035de80
mov byte [ebp - 4], 0x64
lea eax, [ebp - 0xe0]
mov dword [ebp - 0x674], eax
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0
mov byte [ebp - 4], 0x65
lea edx, [ebp - 0xd8]
mov ecx, esi
call fcn.10353170
inc eax
mov dword [ebp - 0xdc], eax
mov byte [ebp + eax - 0xd8], 0
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xe0], eax
mov byte [ebp - 4], 0x63
mov ecx, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x124]
mov dword [ebp - 0x610], 0xe0000
mov dword [ebp - 0x614], ecx
test ecx, ecx
jns 0x1037573d
mov eax, dword [ebp - 0x134]
test eax, eax
jns 0x10375720
mov eax, dword [ebp - 0x12c]
test eax, eax
jns 0x10375709
test edx, edx
je 0x103756f0
lea ecx, [edx - 1]
jmp 0x103756f2
xor ecx, ecx
mov eax, dword [ebp - 0x11c]
test eax, eax
je 0x103756ff
dec eax
jmp 0x10375701
xor eax, eax
add eax, ecx
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0xfc]
test ecx, ecx
je 0x10375716
dec ecx
jmp 0x10375718
xor ecx, ecx
add eax, ecx
mov dword [ebp - 0x134], eax
mov ecx, dword [ebp - 0xdc]
test ecx, ecx
je 0x1037572d
dec ecx
jmp 0x1037572f
xor ecx, ecx
add ecx, eax
mov dword [ebp - 0x614], ecx
mov dword [ebp - 0x13c], ecx
test edi, edi
je 0x10375746
lea eax, [edi - 1]
jmp 0x10375748
xor eax, eax
inc eax
add eax, ecx
cmp eax, dword [ebp - 0x634]
jbe 0x103758e9
test edi, edi
je 0x10375760
lea eax, [edi - 1]
jmp 0x10375762
xor eax, eax
inc eax
mov dl, 1
add ecx, eax
call fcn.103675e0
mov dword [ebp - 0x618], eax
test edi, edi
je 0x1037577b
lea ecx, [edi - 1]
jmp 0x1037577d
xor ecx, ecx
mov esi, dword [ebp - 0x620]
push ecx
push esi
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10375797
lea ecx, [edi - 1]
jmp 0x10375799
xor ecx, ecx
mov eax, dword [ebp - 0x618]
add eax, ecx
mov dword [ebp - 0x61c], ecx
mov ecx, dword [ebp - 0x124]
test ecx, ecx
je 0x103757b4
dec ecx
jmp 0x103757b6
xor ecx, ecx
push ecx
push dword [ebp - 0x128]
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0x124]
add esp, 0xc
test ecx, ecx
je 0x103757d3
dec ecx
jmp 0x103757d5
xor ecx, ecx
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x648], ecx
test eax, eax
je 0x103757e8
dec eax
jmp 0x103757ea
xor eax, eax
mov esi, dword [ebp - 0x61c]
push eax
mov eax, dword [ebp - 0x618]
push dword [ebp - 0x120]
add eax, esi
add eax, ecx
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0x11c]
add esp, 0xc
test ecx, ecx
je 0x10375817
dec ecx
jmp 0x10375819
xor ecx, ecx
mov eax, dword [ebp - 0x648]
add eax, ecx
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x61c], eax
test ecx, ecx
je 0x10375834
dec ecx
jmp 0x10375836
xor ecx, ecx
push ecx
mov ecx, dword [ebp - 0x618]
push dword [ebp - 0x100]
add ecx, esi
add eax, ecx
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0xfc]
add esp, 0xc
mov eax, dword [ebp - 0x61c]
test ecx, ecx
je 0x10375863
dec eax
add eax, ecx
mov ecx, dword [ebp - 0xdc]
test ecx, ecx
je 0x10375870
dec ecx
jmp 0x10375872
xor ecx, ecx
push ecx
mov ecx, dword [ebp - 0x618]
push dword [ebp - 0xe0]
add ecx, esi
add eax, ecx
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10375895
lea eax, [edi - 1]
jmp 0x10375897
xor eax, eax
add eax, dword [ebp - 0x614]
test edi, edi
mov edx, dword [ebp - 0x618]
mov esi, edx
mov byte [eax + edx], 0
mov eax, 1
cmovne eax, edi
add eax, dword [ebp - 0x614]
mov edi, eax
mov dword [ebp - 0x634], eax
mov dword [ebp - 0x62c], edi
mov dword [ebp - 0x628], eax
mov ecx, dword [ebp - 0x620]
mov dword [ebp - 0x620], esi
mov dword [ebp - 0x630], esi
call fcn.10367720
jmp 0x10375a05
test edi, edi
je 0x103758f2
lea eax, [edi - 1]
jmp 0x103758f4
xor eax, eax
mov esi, dword [ebp - 0x620]
mov dword [ebp - 0x618], eax
add eax, esi
test edx, edx
je 0x10375909
dec edx
jmp 0x1037590b
xor edx, edx
push edx
push dword [ebp - 0x128]
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0x124]
add esp, 0xc
test ecx, ecx
je 0x10375928
dec ecx
jmp 0x1037592a
xor ecx, ecx
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x61c], ecx
test eax, eax
je 0x1037593d
dec eax
jmp 0x1037593f
xor eax, eax
push eax
mov eax, dword [ebp - 0x618]
push dword [ebp - 0x120]
add eax, esi
add eax, ecx
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0x11c]
add esp, 0xc
test ecx, ecx
je 0x10375966
dec ecx
jmp 0x10375968
xor ecx, ecx
mov eax, dword [ebp - 0x61c]
add eax, ecx
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x61c], eax
test ecx, ecx
je 0x10375983
dec ecx
jmp 0x10375985
xor ecx, ecx
push ecx
mov ecx, dword [ebp - 0x618]
push dword [ebp - 0x100]
add ecx, esi
add eax, ecx
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0xfc]
add esp, 0xc
mov eax, dword [ebp - 0x61c]
test ecx, ecx
je 0x103759b2
dec eax
add eax, ecx
mov ecx, dword [ebp - 0xdc]
test ecx, ecx
je 0x103759bf
dec ecx
jmp 0x103759c1
xor ecx, ecx
push ecx
mov ecx, dword [ebp - 0x618]
push dword [ebp - 0xe0]
add ecx, esi
add eax, ecx
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x103759e4
lea eax, [edi - 1]
jmp 0x103759e6
xor eax, eax
mov ecx, dword [ebp - 0x614]
add eax, ecx
test edi, edi
mov byte [eax + esi], 0
mov eax, 1
cmovne eax, edi
lea edi, [ecx + eax]
mov dword [ebp - 0x62c], edi
mov esi, 0xe0000
mov dword [ebp - 0x610], esi
and esi, 0xfff7ffff
mov dword [ebp - 0x610], esi
mov byte [ebp - 4], 0x6a
mov ecx, dword [ebp - 0x140]
call fcn.10367720
mov dword [ebp - 0x140], 0
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0x138]
call fcn.10353670
and esi, 0xfffbffff
mov dword [ebp - 0x610], esi
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0x19c]
call fcn.10353670
and esi, 0xfffdffff
mov dword [ebp - 0x610], esi
mov byte [ebp - 4], 0x6e
mov ecx, dword [ebp - 0xc0]
call fcn.10367720
mov dword [ebp - 0xc0], 0
mov byte [ebp - 4], 5
mov eax, 1
mov dword [ebp - 0x624], eax
cmp dword [ebp - 0x64c], eax
jle 0x10376053
nop
mov dword [ebp - 0x680], 0x1045792c
mov dword [ebp - 0x67c], 2
mov byte [ebp - 4], 0x72
mov ecx, dword [ebp + eax*8 - 0x90]
mov byte [ebp - 4], 0x73
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xffffffff
mov dword [ebp - 0xb8], 0x1045792c
mov dword [ebp - 0xb4], 2
mov byte [ebp - 4], 0x74
lea eax, [ebp - 0xb0]
mov dword [ebp - 0x674], eax
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
mov byte [ebp - 4], 0x75
lea edx, [ebp - 0xa8]
call fcn.10353170
inc eax
mov dword [ebp - 0xac], eax
mov byte [ebp + eax - 0xa8], 0
lea eax, [ebp - 0xa8]
mov dword [ebp - 0xb0], eax
mov byte [ebp - 4], 0x73
or esi, 0x100000
mov dword [ebp - 0x610], esi
mov byte [ebp - 4], 0x78
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x194]
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x198], 0xffffffff
call fcn.1035de00
mov byte [ebp - 4], 0x79
lea eax, [ebp - 0x164]
mov dword [ebp - 0x674], eax
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x160], 0
mov byte [ebp - 4], 0x7a
lea eax, [ebp - 0x15c]
mov byte [ebp - 0x15c], 0x78
mov dword [ebp - 0x160], 2
mov byte [ebp - 0x15a], 0
mov dword [ebp - 0x164], eax
mov byte [ebp - 4], 0x78
or esi, 0x200000
mov dword [ebp - 0x610], esi
mov esi, dword [ebp - 0x624]
mov esi, dword [ebp + esi*8 - 0x8c]
mov byte [ebp - 4], 0x7d
lea eax, [ebp - 0x19c]
push eax
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0xffffffff
call fcn.1035de80
mov byte [ebp - 4], 0x7e
lea eax, [ebp - 0xe0]
mov dword [ebp - 0x674], eax
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0
mov byte [ebp - 4], 0x7f
lea edx, [ebp - 0xd8]
mov ecx, esi
call fcn.10353170
inc eax
mov dword [ebp - 0xdc], eax
mov byte [ebp + eax - 0xd8], 0
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xe0], eax
mov byte [ebp - 4], 0x7d
or dword [ebp - 0x610], 0x400000
mov ecx, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x124]
mov dword [ebp - 0x614], ecx
test ecx, ecx
jns 0x10375ce4
mov eax, dword [ebp - 0x134]
test eax, eax
jns 0x10375cc7
mov eax, dword [ebp - 0x12c]
test eax, eax
jns 0x10375cb0
test edx, edx
je 0x10375c97
lea ecx, [edx - 1]
jmp 0x10375c99
xor ecx, ecx
mov eax, dword [ebp - 0x11c]
test eax, eax
je 0x10375ca6
dec eax
jmp 0x10375ca8
xor eax, eax
add eax, ecx
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0xfc]
test ecx, ecx
je 0x10375cbd
dec ecx
jmp 0x10375cbf
xor ecx, ecx
add eax, ecx
mov dword [ebp - 0x134], eax
mov ecx, dword [ebp - 0xdc]
test ecx, ecx
je 0x10375cd4
dec ecx
jmp 0x10375cd6
xor ecx, ecx
add ecx, eax
mov dword [ebp - 0x614], ecx
mov dword [ebp - 0x13c], ecx
test edi, edi
je 0x10375ced
lea eax, [edi - 1]
jmp 0x10375cef
xor eax, eax
inc eax
add eax, ecx
cmp eax, dword [ebp - 0x634]
jbe 0x10375e9d
test edi, edi
je 0x10375d07
lea eax, [edi - 1]
jmp 0x10375d09
xor eax, eax
inc eax
mov dl, 1
add ecx, eax
call fcn.103675e0
mov dword [ebp - 0x618], eax
test edi, edi
je 0x10375d22
lea ecx, [edi - 1]
jmp 0x10375d24
xor ecx, ecx
mov esi, dword [ebp - 0x620]
push ecx
push esi
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10375d3e
lea esi, [edi - 1]
jmp 0x10375d40
xor esi, esi
mov eax, dword [ebp - 0x618]
mov ecx, dword [ebp - 0x124]
add eax, esi
test ecx, ecx
je 0x10375d55
dec ecx
jmp 0x10375d57
xor ecx, ecx
push ecx
push dword [ebp - 0x128]
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0x124]
add esp, 0xc
test ecx, ecx
je 0x10375d74
dec ecx
jmp 0x10375d76
xor ecx, ecx
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x61c], ecx
test eax, eax
je 0x10375d89
dec eax
jmp 0x10375d8b
xor eax, eax
push eax
mov eax, dword [ebp - 0x618]
push dword [ebp - 0x120]
add eax, esi
add eax, ecx
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0x11c]
add esp, 0xc
test ecx, ecx
je 0x10375db2
dec ecx
jmp 0x10375db4
xor ecx, ecx
mov edx, dword [ebp - 0x61c]
mov eax, dword [ebp - 0xfc]
add edx, ecx
mov dword [ebp - 0x640], edx
test eax, eax
je 0x10375dcf
dec eax
jmp 0x10375dd1
xor eax, eax
push eax
mov eax, dword [ebp - 0x618]
push dword [ebp - 0x100]
add eax, esi
add eax, edx
push eax
call fcn.103ce0b0
mov eax, dword [ebp - 0xfc]
add esp, 0xc
test eax, eax
je 0x10375df8
dec eax
jmp 0x10375dfa
xor eax, eax
mov edx, dword [ebp - 0x640]
add edx, eax
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x10375e0f
dec eax
jmp 0x10375e11
xor eax, eax
push eax
mov eax, dword [ebp - 0x618]
push dword [ebp - 0xe0]
add eax, esi
add eax, edx
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10375e3a
lea eax, [edi - 1]
mov dword [ebp - 0x61c], eax
jmp 0x10375e44
mov dword [ebp - 0x61c], 0
mov ecx, dword [ebp - 0x614]
mov edx, dword [ebp - 0x618]
mov esi, dword [ebp - 0x61c]
lea eax, [ecx + edx]
mov byte [eax + esi], 0
test edi, edi
je 0x10375e64
dec edi
jmp 0x10375e66
xor edi, edi
lea eax, [ecx + 1]
mov esi, edx
add eax, edi
mov edi, eax
mov dword [ebp - 0x634], eax
mov dword [ebp - 0x62c], edi
mov dword [ebp - 0x628], eax
mov ecx, dword [ebp - 0x620]
mov dword [ebp - 0x620], esi
mov dword [ebp - 0x630], esi
call fcn.10367720
jmp 0x10375fbc
test edi, edi
je 0x10375ea6
lea eax, [edi - 1]
jmp 0x10375ea8
xor eax, eax
mov esi, dword [ebp - 0x620]
mov dword [ebp - 0x618], eax
add eax, esi
test edx, edx
je 0x10375ebd
dec edx
jmp 0x10375ebf
xor edx, edx
push edx
push dword [ebp - 0x128]
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0x124]
add esp, 0xc
test ecx, ecx
je 0x10375edc
dec ecx
jmp 0x10375ede
xor ecx, ecx
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x61c], ecx
test eax, eax
je 0x10375ef1
dec eax
jmp 0x10375ef3
xor eax, eax
push eax
mov eax, dword [ebp - 0x618]
push dword [ebp - 0x120]
add eax, esi
add eax, ecx
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0x11c]
add esp, 0xc
test ecx, ecx
je 0x10375f1a
dec ecx
jmp 0x10375f1c
xor ecx, ecx
mov edx, dword [ebp - 0x61c]
mov eax, dword [ebp - 0xfc]
add edx, ecx
mov dword [ebp - 0x640], edx
test eax, eax
je 0x10375f37
dec eax
jmp 0x10375f39
xor eax, eax
push eax
mov eax, dword [ebp - 0x618]
push dword [ebp - 0x100]
add eax, esi
add eax, edx
push eax
call fcn.103ce0b0
mov eax, dword [ebp - 0xfc]
add esp, 0xc
test eax, eax
je 0x10375f60
dec eax
jmp 0x10375f62
xor eax, eax
mov edx, dword [ebp - 0x640]
add edx, eax
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x10375f77
dec eax
jmp 0x10375f79
xor eax, eax
push eax
mov eax, dword [ebp - 0x618]
push dword [ebp - 0xe0]
add eax, esi
add eax, edx
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10375f9c
lea eax, [edi - 1]
jmp 0x10375f9e
xor eax, eax
mov ecx, dword [ebp - 0x614]
add eax, ecx
mov byte [eax + esi], 0
test edi, edi
je 0x10375fb1
dec edi
jmp 0x10375fb3
xor edi, edi
inc edi
add edi, ecx
mov dword [ebp - 0x62c], edi
mov esi, dword [ebp - 0x610]
and esi, 0xffbfffff
mov dword [ebp - 0x610], esi
mov byte [ebp - 4], 0x84
mov ecx, dword [ebp - 0x140]
call fcn.10367720
mov dword [ebp - 0x140], 0
mov byte [ebp - 4], 0x78
lea ecx, [ebp - 0x138]
call fcn.10353670
and esi, 0xffdfffff
mov dword [ebp - 0x610], esi
mov byte [ebp - 4], 0x73
lea ecx, [ebp - 0x19c]
call fcn.10353670
and esi, 0xffefffff
mov dword [ebp - 0x610], esi
mov byte [ebp - 4], 0x88
mov ecx, dword [ebp - 0xc0]
call fcn.10367720
mov dword [ebp - 0xc0], 0
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x624]
inc eax
mov dword [ebp - 0x624], eax
cmp eax, dword [ebp - 0x64c]
jl 0x10375aa0
push 0
push 0
push 0
push 0
push 0x64
push 0x64
push 0
push 0
push closesocket
push str.WinVer
push str.STATIC
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [ebp - 0x674], eax
mov dword [ebp - 0x6cc], 0
mov dword [ebp - 0x6d4], 0
mov dword [ebp - 0x6d0], 0
mov byte [ebp - 4], 0x8b
lea ecx, [ebp - 0x6d4]
push 1
push 0
push 0
push 0
push 0
push 0x18
push 0x18
push 0
push eax
call fcn.103540e0
push dword [ebp - 0x6cc]
push dword [ebp - 0x6d0]
call dword [sym.imp.OPENGL32.dll_wglMakeCurrent]
push 0x1f01
call dword [sym.imp.OPENGL32.dll_glGetString]
mov esi, eax
mov dword [ebp - 0x618], esi
test esi, esi
je 0x1037618f
mov dword [ebp - 0x680], str.GDI_Generic
mov dword [ebp - 0x67c], 0xc
mov byte [ebp - 4], 0x8d
mov edx, esi
mov ecx, dword [ebp - 0x610]
or ecx, 1
mov dword [ebp - 0x610], ecx
lea eax, [edx + 1]
mov dword [ebp - 0x6bc], esi
mov dword [ebp - 0x640], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x10376123
sub edx, dword [ebp - 0x640]
lea eax, [edx + 1]
mov dword [ebp - 0x6b8], eax
mov dword [ebp - 4], 0x8e
test eax, eax
je 0x10376181
cmp edx, 0xb
jne 0x10376181
mov edx, str.GDI_Generic
mov dword [ebp - 0x61c], 7
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x10376181
add edx, 4
add esi, 4
sub dword [ebp - 0x61c], 4
jae 0x10376158
mov ax, word [edx]
cmp ax, word [esi]
jne 0x10376181
mov al, byte [edx + 2]
cmp al, byte [esi + 2]
jne 0x10376181
mov al, 1
jmp 0x10376183
xor al, al
mov byte [ebp - 4], 0x8d
test al, al
jne 0x10376195
mov al, 1
jmp 0x10376197
mov ecx, dword [ebp - 0x610]
xor al, al
mov dword [ebp - 4], 0x8b
test cl, 1
je 0x103761b0
and ecx, 0xfffffffe
mov dword [ebp - 0x610], ecx
mov byte [ebp - 4], 0x8b
test al, al
je 0x10376968
mov dword [ebp - 0x680], str.GFX
mov dword [ebp - 0x67c], 6
mov byte [ebp - 4], 0x92
mov dword [ebp - 0x660], 0
mov dword [ebp - 0x65c], 0xffffffff
mov dword [ebp - 0x658], str.GFX
mov dword [ebp - 0x654], 6
mov byte [ebp - 4], 0x93
mov esi, dword [ebp - 0x618]
test esi, esi
je 0x1037622b
mov edx, esi
mov dword [ebp - 0x650], esi
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x10376211
sub edx, esi
lea eax, [edx + 1]
mov dword [ebp - 0x64c], eax
mov edx, dword [ebp - 0x618]
jmp 0x10376241
xor edx, edx
xor eax, eax
mov dword [ebp - 0x650], edx
mov dword [ebp - 0x618], edx
mov dword [ebp - 0x64c], edx
mov byte [ebp - 4], 0x92
or ecx, 0x800000
mov dword [ebp - 0x610], ecx
test eax, eax
lea ecx, [eax + 4]
mov esi, 5
cmove ecx, esi
mov dword [ebp - 0x61c], ecx
mov dword [ebp - 0x65c], ecx
test edi, edi
je 0x10376273
lea eax, [edi - 1]
jmp 0x10376275
xor eax, eax
inc eax
add eax, ecx
cmp eax, dword [ebp - 0x634]
jbe 0x10376382
test edi, edi
je 0x1037628d
lea eax, [edi - 1]
jmp 0x1037628f
xor eax, eax
inc eax
mov dl, 1
add ecx, eax
call fcn.103675e0
mov dword [ebp - 0x614], eax
test edi, edi
je 0x103762a8
lea ecx, [edi - 1]
jmp 0x103762aa
xor ecx, ecx
mov esi, dword [ebp - 0x620]
push ecx
push esi
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0x614]
add esp, 0xc
test edi, edi
je 0x103762cc
dec ecx
add ecx, edi
mov edx, ecx
jmp 0x103762d2
mov edx, dword [ebp - 0x614]
mov eax, dword [str.GFX]
add ecx, 5
mov dword [edx], eax
mov al, byte [0x10478940]
mov byte [edx + 4], al
mov eax, dword [ebp - 0x64c]
test eax, eax
je 0x103762f1
dec eax
jmp 0x103762f3
xor eax, eax
push eax
push dword [ebp - 0x618]
push ecx
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x1037630c
lea eax, [edi - 1]
jmp 0x1037630e
xor eax, eax
add eax, dword [ebp - 0x61c]
mov ecx, esi
mov edx, dword [ebp - 0x614]
test edi, edi
mov esi, edx
mov byte [eax + edx], 0
mov eax, 1
cmovne eax, edi
add eax, dword [ebp - 0x61c]
mov edi, eax
mov dword [ebp - 0x634], eax
mov dword [ebp - 0x62c], edi
mov dword [ebp - 0x628], eax
mov dword [ebp - 0x620], esi
mov dword [ebp - 0x630], esi
call fcn.10367720
mov eax, edi
mov dword [ebp - 0x648], eax
mov dword [ebp - 0x670], eax
mov dword [ebp - 0x63c], eax
mov dword [ebp - 0x61c], eax
mov dword [ebp - 0x618], eax
mov dword [ebp - 0x624], eax
jmp 0x10376411
mov ecx, dword [ebp - 0x620]
test edi, edi
je 0x1037638f
dec ecx
add ecx, edi
mov eax, dword [str.GFX]
mov esi, ecx
add ecx, 5
mov dword [esi], eax
mov al, byte [0x10478940]
mov byte [esi + 4], al
mov eax, dword [ebp - 0x64c]
test eax, eax
je 0x103763b0
dec eax
jmp 0x103763b2
xor eax, eax
push eax
push edx
push ecx
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x103763c6
lea eax, [edi - 1]
jmp 0x103763c8
xor eax, eax
mov ecx, dword [ebp - 0x61c]
add eax, ecx
mov esi, dword [ebp - 0x620]
test edi, edi
mov byte [eax + esi], 0
mov eax, 1
cmovne eax, edi
lea edi, [eax + ecx]
mov dword [ebp - 0x62c], edi
mov dword [ebp - 0x648], edi
mov dword [ebp - 0x670], edi
mov dword [ebp - 0x63c], edi
mov dword [ebp - 0x61c], edi
mov dword [ebp - 0x618], edi
mov dword [ebp - 0x624], edi
and dword [ebp - 0x610], 0xff7fffff
mov byte [ebp - 4], 0x98
xor ecx, ecx
call fcn.10367720
mov dword [ebp - 0x660], 0
mov byte [ebp - 4], 0x8b
push 0x1f00
call dword [sym.imp.OPENGL32.dll_glGetString]
mov dword [ebp - 0x638], eax
test eax, eax
je 0x103766a2
mov dword [ebp - 0x680], str.GVD
mov dword [ebp - 0x67c], 6
mov byte [ebp - 4], 0x9c
mov dword [ebp - 0x660], 0
mov dword [ebp - 0x65c], 0xffffffff
mov dword [ebp - 0x658], str.GVD
mov dword [ebp - 0x654], 6
mov byte [ebp - 4], 0x9d
mov ecx, eax
mov dword [ebp - 0x650], eax
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x103764a0
sub ecx, edx
lea edx, [ecx + 1]
mov dword [ebp - 0x64c], edx
mov byte [ebp - 4], 0x9c
or dword [ebp - 0x610], 0x1000000
test edx, edx
mov eax, dword [ebp - 0x63c]
cmove eax, dword [ebp - 0x61c]
mov dword [ebp - 0x63c], eax
xor eax, eax
test edx, edx
cmove ecx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 0x648]
cmove ecx, dword [ebp - 0x670]
mov dword [ebp - 0x65c], eax
test ecx, ecx
mov ecx, dword [ebp - 0x65c]
mov eax, 1
cmovne eax, dword [ebp - 0x63c]
add eax, ecx
cmp eax, dword [ebp - 0x634]
jbe 0x10376608
test edi, edi
je 0x1037651d
lea eax, [edi - 1]
jmp 0x1037651f
xor eax, eax
inc ecx
mov dl, 1
add ecx, eax
call fcn.103675e0
mov dword [ebp - 0x614], eax
test edi, edi
je 0x10376538
lea ecx, [edi - 1]
jmp 0x1037653a
xor ecx, ecx
push ecx
push esi
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0x614]
add esp, 0xc
test edi, edi
je 0x10376556
dec ecx
add ecx, edi
mov edx, ecx
jmp 0x1037655c
mov edx, dword [ebp - 0x614]
mov eax, dword [str.GVD]
add ecx, 5
mov dword [edx], eax
mov al, byte [0x10478948]
mov byte [edx + 4], al
mov eax, dword [ebp - 0x64c]
test eax, eax
je 0x1037657b
dec eax
jmp 0x1037657d
xor eax, eax
push eax
push dword [ebp - 0x638]
push ecx
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x1037659c
lea eax, [edi - 1]
mov dword [ebp - 0x61c], eax
jmp 0x103765a6
mov dword [ebp - 0x61c], 0
mov edx, dword [ebp - 0x614]
test edi, edi
mov ecx, dword [ebp - 0x65c]
mov esi, dword [ebp - 0x61c]
lea eax, [ecx + edx]
mov byte [eax + esi], 0
mov eax, 1
cmovne eax, edi
mov esi, edx
add eax, ecx
mov edi, eax
mov dword [ebp - 0x634], eax
mov dword [ebp - 0x62c], edi
mov dword [ebp - 0x628], eax
mov ecx, dword [ebp - 0x620]
mov dword [ebp - 0x618], eax
mov dword [ebp - 0x620], esi
mov dword [ebp - 0x630], esi
call fcn.10367720
mov ecx, edi
mov dword [ebp - 0x624], ecx
jmp 0x1037667f
test edi, edi
je 0x10376613
lea ecx, [esi - 1]
add ecx, edi
jmp 0x10376615
mov ecx, esi
mov eax, dword [str.GVD]
mov esi, ecx
add ecx, 5
mov dword [esi], eax
mov al, byte [0x10478948]
mov byte [esi + 4], al
test edx, edx
je 0x10376630
dec edx
jmp 0x10376632
xor edx, edx
push edx
push dword [ebp - 0x638]
push ecx
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x1037664b
lea edx, [edi - 1]
jmp 0x1037664d
xor edx, edx
mov ecx, dword [ebp - 0x65c]
test edi, edi
mov esi, dword [ebp - 0x620]
lea eax, [ecx + esi]
mov byte [eax + edx], 0
mov eax, 1
cmovne eax, edi
lea edi, [eax + ecx]
mov dword [ebp - 0x624], edi
mov dword [ebp - 0x618], edi
mov dword [ebp - 0x62c], edi
and dword [ebp - 0x610], 0xfeffffff
mov byte [ebp - 4], 0xa2
xor ecx, ecx
call fcn.10367720
mov dword [ebp - 0x660], 0
mov byte [ebp - 4], 0x8b
push 0x1f02
call dword [sym.imp.OPENGL32.dll_glGetString]
mov ecx, eax
test ecx, ecx
je 0x1037783a
xorps xmm0, xmm0
mov dword [ebp - 0x1c0], 0
xor eax, eax
mov dword [ebp - 0x14c], 0
movups xmmword [ebp - 0x1ac], xmm0
mov dword [ebp - 0x148], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0x1bc], xmm0
mov word [ebp - 0x144], ax
movups xmmword [ebp - 0x19c], xmm0
mov byte [ebp - 0x142], al
movups xmmword [ebp - 0x18c], xmm0
mov byte [ebp - 0x1a1], 0x20
movups xmmword [ebp - 0x17c], xmm0
mov dword [ebp - 0x680], ecx
movups xmmword [ebp - 0x16c], xmm0
movups xmmword [ebp - 0x15c], xmm0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10376728
sub ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x67c], eax
mov byte [ebp - 4], 0xa4
lea eax, [ebp - 0x1c0]
push eax
lea eax, [ebp - 0x650]
push eax
lea ecx, [ebp - 0x680]
call fcn.1035d3d0
mov byte [ebp - 4], 0xa5
mov dword [ebp - 0x6bc], str.GLV
mov dword [ebp - 0x6b8], 6
mov byte [ebp - 4], 0xa8
mov dword [ebp - 0x69c], 0
mov dword [ebp - 0x698], 0xffffffff
mov dword [ebp - 0x694], str.GLV
mov dword [ebp - 0x690], 6
mov byte [ebp - 4], 0xa9
mov ecx, dword [eax]
mov dword [ebp - 0x68c], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x638], ecx
mov dword [ebp - 0x640], edx
mov dword [ebp - 0x688], edx
mov byte [ebp - 4], 0xa8
or dword [ebp - 0x610], 0x4000000
test edx, edx
je 0x103767d9
mov eax, dword [ebp - 0x618]
lea ecx, [edx - 1]
jmp 0x103767e1
mov eax, dword [ebp - 0x624]
xor ecx, ecx
mov dword [ebp - 0x63c], ecx
add ecx, 5
mov dword [ebp - 0x698], ecx
test eax, eax
je 0x103767f9
lea eax, [edi - 1]
jmp 0x103767fb
xor eax, eax
inc eax
add eax, ecx
cmp eax, dword [ebp - 0x634]
jbe 0x103768d3
test edi, edi
je 0x10376813
lea eax, [edi - 1]
jmp 0x10376815
xor eax, eax
inc eax
mov dl, 1
add ecx, eax
call fcn.103675e0
mov dword [ebp - 0x614], eax
test edi, edi
je 0x1037682e
lea ecx, [edi - 1]
jmp 0x10376830
xor ecx, ecx
push ecx
push esi
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0x614]
add esp, 0xc
test edi, edi
je 0x1037684c
dec ecx
add ecx, edi
mov edx, ecx
jmp 0x10376852
mov edx, dword [ebp - 0x614]
mov eax, dword [str.GLV]
add ecx, 5
mov dword [edx], eax
mov al, byte [0x10478950]
mov byte [edx + 4], al
mov eax, dword [ebp - 0x640]
test eax, eax
je 0x10376871
dec eax
jmp 0x10376873
xor eax, eax
push eax
push dword [ebp - 0x638]
push ecx
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x1037688c
lea eax, [edi - 1]
jmp 0x1037688e
xor eax, eax
mov ecx, dword [ebp - 0x63c]
add eax, ecx
mov edx, dword [ebp - 0x614]
test edi, edi
mov byte [eax + edx + 5], 0
mov eax, 1
cmovne eax, edi
lea edi, [ecx + 5]
add edi, eax
mov ecx, esi
mov dword [ebp - 0x62c], edi
mov eax, edx
mov dword [ebp - 0x628], edi
mov dword [ebp - 0x620], eax
mov dword [ebp - 0x630], eax
call fcn.10367720
jmp 0x10376940
test edi, edi
je 0x103768de
lea ecx, [esi - 1]
add ecx, edi
jmp 0x103768e0
mov ecx, esi
mov eax, dword [str.GLV]
mov esi, ecx
add ecx, 5
mov dword [esi], eax
mov al, byte [0x10478950]
mov byte [esi + 4], al
test edx, edx
je 0x103768fb
dec edx
jmp 0x103768fd
xor edx, edx
push edx
push dword [ebp - 0x638]
push ecx
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10376916
lea eax, [edi - 1]
jmp 0x10376918
xor eax, eax
mov ecx, dword [ebp - 0x63c]
add eax, ecx
mov esi, dword [ebp - 0x620]
test edi, edi
mov byte [eax + esi + 5], 0
mov eax, 1
cmovne eax, edi
lea edi, [ecx + 5]
add edi, eax
mov dword [ebp - 0x62c], edi
and dword [ebp - 0x610], 0xfbffffff
mov byte [ebp - 4], 0xae
xor ecx, ecx
call fcn.10367720
mov dword [ebp - 0x69c], 0
mov byte [ebp - 4], 0x8b
jmp 0x1037783a
mov ecx, str.D3d9.dll
call fcn.10368c00
mov esi, eax
mov dword [ebp - 0x618], esi
test esi, esi
je 0x10377833
push str.Direct3DCreate9
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10377833
push 0x20
call eax
mov dword [ebp - 0x67c], eax
test eax, eax
je 0x10377833
mov ecx, dword [eax]
lea edx, [ebp - 0x60c]
push edx
push 0
push 0
push eax
call dword [ecx + 0x14]
test eax, eax
js 0x10377827
cmp byte [ebp - 0x40c], 0
je 0x10377827
mov dword [ebp - 0x650], str.GFX
mov dword [ebp - 0x64c], 6
mov byte [ebp - 4], 0xb2
mov dword [ebp - 0x69c], 0
mov dword [ebp - 0x698], 0xffffffff
mov dword [ebp - 0x694], str.GFX
mov dword [ebp - 0x690], 6
mov byte [ebp - 4], 0xb3
lea eax, [ebp - 0x40c]
mov ecx, eax
mov dword [ebp - 0x68c], eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10376a23
sub ecx, edx
lea edx, [ecx + 1]
mov dword [ebp - 0x688], edx
mov byte [ebp - 4], 0xb2
xor eax, eax
or dword [ebp - 0x610], 0x8000000
test edx, edx
cmove ecx, eax
add ecx, 5
mov dword [ebp - 0x698], ecx
test edi, edi
je 0x10376a5c
lea eax, [edi - 1]
jmp 0x10376a5e
xor eax, eax
inc eax
add eax, ecx
cmp eax, dword [ebp - 0x634]
jbe 0x10376b84
test edi, edi
je 0x10376a76
lea eax, [edi - 1]
jmp 0x10376a78
xor eax, eax
inc eax
mov dl, 1
add ecx, eax
call fcn.103675e0
mov dword [ebp - 0x614], eax
test edi, edi
je 0x10376a91
lea ecx, [edi - 1]
jmp 0x10376a93
xor ecx, ecx
mov esi, dword [ebp - 0x620]
push ecx
push esi
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0x614]
add esp, 0xc
test edi, edi
je 0x10376ab5
dec ecx
add ecx, edi
mov edx, ecx
jmp 0x10376abb
mov edx, dword [ebp - 0x614]
mov eax, dword [str.GFX]
add ecx, 5
mov dword [edx], eax
mov al, byte [0x10478940]
mov byte [edx + 4], al
mov eax, dword [ebp - 0x688]
test eax, eax
je 0x10376ada
dec eax
jmp 0x10376adc
xor eax, eax
push eax
lea eax, [ebp - 0x40c]
push eax
push ecx
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10376af6
lea eax, [edi - 1]
jmp 0x10376af8
xor eax, eax
add eax, dword [ebp - 0x698]
mov ecx, esi
mov edx, dword [ebp - 0x614]
test edi, edi
mov esi, edx
mov byte [eax + edx], 0
mov eax, 1
cmovne eax, edi
add eax, dword [ebp - 0x698]
mov edi, eax
mov dword [ebp - 0x634], eax
mov dword [ebp - 0x62c], edi
mov dword [ebp - 0x628], eax
mov dword [ebp - 0x620], esi
mov dword [ebp - 0x630], esi
call fcn.10367720
mov eax, edi
mov dword [ebp - 0x614], eax
mov dword [ebp - 0x638], eax
mov dword [ebp - 0x61c], eax
mov dword [ebp - 0x648], eax
mov dword [ebp - 0x670], eax
mov dword [ebp - 0x624], eax
mov dword [ebp - 0x63c], eax
mov dword [ebp - 0x6c0], eax
mov dword [ebp - 0x6b8], eax
mov dword [ebp - 0x640], eax
jmp 0x10376c2b
mov ecx, dword [ebp - 0x620]
test edi, edi
je 0x10376b91
dec ecx
add ecx, edi
mov eax, dword [str.GFX]
mov esi, ecx
add ecx, 5
mov dword [esi], eax
mov al, byte [0x10478940]
mov byte [esi + 4], al
test edx, edx
je 0x10376bac
dec edx
jmp 0x10376bae
xor edx, edx
push edx
lea eax, [ebp - 0x40c]
push eax
push ecx
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10376bc8
lea eax, [edi - 1]
jmp 0x10376bca
xor eax, eax
mov ecx, dword [ebp - 0x698]
add eax, ecx
mov esi, dword [ebp - 0x620]
test edi, edi
mov byte [eax + esi], 0
mov eax, 1
cmovne eax, edi
lea edi, [eax + ecx]
mov dword [ebp - 0x62c], edi
mov dword [ebp - 0x638], edi
mov dword [ebp - 0x614], edi
mov dword [ebp - 0x61c], edi
mov dword [ebp - 0x648], edi
mov dword [ebp - 0x670], edi
mov dword [ebp - 0x624], edi
mov dword [ebp - 0x63c], edi
mov dword [ebp - 0x6c0], edi
mov dword [ebp - 0x6b8], edi
mov dword [ebp - 0x640], edi
and dword [ebp - 0x610], 0xf7ffffff
mov byte [ebp - 4], 0xb8
xor ecx, ecx
call fcn.10367720
mov dword [ebp - 0x69c], 0
mov byte [ebp - 4], 0x8b
mov eax, dword [ebp - 0x1e4]
cmp eax, 0x1106
ja 0x103771f7
je 0x103770db
add eax, 0xffffeffe
cmp eax, 0xdc
ja case.0x10376c7c.4099
movzx eax, byte [eax + 0x103779dc]
jmp dword [eax*4 + 0x103779c8]
mov dword [ebp - 0x650], str.GVDATI_Technologies_Inc.
mov dword [ebp - 0x64c], 0x1b
mov byte [ebp - 4], 0xbb
cmp dword [ebp - 0x638], 0
je 0x10376ca9
lea eax, [edi - 1]
jmp 0x10376cab
xor eax, eax
add eax, 0x1b
cmp eax, dword [ebp - 0x634]
jbe 0x10376d53
test edi, edi
je 0x10376cc3
lea ecx, [edi - 1]
jmp 0x10376cc5
xor ecx, ecx
add ecx, 0x1b
mov dl, 1
call fcn.103675e0
mov dword [ebp - 0x638], eax
test edi, edi
je 0x10376cde
lea ecx, [edi - 1]
jmp 0x10376ce0
xor ecx, ecx
push ecx
push esi
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10376cf4
lea ecx, [edi - 1]
jmp 0x10376cf6
xor ecx, ecx
mov eax, dword [ebp - 0x638]
push 0x1a
add eax, ecx
push str.GVDATI_Technologies_Inc.
push eax
call fcn.103ce0b0
add esp, 0xc
lea ecx, [edi + 0x19]
test edi, edi
jne 0x10376d1a
mov ecx, 0x1a
mov eax, dword [ebp - 0x638]
mov byte [ecx + eax], 0
test edi, edi
je 0x10376d2d
add edi, 0x1a
jmp 0x10376d32
mov edi, 0x1b
mov dword [ebp - 0x62c], edi
mov ecx, esi
mov dword [ebp - 0x628], edi
mov dword [ebp - 0x620], eax
mov dword [ebp - 0x630], eax
call fcn.10367720
jmp 0x10376d94
test edi, edi
je 0x10376d5c
lea eax, [edi - 1]
jmp 0x10376d5e
xor eax, eax
push 0x1a
add eax, esi
push str.GVDATI_Technologies_Inc.
push eax
call fcn.103ce0b0
add esp, 0xc
lea eax, [edi + 0x19]
test edi, edi
jne 0x10376d7c
mov eax, 0x1a
mov byte [eax + esi], 0
test edi, edi
je 0x10376d89
add edi, 0x1a
jmp 0x10376d8e
mov edi, 0x1b
mov dword [ebp - 0x62c], edi
jmp 0x1037781d
mov dword [ebp - 0x650], str.GVDAsustek_Computer_Inc.
mov dword [ebp - 0x64c], 0x1b
mov byte [ebp - 4], 0xbe
cmp dword [ebp - 0x61c], 0
je 0x10376dbf
lea eax, [edi - 1]
jmp 0x10376dc1
xor eax, eax
add eax, 0x1b
cmp eax, dword [ebp - 0x634]
jbe 0x10376e69
test edi, edi
je 0x10376dd9
lea ecx, [edi - 1]
jmp 0x10376ddb
xor ecx, ecx
add ecx, 0x1b
mov dl, 1
call fcn.103675e0
mov dword [ebp - 0x638], eax
test edi, edi
je 0x10376df4
lea ecx, [edi - 1]
jmp 0x10376df6
xor ecx, ecx
push ecx
push esi
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10376e0a
lea ecx, [edi - 1]
jmp 0x10376e0c
xor ecx, ecx
mov eax, dword [ebp - 0x638]
push 0x1a
add eax, ecx
push str.GVDAsustek_Computer_Inc.
push eax
call fcn.103ce0b0
add esp, 0xc
lea ecx, [edi + 0x19]
test edi, edi
jne 0x10376e30
mov ecx, 0x1a
mov eax, dword [ebp - 0x638]
mov byte [eax + ecx], 0
test edi, edi
je 0x10376e43
add edi, 0x1a
jmp 0x10376e48
mov edi, 0x1b
mov dword [ebp - 0x62c], edi
mov ecx, esi
mov dword [ebp - 0x628], edi
mov dword [ebp - 0x620], eax
mov dword [ebp - 0x630], eax
call fcn.10367720
jmp 0x10376eaa
test edi, edi
je 0x10376e72
lea eax, [edi - 1]
jmp 0x10376e74
xor eax, eax
push 0x1a
add eax, esi
push str.GVDAsustek_Computer_Inc.
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10376e8f
lea eax, [edi - 1]
jmp 0x10376e91
xor eax, eax
mov byte [esi + eax + 0x1a], 0
test edi, edi
je 0x10376e9f
add edi, 0x1a
jmp 0x10376ea4
mov edi, 0x1b
mov dword [ebp - 0x62c], edi
jmp 0x1037781d
mov dword [ebp - 0x650], str.GVDNVIDIA_Corporation
mov dword [ebp - 0x64c], 0x18
mov byte [ebp - 4], 0xc4
cmp dword [ebp - 0x648], 0
je 0x10376ed5
lea eax, [edi - 1]
jmp 0x10376ed7
xor eax, eax
add eax, 0x18
cmp eax, dword [ebp - 0x634]
jbe 0x10376f7f
test edi, edi
je 0x10376eef
lea ecx, [edi - 1]
jmp 0x10376ef1
xor ecx, ecx
add ecx, 0x18
mov dl, 1
call fcn.103675e0
mov dword [ebp - 0x638], eax
test edi, edi
je 0x10376f0a
lea ecx, [edi - 1]
jmp 0x10376f0c
xor ecx, ecx
push ecx
push esi
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10376f20
lea ecx, [edi - 1]
jmp 0x10376f22
xor ecx, ecx
mov eax, dword [ebp - 0x638]
push 0x17
add eax, ecx
push str.GVDNVIDIA_Corporation
push eax
call fcn.103ce0b0
add esp, 0xc
lea ecx, [edi + 0x16]
test edi, edi
jne 0x10376f46
mov ecx, 0x17
mov eax, dword [ebp - 0x638]
mov byte [ecx + eax], 0
test edi, edi
je 0x10376f59
add edi, 0x17
jmp 0x10376f5e
mov edi, 0x18
mov dword [ebp - 0x62c], edi
mov ecx, esi
mov dword [ebp - 0x628], edi
mov dword [ebp - 0x620], eax
mov dword [ebp - 0x630], eax
call fcn.10367720
jmp 0x10376fc0
test edi, edi
je 0x10376f88
lea eax, [edi - 1]
jmp 0x10376f8a
xor eax, eax
push 0x17
add eax, esi
push str.GVDNVIDIA_Corporation
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10376fa5
lea eax, [edi - 1]
jmp 0x10376fa7
xor eax, eax
mov byte [esi + eax + 0x17], 0
test edi, edi
je 0x10376fb5
add edi, 0x17
jmp 0x10376fba
mov edi, 0x18
mov dword [ebp - 0x62c], edi
jmp 0x1037781d
mov dword [ebp - 0x650], str.GVDCirrus_Logic
mov dword [ebp - 0x64c], 0x12
mov byte [ebp - 4], 0xc7
cmp dword [ebp - 0x670], 0
je 0x10376feb
lea eax, [edi - 1]
jmp 0x10376fed
xor eax, eax
add eax, 0x12
cmp eax, dword [ebp - 0x634]
jbe 0x10377093
test edi, edi
je 0x10377005
lea ecx, [edi - 1]
jmp 0x10377007
xor ecx, ecx
add ecx, 0x12
mov dl, 1
call fcn.103675e0
mov dword [ebp - 0x640], eax
test edi, edi
je 0x10377020
lea ecx, [edi - 1]
jmp 0x10377022
xor ecx, ecx
push ecx
push esi
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10377036
lea ecx, [edi - 1]
jmp 0x10377038
xor ecx, ecx
mov edx, dword [ebp - 0x640]
movups xmm0, xmmword [str.GVDCirrus_Logic]
movups xmmword [edx + ecx], xmm0
mov al, byte [0x104789dc]
mov byte [edx + ecx + 0x10], al
lea eax, [edi + 0x10]
test edi, edi
jne 0x1037705e
mov eax, 0x11
mov byte [eax + edx], 0
test edi, edi
je 0x1037706b
add edi, 0x11
jmp 0x10377070
mov edi, 0x12
mov dword [ebp - 0x62c], edi
mov eax, edx
mov ecx, esi
mov dword [ebp - 0x628], edi
mov dword [ebp - 0x620], eax
mov dword [ebp - 0x630], eax
call fcn.10367720
jmp 0x103770d6
test edi, edi
je 0x1037709c
lea ecx, [edi - 1]
jmp 0x1037709e
xor ecx, ecx
movups xmm0, xmmword [str.GVDCirrus_Logic]
movups xmmword [ecx + esi], xmm0
mov al, byte [0x104789dc]
mov byte [ecx + esi + 0x10], al
lea eax, [edi + 0x10]
test edi, edi
jne 0x103770be
mov eax, 0x11
mov byte [eax + esi], 0
test edi, edi
je 0x103770cb
add edi, 0x11
jmp 0x103770d0
mov edi, 0x12
mov dword [ebp - 0x62c], edi
jmp 0x1037781d
mov dword [ebp - 0x650], str.GVDVIA_Technologies__Inc.
mov dword [ebp - 0x64c], 0x1c
mov byte [ebp - 4], 0xca
cmp dword [ebp - 0x614], 0
je 0x10377107
mov eax, dword [ebp - 0x624]
add eax, 0x1b
jmp 0x1037710c
mov eax, 0x1c
cmp eax, dword [ebp - 0x634]
jbe 0x103771b1
test edi, edi
je 0x10377121
lea ecx, [edi - 1]
jmp 0x10377123
xor ecx, ecx
add ecx, 0x1c
mov dl, 1
call fcn.103675e0
mov dword [ebp - 0x638], eax
test edi, edi
je 0x1037713c
lea ecx, [edi - 1]
jmp 0x1037713e
xor ecx, ecx
push ecx
push esi
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10377152
lea ecx, [edi - 1]
jmp 0x10377154
xor ecx, ecx
mov eax, dword [ebp - 0x638]
push 0x1b
add eax, ecx
push str.GVDVIA_Technologies__Inc.
push eax
call fcn.103ce0b0
add esp, 0xc
lea ecx, [edi + 0x1a]
test edi, edi
jne 0x10377178
mov ecx, 0x1b
mov eax, dword [ebp - 0x638]
mov byte [ecx + eax], 0
test edi, edi
je 0x1037718b
add edi, 0x1b
jmp 0x10377190
mov edi, 0x1c
mov dword [ebp - 0x62c], edi
mov ecx, esi
mov dword [ebp - 0x628], edi
mov dword [ebp - 0x620], eax
mov dword [ebp - 0x630], eax
call fcn.10367720
jmp 0x103771f2
test edi, edi
je 0x103771ba
lea eax, [edi - 1]
jmp 0x103771bc
xor eax, eax
push 0x1b
add eax, esi
push str.GVDVIA_Technologies__Inc.
push eax
call fcn.103ce0b0
add esp, 0xc
lea eax, [edi + 0x1a]
test edi, edi
jne 0x103771da
mov eax, 0x1b
mov byte [eax + esi], 0
test edi, edi
je 0x103771e7
add edi, 0x1b
jmp 0x103771ec
mov edi, 0x1c
mov dword [ebp - 0x62c], edi
jmp 0x1037781d
cmp eax, 0x13f0
je 0x10377706
cmp eax, 0x15ad
je 0x103775d0
cmp eax, 0x8086
je 0x103774b2
mov dword [ebp - 0x650], str.GVI
mov dword [ebp - 0x64c], 6
mov byte [ebp - 4], 0xd3
mov ecx, dword [ebp - 0x1e4]
mov byte [ebp - 4], 0xd4
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xffffffff
mov dword [ebp - 0xb8], str.GVI
mov dword [ebp - 0xb4], 6
mov byte [ebp - 4], 0xd5
lea eax, [ebp - 0xb0]
mov dword [ebp - 0x640], eax
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
mov byte [ebp - 4], 0xd6
lea edx, [ebp - 0xa8]
call fcn.10355d50
inc eax
mov dword [ebp - 0xac], eax
mov byte [ebp + eax - 0xa8], 0
lea eax, [ebp - 0xa8]
mov dword [ebp - 0xb0], eax
mov byte [ebp - 4], 0xd4
or dword [ebp - 0x610], 0x10000000
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0x614], ecx
test ecx, ecx
jns 0x103772fc
test edx, edx
je 0x103772dd
lea ecx, [edx - 1]
jmp 0x103772df
xor ecx, ecx
mov eax, dword [ebp - 0xac]
test eax, eax
je 0x103772ec
dec eax
jmp 0x103772ee
xor eax, eax
add ecx, eax
mov dword [ebp - 0x614], ecx
mov dword [ebp - 0xbc], ecx
test edi, edi
je 0x10377305
lea eax, [edi - 1]
jmp 0x10377307
xor eax, eax
inc eax
add eax, ecx
cmp eax, dword [ebp - 0x634]
jbe 0x10377401
test edi, edi
je 0x1037731f
lea eax, [edi - 1]
jmp 0x10377321
xor eax, eax
inc eax
mov dl, 1
add ecx, eax
call fcn.103675e0
mov dword [ebp - 0x61c], eax
test edi, edi
je 0x1037733a
lea ecx, [edi - 1]
jmp 0x1037733c
xor ecx, ecx
push ecx
push esi
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10377350
lea ecx, [edi - 1]
jmp 0x10377352
xor ecx, ecx
mov eax, dword [ebp - 0x61c]
add eax, ecx
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0x638], eax
test ecx, ecx
je 0x1037736d
dec ecx
jmp 0x1037736f
xor ecx, ecx
push ecx
push dword [ebp - 0xb8]
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0xb4]
add esp, 0xc
mov eax, dword [ebp - 0x638]
test ecx, ecx
je 0x10377392
dec eax
add eax, ecx
mov ecx, dword [ebp - 0xac]
test ecx, ecx
je 0x1037739f
dec ecx
jmp 0x103773a1
xor ecx, ecx
push ecx
push dword [ebp - 0xb0]
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x103773ba
lea eax, [edi - 1]
jmp 0x103773bc
xor eax, eax
mov ecx, dword [ebp - 0x614]
add eax, ecx
mov edx, dword [ebp - 0x61c]
test edi, edi
mov byte [eax + edx], 0
mov eax, 1
cmovne eax, edi
lea edi, [eax + ecx]
mov eax, edx
mov dword [ebp - 0x62c], edi
mov ecx, esi
mov dword [ebp - 0x628], edi
mov dword [ebp - 0x620], eax
mov dword [ebp - 0x630], eax
call fcn.10367720
jmp 0x1037748a
test edi, edi
je 0x1037740a
lea eax, [edi - 1]
jmp 0x1037740c
xor eax, eax
add eax, esi
mov dword [ebp - 0x638], eax
test edx, edx
je 0x1037741b
dec edx
jmp 0x1037741d
xor edx, edx
push edx
push dword [ebp - 0xb8]
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0xb4]
add esp, 0xc
mov eax, dword [ebp - 0x638]
test ecx, ecx
je 0x10377440
dec eax
add eax, ecx
mov ecx, dword [ebp - 0xac]
test ecx, ecx
je 0x1037744d
dec ecx
jmp 0x1037744f
xor ecx, ecx
push ecx
push dword [ebp - 0xb0]
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10377468
lea edx, [edi - 1]
jmp 0x1037746a
xor edx, edx
mov ecx, dword [ebp - 0x614]
test edi, edi
lea eax, [ecx + esi]
mov byte [eax + edx], 0
mov eax, 1
cmovne eax, edi
lea edi, [eax + ecx]
mov dword [ebp - 0x62c], edi
and dword [ebp - 0x610], 0xefffffff
mov byte [ebp - 4], 0xdb
mov ecx, dword [ebp - 0xc0]
call fcn.10367720
mov dword [ebp - 0xc0], 0
jmp 0x1037781d
mov dword [ebp - 0x650], str.GVDIntel
mov dword [ebp - 0x64c], 0xb
mov byte [ebp - 4], 0xc1
cmp dword [ebp - 0x63c], 0
je 0x103774d8
lea eax, [edi - 1]
jmp 0x103774da
xor eax, eax
add eax, 0xb
cmp eax, dword [ebp - 0x634]
jbe 0x10377584
test edi, edi
je 0x103774f2
lea ecx, [edi - 1]
jmp 0x103774f4
xor ecx, ecx
add ecx, 0xb
mov dl, 1
call fcn.103675e0
mov dword [ebp - 0x640], eax
test edi, edi
je 0x1037750d
lea ecx, [edi - 1]
jmp 0x1037750f
xor ecx, ecx
push ecx
push esi
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10377523
lea ecx, [edi - 1]
jmp 0x10377525
xor ecx, ecx
mov edx, dword [ebp - 0x640]
movq xmm0, qword [str.GVDIntel]
movq qword [edx + ecx], xmm0
mov ax, word [0x104789b0]
mov word [edx + ecx + 8], ax
lea eax, [edi + 9]
test edi, edi
jne 0x1037754f
mov eax, 0xa
mov byte [edx + eax], 0
test edi, edi
je 0x1037755c
add edi, 0xa
jmp 0x10377561
mov edi, 0xb
mov dword [ebp - 0x62c], edi
mov eax, edx
mov ecx, esi
mov dword [ebp - 0x628], edi
mov dword [ebp - 0x620], eax
mov dword [ebp - 0x630], eax
call fcn.10367720
jmp 0x103775cb
test edi, edi
je 0x1037758d
lea ecx, [edi - 1]
jmp 0x1037758f
xor ecx, ecx
movq xmm0, qword [str.GVDIntel]
movq qword [ecx + esi], xmm0
mov ax, word [0x104789b0]
mov word [ecx + esi + 8], ax
lea eax, [edi + 9]
test edi, edi
jne 0x103775b3
mov eax, 0xa
mov byte [eax + esi], 0
test edi, edi
je 0x103775c0
add edi, 0xa
jmp 0x103775c5
mov edi, 0xb
mov dword [ebp - 0x62c], edi
jmp 0x1037781d
mov dword [ebp - 0x650], str.GVDVMware
mov dword [ebp - 0x64c], 0xc
mov byte [ebp - 4], 0xcd
cmp dword [ebp - 0x6c0], 0
je 0x103775fc
mov eax, dword [ebp - 0x6b8]
add eax, 0xb
jmp 0x10377601
mov eax, 0xc
cmp eax, dword [ebp - 0x634]
jbe 0x103776b1
test edi, edi
je 0x10377616
lea ecx, [edi - 1]
jmp 0x10377618
xor ecx, ecx
add ecx, 0xc
mov dl, 1
call fcn.103675e0
mov dword [ebp - 0x640], eax
test edi, edi
je 0x10377631
lea ecx, [edi - 1]
jmp 0x10377633
xor ecx, ecx
push ecx
push esi
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x10377647
lea ecx, [edi - 1]
jmp 0x10377649
xor ecx, ecx
mov edx, dword [ebp - 0x640]
movq xmm0, qword [str.GVDVMware]
movq qword [edx + ecx], xmm0
mov ax, word [0x10478a04]
mov word [edx + ecx + 8], ax
mov al, byte [0x10478a06]
mov byte [edx + ecx + 0xa], al
lea eax, [edi + 0xa]
test edi, edi
jne 0x1037767c
mov eax, 0xb
mov byte [edx + eax], 0
test edi, edi
je 0x10377689
add edi, 0xb
jmp 0x1037768e
mov edi, 0xc
mov dword [ebp - 0x62c], edi
mov eax, edx
mov ecx, esi
mov dword [ebp - 0x628], edi
mov dword [ebp - 0x620], eax
mov dword [ebp - 0x630], eax
call fcn.10367720
jmp 0x10377701
test edi, edi
je 0x103776ba
lea ecx, [edi - 1]
jmp 0x103776bc
xor ecx, ecx
movq xmm0, qword [str.GVDVMware]
movq qword [esi + ecx], xmm0
mov ax, word [0x10478a04]
mov word [esi + ecx + 8], ax
mov al, byte [0x10478a06]
mov byte [esi + ecx + 0xa], al
test edi, edi
je 0x103776e6
lea eax, [edi - 1]
jmp 0x103776e8
xor eax, eax
mov byte [esi + eax + 0xb], 0
test edi, edi
je 0x103776f6
add edi, 0xb
jmp 0x103776fb
mov edi, 0xc
mov dword [ebp - 0x62c], edi
jmp 0x1037781d
mov dword [ebp - 0x650], str.GVDMicrosoft_Corporation
mov dword [ebp - 0x64c], 0x1b
mov byte [ebp - 4], 0xd0
cmp dword [ebp - 0x614], 0
je 0x10377732
mov eax, dword [ebp - 0x640]
add eax, 0x1a
jmp 0x10377737
mov eax, 0x1b
cmp eax, dword [ebp - 0x634]
jbe 0x103777dc
test edi, edi
je 0x1037774c
lea ecx, [edi - 1]
jmp 0x1037774e
xor ecx, ecx
add ecx, 0x1b
mov dl, 1
call fcn.103675e0
mov dword [ebp - 0x640], eax
test edi, edi
je 0x10377767
lea ecx, [edi - 1]
jmp 0x10377769
xor ecx, ecx
push ecx
push esi
push eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x1037777d
lea ecx, [edi - 1]
jmp 0x1037777f
xor ecx, ecx
mov eax, dword [ebp - 0x640]
push 0x1a
add eax, ecx
push str.GVDMicrosoft_Corporation
push eax
call fcn.103ce0b0
add esp, 0xc
lea ecx, [edi + 0x19]
test edi, edi
jne 0x103777a3
mov ecx, 0x1a
mov eax, dword [ebp - 0x640]
mov byte [eax + ecx], 0
test edi, edi
je 0x103777b6
add edi, 0x1a
jmp 0x103777bb
mov edi, 0x1b
mov dword [ebp - 0x62c], edi
mov ecx, esi
mov dword [ebp - 0x628], edi
mov dword [ebp - 0x620], eax
mov dword [ebp - 0x630], eax
call fcn.10367720
jmp 0x1037781d
test edi, edi
je 0x103777e5
lea eax, [edi - 1]
jmp 0x103777e7
xor eax, eax
push 0x1a
add eax, esi
push str.GVDMicrosoft_Corporation
push eax
call fcn.103ce0b0
add esp, 0xc
lea eax, [edi + 0x19]
test edi, edi
jne 0x10377805
mov eax, 0x1a
mov byte [eax + esi], 0
test edi, edi
je 0x10377812
add edi, 0x1a
jmp 0x10377817
mov edi, 0x1b
mov dword [ebp - 0x62c], edi
mov byte [ebp - 4], 0x8b
mov esi, dword [ebp - 0x618]
mov ecx, dword [ebp - 0x67c]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea ecx, [ebp - 0x6d4]
call fcn.103541d0
push dword [ebp - 0x674]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov byte [ebp - 4], 5
cmp dword [ebp - 0x6cc], 0
je 0x10377869
lea ecx, [ebp - 0x6d4]
call fcn.103541d0
mov dword [ebp - 0x650], str.http:__stat.i_funbox.com_deskicon_
mov dword [ebp - 0x64c], 0x23
mov byte [ebp - 4], 0xe0
mov dword [ebp - 0x69c], 0
mov dword [ebp - 0x698], 0xffffffff
mov dword [ebp - 0x694], str.http:__stat.i_funbox.com_deskicon_
mov dword [ebp - 0x690], 0x23
mov byte [ebp - 4], 0xe1
mov esi, dword [ebp - 0x620]
mov dword [ebp - 0x68c], esi
mov dword [ebp - 0x688], edi
mov byte [ebp - 4], 0xe0
or dword [ebp - 0x610], 0x20000000
test edi, edi
je 0x103778d6
lea eax, [edi - 1]
jmp 0x103778d8
xor eax, eax
mov dword [ebp - 0x640], eax
mov dl, 1
add eax, 0x22
mov dword [ebp - 0x698], eax
lea ecx, [eax + 1]
call fcn.103675e0
push 0x22
push str.http:__stat.i_funbox.com_deskicon_
push eax
mov dword [ebp - 0x69c], eax
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x1037790e
dec edi
jmp 0x10377910
xor edi, edi
push edi
mov edi, dword [ebp - 0x69c]
push esi
lea eax, [edi + 0x22]
push eax
call fcn.103ce0b0
mov eax, dword [ebp - 0x640]
add esp, 0xc
mov ecx, dword [ebp - 0x6c4]
push edi
mov byte [eax + edi + 0x22], 0
call fcn.10371930
and dword [ebp - 0x610], 0xdfffffff
mov byte [ebp - 4], 0xe6
mov ecx, edi
call fcn.10367720
mov dword [ebp - 0x69c], 0
mov byte [ebp - 4], 0xe8
mov ecx, dword [ebp - 0x6b4]
call fcn.10367720
mov dword [ebp - 0x6b4], 0
mov byte [ebp - 4], 0xe9
mov ecx, dword [ebp - 0x66c]
call fcn.10367720
mov dword [ebp - 0x66c], 0
mov dword [ebp - 4], 0xea
mov ecx, esi
call fcn.10367720
mov dword [ebp - 0x630], 0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.103b6385
mov esp, ebp
pop ebp
ret