Function at 0x440d10
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x64649f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x3124
call fcn.00612380
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x44], esi
xor edi, edi
mov dword [ebp - 0x64], edi
cmp dword [esi + 0x34], edi
je 0x443368
jmp 0x440d52
lea ecx, [ebp - 0x3134]
call fcn.00412d10
mov dword [ebp - 4], edi
mov dword [ebp - 0x14], edi
mov byte [ebp - 4], 1
lea ecx, [esi - 0x21c]
lea eax, [ebp - 0x14]
push eax
call fcn.00440420
mov ecx, 0x700724
mov edx, dword [0x700724]
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x2c], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x14]
add ecx, 0x18
call fcn.00497f80
mov esi, eax
mov dword [ebp - 0x18], esi
cmp esi, edi
je 0x440de9
mov edi, dword [esi + 4]
mov ebx, dword [esi + 8]
lea ecx, [ebp - 0x5c]
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.00438710
cmp edi, dword [eax]
jne 0x440dd3
cmp ebx, dword [eax + 4]
jne 0x440dd3
mov ecx, dword [esi + 0xc]
cmp ecx, dword [eax + 8]
jne 0x440dd3
mov ecx, dword [esi + 0x10]
cmp ecx, dword [eax + 0xc]
je 0x440fa2
lea edx, [ebp - 0x18]
push edx
mov ecx, dword [ebp - 0x14]
add ecx, 0x18
call fcn.004209d0
mov esi, dword [ebp - 0x18]
test esi, esi
jne 0x440da4
lea ecx, [ebp - 0x88]
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.0043b520
mov byte [ebp - 4], 0x43
mov esi, 8
cmp dword [eax + 0x14], esi
jb 0x440e08
mov eax, dword [eax]
push 1
push eax
lea ecx, [ebp - 0x3134]
call fcn.0040e020
test eax, eax
sete bl
mov byte [ebp - 4], 3
cmp dword [ebp - 0x74], esi
jb 0x440e33
mov edx, dword [ebp - 0x88]
push edx
call fcn.0060faf6
add esp, 4
mov dword [ebp - 0x74], 7
xor esi, esi
mov dword [ebp - 0x78], esi
xor eax, eax
mov word [ebp - 0x88], ax
test bl, bl
je 0x442ffc
lea ecx, [ebp - 0x3c]
push ecx
lea ecx, [ebp - 0x3134]
call fcn.0040a1d0
mov byte [ebp - 4], 0x44
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00405830
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x440e91
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [ebp - 0x2c]
cmp dword [edi - 0xc], esi
jle 0x442f7e
lea ecx, [ebp - 0xa4]
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.00438710
mov esi, eax
mov ebx, edi
lea edx, [ebp - 0x68]
push edx
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x6c]
push ecx
push edi
mov edi, dword [ebp - 0x14]
lea ecx, [edi + 0x18]
call fcn.00420820
test eax, eax
jne 0x440edd
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x6c]
push eax
push ebx
lea ecx, [edi + 0x18]
call fcn.00421e30
mov ecx, dword [esi]
mov dword [eax + 4], ecx
mov edx, dword [esi + 4]
mov dword [eax + 8], edx
mov ecx, dword [esi + 8]
mov dword [eax + 0xc], ecx
mov edx, dword [esi + 0xc]
mov dword [eax + 0x10], edx
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x44]
add ecx, 0xfffffde4
call fcn.00440a50
xor esi, esi
push esi
push 0x670d6c
lea ecx, [ebp - 0xe4]
call fcn.00401820
mov byte [ebp - 4], 0x46
mov ecx, 0x700724
mov edx, dword [0x700724]
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x48
xor edi, edi
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], esi
mov byte [ebp - 4], 0x49
mov ebx, dword [ebp - 0x14]
lea ecx, [ebx + 0x50]
call fcn.00497f80
mov dword [ebp - 0x60], eax
test eax, eax
je 0x44251e
lea esp, [esp]
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x440faf
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [eax + 0x14]
call fcn.0041fc50
mov byte [ebp - 4], 0x4a
mov edx, dword [ebp - 0x18]
push edx
push str.key___S
lea eax, [ebp - 0x1c]
push eax
call fcn.0043b3f0
add esp, 0xc
mov eax, dword [ebp - 0x18]
mov edi, eax
test eax, eax
jne 0x442476
jmp 0x4424a2
xor eax, eax
xor ebx, ebx
cmp esi, ebx
setne al
cmp eax, ebx
jne 0x440fb9
push 0x80004005
call fcn.004011d0
push esi
lea ecx, [ebp - 0x2c]
call fcn.004078d0
push ebx
push 0x670d6c
lea ecx, [ebp - 0xe4]
call fcn.00401820
mov byte [ebp - 4], 4
mov ecx, 0x700724
mov eax, dword [0x700724]
mov edx, dword [eax + 0xc]
call edx
add eax, 0x10
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 6
xor edi, edi
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x14]
add ecx, 0x50
call fcn.00497f80
mov dword [ebp - 0x40], eax
cmp eax, ebx
je 0x441233
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x440faf
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [eax + 0x14]
call fcn.0041fc50
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x18]
push edx
push str.key___S
lea eax, [ebp - 0x34]
push eax
call fcn.0043b3f0
add esp, 0xc
mov eax, dword [ebp - 0x18]
mov ebx, eax
test eax, eax
jne 0x441052
xor esi, esi
jmp 0x441096
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jg 0x441092
lea edi, [eax + eax]
mov eax, edi
call fcn.006123b0
mov dword [ebp - 0x10], esp
mov esi, esp
test esi, esi
je 0x441092
mov byte [esi], 0
push 0
push 0
push edi
push esi
push 0xffffffffffffffff
push ebx
push 0
push 3
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb eax, eax
and eax, esi
jmp 0x441094
xor eax, eax
mov esi, eax
mov ecx, 0x700724
mov edx, dword [0x700724]
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 9
test esi, esi
je 0x4410da
test esi, 0xffff0000
jne 0x4410de
movzx esi, si
push 0
push esi
call fcn.00403bf0
add esp, 8
test eax, eax
je 0x4410f6
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.00407a90
jmp 0x4410f6
xor eax, eax
jmp 0x4410ec
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4410e3
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x1c]
call fcn.00408c70
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1c]
mov esi, dword [ebp - 0x58]
mov edx, dword [ebp - 0x5c]
cmp ecx, esi
jae 0x44116c
mov eax, ecx
cmp edx, eax
ja 0x44116c
mov edi, ecx
sub edi, edx
sar edi, 2
mov ecx, dword [ebp - 0x54]
cmp esi, ecx
jne 0x441161
mov eax, esi
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x4413db
inc eax
sub ecx, edx
sar ecx, 2
cmp eax, ecx
jbe 0x441161
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x44114a
xor ecx, ecx
jmp 0x44114c
add ecx, edx
cmp ecx, eax
jae 0x441152
mov ecx, eax
push ecx
lea ecx, [ebp - 0x5c]
call fcn.0043e250
mov esi, dword [ebp - 0x58]
mov edx, dword [ebp - 0x5c]
lea ecx, [edx + edi*4]
push ecx
push esi
lea edx, [ebp - 0x50]
push edx
jmp 0x4411bf
mov ecx, dword [ebp - 0x54]
cmp esi, ecx
jne 0x4411b6
mov eax, esi
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x4413db
inc eax
sub ecx, edx
sar ecx, 2
cmp eax, ecx
jbe 0x4411b6
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x4411a2
xor ecx, ecx
jmp 0x4411a4
add ecx, edx
cmp ecx, eax
jae 0x4411aa
mov ecx, eax
push ecx
lea ecx, [ebp - 0x5c]
call fcn.0043e250
mov esi, dword [ebp - 0x58]
lea eax, [ebp - 0x1c]
push eax
push esi
lea ecx, [ebp - 0x50]
push ecx
call fcn.0043b140
add esp, 0xc
add esi, 4
mov dword [ebp - 0x58], esi
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4411f0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x441213
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x40]
push ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0x50
call fcn.004ca710
mov eax, dword [ebp - 0x40]
test eax, eax
jne 0x441015
mov edi, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x58]
mov ecx, 0x700724
mov edx, dword [0x700724]
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x94], esi
mov byte [ebp - 4], 0xe
mov byte [ebp - 0x48], 0
mov ecx, dword [ebp - 0x48]
push ecx
mov edx, ebx
sub edx, edi
sar edx, 2
push edx
push ebx
push edi
call fcn.0043fe70
add esp, 0x10
mov dword [ebp - 0x18], edi
cmp edi, ebx
je 0x441300
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x40], eax
mov ebx, eax
sub ebx, esi
mov edx, dword [esi - 0xc]
mov dword [ebp - 0x38], edx
lea edi, [edx + ecx]
mov ecx, 1
sub ecx, dword [esi - 4]
mov eax, dword [esi - 8]
sub eax, edi
or eax, ecx
jge 0x4412b6
push edi
lea ecx, [ebp - 0x94]
call fcn.00405120
mov esi, dword [ebp - 0x94]
mov edx, dword [ebp - 0x38]
cmp ebx, edx
ja 0x4412bf
add ebx, esi
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x40]
push ecx
push eax
mov edx, dword [ebp - 0x38]
add edx, esi
push edx
call fcn.0060fbd3
add esp, 0x10
test edi, edi
js 0x44150a
cmp edi, dword [esi - 8]
jg 0x44150a
mov dword [esi - 0xc], edi
mov byte [edi + esi], 0
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x58]
jne 0x441275
xor eax, eax
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x170], 0x67452301
mov dword [ebp - 0x16c], 0xefcdab89
mov dword [ebp - 0x168], 0x98badcfe
mov dword [ebp - 0x164], 0x10325476
mov ecx, 0x700724
mov eax, dword [0x700724]
mov edx, dword [eax + 0xc]
call edx
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x10
mov ecx, 0x700724
mov eax, dword [0x700724]
mov edx, dword [eax + 0xc]
call edx
lea edi, [eax + 0x10]
mov dword [ebp - 0x20], edi
mov byte [ebp - 4], 0x12
mov ecx, 0x700724
mov eax, dword [0x700724]
mov edx, dword [eax + 0xc]
call edx
add eax, 0x10
mov dword [ebp - 0x38], eax
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x2c]
push eax
push str.HWID___S
lea ecx, [ebp - 0x34]
push ecx
call fcn.0043b3f0
add esp, 0xc
lea ebx, [esi - 0x10]
mov dword [ebp - 0x18], ebx
add edi, 0xfffffff0
cmp ebx, edi
je 0x441448
cmp dword [edi + 0xc], 0
jl 0x44143b
mov ecx, dword [ebx]
cmp ecx, dword [edi]
jne 0x44143b
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
lea ecx, [ebx + 0xc]
cmp dword [ecx], 0
jl 0x4413e5
cmp eax, dword [ebx]
jne 0x4413e5
mov esi, ebx
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x44141a
push str.vector_T__too_long
call fcn.005fb5fb
mov edx, dword [eax]
push 1
mov ecx, dword [ebx + 4]
push ecx
mov ecx, eax
mov edx, dword [edx]
call edx
mov esi, eax
test esi, esi
jne 0x4413fe
call fcn.00404070
mov eax, dword [ebx + 4]
mov dword [esi + 4], eax
mov eax, dword [ebx + 4]
inc eax
push eax
add ebx, 0x10
push ebx
push eax
lea ecx, [esi + 0x10]
push ecx
call fcn.0060fbd3
add esp, 0x10
lea eax, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x441433
mov ecx, dword [edi]
mov eax, dword [ecx]
push edi
mov edx, dword [eax + 4]
call edx
add esi, 0x10
mov dword [ebp - 0x20], esi
jmp 0x441448
mov eax, dword [esi - 0xc]
push eax
push esi
lea ecx, [ebp - 0x20]
call fcn.00408c70
mov eax, dword [ebp - 0x2c]
push eax
push str.HWID___S
lea ecx, [ebp - 0x20]
push ecx
call fcn.0043b3f0
add esp, 0xc
mov ecx, dword [ebp - 0x20]
cmp dword [ecx - 4], 1
jle 0x441475
mov edx, dword [ecx - 0xc]
push edx
lea ecx, [ebp - 0x20]
call fcn.00404a90
mov ecx, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x15c], edi
mov dword [ebp - 0x160], edi
mov dword [ebp - 0x170], 0x67452301
mov dword [ebp - 0x16c], 0xefcdab89
mov dword [ebp - 0x168], 0x98badcfe
mov dword [ebp - 0x164], 0x10325476
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4414b0
sub eax, esi
push eax
push ecx
lea ecx, [ebp - 0x170]
call fcn.00438e10
lea ecx, [ebp - 0x170]
call fcn.00438ec0
lea esi, [ebp - 0x108]
lea ecx, [esi + 1]
lea ebx, [ebx]
mov al, byte [esi]
inc esi
test al, al
jne 0x4414e0
sub esi, ecx
cmp esi, edi
jne 0x441546
mov ecx, dword [ebp - 0x1c]
lea eax, [ecx - 0x10]
mov esi, dword [eax]
cmp dword [eax + 4], edi
je 0x4415b2
lea edx, [eax + 0xc]
cmp dword [edx], edi
jge 0x44151f
cmp dword [ecx - 8], edi
jge 0x441514
push 0x80070057
call fcn.004011d0
mov dword [ecx - 0xc], edi
mov byte [ecx], 0
jmp 0x4415b2
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x441535
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi]
mov ecx, esi
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1c], eax
jmp 0x4415b2
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebx - 0xc]
mov dword [ebp - 0x48], ecx
lea edi, [ebp - 0x108]
sub edi, ebx
mov ecx, 1
sub ecx, dword [ebx - 4]
mov eax, dword [ebx - 8]
sub eax, esi
or eax, ecx
jge 0x441574
push esi
lea ecx, [ebp - 0x1c]
call fcn.00405120
mov ebx, dword [ebp - 0x1c]
push esi
cmp edi, dword [ebp - 0x48]
ja 0x441587
lea edx, [ebx + edi]
push edx
push esi
push ebx
call fcn.0060fc48
jmp 0x441595
lea eax, [ebp - 0x108]
push eax
push esi
push ebx
call fcn.0060fbd3
add esp, 0x10
test esi, esi
js 0x44150a
cmp esi, dword [ebx - 8]
jg 0x44150a
mov dword [ebx - 0xc], esi
mov byte [ebx + esi], 0
xor edi, edi
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x54], edi
jbe 0x4422bd
mov eax, dword [ebp - 0x34]
cmp dword [eax - 4], 1
jle 0x4415d6
mov edx, dword [eax - 0xc]
push edx
lea ecx, [ebp - 0x34]
call fcn.00404a90
mov eax, dword [ebp - 0x34]
push edi
push eax
push 0x670cf0
lea ecx, [ebp - 0xe4]
call fcn.00401e00
test al, al
je 0x4422bd
push edi
lea ecx, [ebp - 0xe4]
call fcn.004012a0
mov esi, eax
cmp esi, edi
je 0x4422bd
mov ecx, 0x700724
mov eax, dword [0x700724]
mov edx, dword [eax + 0xc]
call edx
add eax, 0x10
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 0x15
test esi, 0xffff0000
jne 0x441644
movzx esi, si
push edi
push esi
call fcn.00403bf0
add esp, 8
cmp eax, edi
je 0x441663
push esi
push eax
lea ecx, [ebp - 0x4c]
call fcn.00407a90
jmp 0x441663
mov eax, esi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x441650
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x4c]
call fcn.00408c70
mov byte [ebp - 4], 0x16
mov ecx, 0x700724
mov eax, dword [0x700724]
mov edx, dword [eax + 0xc]
call edx
add eax, 0x10
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0x18
mov ecx, 0x700724
mov eax, dword [0x700724]
mov edx, dword [eax + 0xc]
call edx
add eax, 0x10
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x48], edi
lea eax, [ebp - 0x48]
push eax
push 0x670cec
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x4c]
call fcn.004152c0
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx - 0xc]
cmp eax, edi
jle 0x441cb5
test eax, eax
jle 0x441cb5
push 0x3d
push ecx
call fcn.00614bb4
add esp, 8
test eax, eax
je 0x441cb5
sub eax, dword [ebp - 0x28]
mov ebx, eax
mov dword [ebp - 0x60], ebx
test ebx, ebx
jle 0x441cb5
push ebx
lea edx, [ebp - 0x40]
push edx
lea ecx, [ebp - 0x28]
call fcn.0043ae30
mov byte [ebp - 4], 0x1c
push str.hash
mov eax, dword [ebp - 0x40]
push eax
call fcn.00612c79
add esp, 8
test eax, eax
sete al
test al, al
jne 0x441c02
mov eax, dword [ebp - 0x40]
lea esi, [eax - 0x10]
mov edx, dword [ebp - 0x24]
lea edi, [edx - 0x10]
cmp esi, edi
je 0x441884
cmp dword [edi + 0xc], 0
jl 0x4417b5
mov ecx, dword [esi]
cmp ecx, dword [edi]
jne 0x4417b5
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
lea ecx, [esi + 0xc]
cmp dword [ecx], 0
jl 0x44175d
cmp eax, dword [esi]
jne 0x44175d
mov ebx, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x441791
mov edx, dword [eax]
push 1
mov ecx, dword [esi + 4]
push ecx
mov ecx, eax
mov edx, dword [edx]
call edx
mov ebx, eax
test ebx, ebx
je 0x4413f9
mov eax, dword [esi + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [ebx + 0x10]
push ecx
call fcn.0060fbd3
add esp, 0x10
lea eax, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x4417aa
mov ecx, dword [edi]
mov eax, dword [ecx]
push edi
mov edx, dword [eax + 4]
call edx
add ebx, 0x10
mov dword [ebp - 0x24], ebx
jmp 0x441881
mov esi, dword [eax - 0xc]
mov dword [ebp - 0x68], eax
test esi, esi
jne 0x441813
mov esi, dword [edi]
cmp dword [edi + 4], 0
je 0x441884
lea eax, [edi + 0xc]
cmp dword [eax], 0
jge 0x4417ec
cmp dword [edx - 8], 0
jl 0x44150a
mov dword [edx - 0xc], 0
mov byte [edx], 0
jmp 0x441884
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x441802
mov ecx, dword [edi]
mov edx, dword [ecx]
push edi
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi]
mov ecx, esi
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x24], eax
jmp 0x441884
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx - 0xc]
mov dword [ebp - 0x98], edx
sub eax, ecx
mov ebx, eax
mov ecx, 1
sub ecx, dword [edi + 0xc]
mov eax, dword [edi + 8]
sub eax, esi
or eax, ecx
jge 0x44183d
push esi
lea ecx, [ebp - 0x24]
call fcn.00405120
push esi
cmp ebx, dword [ebp - 0x98]
ja 0x441855
mov edi, dword [ebp - 0x24]
add ebx, edi
push ebx
push esi
push edi
call fcn.0060fc48
jmp 0x441866
mov eax, dword [ebp - 0x68]
push eax
push esi
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.0060fbd3
mov edi, dword [ebp - 0x24]
add esp, 0x10
test esi, esi
js 0x44150a
cmp esi, dword [edi - 8]
jg 0x44150a
mov dword [edi - 0xc], esi
mov byte [esi + edi], 0
mov ebx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx - 0xc]
sub eax, ebx
dec eax
push eax
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x28]
call fcn.0043ad60
mov byte [ebp - 4], 0x20
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
lea esi, [eax - 0x10]
mov edi, dword [ebp - 0x30]
add edi, 0xfffffff0
cmp esi, edi
je 0x441a07
cmp dword [edi + 0xc], 0
jl 0x441938
mov ecx, dword [esi]
cmp ecx, dword [edi]
jne 0x441938
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
lea ecx, [esi + 0xc]
cmp dword [ecx], 0
jl 0x4418e0
cmp eax, dword [esi]
jne 0x4418e0
mov ebx, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x441914
mov edx, dword [eax]
push 1
mov ecx, dword [esi + 4]
push ecx
mov ecx, eax
mov edx, dword [edx]
call edx
mov ebx, eax
test ebx, ebx
je 0x4413f9
mov eax, dword [esi + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [ebx + 0x10]
push ecx
call fcn.0060fbd3
add esp, 0x10
lea eax, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x44192d
mov ecx, dword [edi]
mov eax, dword [ecx]
push edi
mov edx, dword [eax + 4]
call edx
add ebx, 0x10
mov dword [ebp - 0x30], ebx
jmp 0x441a07
mov esi, dword [eax - 0xc]
test esi, esi
jne 0x441996
mov esi, dword [edi]
cmp dword [edi + 4], 0
je 0x441a07
lea eax, [edi + 0xc]
cmp dword [eax], 0
jge 0x44196f
mov eax, dword [ebp - 0x30]
cmp dword [eax - 8], 0
jl 0x44150a
mov dword [eax - 0xc], 0
mov byte [eax], 0
jmp 0x441a07
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x441985
mov ecx, dword [edi]
mov edx, dword [ecx]
push edi
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi]
mov ecx, esi
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x30], eax
jmp 0x441a07
test eax, eax
je 0x44150a
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x68], ecx
mov ebx, dword [ebp - 0x60]
sub ebx, eax
mov ecx, 1
sub ecx, dword [edi + 0xc]
mov eax, dword [edi + 8]
sub eax, esi
or eax, ecx
jge 0x4419c6
push esi
lea ecx, [ebp - 0x30]
call fcn.00405120
push esi
cmp ebx, dword [ebp - 0x68]
ja 0x4419db
mov edi, dword [ebp - 0x30]
add ebx, edi
push ebx
push esi
push edi
call fcn.0060fc48
jmp 0x4419ec
mov edx, dword [ebp - 0x60]
push edx
push esi
mov eax, dword [ebp - 0x30]
push eax
call fcn.0060fbd3
mov edi, dword [ebp - 0x30]
add esp, 0x10
test esi, esi
js 0x44150a
cmp esi, dword [edi - 8]
jg 0x44150a
mov dword [edi - 0xc], esi
mov byte [esi + edi], 0
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x441a2a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x441a4d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x48]
push ecx
push 0x670cec
lea edx, [ebp - 0x3c]
push edx
lea ecx, [ebp - 0x4c]
call fcn.004152c0
mov byte [ebp - 4], 0x23
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
lea esi, [eax - 0x10]
mov edx, dword [ebp - 0x28]
lea edi, [edx - 0x10]
cmp esi, edi
je 0x441bcc
cmp dword [edi + 0xc], 0
jl 0x441b00
mov ecx, dword [esi]
cmp ecx, dword [edi]
jne 0x441b00
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
lea ecx, [esi + 0xc]
cmp dword [ecx], 0
jl 0x441aa8
cmp eax, dword [esi]
jne 0x441aa8
mov ebx, esi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x441adc
mov edx, dword [eax]
push 1
mov ecx, dword [esi + 4]
push ecx
mov ecx, eax
mov edx, dword [edx]
call edx
mov ebx, eax
test ebx, ebx
je 0x4413f9
mov eax, dword [esi + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [ebx + 0x10]
push ecx
call fcn.0060fbd3
add esp, 0x10
lea eax, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x441af5
mov ecx, dword [edi]
mov eax, dword [ecx]
push edi
mov edx, dword [eax + 4]
call edx
add ebx, 0x10
mov dword [ebp - 0x28], ebx
jmp 0x441bcc
mov esi, dword [eax - 0xc]
test esi, esi
jne 0x441b5e
mov esi, dword [edi]
cmp dword [edi + 4], 0
je 0x441bcc
lea eax, [edi + 0xc]
cmp dword [eax], 0
jge 0x441b37
cmp dword [edx - 8], 0
jl 0x44150a
mov dword [edx - 0xc], 0
mov eax, dword [ebp - 0x28]
mov byte [eax], 0
jmp 0x441bcc
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x441b4d
mov ecx, dword [edi]
mov edx, dword [ecx]
push edi
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi]
mov ecx, esi
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x28], eax
jmp 0x441bcc
test eax, eax
je 0x44150a
mov ecx, dword [edx - 0xc]
mov dword [ebp - 0x68], ecx
mov ebx, dword [ebp - 0x60]
sub ebx, edx
mov ecx, 1
sub ecx, dword [edi + 0xc]
mov eax, dword [edi + 8]
sub eax, esi
or eax, ecx
jge 0x441b8e
push esi
lea ecx, [ebp - 0x28]
call fcn.00405120
mov edx, dword [ebp - 0x28]
push esi
cmp ebx, dword [ebp - 0x68]
ja 0x441ba0
add ebx, edx
push ebx
push esi
push edx
call fcn.0060fc48
jmp 0x441bab
mov eax, dword [ebp - 0x60]
push eax
push esi
push edx
call fcn.0060fbd3
add esp, 0x10
test esi, esi
js 0x44150a
mov eax, dword [ebp - 0x28]
cmp esi, dword [eax - 8]
jg 0x44150a
mov dword [eax - 0xc], esi
mov ecx, dword [ebp - 0x28]
mov byte [esi + ecx], 0
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x441bef
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx - 0xc]
test eax, eax
jg 0x4416cb
jmp 0x441cb5
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx - 0xc]
sub eax, ebx
dec eax
push eax
lea edx, [ebp - 0x3c]
push edx
lea ecx, [ebp - 0x28]
call fcn.0043ad60
mov byte [ebp - 4], 0x1d
mov ecx, dword [eax]
lea eax, [ecx - 0x10]
mov esi, dword [ebp - 0x38]
add esi, 0xfffffff0
cmp eax, esi
je 0x441c6f
lea edi, [esi + 0xc]
cmp dword [edi], 0
jl 0x441c62
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x441c62
push eax
call fcn.004044a0
add esp, 4
mov ebx, eax
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x441c5a
mov ecx, dword [esi]
mov edx, dword [ecx]
push esi
mov eax, dword [edx + 4]
call eax
add ebx, 0x10
mov dword [ebp - 0x38], ebx
jmp 0x441c6f
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0x38]
call fcn.00408c70
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x441c92
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x441cb5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor esi, esi
cmp dword [ebp - 0x24], esi
jne 0x441cc0
xor eax, eax
jmp 0x441d05
mov ebx, dword [ebp - 0x24]
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea edi, [eax + 1]
cmp edi, 0x3fffffff
jg 0x441d01
lea eax, [edi + edi]
call fcn.006123b0
mov dword [ebp - 0x10], esp
mov esi, esp
test esi, esi
je 0x441d01
xor ecx, ecx
mov word [esi], cx
push edi
push esi
push 0xffffffffffffffff
push ebx
push ecx
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
neg eax
sbb eax, eax
and eax, esi
jmp 0x441d03
xor eax, eax
xor esi, esi
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x441d1a
push 0x80004005
call fcn.004011d0
mov ecx, eax
mov eax, dword [ebp - 0x2c]
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x441d46
cmp dx, si
je 0x441d42
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x441d46
add eax, 4
add ecx, 4
cmp dx, si
jne 0x441d20
xor eax, eax
jmp 0x441d4b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
setne al
test al, al
je 0x441f16
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x441d7b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x441d9e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x441dc1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x441de4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x441e07
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x441e2a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x441e4d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x441e6d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 6
mov ebx, dword [ebp - 0x5c]
cmp ebx, esi
je 0x441ea0
mov esi, ebx
mov edi, dword [ebp - 0x58]
cmp ebx, edi
je 0x441e95
push esi
lea ecx, [ebp - 0x50]
push ecx
call fcn.0043b410
add esp, 8
add esi, 4
cmp esi, edi
jne 0x441e81
push ebx
call fcn.0060faf6
add esp, 4
xor esi, esi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], esi
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x441ecc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xe4]
call fcn.00401510
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x441efe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx]
push 1
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 0x14], esi
jmp 0x443356
lea ecx, [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x20]
call fcn.004149b0
mov eax, dword [ebp - 0x20]
mov edi, dword [eax - 0xc]
lea esi, [edi + 1]
mov edx, 1
sub edx, dword [eax - 4]
mov ecx, dword [eax - 8]
sub ecx, esi
or ecx, edx
jge 0x441f48
push esi
lea ecx, [ebp - 0x20]
call fcn.00405120
mov eax, dword [ebp - 0x20]
mov byte [edi + eax], 0x31
test esi, esi
js 0x44150a
cmp esi, dword [eax - 8]
jg 0x44150a
mov dword [eax - 0xc], esi
mov byte [esi + eax], 0
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x20]
call fcn.00408e10
mov ebx, dword [ebp - 0x20]
cmp dword [ebx - 4], 1
jle 0x441f8e
mov eax, dword [ebx - 0xc]
push eax
lea ecx, [ebp - 0x20]
call fcn.00404a90
mov ebx, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x15c], edi
mov dword [ebp - 0x160], edi
mov dword [ebp - 0x170], 0x67452301
mov dword [ebp - 0x16c], 0xefcdab89
mov dword [ebp - 0x168], 0x98badcfe
mov dword [ebp - 0x164], 0x10325476
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x441fd0
sub eax, edx
push eax
push ebx
lea ecx, [ebp - 0x170]
call fcn.00438e10
lea ecx, [ebp - 0x170]
call fcn.00438ec0
lea eax, [ebp - 0x108]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x442000
sub eax, edx
push eax
lea ecx, [ebp - 0x108]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00408c70
xor eax, eax
mov esi, dword [ebp - 0x30]
cmp esi, edi
setne al
cmp eax, edi
jne 0x442031
push 0x80004005
call fcn.004011d0
push esi
mov edx, dword [ebp - 0x1c]
push edx
call fcn.00612c79
add esp, 8
cmp eax, edi
setne al
test al, al
je 0x442234
cmp byte [0x712dcc], 0
jne 0x4420b6
lea ecx, [ebp - 0x1ec]
call fcn.0043af00
mov byte [ebp - 4], 0x2f
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov edi, eax
lea eax, [ebp - 0x1ec]
push eax
lea ecx, [ebp - 0x1e4]
push ecx
push 0x716768
call fcn.00426c90
push 0
push 0x427de0
push edi
push 0x197
mov edx, dword [0x716738]
push edx
call dword [sym.imp.USER32.dll_DialogBoxParamW]
mov dword [ebp - 0x1e8], 0
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x1ec]
call fcn.00439c20
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4420d9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x18
lea eax, [esi - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4420f9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44211c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44213f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442162
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x10
lea eax, [ebx - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442182
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4421a5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4421c5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 6
mov ebx, dword [ebp - 0x5c]
mov esi, ebx
mov edi, dword [ebp - 0x58]
cmp ebx, edi
je 0x4421e9
push esi
lea ecx, [ebp - 0x50]
push ecx
call fcn.0043b410
add esp, 8
add esi, 4
cmp esi, edi
jne 0x4421d5
push ebx
call fcn.0060faf6
add esp, 4
xor esi, esi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], esi
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x442220
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xe4]
call fcn.00401510
jmp 0x441edb
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442257
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x18
lea eax, [esi - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442277
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44229a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4422bd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4422e0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442303
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442326
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442346
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 6
mov ebx, dword [ebp - 0x5c]
xor eax, eax
cmp ebx, eax
je 0x44237f
mov esi, ebx
mov edi, dword [ebp - 0x58]
cmp ebx, edi
je 0x442374
lea esp, [esp]
push esi
lea ecx, [ebp - 0x50]
push ecx
call fcn.0043b410
add esp, 8
add esi, 4
cmp esi, edi
jne 0x442360
push ebx
call fcn.0060faf6
add esp, 4
xor eax, eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4423ab
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xe4]
call fcn.00401510
jmp 0x4423c0
mov edi, dword [ebp - 0x44]
lea ecx, [edi + 0x28]
call fcn.005b2cb0
mov ecx, edi
call fcn.005ac710
cmp eax, dword [0x7143f8]
jb 0x443091
lea ecx, [edi + 0x28]
call fcn.005b2bb0
mov ecx, 0x700724
mov edx, dword [0x700724]
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp + 0x18], eax
mov bl, 0x8e
mov byte [ebp - 4], bl
mov ecx, dword [0x7143f8]
push ecx
push 0x1fd
lea edx, [ebp + 0x18]
push edx
call fcn.00428ea0
add esp, 0xc
lea eax, [ebp + 0x18]
push eax
lea ecx, [ebp - 0x90]
call fcn.0054f3b0
mov byte [ebp - 4], 0x8f
push 0
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x90]
call fcn.0043af90
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x90]
call fcn.004377b0
mov byte [ebp - 4], 3
mov eax, dword [ebp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442471
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x443318
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x442489
xor eax, eax
jmp 0x4424a2
lea esi, [eax + eax]
mov eax, esi
call fcn.006123b0
mov dword [ebp - 0x10], esp
mov eax, esp
push 3
push esi
push edi
push eax
call fcn.00403a80
push eax
lea ecx, [ebp - 0x48]
call fcn.00415220
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [ebp - 0x5c]
call fcn.0043f8d0
mov byte [ebp - 4], 0x4a
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4424de
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x49
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442501
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x60]
push ecx
lea ecx, [ebx + 0x50]
call fcn.004ca710
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x440f60
mov esi, dword [ebp - 0x58]
mov edi, dword [ebp - 0x5c]
mov ecx, 0x700724
mov edx, dword [0x700724]
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 0x4f
mov byte [ebp - 0x3c], 0
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, esi
sub edx, edi
sar edx, 2
push edx
push esi
push edi
call fcn.0043fe70
add esp, 0x10
cmp edi, esi
je 0x44256c
mov eax, dword [edi]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.00408e10
add edi, 4
cmp edi, esi
jne 0x442556
xor esi, esi
mov dword [ebp - 0x15c], esi
mov dword [ebp - 0x160], esi
mov dword [ebp - 0x170], 0x67452301
mov dword [ebp - 0x16c], 0xefcdab89
mov dword [ebp - 0x168], 0x98badcfe
mov dword [ebp - 0x164], 0x10325476
mov ecx, 0x700724
mov eax, dword [0x700724]
mov edx, dword [eax + 0xc]
call edx
add eax, 0x10
mov dword [ebp - 0x38], eax
mov byte [ebp - 4], 0x51
mov ecx, 0x700724
mov eax, dword [0x700724]
mov edx, dword [eax + 0xc]
call edx
add eax, 0x10
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0x53
mov ecx, 0x700724
mov eax, dword [0x700724]
mov edx, dword [eax + 0xc]
call edx
lea ebx, [eax + 0x10]
mov dword [ebp - 0x18], ebx
mov byte [ebp - 4], 0x55
mov eax, dword [ebp - 0x2c]
push eax
push str.HWID___S
lea ecx, [ebp - 0x1c]
push ecx
call fcn.0043b3f0
add esp, 0xc
lea edx, [ebp - 0x4c]
push edx
lea ecx, [ebp - 0x24]
call fcn.004149b0
mov eax, dword [ebp - 0x2c]
push eax
push str.HWID___S
lea ecx, [ebp - 0x24]
push ecx
call fcn.0043b3f0
add esp, 0xc
mov edi, dword [ebp - 0x24]
cmp dword [edi - 4], 1
jle 0x44263b
mov edx, dword [edi - 0xc]
push edx
lea ecx, [ebp - 0x24]
call fcn.00404a90
mov edi, dword [ebp - 0x24]
push edi
lea ecx, [ebp - 0x170]
call fcn.00438fa0
cmp eax, esi
jne 0x44264f
xor ecx, ecx
jmp 0x44265d
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x442654
sub ecx, esi
push ecx
push eax
lea ecx, [ebp - 0x38]
call fcn.00408c70
mov esi, dword [ebp - 0x14]
cmp dword [esi + 0x54], 0
jbe 0x442d4f
mov eax, dword [ebp - 0x1c]
cmp dword [eax - 4], 1
jle 0x44268b
mov ecx, eax
mov edx, dword [ecx - 0xc]
push edx
lea ecx, [ebp - 0x1c]
call fcn.00404a90
push 0
mov eax, dword [ebp - 0x1c]
push eax
push 0x670cf0
lea ecx, [ebp - 0xe4]
call fcn.00401e00
test al, al
je 0x442d4f
push 0
lea ecx, [ebp - 0xe4]
call fcn.004012a0
test eax, eax
je 0x442d4f
push eax
lea ecx, [ebp - 0x30]
call fcn.00415220
mov byte [ebp - 4], 0x56
mov ecx, 0x700724
mov edx, dword [0x700724]
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 0x58
mov ecx, 0x700724
mov edx, dword [0x700724]
mov eax, dword [edx + 0xc]
call eax
lea ebx, [eax + 0x10]
mov dword [ebp - 0x28], ebx
mov byte [ebp - 4], 0x5a
mov dword [ebp - 0x48], 0
lea ecx, [ebp - 0x48]
push ecx
push 0x670cec
lea edx, [ebp - 0x20]
push edx
lea ecx, [ebp - 0x30]
call fcn.004152c0
mov byte [ebp - 4], 0x5b
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx - 0xc]
test eax, eax
jle 0x4428b1
mov bl, 0x5c
push 0x3d
push ecx
call fcn.00614bb4
add esp, 8
test eax, eax
je 0x4428ae
sub eax, dword [ebp - 0x20]
mov esi, eax
test esi, esi
jle 0x4428ae
push esi
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x20]
call fcn.0043ae30
mov byte [ebp - 4], bl
push str.hash
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.00612c79
add esp, 8
test eax, eax
sete al
test al, al
jne 0x442846
lea edx, [ebp - 0x40]
push edx
lea ecx, [ebp - 0x34]
call fcn.004149b0
mov eax, dword [ebp - 0x20]
mov eax, dword [eax - 0xc]
sub eax, esi
dec eax
push eax
lea ecx, [ebp - 0x3c]
push ecx
lea ecx, [ebp - 0x20]
call fcn.0043ad60
mov byte [ebp - 4], 0x60
push eax
lea ecx, [ebp - 0x28]
call fcn.004149b0
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4427ce
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x5b
mov eax, dword [ebp - 0x40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4427f1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x48]
push ecx
push 0x670cec
lea edx, [ebp - 0x6c]
push edx
lea ecx, [ebp - 0x30]
call fcn.004152c0
mov byte [ebp - 4], 0x63
push eax
lea ecx, [ebp - 0x20]
call fcn.004149b0
mov byte [ebp - 4], 0x5b
mov eax, dword [ebp - 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442836
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx - 0xc]
test eax, eax
jg 0x44272f
jmp 0x4428ae
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx - 0xc]
sub eax, esi
dec eax
push eax
lea edx, [ebp - 0x3c]
push edx
lea ecx, [ebp - 0x20]
call fcn.0043ad60
mov byte [ebp - 4], 0x5d
push eax
lea ecx, [ebp - 0x18]
call fcn.004149b0
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44288b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x5b
mov eax, dword [ebp - 0x40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4428ae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [ebp - 0x28]
cmp dword [ebp - 0x34], 0
je 0x4428fb
mov ecx, dword [ebp - 0x34]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea edi, [eax + 1]
cmp edi, 0x3fffffff
jg 0x4428fb
lea eax, [edi + edi]
call fcn.006123b0
mov dword [ebp - 0x10], esp
mov esi, esp
test esi, esi
je 0x4428fb
xor edx, edx
mov word [esi], dx
push edi
push esi
push 0xffffffffffffffff
mov eax, dword [ebp - 0x34]
push eax
push edx
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
neg eax
sbb eax, eax
and eax, esi
jmp 0x4428fd
xor eax, eax
push eax
lea ecx, [ebp - 0x2c]
push ecx
call fcn.00439380
add esp, 8
test al, al
je 0x442a94
mov byte [ebp - 4], 0x5a
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x442935
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x58
lea eax, [ebx - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442955
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x56
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442978
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x55
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44299b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x53
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4429be
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x51
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4429e1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4f
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442a04
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x49
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442a27
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x5c]
call fcn.0042f690
mov byte [ebp - 4], 0x46
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442a56
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xe4]
call fcn.00401510
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442a88
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
jmp 0x443346
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [ebp - 0x24]
call fcn.004149b0
push 0x31
lea ecx, [ebp - 0x24]
call fcn.0043bbd0
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x24]
call fcn.00408e10
mov edi, dword [ebp - 0x24]
cmp dword [edi - 4], 1
jle 0x442ad4
mov eax, dword [edi - 0xc]
push eax
lea ecx, [ebp - 0x24]
call fcn.00404a90
mov edi, dword [ebp - 0x24]
push edi
lea ecx, [ebp - 0x170]
call fcn.00438fa0
test eax, eax
jne 0x442ae8
xor ecx, ecx
jmp 0x442af9
mov ecx, eax
lea esi, [ecx + 1]
lea ecx, [ecx]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x442af0
sub ecx, esi
push ecx
push eax
lea ecx, [ebp - 0x38]
call fcn.00408c70
xor eax, eax
test ebx, ebx
setne al
test eax, eax
jne 0x442b18
push 0x80004005
call fcn.004011d0
push ebx
mov esi, dword [ebp - 0x38]
push esi
call fcn.00612c79
add esp, 8
test eax, eax
setne al
test al, al
je 0x442cbd
cmp byte [0x712dcc], 0
jne 0x442b6b
lea ecx, [ebp - 0x1ec]
call fcn.0043af00
mov byte [ebp - 4], 0x6f
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x1ec]
call fcn.0043b070
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x1ec]
call fcn.00439c20
mov byte [ebp - 4], 0x5a
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442b8e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x58
lea eax, [ebx - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442bae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x56
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442bd1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x55
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442bf4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x53
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442c17
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x51
lea eax, [edi - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442c37
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4f
lea eax, [esi - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442c57
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x49
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442c7a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x5c]
call fcn.0042f690
mov byte [ebp - 4], 0x46
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442ca9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xe4]
call fcn.00401510
jmp 0x442a65
mov byte [ebp - 4], 0x5a
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442ce0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x58
lea eax, [ebx - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442d00
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x56
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442d23
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x55
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442ecd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x442ecd
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [ebp - 0x44]
add ecx, 0xfffffde4
call fcn.00439000
test eax, eax
jne 0x442eca
cmp byte [0x712dcc], al
jne 0x442dd6
lea ecx, [ebp - 0x1ec]
call fcn.0043af00
mov byte [ebp - 4], 0x7e
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov esi, eax
lea edx, [ebp - 0x1ec]
push edx
lea eax, [ebp - 0x1e4]
push eax
push 0x716768
call fcn.00426c90
push 0
push 0x427de0
push esi
push 0x197
mov ecx, dword [0x716738]
push ecx
call dword [sym.imp.USER32.dll_DialogBoxParamW]
mov dword [ebp - 0x1e8], 0
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x1ec]
call fcn.00439c20
mov esi, dword [ebp - 0x14]
mov byte [ebp - 4], 0x53
lea eax, [ebx - 0x10]
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x442df6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x51
lea eax, [edi - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442e16
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4f
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442e39
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x49
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442e5c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x5c]
call fcn.0042f690
mov byte [ebp - 4], 0x46
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442e8b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xe4]
call fcn.00401510
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442ebd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov edx, dword [esi]
mov ecx, esi
jmp 0x443348
mov esi, dword [ebp - 0x38]
mov byte [ebp - 4], 0x53
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442ef0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x51
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442f13
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4f
lea eax, [esi - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442f33
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x49
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442f56
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x5c]
call fcn.0042f690
mov byte [ebp - 4], 0x46
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x44239f
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [ebp - 0x44]
add ecx, 0xfffffde4
call fcn.00439000
test eax, eax
jne 0x4423ba
cmp byte [0x712dcc], al
jne 0x442fd0
lea ecx, [ebp - 0x1ec]
call fcn.0043af00
mov byte [ebp - 4], 0x8a
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x1ec]
call fcn.0043b070
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1ec]
call fcn.00439c20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c]
call fcn.004014a0
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, esi
je 0x441f0e
mov edx, dword [ecx]
push 1
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 0x14], esi
jmp 0x443356
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [ebp - 0x44]
add ecx, 0xfffffde4
call fcn.00439000
test eax, eax
jne 0x4423ba
cmp byte [0x712dcc], al
jne 0x44304e
lea ecx, [ebp - 0x1ec]
call fcn.0043af00
mov byte [ebp - 4], 0x8b
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x1ec]
call fcn.0043b070
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1ec]
call fcn.00439c20
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x443071
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, esi
je 0x441f0e
mov edx, dword [ecx]
push 1
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 0x14], esi
jmp 0x443356
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
mov edx, dword [ebp + 0xc]
mov dword [eax + 4], edx
mov ecx, dword [ebp + 0x10]
mov dword [eax + 8], ecx
mov edx, dword [ebp + 0x14]
mov dword [eax + 0xc], edx
mov ecx, edi
call fcn.005aa670
test eax, eax
jne 0x4430bd
jmp 0x443318
mov ebx, edi
mov eax, dword [ebx + 0x34]
push 0
push 0
push 0x110a
mov ecx, dword [eax]
push ecx
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
call edi
mov esi, eax
mov ecx, 0x700724
mov edx, dword [0x700724]
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x6c], eax
mov byte [ebp - 4], 0x94
mov ecx, 0x700724
mov edx, dword [0x700724]
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x3c], eax
mov byte [ebp - 4], 0x96
push esi
mov ecx, dword [ebx + 0x34]
call fcn.00401ef0
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax]
jne 0x4434f9
mov edx, dword [ebp + 0xc]
cmp edx, dword [eax + 4]
jne 0x4434f9
mov ecx, dword [ebp + 0x10]
cmp ecx, dword [eax + 8]
jne 0x4434f9
mov edx, dword [ebp + 0x14]
cmp edx, dword [eax + 0xc]
jne 0x4434f9
cmp dword [ebp + 0x1c], 0
je 0x4432a3
mov eax, dword [ebx + 0x34]
mov eax, dword [eax]
push eax
call dword [sym.imp.USER32.dll_LockWindowUpdate]
lea ecx, [ebp - 0x88]
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.0043b4b0
mov byte [ebp - 4], 0x97
cmp dword [eax + 0x14], 8
jb 0x443175
mov eax, dword [eax]
push 0
push esi
push eax
lea edx, [ebp - 0x9c]
push edx
mov ecx, dword [ebx + 0x34]
call fcn.004393e0
mov byte [ebp - 4], 0x96
cmp dword [ebp - 0x74], 8
jb 0x4431a1
mov eax, dword [ebp - 0x88]
push eax
call fcn.0060faf6
add esp, 4
mov dword [ebp - 0x74], 7
mov dword [ebp - 0x78], 0
xor ecx, ecx
mov word [ebp - 0x88], cx
push 0x34
push ecx
lea edx, [ebp - 0xd8]
push edx
call fcn.006100a0
add esp, 0xc
mov dword [ebp - 0xdc], 0x90
mov ebx, dword [ebp - 0x9c]
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xb4], 2
mov esi, dword [ebp - 0x44]
mov eax, dword [esi + 0x34]
lea ecx, [ebp - 0xdc]
push ecx
push 0
push 0x113f
mov edx, dword [eax]
push edx
call edi
mov edi, dword [ebp + 0x18]
mov eax, dword [edi]
push 0
push 0
push 0
push eax
push eax
push 0
push 0x22
push ebx
mov ecx, dword [esi + 0x34]
call fcn.00402010
cmp dword [esi + 0x40], 0
je 0x443381
push 0x10
call fcn.00611c8b
add esp, 4
mov dword [ebp + 0x1c], eax
mov byte [ebp - 4], 0x98
test eax, eax
je 0x443263
mov ecx, dword [0x699a58]
mov dword [eax], ecx
mov edx, dword [0x699a5c]
mov dword [eax + 4], edx
mov ecx, dword [0x699a60]
mov dword [eax + 8], ecx
mov edx, dword [0x699a64]
mov dword [eax + 0xc], edx
mov esi, eax
jmp 0x443265
xor esi, esi
mov byte [ebp - 4], 0x96
lea eax, [ebp - 0x5c]
push eax
mov ecx, dword [ebp + 0x18]
call fcn.00438710
mov ecx, dword [eax]
mov dword [esi], ecx
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
mov ecx, dword [eax + 8]
mov dword [esi + 8], ecx
mov edx, dword [eax + 0xc]
mov dword [esi + 0xc], edx
push esi
push ebx
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x34]
call fcn.00438290
push 0
call dword [sym.imp.USER32.dll_LockWindowUpdate]
mov ebx, dword [ebp - 0x44]
mov ecx, dword [ebp + 0x18]
push ecx
sub esp, 0x10
mov eax, esp
mov edx, dword [ebp + 8]
mov dword [eax], edx
mov ecx, dword [ebp + 0xc]
mov dword [eax + 4], ecx
mov edx, dword [ebp + 0x10]
mov dword [eax + 8], edx
mov ecx, dword [ebp + 0x14]
mov dword [eax + 0xc], ecx
mov ecx, ebx
call fcn.005ae1e0
lea ecx, [ebx + 0x28]
call fcn.005b2bb0
mov byte [ebp - 4], 0x94
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4432f5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443318
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44333b
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x44334f
mov edx, dword [ecx]
push 1
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 0x14], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3134]
call fcn.00411820
lea esp, [ebp - 0x3140]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
push 0x3120
call fcn.00611c8b
add esp, 4
mov ebx, eax
mov dword [ebp - 0x68], ebx
mov byte [ebp - 4], 0x99
test ebx, ebx
je 0x4433df
mov eax, 1
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x64], eax
mov esi, dword [edi + 0xf10]
lea ecx, [ebp - 0x5c]
push ecx
mov ecx, edi
call fcn.00438710
sub esp, 0x10
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push esi
mov ecx, ebx
call fcn.004397b0
mov dword [ebp + 0x1c], eax
jmp 0x4433e6
mov dword [ebp + 0x1c], 0
mov byte [ebp - 4], 0x96
test byte [ebp - 0x64], 1
je 0x4433f4
and dword [ebp - 0x64], 0xfffffffe
cmp dword [ebp - 0x3114], 0
je 0x4434be
xor esi, esi
mov dword [ebp - 0x18], esi
mov byte [ebp - 4], 0x9a
push 0x1c4
mov ecx, dword [0x716738]
push ecx
call dword [sym.imp.USER32.dll_LoadBitmapW]
mov edi, eax
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x84], esi
xor eax, eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
lea edx, [ebp - 0x84]
push edx
push 0x18
push edi
call dword [sym.imp.GDI32.dll_GetObjectW]
movzx esi, word [ebp - 0x72]
shr esi, 3
imul esi, dword [ebp - 0x80]
imul esi, dword [ebp - 0x7c]
push esi
call fcn.005fb5ce
add esp, 4
mov ebx, eax
push ebx
push esi
push edi
call dword [sym.imp.GDI32.dll_GetBitmapBits]
push esi
push ebx
mov ecx, dword [ebp + 0x1c]
call fcn.004396a0
push ebx
call fcn.0060faf6
add esp, 4
push edi
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
call esi
test eax, eax
je 0x443490
xor edi, edi
mov dword [ebp - 0x18], edi
push str.Terminal_server
push 0x7f
mov eax, dword [ebp + 0x1c]
add eax, 0x400
push eax
call fcn.00611c28
add esp, 0xc
mov byte [ebp - 4], 0x96
test edi, edi
je 0x4434be
push edi
call esi
test eax, eax
je 0x4434be
mov dword [ebp - 0x18], 0
mov byte [ebp - 4], 0x9b
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp - 0x9c]
push edx
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x34]
call fcn.00438290
mov dword [ebp - 4], 0x96
jmp 0x443298
push esi
push 1
mov eax, dword [ebx + 0x34]
push 0x110a
mov edx, dword [eax]
push edx
call edi
mov esi, eax
test esi, esi
je 0x4432ca
push esi
mov ecx, dword [ebx + 0x34]
call fcn.00401ef0
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax]
jne 0x4434f9
mov edx, dword [ebp + 0xc]
cmp edx, dword [eax + 4]
jne 0x4434f9
mov ecx, dword [ebp + 0x10]
cmp ecx, dword [eax + 8]
jne 0x4434f9
mov edx, dword [ebp + 0x14]
cmp edx, dword [eax + 0xc]
jne 0x4434f9
cmp dword [ebp + 0x1c], 0
je 0x4432a3
mov eax, dword [ebx + 0x34]
mov eax, dword [eax]
push eax
call dword [sym.imp.USER32.dll_LockWindowUpdate]
lea ecx, [ebp - 0x88]
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.0043b4b0
mov byte [ebp - 4], 0x9d
cmp dword [eax + 0x14], 8
jb 0x44356c
mov eax, dword [eax]
push 0
push esi
push eax
lea edx, [ebp - 0x9c]
push edx
mov ecx, dword [ebx + 0x34]
call fcn.004393e0
mov byte [ebp - 4], 0x96
cmp dword [ebp - 0x74], 8
jb 0x443598
mov eax, dword [ebp - 0x88]
push eax
call fcn.0060faf6
add esp, 4
mov dword [ebp - 0x74], 7
mov dword [ebp - 0x78], 0
xor ecx, ecx
mov word [ebp - 0x88], cx
push 0x34
push ecx
lea edx, [ebp - 0xd8]
push edx
call fcn.006100a0
add esp, 0xc
mov dword [ebp - 0xdc], 0x90
mov ebx, dword [ebp - 0x9c]
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xb4], 2
mov esi, dword [ebp - 0x44]
mov eax, dword [esi + 0x34]
lea ecx, [ebp - 0xdc]
push ecx
push 0
push 0x113f
mov edx, dword [eax]
push edx
call edi
mov edi, dword [ebp + 0x18]
mov eax, dword [edi]
push 0
push 0
push 0
push eax
push eax
push 0
push 0x22
push ebx
mov ecx, dword [esi + 0x34]
call fcn.00402010
cmp dword [esi + 0x40], 0
je 0x443690
push 0x10
call fcn.00611c8b
add esp, 4
mov dword [ebp + 0x1c], eax
mov byte [ebp - 4], 0x9e
test eax, eax
je 0x443656
mov ecx, dword [0x699a58]
mov dword [eax], ecx
mov edx, dword [0x699a5c]
mov dword [eax + 4], edx
mov ecx, dword [0x699a60]
mov dword [eax + 8], ecx
mov edx, dword [0x699a64]
mov dword [eax + 0xc], edx
mov esi, eax
jmp 0x443658
xor esi, esi
mov byte [ebp - 4], 0x96
lea eax, [ebp - 0x5c]
push eax
mov ecx, dword [ebp + 0x18]
call fcn.00438710
mov ecx, dword [eax]
mov dword [esi], ecx
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
mov ecx, dword [eax + 8]
mov dword [esi + 8], ecx
mov edx, dword [eax + 0xc]
mov dword [esi + 0xc], edx
push esi
push ebx
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x34]
call fcn.00438290
jmp 0x443298
push 0x3120
call fcn.00611c8b
add esp, 4
mov ebx, eax
mov dword [ebp - 0x68], ebx
mov byte [ebp - 4], 0x9f
test ebx, ebx
je 0x4436e7
or dword [ebp - 0x64], 2
mov esi, dword [edi + 0xf10]
lea ecx, [ebp - 0x5c]
push ecx
mov ecx, edi
call fcn.00438710
sub esp, 0x10
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push esi
mov ecx, ebx
call fcn.004397b0
mov dword [ebp + 0x1c], eax
jmp 0x4436ee
mov dword [ebp + 0x1c], 0
mov byte [ebp - 4], 0x96
test byte [ebp - 0x64], 2
je 0x4436fc
and dword [ebp - 0x64], 0xfffffffd
cmp dword [ebp - 0x3114], 0
je 0x4437c6
xor esi, esi
mov dword [ebp - 0x18], esi
mov byte [ebp - 4], 0xa0
push 0x1c4
mov ecx, dword [0x716738]
push ecx
call dword [sym.imp.USER32.dll_LoadBitmapW]
mov edi, eax
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x84], esi
xor eax, eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
lea edx, [ebp - 0x84]
push edx
push 0x18
push edi
call dword [sym.imp.GDI32.dll_GetObjectW]
movzx esi, word [ebp - 0x72]
shr esi, 3
imul esi, dword [ebp - 0x80]
imul esi, dword [ebp - 0x7c]
push esi
call fcn.005fb5ce
add esp, 4
mov ebx, eax
push ebx
push esi
push edi
call dword [sym.imp.GDI32.dll_GetBitmapBits]
push esi
push ebx
mov ecx, dword [ebp + 0x1c]
call fcn.004396a0
push ebx
call fcn.0060faf6
add esp, 4
push edi
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
call esi
test eax, eax
je 0x443798
xor edi, edi
mov dword [ebp - 0x18], edi
push str.Terminal_server
push 0x7f
mov eax, dword [ebp + 0x1c]
add eax, 0x400
push eax
call fcn.00611c28
add esp, 0xc
mov byte [ebp - 4], 0x96
test edi, edi
je 0x4437c6
push edi
call esi
test eax, eax
je 0x4437c6
mov dword [ebp - 0x18], 0
mov byte [ebp - 4], 0xa1
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp - 0x9c]
push edx
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x34]
call fcn.00438290
mov dword [ebp - 4], 0x96
jmp 0x443298