Function at 0x42ce8c
Capabilities:
Encrypt data using rc4 ksa
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x29
push 0
push 0
dec ecx
jne 0x42ce95
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x42e8b7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0040c004
mov byte [0x442c64], al
cmp byte [0x442c64], 0
je 0x42cee4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
mov edx, 0x42e8d0
call fcn.0040b6e8
jmp 0x42cef4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
mov edx, 0x42e8f0
call fcn.0040b6e8
mov eax, 0x442c60
call fcn.00403b0c
cmp byte [0x442b6c], 0
jne 0x42cfa4
push 1
mov ecx, 0x42e904
xor edx, edx
xor eax, eax
call fcn.0042bc38
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
xor edx, edx
call fcn.0040b33c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
xor edx, edx
call fcn.0040b33c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.0040b33c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
xor edx, edx
call fcn.0040b33c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
xor edx, edx
call fcn.0040b33c
cmp byte [0x442c5c], 0
je 0x42cf8b
cmp dword [0x442bc4], 0
je 0x42cf8b
lea eax, [ebp - 0x68]
mov ecx, dword [0x442bc4]
mov edx, 0x42e94c
call fcn.00403df4
mov eax, dword [ebp - 0x68]
xor edx, edx
call fcn.0042cd0c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 8]
mov byte [0x442c64], 1
jmp 0x42e65e
xor eax, eax
mov al, byte [0x442b6c]
dec eax
test eax, eax
jb 0x42e65e
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x30], 0x442b70
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov esi, eax
mov eax, dword [esi + 0x6f8]
push eax
push 1
mov ecx, 0x42e958
xor edx, edx
xor eax, eax
call fcn.0042bd34
mov eax, dword [esi + 0x4c]
push eax
push 0
mov ecx, 0x42e96c
xor edx, edx
xor eax, eax
call fcn.0042bd34
mov eax, dword [esi + 0x40]
push eax
push 0
mov ecx, 0x42e97c
xor edx, edx
xor eax, eax
call fcn.0042bd34
cmp byte [0x442c64], 0
je 0x42d04f
mov eax, dword [esi + 0x44]
push eax
push 0
mov ecx, 0x42e994
xor edx, edx
mov eax, 0x42e9a8
call fcn.0042bd34
cmp byte [0x442c5c], 0
je 0x42d03b
cmp byte [esi + 0x48], 0
jne 0x42d04f
mov al, byte [esi + 0x48]
push eax
push 0
mov ecx, 0x42e9d4
xor edx, edx
xor eax, eax
call fcn.0042bfb8
push dword [esi + 0x5c]
push dword [esi + 0x58]
lea edx, [ebp - 0x6c]
xor eax, eax
call fcn.0040df38
mov eax, dword [ebp - 0x6c]
push eax
push 0
mov ecx, 0x42e9f0
xor edx, edx
mov eax, 0x42ea04
call fcn.0042bd34
mov bl, byte [esi + 0x715]
test bl, bl
je 0x42d0a1
lea edx, [ebp - 0x70]
mov eax, ebx
call fcn.0042ae6c
mov eax, dword [ebp - 0x70]
push eax
push 0
mov ecx, 0x42ea54
xor edx, edx
mov eax, 0x42ea68
call fcn.0042bd34
push 0
mov ecx, 0x42ea98
xor edx, edx
xor eax, eax
call fcn.0042bc38
mov al, byte [esi + 0x714]
sub al, 1
jb 0x42d0c3
je 0x42d0d8
sub al, 0xd
je 0x42d0ed
jmp 0x42d100
push 1
mov ecx, 0x42eab0
xor edx, edx
mov eax, 0x42eac0
call fcn.0042bc38
jmp 0x42d100
push 1
mov ecx, 0x42eae8
xor edx, edx
mov eax, 0x42eaf8
call fcn.0042bc38
jmp 0x42d100
push 1
mov ecx, 0x42eb20
xor edx, edx
mov eax, 0x42eb30
call fcn.0042bc38
cmp byte [0x442c64], 0
je 0x42d1da
cmp byte [esi + 0x714], 1
jne 0x42d13b
cmp byte [esi + 0x61], 0
je 0x42d13b
lea edx, [ebp - 0x74]
mov al, byte [esi + 0x61]
call fcn.0042b118
mov eax, dword [ebp - 0x74]
push eax
push 0
mov ecx, 0x42eb64
xor edx, edx
xor eax, eax
call fcn.0042bd34
push 0
mov ecx, 0x42eb7c
xor edx, edx
mov eax, 0x42eb90
call fcn.0042bc38
push 1
lea edx, [ebp - 0x7c]
mov al, byte [esi + 0x60]
call fcn.0042b274
mov ecx, dword [ebp - 0x7c]
lea eax, [ebp - 0x78]
mov edx, 0x42ebc0
call fcn.00403df4
mov ecx, dword [ebp - 0x78]
xor edx, edx
xor eax, eax
call fcn.0042bc38
cmp byte [esi + 0x70a], 0
je 0x42d1aa
push 0
mov ecx, 0x42ebcc
xor edx, edx
mov eax, 0x42ebd8
call fcn.0042bc38
mov eax, dword [esi + 0x6fc]
push eax
push 1
mov ecx, 0x42ec10
xor edx, edx
xor eax, eax
call fcn.0042bd34
cmp byte [0x442c5c], 0
je 0x42d1bc
cmp dword [esi + 0x50], 0x200
je 0x42d1da
cmp dword [esi + 0x50], 0x200
setne al
push eax
push 0
mov ecx, 0x42ec24
xor edx, edx
mov eax, 0x42ec3c
call fcn.0042bfb8
cmp byte [0x442c64], 0
je 0x42d200
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042bc38
push 0
mov ecx, 0x42ec74
xor edx, edx
xor eax, eax
call fcn.0042bc38
cmp byte [0x442c64], 0
je 0x42d3a1
cmp byte [esi + 0x714], 0
jne 0x42d2e3
lea edx, [ebp - 0x84]
mov al, byte [esi + 0x6a]
call fcn.0042afbc
push dword [ebp - 0x84]
push 0x42ec8c
push 0x42ec98
push 0x42eca8
lea edx, [ebp - 0x88]
xor eax, eax
mov al, byte [esi + 0x6a]
call fcn.0040623c
push dword [ebp - 0x88]
push 0x42ecc0
lea eax, [ebp - 0x80]
mov edx, 6
call fcn.00403e68
mov eax, dword [ebp - 0x80]
push eax
push 0
mov ecx, 0x42eccc
mov dl, 1
xor eax, eax
call fcn.0042bd34
lea edx, [ebp - 0x90]
mov al, byte [esi + 0x69]
call fcn.0042afbc
push dword [ebp - 0x90]
push 0x42ec8c
push 0x42ec98
push 0x42eca8
lea edx, [ebp - 0x94]
xor eax, eax
mov al, byte [esi + 0x69]
call fcn.0040623c
push dword [ebp - 0x94]
push 0x42ecc0
lea eax, [ebp - 0x8c]
mov edx, 6
call fcn.00403e68
mov eax, dword [ebp - 0x8c]
push eax
push 0
mov ecx, 0x42ecec
mov dl, 1
xor eax, eax
call fcn.0042bd34
jmp 0x42d379
cmp byte [esi + 0x62], 0
je 0x42d32e
lea edx, [ebp - 0x9c]
mov al, byte [esi + 0x62]
call fcn.0042b0b8
push dword [ebp - 0x9c]
push 0x42ec8c
push 0x42ec98
lea eax, [ebp - 0x98]
mov edx, 3
call fcn.00403e68
mov eax, dword [ebp - 0x98]
push eax
push 0
mov ecx, 0x42eccc
mov dl, 1
xor eax, eax
call fcn.0042bd34
cmp byte [esi + 0x63], 0
je 0x42d379
lea edx, [ebp - 0xa4]
mov al, byte [esi + 0x63]
call fcn.0042b0b8
push dword [ebp - 0xa4]
push 0x42ec8c
push 0x42ec98
lea eax, [ebp - 0xa0]
mov edx, 3
call fcn.00403e68
mov eax, dword [ebp - 0xa0]
push eax
push 0
mov ecx, 0x42ecec
mov dl, 1
xor eax, eax
call fcn.0042bd34
movzx eax, word [esi + 0x6b4]
push eax
push 0
mov ecx, 0x42ed0c
mov dl, 1
xor eax, eax
call fcn.0042be7c
push 1
mov ecx, 0x42ed28
xor edx, edx
xor eax, eax
call fcn.0042bc38
movzx eax, word [esi + 0x6b2]
push eax
push 0
mov ecx, 0x42ed38
mov dl, 1
xor eax, eax
call fcn.0042be7c
push 1
mov ecx, 0x42ed28
xor edx, edx
xor eax, eax
call fcn.0042bc38
cmp byte [0x442c64], 0
je 0x42d529
movzx eax, word [esi + 0x6b8]
push eax
push 0
mov ecx, 0x42ed54
mov dl, 1
xor eax, eax
call fcn.0042be7c
push 1
mov ecx, 0x42ed28
xor edx, edx
xor eax, eax
call fcn.0042bc38
mov di, word [esi + 0x6b2]
mov bx, word [esi + 0x6b8]
cmp di, bx
jae 0x42d45d
movzx eax, bx
mov dword [ebp - 0xb0], eax
fild dword [ebp - 0xb0]
movzx eax, di
mov dword [ebp - 0xb4], eax
fild dword [ebp - 0xb4]
fdivp st(1)
fsub dword [0x42ed68]
fmul dword [0x42ed6c]
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0xac]
call fcn.004061b8
mov al, byte [ebp - 0xac]
mov byte [esi + 0x6ba], al
jmp 0x42d4a7
movzx eax, di
mov dword [ebp - 0xb0], eax
fild dword [ebp - 0xb0]
movzx eax, bx
mov dword [ebp - 0xb4], eax
fild dword [ebp - 0xb4]
fdivp st(1)
fsub dword [0x42ed68]
fmul dword [0x42ed6c]
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0xac]
call fcn.004061b8
mov al, byte [ebp - 0xac]
mov byte [esi + 0x6ba], al
xor eax, eax
mov al, byte [esi + 0x6ba]
push eax
push 0
mov ecx, 0x42ed78
mov dl, 1
xor eax, eax
call fcn.0042be7c
push 1
mov ecx, 0x42ed98
xor edx, edx
xor eax, eax
call fcn.0042bc38
cmp byte [0x442c5c], 0
je 0x42d529
movzx eax, word [esi + 0x6b6]
push eax
push 0
mov ecx, 0x42eda4
mov dl, 1
xor eax, eax
call fcn.0042be7c
push 1
mov ecx, 0x42ed28
xor edx, edx
xor eax, eax
call fcn.0042bc38
movzx eax, word [esi + 0x6bc]
push eax
push 0
mov ecx, 0x42edc0
mov dl, 1
xor eax, eax
call fcn.0042be7c
push 1
mov ecx, 0x42ed28
xor edx, edx
xor eax, eax
call fcn.0042bc38
xor eax, eax
mov al, byte [esi + 0x6b0]
push eax
push 0
mov ecx, 0x42eddc
mov dl, 1
mov eax, 0x42edf8
call fcn.0042be7c
mov bl, byte [esi + 0x6b1]
test bl, bl
je 0x42d585
push 1
lea edx, [ebp - 0xbc]
xor eax, eax
mov al, bl
call fcn.0040623c
mov ecx, dword [ebp - 0xbc]
lea eax, [ebp - 0xb8]
mov edx, 0x42ee28
call fcn.00403df4
mov ecx, dword [ebp - 0xb8]
xor edx, edx
xor eax, eax
call fcn.0042bc38
push 1
mov ecx, 0x42ee34
xor edx, edx
xor eax, eax
call fcn.0042bc38
cmp byte [0x442c64], 0
je 0x42d944
cmp byte [esi + 0x70a], 0
jne 0x42d5e0
cmp word [esi + 0x70e], 0
je 0x42d5e0
movzx eax, word [esi + 0x70e]
push eax
push 0
mov ecx, 0x42ee44
mov dl, 1
mov eax, 0x42ee5c
call fcn.0042be7c
push 1
mov ecx, 0x42ee8c
xor edx, edx
xor eax, eax
call fcn.0042bc38
mov ebx, dword [esi + 0x64]
test ebx, ebx
je 0x42d614
mov eax, ebx
xor edx, edx
push edx
push eax
lea edx, [ebp - 0xc0]
xor eax, eax
call fcn.0040df38
mov eax, dword [ebp - 0xc0]
push eax
push 0
mov ecx, 0x42ee9c
mov dl, 1
mov eax, 0x42eeb4
call fcn.0042bd34
cmp byte [0x442c5c], 0
je 0x42d623
cmp byte [esi + 0x73], 0
jne 0x42d640
mov al, byte [esi + 0x72]
push eax
mov al, byte [esi + 0x73]
push eax
push 0xffffffffffffffff
push 0
mov ecx, 0x42eedc
mov dl, 1
mov eax, 0x42eefc
call fcn.0042c118
cmp byte [0x442c5c], 0
je 0x42d64f
cmp byte [esi + 0x75], 0
jne 0x42d66c
mov al, byte [esi + 0x74]
push eax
mov al, byte [esi + 0x75]
push eax
push 0xffffffffffffffff
push 0
mov ecx, 0x42ef28
mov dl, 1
mov eax, 0x42ef40
call fcn.0042c118
cmp byte [esi + 0x70a], 0
jne 0x42d6c1
cmp byte [0x442c5c], 0
je 0x42d684
cmp byte [esi + 0x7a], 0
je 0x42d6c1
mov al, byte [esi + 0x7a]
push eax
mov al, byte [esi + 0x7b]
push eax
xor eax, eax
mov al, byte [esi + 0x7c]
push eax
push 0
mov ecx, 0x42ef70
mov dl, 1
mov eax, 0x42ef98
call fcn.0042c118
cmp byte [esi + 0x7a], 0
je 0x42d6c1
xor eax, eax
mov al, byte [esi + 0x7d]
push eax
push 0
mov ecx, 0x42efc0
mov dl, 1
xor eax, eax
call fcn.0042be7c
cmp byte [0x442c5c], 0
je 0x42d6d0
cmp byte [esi + 0x77], 0
je 0x42d6f1
mov al, byte [esi + 0x77]
push eax
mov al, byte [esi + 0x78]
push eax
xor eax, eax
mov al, byte [esi + 0x79]
push eax
push 0
mov ecx, 0x42efe8
mov dl, 1
mov eax, 0x42f00c
call fcn.0042c118
cmp byte [esi + 0x70a], 0
je 0x42d72f
cmp byte [0x442c5c], 0
je 0x42d70c
cmp byte [esi + 0x8c], 0
je 0x42d72f
mov al, byte [esi + 0x8b]
push eax
mov al, byte [esi + 0x8c]
push eax
push 0xffffffffffffffff
push 0
mov ecx, 0x42f034
mov dl, 1
mov eax, 0x42f054
call fcn.0042c118
cmp byte [esi + 0x714], 0
jne 0x42d764
cmp byte [0x442c5c], 0
je 0x42d74a
cmp byte [esi + 0x88], 0
je 0x42d764
mov al, byte [esi + 0x88]
push eax
push 0
mov ecx, 0x42f084
mov dl, 1
mov eax, 0x42f0a0
call fcn.0042bfb8
cmp byte [esi + 0x8a], 0
jne 0x42d799
cmp byte [0x442c5c], 0
je 0x42d77f
cmp byte [esi + 0x89], 0
je 0x42d799
mov al, byte [esi + 0x89]
push eax
push 0
mov ecx, 0x42f0cc
mov dl, 1
mov eax, 0x42f0ec
call fcn.0042bfb8
cmp byte [esi + 0x714], 0
je 0x42d7ce
cmp byte [0x442c5c], 0
je 0x42d7b4
cmp byte [esi + 0x8a], 0
jne 0x42d7ce
mov al, byte [esi + 0x8a]
push eax
push 0
mov ecx, 0x42f114
mov dl, 1
mov eax, 0x42f134
call fcn.0042bfb8
cmp byte [esi + 0x70a], 0
je 0x42d815
cmp byte [0x442c5c], 0
je 0x42d7f2
cmp byte [esi + 0x710], 0
je 0x42d7f2
cmp byte [esi + 0x711], 0
jne 0x42d815
mov al, byte [esi + 0x710]
push eax
mov al, byte [esi + 0x711]
push eax
push 0xffffffffffffffff
push 0
mov ecx, 0x42f15c
mov dl, 1
mov eax, 0x42f16c
call fcn.0042c118
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042bc38
push 0
mov ecx, 0x42f1a4
xor edx, edx
xor eax, eax
call fcn.0042bc38
xor eax, eax
mov al, byte [esi + 0x2aa]
push eax
push 0
mov ecx, 0x42f1bc
mov dl, 1
mov eax, 0x42f1d8
call fcn.0042be7c
mov al, byte [esi + 0x6ab]
test al, al
je 0x42d933
cmp byte [esi + 0x6ac], 0
je 0x42d8a8
push 0
mov ecx, 0x42f20c
mov dl, 1
xor eax, eax
call fcn.0042bc38
mov al, byte [esi + 0x6ac]
push eax
push 1
mov ecx, 0x42f21c
xor edx, edx
mov eax, 0x42f230
call fcn.0042bfb8
xor eax, eax
mov al, byte [esi + 0x6ac]
push eax
push 1
mov ecx, 0x42f25c
xor edx, edx
xor eax, eax
call fcn.0042be7c
cmp byte [esi + 0x6af], 0
je 0x42d944
mov al, byte [esi + 0x6af]
push eax
push 0
mov ecx, 0x42f27c
mov dl, 1
xor eax, eax
call fcn.0042bfb8
push 1
mov ecx, 0x42f25c
xor edx, edx
xor eax, eax
call fcn.0042bc38
cmp byte [esi + 0x6af], 0xff
jne 0x42d8f7
push 1
mov ecx, 0x42f294
xor edx, edx
xor eax, eax
call fcn.0042bc38
jmp 0x42d944
push 1
lea edx, [ebp - 0xc8]
xor eax, eax
mov al, byte [esi + 0x6af]
call fcn.0040623c
mov ecx, dword [ebp - 0xc8]
mov edx, 0x42ebc0
lea eax, [ebp - 0xc4]
call fcn.00403df4
mov ecx, dword [ebp - 0xc4]
xor edx, edx
xor eax, eax
call fcn.0042bc38
jmp 0x42d944
push eax
push 0
mov ecx, 0x42f2a4
mov dl, 1
xor eax, eax
call fcn.0042bfb8
mov bl, byte [esi + 0x92]
test bl, bl
je 0x42d97a
cmp bl, byte [esi + 0x91]
je 0x42d97a
lea edx, [ebp - 0xcc]
mov eax, ebx
call fcn.0042ccd8
mov eax, dword [ebp - 0xcc]
push eax
push 0
mov ecx, 0x42f2b8
mov dl, 1
xor eax, eax
call fcn.0042bd34
mov bl, byte [esi + 0x91]
test bl, bl
je 0x42d9a8
lea edx, [ebp - 0xd0]
mov eax, ebx
call fcn.0042ccd8
mov eax, dword [ebp - 0xd0]
push eax
push 0
mov ecx, 0x42f2e0
mov dl, 1
xor eax, eax
call fcn.0042bd34
mov bl, byte [esi + 0x8f]
test bl, bl
je 0x42d9d6
lea edx, [ebp - 0xd4]
mov eax, ebx
call fcn.0042ccd8
mov eax, dword [ebp - 0xd4]
push eax
push 0
mov ecx, 0x42f308
mov dl, 1
xor eax, eax
call fcn.0042bd34
mov bl, byte [esi + 0x8e]
test bl, bl
je 0x42da07
lea edx, [ebp - 0xd8]
mov eax, ebx
call fcn.0042ccd8
mov eax, dword [ebp - 0xd8]
push eax
push 0
mov ecx, 0x42f324
mov dl, 1
mov eax, 0x42f340
call fcn.0042bd34
cmp byte [esi + 0x6d9], 0
je 0x42da6a
cmp byte [0x442c5c], 0
je 0x42da3e
cmp dword [esi + 0x6dc], 0
je 0x42da6a
mov eax, dword [esi + 0x6dc]
push eax
push 0
mov ecx, 0x42f370
mov dl, 1
mov eax, 0x42f38c
call fcn.0042be7c
jmp 0x42da6a
cmp byte [0x442c64], 0
jne 0x42da50
cmp dword [esi + 0x6dc], 0
je 0x42da6a
mov eax, dword [esi + 0x6dc]
push eax
push 0
mov ecx, 0x42f370
mov dl, 1
mov eax, 0x42f38c
call fcn.0042be7c
cmp byte [esi + 0x6cc], 0
je 0x42da8a
mov eax, dword [esi + 0x6d0]
push eax
push 0
mov ecx, 0x42f3b8
mov dl, 1
xor eax, eax
call fcn.0042be7c
cmp byte [esi + 0x6be], 0
je 0x42dad5
mov ecx, dword [esi + 0x6c0]
test ecx, ecx
je 0x42dabd
mov eax, dword [esi + 0x6c8]
xor edx, edx
div ecx
push eax
push 0
mov dl, 1
mov eax, 0x42f3dc
mov ecx, 0x42f408
call fcn.0042be7c
jmp 0x42dad5
push 0x42f424
push 0
mov ecx, 0x42f408
mov dl, 1
mov eax, 0x42f3dc
call fcn.0042bd34
cmp byte [0x442c64], 0
je 0x42db52
cmp byte [esi + 0x70a], 0
jne 0x42db52
cmp byte [0x442c5c], 0
je 0x42daf6
cmp byte [esi + 0x7e], 0
je 0x42db52
mov al, byte [esi + 0x7e]
push eax
mov al, byte [esi + 0x7f]
push eax
push 0xffffffffffffffff
push 0
mov ecx, 0x42f43c
mov dl, 1
mov eax, 0x42f458
call fcn.0042c118
cmp byte [esi + 0x7f], 0
je 0x42db52
cmp byte [esi + 0x80], 0
je 0x42db3d
xor eax, eax
mov al, byte [esi + 0x80]
push eax
push 0
mov ecx, 0x42f48c
mov dl, 1
xor eax, eax
call fcn.0042be7c
jmp 0x42db52
push 0x42f4b4
push 0
mov ecx, 0x42f48c
mov dl, 1
xor eax, eax
call fcn.0042bd34
cmp byte [0x442c64], 0
je 0x42db87
cmp byte [0x442c5c], 0
je 0x42db6d
cmp byte [esi + 0x81], 0
jne 0x42db87
mov al, byte [esi + 0x81]
push eax
push 0
mov ecx, 0x42f4d8
mov dl, 1
mov eax, 0x42f4f8
call fcn.0042bfb8
cmp byte [esi + 0xa4], 0
je 0x42dbb7
push 0x42f520
push 0
mov ecx, 0x42f534
mov dl, 1
xor eax, eax
call fcn.0042bd34
push 0
mov ecx, 0x42f548
mov dl, 1
xor eax, eax
call fcn.0042bc38
jmp 0x42dc27
push 0x42f570
push 0
mov ecx, 0x42f534
mov dl, 1
xor eax, eax
call fcn.0042bd34
cmp byte [esi + 0xa7], 0
je 0x42dbf5
push 1
mov ecx, 0x42f584
xor edx, edx
xor eax, eax
call fcn.0042bc38
push 0
mov ecx, 0x42f59c
mov dl, 1
xor eax, eax
call fcn.0042bc38
cmp byte [esi + 0xa5], 0
je 0x42dc0e
push 1
mov ecx, 0x42f5d4
xor edx, edx
xor eax, eax
call fcn.0042bc38
cmp byte [esi + 0xa8], 0
je 0x42dc27
push 1
mov ecx, 0x42f5f0
xor edx, edx
xor eax, eax
call fcn.0042bc38
cmp byte [0x442c64], 0
je 0x42e4a2
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042bc38
push 0
mov ecx, 0x42f60c
xor edx, edx
xor eax, eax
call fcn.0042bc38
cmp byte [0x442c5c], 0
je 0x42dc60
cmp byte [esi + 0x6c], 0
je 0x42dcb2
mov al, byte [esi + 0x6b]
push eax
mov al, byte [esi + 0x6c]
push eax
push 0xffffffffffffffff
push 0
mov ecx, 0x42f620
mov dl, 1
xor eax, eax
call fcn.0042c118
cmp byte [esi + 0x6c], 0
je 0x42dcb2
cmp byte [esi + 0x6d], 0
je 0x42dc9d
push 0x42f644
push 0
mov ecx, 0x42f658
mov dl, 1
xor eax, eax
call fcn.0042bd34
jmp 0x42dcb2
push 0x42f674
push 0
mov ecx, 0x42f658
mov dl, 1
xor eax, eax
call fcn.0042bd34
cmp byte [0x442c5c], 0
je 0x42dcc1
cmp byte [esi + 0x6e], 0
jne 0x42dcd8
mov al, byte [esi + 0x6e]
push eax
push 0
mov ecx, 0x42f684
mov dl, 1
mov eax, 0x42f6a4
call fcn.0042bfb8
cmp byte [0x442c5c], 0
je 0x42dce7
cmp byte [esi + 0x70], 0
je 0x42dcfe
mov al, byte [esi + 0x70]
push eax
push 0
mov ecx, 0x42f6e0
mov dl, 1
mov eax, 0x42f704
call fcn.0042bfb8
cmp byte [esi + 0x6b], 0
je 0x42dd47
cmp dword [esi + 0x6e0], 0
je 0x42dd47
cmp dword [esi + 0x6e0], 0x1fe
je 0x42dd32
mov eax, dword [esi + 0x6e0]
push eax
push 0
mov ecx, 0x42f748
mov dl, 1
xor eax, eax
call fcn.0042be7c
jmp 0x42dd47
push 0x42f774
push 0
mov ecx, 0x42f748
mov dl, 1
xor eax, eax
call fcn.0042bd34
cmp byte [0x442c5c], 0
jne 0x42dd6a
mov al, byte [esi + 0x85]
push eax
push 0
mov ecx, 0x42f784
mov dl, 1
mov eax, 0x42f7a8
call fcn.0042bfb8
cmp byte [esi + 0x86], 0
je 0x42dda5
cmp byte [0x442c5c], 0
je 0x42dd85
cmp byte [esi + 0x87], 0
je 0x42dda5
mov al, byte [esi + 0x86]
push eax
mov al, byte [esi + 0x87]
push eax
push 0xffffffffffffffff
push 0
mov ecx, 0x42f7d0
mov dl, 1
xor eax, eax
call fcn.0042c118
cmp byte [0x442c5c], 0
je 0x42ddb4
cmp byte [esi + 0x71], 0
je 0x42ddcb
mov al, byte [esi + 0x71]
push eax
push 0
mov ecx, 0x42f7f8
mov dl, 1
mov eax, 0x42f814
call fcn.0042bfb8
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042bc38
push 0
mov ecx, 0x42f84c
xor edx, edx
xor eax, eax
call fcn.0042bc38
mov bl, 9
lea edi, [ebp - 0x64]
call fcn.00408a60
mov dword [edi], eax
add edi, 4
dec bl
jne 0x42dded
mov eax, dword [ebp - 0x64]
mov edx, 0x42f860
call fcn.0040c2d8
mov eax, dword [ebp - 0x60]
mov edx, 0x42f86c
call fcn.0040c2d8
mov eax, dword [ebp - 0x5c]
mov edx, 0x42f87c
call fcn.0040c2d8
mov eax, dword [ebp - 0x58]
mov edx, 0x42f88c
call fcn.0040c2d8
mov eax, dword [ebp - 0x54]
mov edx, 0x42f89c
call fcn.0040c2d8
mov eax, dword [ebp - 0x50]
mov edx, 0x42f8ac
call fcn.0040c2d8
mov eax, dword [ebp - 0x4c]
mov edx, 0x42f8bc
call fcn.0040c2d8
mov eax, dword [ebp - 0x48]
mov edx, 0x42f8d0
call fcn.0040c2d8
mov eax, dword [ebp - 0x44]
mov edx, 0x42f8e4
call fcn.0040c2d8
mov al, byte [esi + 0x2aa]
dec eax
test al, al
jb 0x42e194
inc eax
mov byte [ebp - 0x29], al
mov bl, 0
lea edx, [ebp - 0xdc]
xor eax, eax
mov al, bl
lea edi, [eax + eax*2]
xor eax, eax
mov al, byte [esi + edi*4 + 0x2ad]
call fcn.0040623c
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x64]
call fcn.0040c2d8
lea ecx, [ebp - 0xe0]
mov dl, byte [esi + edi*4 + 0x2ad]
mov eax, esi
call fcn.00421eb8
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x60]
call fcn.0040c2d8
test byte [esi + edi*4 + 0x2ae], 1
je 0x42dee9
lea eax, [ebp - 0x1c]
mov edx, 0x42f8f4
call fcn.00403ba4
jmp 0x42def6
lea eax, [ebp - 0x1c]
mov edx, 0x42f900
call fcn.00403ba4
xor eax, eax
mov al, bl
lea eax, [eax + eax*2]
test byte [esi + eax*4 + 0x2ae], 2
je 0x42df16
lea eax, [ebp - 0x1c]
mov edx, 0x42f90c
call fcn.00403db0
jmp 0x42df23
lea eax, [ebp - 0x1c]
mov edx, 0x42f900
call fcn.00403db0
xor eax, eax
mov al, bl
lea eax, [eax + eax*2]
test byte [esi + eax*4 + 0x2ae], 4
je 0x42df43
lea eax, [ebp - 0x1c]
mov edx, 0x42f918
call fcn.00403db0
jmp 0x42df50
lea eax, [ebp - 0x1c]
mov edx, 0x42f900
call fcn.00403db0
xor eax, eax
mov al, bl
lea eax, [eax + eax*2]
test byte [esi + eax*4 + 0x2ae], 8
je 0x42df70
lea eax, [ebp - 0x1c]
mov edx, 0x42f924
call fcn.00403db0
jmp 0x42df7d
lea eax, [ebp - 0x1c]
mov edx, 0x42f900
call fcn.00403db0
xor eax, eax
mov al, bl
lea eax, [eax + eax*2]
test byte [esi + eax*4 + 0x2ae], 0x10
je 0x42df9d
lea eax, [ebp - 0x1c]
mov edx, 0x42f930
call fcn.00403db0
jmp 0x42dfaa
lea eax, [ebp - 0x1c]
mov edx, 0x42f900
call fcn.00403db0
xor eax, eax
mov al, bl
lea eax, [eax + eax*2]
test byte [esi + eax*4 + 0x2ae], 0x20
je 0x42dfca
lea eax, [ebp - 0x1c]
mov edx, 0x42f93c
call fcn.00403db0
jmp 0x42dfd7
lea eax, [ebp - 0x1c]
mov edx, 0x42f900
call fcn.00403db0
lea eax, [ebp - 0xe4]
mov ecx, 0x42ec8c
mov edx, dword [ebp - 0x1c]
call fcn.00403df4
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x5c]
call fcn.0040c2d8
lea edx, [ebp - 0xe8]
xor eax, eax
mov al, byte [esi + edi*4 + 0x2b0]
call fcn.0040623c
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0x58]
call fcn.0040c2d8
lea edx, [ebp - 0xec]
xor eax, eax
mov al, byte [esi + edi*4 + 0x2b1]
call fcn.0040623c
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp - 0x54]
call fcn.0040c2d8
lea edx, [ebp - 0xf0]
xor eax, eax
mov al, byte [esi + edi*4 + 0x4ae]
call fcn.0040623c
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x50]
call fcn.0040c2d8
lea eax, [esi + edi*4 + 0x2b2]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
lea eax, [esi + edi*4 + 0x2b6]
movzx eax, word [eax]
mov dword [ebp - 0x20], eax
lea edx, [ebp - 0xf4]
lea eax, [ebp - 0x24]
call fcn.004060ec
mov edx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x4c]
call fcn.0040c2d8
mov byte [ebp - 0x16], 0
mov byte [ebp - 0x15], 5
xor eax, eax
mov al, byte [ebp - 0x15]
xor edx, edx
mov dl, bl
lea edx, [edx + edx*2]
lea edx, [esi + edx*4]
cmp byte [edx + eax + 0x2b2], 0
je 0x42e0bc
mov al, byte [ebp - 0x15]
mov byte [ebp - 0x16], al
jmp 0x42e0c5
dec byte [ebp - 0x15]
cmp byte [ebp - 0x15], 0xff
jne 0x42e09b
lea eax, [ebp - 0x1c]
call fcn.00403b0c
mov al, byte [ebp - 0x16]
cmp al, 0
jb 0x42e115
mov byte [ebp - 0x15], al
xor eax, eax
mov al, byte [ebp - 0x15]
xor edx, edx
mov dl, bl
lea edx, [edx + edx*2]
lea edx, [esi + edx*4]
movzx eax, byte [edx + eax + 0x2b2]
lea ecx, [ebp - 0xf8]
mov edx, 2
call fcn.0040cbd0
mov edx, dword [ebp - 0xf8]
lea eax, [ebp - 0x1c]
call fcn.00403db0
dec byte [ebp - 0x15]
cmp byte [ebp - 0x15], 0xff
jne 0x42e0d7
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x1c]
call fcn.0040c2d8
mov edx, ebx
mov eax, esi
call fcn.00425668
cmp al, 1
je 0x42e13a
mov edx, ebx
mov eax, esi
call fcn.00425668
cmp al, 2
jne 0x42e149
lea eax, [ebp - 0x1c]
mov edx, 0x42f948
call fcn.00403ba4
jmp 0x42e17f
mov edx, ebx
mov eax, esi
call fcn.00425668
cmp al, 3
je 0x42e163
mov edx, ebx
mov eax, esi
call fcn.00425668
cmp al, 4
jne 0x42e172
lea eax, [ebp - 0x1c]
mov edx, 0x42f954
call fcn.00403ba4
jmp 0x42e17f
lea eax, [ebp - 0x1c]
mov edx, 0x42f900
call fcn.00403ba4
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x1c]
call fcn.0040c2d8
inc ebx
dec byte [ebp - 0x29]
jne 0x42de85
mov byte [ebp - 0x15], 0xf8
lea edi, [ebp - 0x48]
mov byte [ebp - 0x16], 0
mov al, byte [esi + 0x2aa]
test al, al
jb 0x42e1f9
inc eax
mov byte [ebp - 0x29], al
mov bl, 0
lea ecx, [ebp - 0xfc]
xor edx, edx
mov dl, bl
mov eax, dword [edi]
call fcn.0040c344
mov eax, dword [ebp - 0xfc]
call fcn.00403da8
xor edx, edx
mov dl, byte [ebp - 0x16]
cmp eax, edx
jle 0x42e1f3
lea ecx, [ebp - 0x100]
xor edx, edx
mov dl, bl
mov eax, dword [edi]
call fcn.0040c344
mov eax, dword [ebp - 0x100]
call fcn.00403da8
mov byte [ebp - 0x16], al
inc ebx
dec byte [ebp - 0x29]
jne 0x42e1af
mov al, byte [esi + 0x2aa]
test al, al
jb 0x42e27a
inc eax
mov byte [ebp - 0x29], al
mov bl, 0
lea ecx, [ebp - 0x108]
xor edx, edx
mov dl, bl
mov eax, dword [edi]
call fcn.0040c344
mov eax, dword [ebp - 0x108]
call fcn.00403da8
xor edx, edx
mov dl, byte [ebp - 0x16]
sub edx, eax
inc edx
lea ecx, [ebp - 0x104]
mov eax, 0x42ec8c
call fcn.00406400
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x10c]
xor edx, edx
mov dl, bl
mov eax, dword [edi + 4]
call fcn.0040c344
mov edx, dword [ebp - 0x10c]
pop eax
call fcn.00403db0
mov ecx, dword [ebp - 0x104]
xor edx, edx
mov dl, bl
mov eax, dword [edi + 4]
call fcn.0040c39c
inc ebx
dec byte [ebp - 0x29]
jne 0x42e209
sub edi, 4
inc byte [ebp - 0x15]
jne 0x42e19b
mov al, byte [esi + 0x2aa]
test al, al
jb 0x42e3bb
inc eax
mov byte [ebp - 0x29], al
mov bl, 0
lea ecx, [ebp - 0x110]
mov edi, ebx
and edi, 0xff
mov edx, edi
mov eax, dword [ebp - 0x64]
call fcn.0040c344
push dword [ebp - 0x110]
lea ecx, [ebp - 0x114]
mov edx, edi
mov eax, dword [ebp - 0x60]
call fcn.0040c344
push dword [ebp - 0x114]
lea ecx, [ebp - 0x118]
mov edx, edi
mov eax, dword [ebp - 0x5c]
call fcn.0040c344
push dword [ebp - 0x118]
lea ecx, [ebp - 0x11c]
mov edx, edi
mov eax, dword [ebp - 0x58]
call fcn.0040c344
push dword [ebp - 0x11c]
lea ecx, [ebp - 0x120]
mov edx, edi
mov eax, dword [ebp - 0x54]
call fcn.0040c344
push dword [ebp - 0x120]
lea ecx, [ebp - 0x124]
mov edx, edi
mov eax, dword [ebp - 0x50]
call fcn.0040c344
push dword [ebp - 0x124]
lea ecx, [ebp - 0x128]
mov edx, edi
mov eax, dword [ebp - 0x4c]
call fcn.0040c344
push dword [ebp - 0x128]
lea ecx, [ebp - 0x12c]
mov edx, edi
mov eax, dword [ebp - 0x48]
call fcn.0040c344
push dword [ebp - 0x12c]
lea eax, [ebp - 0x1c]
mov edx, 8
call fcn.00403e68
cmp byte [esi + 0xa4], 0
jne 0x42e383
cmp byte [esi + 0xa5], 0
jne 0x42e383
cmp byte [esi + 0xa7], 0
jne 0x42e383
cmp byte [esi + 0xa8], 0
je 0x42e3a3
lea ecx, [ebp - 0x130]
xor edx, edx
mov dl, bl
mov eax, dword [ebp - 0x44]
call fcn.0040c344
mov edx, dword [ebp - 0x130]
lea eax, [ebp - 0x1c]
call fcn.00403db0
push 0
mov ecx, dword [ebp - 0x1c]
mov dl, 1
xor eax, eax
call fcn.0042bc38
inc ebx
dec byte [ebp - 0x29]
jne 0x42e29a
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042bc38
push 0
mov ecx, 0x42f964
mov dl, 1
xor eax, eax
call fcn.0042bc38
push 0
mov ecx, 0x42f9b8
mov dl, 1
xor eax, eax
call fcn.0042bc38
mov bl, 9
lea edi, [ebp - 0x64]
mov eax, dword [edi]
call fcn.0040a220
add edi, 4
dec bl
jne 0x42e3ed
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042bc38
push 0
mov ecx, 0x42f9f8
xor edx, edx
xor eax, eax
call fcn.0042bc38
mov eax, dword [esi + 0x34]
push eax
push 0
mov ecx, 0x42fa08
mov dl, 1
mov eax, 0x42fa20
call fcn.0042bd34
cmp byte [esi + 0x714], 0
jne 0x42e4a2
cmp byte [esi + 0x32], 0
je 0x42e4a2
cmp byte [esi + 0x31], 0
je 0x42e45b
push 0x42fa54
push 0
mov ecx, 0x42fa68
mov dl, 1
xor eax, eax
call fcn.0042bd34
jmp 0x42e470
push 0x42fa84
push 0
mov ecx, 0x42fa68
mov dl, 1
xor eax, eax
call fcn.0042bd34
cmp byte [esi + 0x30], 0
je 0x42e48d
push 0x42fa94
push 0
mov ecx, 0x42faa4
mov dl, 1
xor eax, eax
call fcn.0042bd34
jmp 0x42e4a2
push 0x42fac0
push 0
mov ecx, 0x42faa4
mov dl, 1
xor eax, eax
call fcn.0042bd34
cmp dword [esi + 0x6ec], 0
je 0x42e4c5
mov eax, dword [esi + 0x6ec]
push eax
push 0
mov ecx, 0x42fad0
mov dl, 1
mov eax, 0x42fae8
call fcn.0042bd34
cmp byte [esi + 0x70b], 0
je 0x42e514
push 0
mov ecx, 0x42fb24
mov dl, 1
xor eax, eax
call fcn.0042bc38
push 1
mov ecx, 0x42fb3c
xor edx, edx
mov eax, 0x42fb48
call fcn.0042bc38
cmp byte [0x442c64], 0
je 0x42e514
mov al, byte [esi + 0x70c]
push eax
push 0
mov ecx, 0x42fb74
mov dl, 1
mov eax, 0x42fb84
call fcn.0042bfb8
lea edx, [ebp - 0x134]
lea eax, [esi + 0x94]
call fcn.0040e4ec
mov eax, dword [ebp - 0x134]
push eax
push 0
mov ecx, 0x42fbbc
mov dl, 1
xor eax, eax
call fcn.0042bd34
mov al, byte [0x442c64]
and al, byte [0x442c5c]
je 0x42e575
cmp dword [esi + 0x704], 0
je 0x42e575
mov edx, 0x42e94c
lea eax, [ebp - 0x138]
mov ecx, dword [esi + 0x704]
call fcn.00403df4
mov eax, dword [ebp - 0x138]
xor edx, edx
call fcn.0042cd0c
mov al, byte [0x442b6c]
dec eax
and eax, 0xff
cmp eax, dword [ebp - 0x10]
je 0x42e5b1
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042bc38
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042bc38
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042bc38
jmp 0x42e64e
cmp byte [0x442c64], 0
je 0x42e64e
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042bc38
mov eax, dword [0x4429ec]
push eax
push 0
mov ecx, 0x42fbd8
xor edx, edx
xor eax, eax
call fcn.0042bd34
mov eax, dword [0x442914]
push eax
push 0
mov ecx, 0x42fbf0
xor edx, edx
xor eax, eax
call fcn.0042bd34
cmp byte [0x442c5c], 0
je 0x42e619
cmp byte [0x442c34], 0
je 0x42e619
push 0
mov ecx, 0x42fc0c
xor edx, edx
xor eax, eax
call fcn.0042bc38
cmp byte [0x442c5c], 0
je 0x42e64e
cmp dword [0x442bc4], 0
je 0x42e64e
mov edx, 0x42e94c
lea eax, [ebp - 0x13c]
mov ecx, dword [0x442bc4]
call fcn.00403df4
mov eax, dword [ebp - 0x13c]
xor edx, edx
call fcn.0042cd0c
inc dword [ebp - 0x10]
add dword [ebp - 0x30], 4
dec dword [ebp - 0x28]
jne 0x42cfc6
cmp byte [0x442c5c], 0
je 0x42e66c
call fcn.0042c5f0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
call fcn.00408c9c
push 0x42fc30
push dword [0x442c60]
push 0x42fc60
lea eax, [ebp - 0x140]
mov edx, 3
call fcn.00403e68
mov eax, dword [ebp - 0x140]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
xor ecx, ecx
xor edx, edx
call fcn.00409894
call fcn.00408a60
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x144]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
xor ecx, ecx
mov dl, 1
call fcn.00409754
mov edx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x14]
call fcn.00408b6c
xor ebx, ebx
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x1c]
dec eax
test eax, eax
jb 0x42e745
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
call fcn.00408a84
mov edx, eax
lea eax, [ebp - 0x148]
call fcn.00403ce8
mov eax, dword [ebp - 0x148]
call fcn.00403da8
cmp ebx, eax
jge 0x42e73d
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
call fcn.00408a84
mov edx, eax
lea eax, [ebp - 0x14c]
call fcn.00403ce8
mov eax, dword [ebp - 0x14c]
call fcn.00403da8
mov ebx, eax
inc dword [ebp - 0x10]
dec dword [ebp - 0x28]
jne 0x42e6f1
cmp ebx, 0x26
jge 0x42e74f
mov ebx, 0x26
lea eax, [ebp - 0x40]
call fcn.00409d70
push 2
call sub.user32.dll_GetSystemMetrics
mov edx, eax
mov eax, ebx
shl eax, 3
add eax, 0x10
add edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040bee0
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax + 0x1c]
shl ebx, 4
add ebx, 0xd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
mov edx, ebx
call fcn.0040bad0
lea edx, [ebx + 0x5f]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040bec0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040bac4
cmp eax, dword [ebp - 0x34]
jle 0x42e7e1
mov eax, dword [ebp - 0x34]
add eax, eax
mov ecx, 3
cdq
idiv ecx
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
call fcn.0040bad0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
call fcn.0040bac4
mov edx, eax
add edx, 0x5f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040bec0
push 0xfffffffffffffff0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0x1c]
push eax
call sub.user32.dll_GetWindowLongA
test eax, 0x200000
jne 0x42e81a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040beac
push eax
push 2
call sub.user32.dll_GetSystemMetrics
pop edx
sub edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040bee0
push ebp
call fcn.0042cddc
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040ba9c
mov edx, dword [ebp - 0x38]
sub edx, eax
sar edx, 1
jns 0x42e838
adc edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040ba48
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040bac4
mov edx, dword [ebp - 0x34]
sub edx, eax
sar edx, 1
jns 0x42e85a
adc edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040ba78
mov eax, dword [ebp - 0x14]
call fcn.0040a220
cmp byte [0x442c5c], 0
jne 0x42e881
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040b85c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x42e8be
lea eax, [ebp - 0x14c]
mov edx, 0x26
call fcn.00403b30
lea eax, [ebp - 0xa4]
mov edx, 0x10
call fcn.00403b30
lea eax, [ebp - 0x1c]
call fcn.00403b0c
ret