Function at 0x4214c0
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x5c9fc1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1f0
push ebx
push ebp
push esi
push edi
mov ebx, ecx
mov esi, 1
xor ebp, ebp
xor edi, edi
push 0x63df70
lea ecx, [esp + 0x1c]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], edi
mov dword [esp + 0x4c], ebp
call fcn.005980a0
mov eax, dword [0x64a680]
mov dword [esp + 0x208], ebp
cmp eax, esi
mov dword [esp + 0x24], esi
jle 0x421c80
mov eax, dword [0x64a684]
mov ecx, dword [eax + esi*4]
mov cl, byte [ecx]
cmp cl, 0x2f
je 0x4215d1
cmp cl, 0x2d
je 0x4215d1
mov edx, dword [eax + esi*4 - 4]
lea ecx, [esp + 0x28]
inc edx
push edx
call fcn.005980a0
lea ecx, [esp + 0x28]
mov byte [esp + 0x208], 1
call fcn.00598566
mov eax, dword [esp + 0x28]
push str.save
push eax
call fcn.004f59f0
add esp, 8
test eax, eax
je 0x4215bb
mov ecx, dword [esp + 0x28]
push str.open
push ecx
call fcn.004f59f0
add esp, 8
test eax, eax
je 0x4215bb
cmp edi, ebp
je 0x4215a5
mov edx, dword [0x64a684]
mov ecx, ebx
mov eax, dword [edx + esi*4]
push eax
call fcn.004213a0
test eax, eax
jne 0x421cc3
lea ecx, [esp + 0x28]
mov byte [esp + 0x208], 0
call fcn.00598032
jmp 0x421c5a
lea ecx, [esp + 0x28]
mov byte [esp + 0x208], 0
call fcn.00598032
mov eax, dword [0x64a684]
mov ecx, dword [eax + esi*4]
inc ecx
push ecx
lea ecx, [esp + 0x18]
call fcn.005980a0
lea ecx, [esp + 0x14]
mov byte [esp + 0x208], 2
call fcn.00598566
mov edx, dword [esp + 0x14]
push str.hidden
push edx
call fcn.004f59f0
add esp, 8
test eax, eax
jne 0x42161e
mov dword [ebx + 0x74], ebp
mov dword [ebx + 0x570], 1
mov dword [0x63f9c8], ebp
jmp 0x421c41
push str.defprn:
lea ecx, [esp + 0x18]
call fcn.0058f6e2
test eax, eax
jne 0x421644
mov eax, dword [esp + 0x14]
mov ecx, ebx
add eax, 7
push eax
call fcn.00421110
jmp 0x421c41
mov ecx, dword [esp + 0x14]
push str.ddesrv
push ecx
call fcn.004f59f0
add esp, 8
test eax, eax
je 0x421c39
mov edx, dword [esp + 0x14]
push str.onewin
push edx
call fcn.004f59f0
add esp, 8
test eax, eax
je 0x421c39
cmp edi, ebp
je 0x4216aa
push str.open:
lea ecx, [esp + 0x18]
call fcn.0058f6e2
test eax, eax
jne 0x4216aa
mov eax, dword [esp + 0x14]
mov ecx, ebx
add eax, 5
push eax
call fcn.004213a0
test eax, eax
jne 0x421cd6
jmp 0x421c41
push str.save
lea ecx, [esp + 0x18]
call fcn.0058f6e2
test eax, eax
jne 0x421b23
mov dword [ebx + 0x74], ebp
mov dword [ebx + 0x570], 1
mov ecx, dword [0x64a684]
mov eax, dword [ecx + esi*4 + 4]
cmp eax, ebp
je 0x421c41
mov al, byte [eax]
cmp al, 0x2d
je 0x421c41
cmp al, 0x2f
je 0x421c41
mov ecx, dword [ecx + esi*4 + 4]
push ecx
lea ecx, [esp + 0x1c]
call fcn.005981bb
mov edx, dword [0x63094c]
mov dword [esp + 0x10], edx
push 0x61f0d0
lea ecx, [esp + 0x18]
mov byte [esp + 0x20c], 3
call fcn.0058f6e2
test eax, eax
jle 0x4217f7
mov eax, dword [str..bmp]
xor edi, edi
cmp eax, ebp
je 0x421896
mov eax, 0x621270
mov esi, eax
mov eax, dword [eax]
lea ecx, [esp + 0x64]
inc eax
push eax
call fcn.005980a0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x20c], 4
call fcn.0059816b
lea ecx, [esp + 0x64]
mov byte [esp + 0x208], 3
call fcn.00598032
lea ecx, [esp + 0x10]
lea edx, [esp + 0x6c]
push ecx
push 0x61f0d0
push edx
call fcn.0059833b
mov eax, dword [eax]
lea ecx, [esp + 0x14]
push eax
mov byte [esp + 0x20c], 5
call fcn.0058f6e2
test eax, eax
lea ecx, [esp + 0x6c]
mov byte [esp + 0x208], 3
setg bl
call fcn.00598032
test bl, bl
jne 0x4217d3
push 0x63df70
lea ecx, [esp + 0x14]
call fcn.005981bb
mov ecx, dword [esi + 4]
add esi, 4
inc edi
cmp ecx, ebp
mov eax, esi
jne 0x42173d
jmp 0x421896
lea eax, [edi + edi*2]
shl eax, 3
sub eax, edi
mov ecx, dword [eax*8 + 0x6212e4]
mov dword [0x63f878], ecx
mov ecx, 0x63f860
call fcn.0043db00
jmp 0x421896
lea edx, [esp + 0x18]
lea ecx, [esp + 0x34]
push edx
call fcn.00597da7
lea ecx, [esp + 0x34]
mov byte [esp + 0x208], 6
call fcn.00598566
mov eax, dword [esp + 0x34]
xor ebx, ebx
mov ebp, dword [eax - 8]
mov eax, dword [str..bmp]
test eax, eax
je 0x421883
mov eax, 0x621270
mov esi, eax
mov ecx, dword [eax]
push ecx
lea ecx, [esp + 0x38]
call fcn.0058f6e2
mov edx, eax
test edx, edx
jle 0x421855
mov edi, dword [esi]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, ebp
sub eax, ecx
cmp edx, eax
je 0x421864
mov ecx, dword [esi + 4]
add esi, 4
inc ebx
mov eax, esi
test ecx, ecx
jne 0x42182f
jmp 0x421883
lea ecx, [ebx + ebx*2]
shl ecx, 3
sub ecx, ebx
mov edx, dword [ecx*8 + 0x6212e4]
mov ecx, 0x63f860
mov dword [0x63f878], edx
call fcn.0043db00
lea ecx, [esp + 0x34]
mov byte [esp + 0x208], 3
call fcn.00598032
xor ebp, ebp
mov eax, dword [0x63f878]
mov dword [0x63f864], ebp
cmp eax, 2
mov dword [0x63f860], ebp
jne 0x4218be
mov dword [0x63f86c], ebp
mov dword [0x63f870], 1
jmp 0x4218ce
mov dword [0x63f86c], 1
mov dword [0x63f870], ebp
push 0x61f0cc
lea ecx, [esp + 0x18]
call fcn.0058f6e2
cmp eax, ebp
jle 0x421932
add eax, 2
lea ecx, [esp + 0x14]
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.0058f4e8
mov eax, dword [eax]
push eax
call fcn.004f66ae
add esp, 4
lea ecx, [esp + 0x68]
mov esi, eax
call fcn.00598032
cmp esi, 1
je 0x421926
cmp esi, 4
je 0x421926
cmp esi, 8
je 0x421926
cmp esi, 0x10
je 0x421926
cmp esi, 0x18
je 0x421926
cmp esi, 0x20
jne 0x421932
mov dword [0x63f88c], esi
mov dword [0x63f86c], ebp
push 0x61f0c8
lea ecx, [esp + 0x18]
call fcn.0058f6e2
test eax, eax
jg 0x4219ba
push 0x61f0c4
lea ecx, [esp + 0x18]
call fcn.0058f6e2
test eax, eax
jg 0x4219ba
lea ecx, [esp + 0x38]
push 2
push ecx
lea ecx, [esp + 0x1c]
call fcn.0058f5a1
mov eax, dword [eax]
push 0x61f0c0
push eax
call fcn.004f59f0
add esp, 8
lea ecx, [esp + 0x38]
test eax, eax
sete bl
call fcn.00598032
test bl, bl
jne 0x4219ba
lea edx, [esp + 0x44]
push 2
push edx
lea ecx, [esp + 0x1c]
call fcn.0058f5a1
mov eax, dword [eax]
push 0x61f0bc
push eax
call fcn.004f59f0
add esp, 8
lea ecx, [esp + 0x44]
test eax, eax
sete bl
call fcn.00598032
test bl, bl
je 0x4219c4
mov dword [0x63f864], 1
push 0x61f0b8
lea ecx, [esp + 0x18]
call fcn.0058f6e2
test eax, eax
jle 0x4219e0
mov dword [0x63f860], 1
push 0x61f0b4
lea ecx, [esp + 0x18]
call fcn.0058f6e2
cmp eax, ebp
jle 0x421a41
add eax, 2
lea ecx, [esp + 0x14]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.0058f4e8
mov eax, dword [eax]
push eax
call fcn.004f66ae
mov esi, eax
add esp, 4
lea ecx, [esp + 0x4c]
mov dword [esp + 0x1c], esi
call fcn.00598032
cmp esi, ebp
jle 0x421a41
cmp esi, 0x64
jg 0x421a41
fild dword [esp + 0x1c]
fmul qword [0x5df0d0]
fsubr qword [0x5df0c8]
call fcn.004f6200
mov dword [0x63f888], eax
mov ecx, dword [esp + 0x18]
cmp dword [ecx - 8], ebp
je 0x421af4
mov edx, dword [esp + 0x10]
cmp dword [edx - 8], ebp
je 0x421af4
push 0x2e
lea ecx, [esp + 0x1c]
call fcn.0058f6c0
mov esi, eax
cmp esi, 0xffffffff
jle 0x421abd
push 0x5c
lea ecx, [esp + 0x1c]
call fcn.0058f6c0
cmp esi, eax
jle 0x421abd
push 0x2f
lea ecx, [esp + 0x1c]
call fcn.0058f6c0
cmp esi, eax
jle 0x421abd
lea eax, [esp + 0x60]
push esi
push eax
lea ecx, [esp + 0x20]
call fcn.0058f61d
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x20c], 7
call fcn.0059816b
lea ecx, [esp + 0x60]
mov byte [esp + 0x208], 3
call fcn.00598032
lea ecx, [esp + 0x10]
lea edx, [esp + 0x54]
push ecx
push 0x61ea1c
push edx
call fcn.0059833b
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x20c], 8
call fcn.0059844a
lea ecx, [esp + 0x54]
mov byte [esp + 0x208], 3
call fcn.00598032
cmp dword [esp + 0x48], ebp
je 0x421b09
lea eax, [esp + 0x18]
mov ecx, 0x63dfdc
push eax
call fcn.0059816b
lea ecx, [esp + 0x10]
mov byte [esp + 0x208], 2
call fcn.00598032
mov ebx, dword [esp + 0x20]
jmp 0x421c41
push str.quicksave
lea ecx, [esp + 0x18]
call fcn.0058f6e2
test eax, eax
jne 0x421c1b
mov edi, dword [esp + 0x14]
or ecx, 0xffffffff
mov dword [0x63dffc], 1
lea edx, [esp + 0x70]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x61f0a4
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x74]
push ecx
call fcn.004f7044
push 0x61f0a4
push ebp
call fcn.004f7044
add esp, 0x10
cmp eax, ebp
je 0x421b95
push eax
call fcn.004f66ae
add esp, 4
mov dword [0x63e000], eax
push 0x61f0a4
push ebp
call fcn.004f7044
add esp, 8
cmp eax, ebp
je 0x421bd5
push eax
call fcn.004f66ae
add esp, 4
cmp eax, ebp
mov dword [0x61d9e8], eax
jne 0x421bcb
mov dword [0x61d9e0], ebp
mov dword [0x61d9e8], 1
jmp 0x421bd5
mov dword [0x61d9e0], 1
push 0x61f0a4
push ebp
call fcn.004f7044
add esp, 8
cmp eax, ebp
je 0x421bf5
push eax
call fcn.004f66ae
add esp, 4
mov dword [0x61d9ec], eax
mov eax, dword [ebx + 0x570]
mov dword [esp + 0x48], 1
cmp eax, ebp
je 0x421c41
cmp dword [0x61d9ec], ebp
je 0x421c41
mov dword [0x63e004], 1
jmp 0x421c41
push str.fixed_title
lea ecx, [esp + 0x18]
call fcn.0058f6e2
test eax, eax
jne 0x421c41
mov dword [ebx + 0x574], 1
jmp 0x421c41
mov dword [esp + 0x30], 1
lea ecx, [esp + 0x14]
mov byte [esp + 0x208], 0
call fcn.00598032
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x24]
mov eax, dword [0x64a680]
inc esi
cmp esi, eax
mov dword [esp + 0x24], esi
jl 0x421520
cmp edi, ebp
je 0x421c80
push 0x63df70
mov ecx, ebx
call fcn.004213a0
test eax, eax
jne 0x421ca8
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x210]
mov esi, dword [0x63e6f8]
push edx
mov ebp, dword [ecx + 0x1c]
mov dword [0x63e6f8], 1
call fcn.005b2f01
test eax, eax
jne 0x421ce9
lea ecx, [esp + 0x18]
mov dword [esp + 0x208], 0xffffffff
call fcn.00598032
xor eax, eax
jmp 0x42285d
lea ecx, [esp + 0x28]
mov byte [esp + 0x208], 0
call fcn.00598032
jmp 0x421ca8
lea ecx, [esp + 0x14]
mov byte [esp + 0x208], 0
call fcn.00598032
jmp 0x421ca8
mov eax, dword [0x63094c]
mov dword [0x63e6f8], esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x58], eax
lea eax, [esp + 0x5c]
push 0xaf
push eax
mov byte [esp + 0x210], 0xa
call fcn.004b9db0
lea ecx, [esp + 0x58]
push 0x3e86
push ecx
mov byte [esp + 0x218], 0xb
call fcn.004b9db0
add esp, 0x10
lea esi, [ebp + 0x1380]
lea edx, [esp + 0x58]
push edx
mov ecx, esi
mov byte [esp + 0x20c], 0xc
call fcn.005943d1
lea edi, [ebp + 0xccc]
lea eax, [esp + 0x40]
push eax
mov ecx, edi
call fcn.005943d1
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x40]
push ecx
push edx
call fcn.004f59f0
add esp, 8
test eax, eax
jne 0x421d85
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x58]
push eax
push ecx
call fcn.004f59f0
add esp, 8
test eax, eax
je 0x421da7
mov edx, dword [esp + 0x50]
mov ecx, esi
push edx
call fcn.00596b55
mov eax, dword [esp + 0x5c]
mov ecx, edi
push eax
call fcn.00596b55
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x13c]
mov eax, dword [0x64a680]
mov ebx, 1
cmp eax, ebx
mov dword [esp + 0x24], ebx
jle 0x422769
mov eax, dword [0x63094c]
mov dword [esp + 0x10], eax
mov ecx, dword [0x64a684]
mov byte [esp + 0x208], 0xd
mov edx, dword [ecx + ebx*4]
mov al, byte [edx]
cmp al, 0x2f
je 0x421e42
cmp al, 0x2d
je 0x421e42
mov eax, dword [ecx + ebx*4 - 4]
lea ecx, [esp + 0x10]
inc eax
push eax
call fcn.005981bb
lea ecx, [esp + 0x10]
call fcn.00598566
push str.save
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
je 0x421e3c
push str.open
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
je 0x421e3c
mov ecx, dword [0x64a684]
mov esi, dword [ecx + ebx*4]
push 2
mov ecx, ebp
call fcn.0042c530
mov edx, dword [eax]
push esi
mov ecx, eax
call dword [edx + 0x74]
jmp 0x422746
mov ecx, dword [0x64a684]
mov eax, dword [ecx + ebx*4]
lea ecx, [esp + 0x10]
inc eax
push eax
call fcn.005981bb
lea ecx, [esp + 0x10]
call fcn.00598566
push 0x61f094
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
je 0x422700
push 0x61f090
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
je 0x422700
push str.snap
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jne 0x4220c6
mov dword [esp + 0x30], eax
mov eax, dword [0x63e6f4]
test eax, eax
je 0x421eaf
push eax
call dword [sym.imp.user32.dll_SetForegroundWindow]
push str.snapi
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jne 0x421ef9
lea ecx, [esp + 0x54]
push 5
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x38], 1
call fcn.0058f4e8
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x20c], 0xe
call fcn.0059816b
mov byte [esp + 0x208], 0xd
lea ecx, [esp + 0x54]
jmp 0x421f27
lea edx, [esp + 0x60]
push 4
push edx
lea ecx, [esp + 0x18]
call fcn.0058f4e8
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x20c], 0xf
call fcn.0059816b
mov byte [esp + 0x208], 0xd
lea ecx, [esp + 0x60]
call fcn.00598032
mov eax, dword [esp + 0x10]
push 0x63df70
push eax
call fcn.004f59f0
add esp, 8
test eax, eax
jne 0x421f4e
mov ecx, ebp
call fcn.0042dac0
jmp 0x42209f
push str.:window
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jne 0x421f6c
mov ecx, ebp
call fcn.0042dc70
jmp 0x42209f
push str.:region
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jne 0x421f8a
mov ecx, ebp
call fcn.0042dc10
jmp 0x42209f
push str.:mreg
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jne 0x421fa8
mov ecx, ebp
call fcn.0042dce0
jmp 0x42209f
push str.:awin
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jne 0x421fc6
mov ecx, ebp
call fcn.0042dbb0
jmp 0x42209f
push str.:acli
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jne 0x421fe4
mov ecx, ebp
call fcn.0042dbe0
jmp 0x42209f
push 0x61f0d0
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jne 0x42209f
push 0x61f054
lea ecx, [esp + 0x14]
call fcn.0058f6e2
mov ecx, dword [esp + 0x10]
lea edx, [eax + ecx + 2]
push edx
call fcn.004f66ae
add esp, 4
lea ecx, [esp + 0x10]
mov esi, eax
push 0x61f050
call fcn.0058f6e2
mov ecx, dword [esp + 0x10]
lea edx, [eax + ecx + 2]
push edx
call fcn.004f66ae
add esp, 4
lea ecx, [esp + 0x10]
mov edi, eax
push 0x61f04c
call fcn.0058f6e2
mov ecx, dword [esp + 0x10]
lea edx, [eax + ecx + 2]
push edx
call fcn.004f66ae
add esp, 4
lea ecx, [esp + 0x10]
mov ebx, eax
push 0x61f048
call fcn.0058f6e2
mov ecx, dword [esp + 0x10]
lea edx, [eax + ecx + 2]
push edx
call fcn.004f66ae
add esp, 4
lea ecx, [ebp + 0xb40]
push eax
push ebx
push edi
push esi
call fcn.00407020
test eax, eax
je 0x42209b
push 0
push 0
push eax
mov ecx, ebp
call fcn.004303c0
mov ebx, dword [esp + 0x24]
mov ecx, ebp
call fcn.0042c4e0
test eax, eax
je 0x422746
mov eax, dword [esp + 0x30]
test eax, eax
je 0x422746
mov ecx, ebp
call fcn.00431dc0
jmp 0x422746
push str.exit
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jne 0x4220e1
mov dword [esp + 0x2c], eax
jmp 0x422746
push str.open:
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jne 0x4220ff
mov eax, dword [esp + 0x10]
lea esi, [eax + 5]
jmp 0x421e26
mov eax, dword [esp + 0x10]
push str.open
push eax
call fcn.004f59f0
add esp, 8
test eax, eax
jne 0x42213a
mov ecx, dword [0x64a680]
dec ecx
cmp ebx, ecx
jge 0x42213a
mov ecx, dword [0x64a684]
mov edx, dword [ecx + ebx*4 + 4]
mov al, byte [edx]
cmp al, 0x2f
je 0x42213a
cmp al, 0x2d
je 0x42213a
inc ebx
jmp 0x421e23
push str.colsubst
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jne 0x4221b4
mov eax, dword [0x61db28]
test eax, eax
jge 0x422161
call fcn.004147f0
mov eax, dword [0x61db28]
test eax, eax
jle 0x422746
mov eax, dword [0x63e064]
test eax, eax
je 0x422746
push 0
mov ecx, ebp
call fcn.0042c530
mov ecx, eax
call fcn.00424520
test eax, eax
je 0x422746
mov ecx, dword [0x63e074]
mov edx, dword [0x63e070]
push ecx
mov ecx, dword [0x63e064]
push edx
mov edx, dword [0x61db28]
push ecx
push edx
mov ecx, eax
call fcn.004eb0e0
jmp 0x422746
push str.scale:
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jne 0x422323
xor edi, edi
mov ecx, ebp
push edi
call fcn.0042c530
test eax, eax
je 0x422325
push edi
mov ecx, ebp
call fcn.0042c530
mov ecx, eax
call fcn.00424520
push str.scale:w
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.0058f6e2
test eax, eax
jne 0x422222
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 0x24]
add ecx, 7
mov dword [esp + 0x1c], eax
push ecx
call fcn.004f66b9
fmul qword [0x5dd948]
add esp, 4
fidiv dword [esp + 0x1c]
jmp 0x422267
push str.scale:h
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jne 0x422257
mov eax, dword [esp + 0x10]
mov edx, dword [esi + 0x28]
add eax, 7
mov dword [esp + 0x1c], edx
push eax
call fcn.004f66b9
fmul qword [0x5dd948]
add esp, 4
fidiv dword [esp + 0x1c]
jmp 0x422267
mov ecx, dword [esp + 0x10]
add ecx, 6
push ecx
call fcn.004f66b9
add esp, 4
fstp qword [esp + 0x38]
fld qword [esp + 0x38]
fcomp qword [0x5df0c0]
fnstsw ax
test ah, 1
jne 0x422746
fld qword [esp + 0x38]
fcomp qword [0x5dcf50]
fnstsw ax
test ah, 0x41
je 0x422746
mov eax, dword [esi + 0x448]
lea edx, [esi + 0x20]
push eax
lea eax, [esp + 0x17c]
push edx
push eax
call sub.ltkrn10n.dll_L_ConvertFromDIB
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
fild dword [esp + 0x1c]
fmul qword [esp + 0x38]
fmul qword [0x5dd958]
fadd qword [0x5dc8f0]
call fcn.004f6200
mov edx, dword [esi + 0x28]
mov edi, eax
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fmul qword [esp + 0x38]
fmul qword [0x5dd958]
fadd qword [0x5dc8f0]
call fcn.004f6200
push 2
push eax
lea eax, [esp + 0x180]
push edi
push eax
call sub.ltkrn10n.dll_L_SizeBitmap
lea ecx, [esp + 0x178]
push ecx
call sub.ltkrn10n.dll_L_ChangeToDIB
mov edi, eax
mov ecx, esi
push edi
call fcn.004e5e70
push edi
call dword [sym.imp.kernel32.dll_GlobalFree]
jmp 0x422746
xor edi, edi
push str.stamp
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jne 0x422397
push edi
mov ecx, ebp
call fcn.0042c530
test eax, eax
je 0x422397
mov edx, dword [0x64a680]
dec edx
cmp ebx, edx
jge 0x422397
mov eax, dword [0x64a684]
mov ecx, dword [eax + ebx*4 + 4]
mov al, byte [ecx]
cmp al, 0x2f
je 0x422397
cmp al, 0x2d
je 0x422397
push edi
mov ecx, ebp
call fcn.0042c530
mov ecx, eax
call fcn.00424520
cmp eax, edi
je 0x422746
mov edx, dword [0x64a684]
inc ebx
mov ecx, ebp
mov eax, dword [edx + ebx*4]
push eax
push edi
call fcn.0042c530
mov ecx, eax
call fcn.00426460
jmp 0x422746
push str.invertbw
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jne 0x4223d1
push edi
mov ecx, ebp
call fcn.0042c530
mov ecx, eax
call fcn.00424520
cmp eax, edi
je 0x422746
push 1
push edi
push eax
call fcn.00442ee0
add esp, 0xc
jmp 0x422746
push str.convertbw
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jne 0x42240b
push edi
mov ecx, ebp
call fcn.0042c530
mov ecx, eax
call fcn.00424520
cmp eax, edi
je 0x422746
push edi
push 1
push eax
call fcn.00442ee0
add esp, 0xc
jmp 0x422746
push str.print
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jne 0x4225e6
push 0x61eff0
lea ecx, [esp + 0x14]
mov dword [0x6235e8], edi
mov dword [0x623624], edi
mov dword [0x6235ec], edi
mov dword [0x6235f0], edi
mov dword [0x623628], edi
mov dword [0x623630], eax
mov dword [0x623634], 0x40590000
mov esi, 1
call fcn.0058f6e2
test eax, eax
jle 0x42246a
mov esi, 2
push str.:inv
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jle 0x422486
mov dword [0x6235e8], 1
push 0x61efe4
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jle 0x4224a2
mov dword [0x6235ec], 1
push 0x61efe0
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jle 0x4224be
mov dword [0x6235f0], 1
push 0x61efdc
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jle 0x4224dc
mov dword [0x623628], 1
jmp 0x422504
push 0x61efd8
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jle 0x422504
mov eax, dword [esp + 0x10]
add eax, 7
push eax
call fcn.004f66b9
fstp qword [0x623630]
add esp, 4
push edi
push 0x400
push edi
lea ecx, [esp + 0x7c]
call fcn.0058fe67
mov edi, dword [esp + 0x20]
mov byte [esp + 0x208], 0x10
mov eax, dword [edi + 0x94]
test eax, eax
je 0x422534
mov ecx, dword [esp + 0xcc]
mov dword [ecx + 8], eax
mov eax, dword [edi + 0x98]
test eax, eax
je 0x422548
mov edx, dword [esp + 0xcc]
mov dword [edx + 0xc], eax
lea ecx, [esp + 0x70]
call fcn.0058ffb8
lea ecx, [esp + 0x70]
call fcn.00590005
test eax, eax
je 0x42258b
mov word [eax + 0x2c], si
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax + 8]
push ecx
call dword [sym.imp.kernel32.dll_GlobalUnlock]
mov eax, dword [esp + 0xcc]
push 1
mov ecx, edi
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
push edx
push eax
call fcn.005c4426
push 0x61efd4
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
mov ecx, ebp
jle 0x4225ad
call fcn.0042c580
mov ecx, eax
call fcn.0042a2c0
jmp 0x4225c8
call fcn.0042c580
mov ecx, dword [eax + 0x1c]
push 0
push 0xe108
push 0x111
push ecx
call dword [sym.imp.user32.dll_SendMessageA]
lea ecx, [esp + 0x70]
mov dword [esp + 0x2c], 0
mov byte [esp + 0x208], 0xd
call fcn.005975b7
jmp 0x422746
push str.phdir:
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jne 0x422636
lea edx, [esp + 0x4c]
push 6
push edx
lea ecx, [esp + 0x18]
call fcn.0058f4e8
push eax
mov eax, dword [esp + 0x24]
mov byte [esp + 0x20c], 0x11
lea ecx, [eax + 0x568]
call fcn.0059816b
lea ecx, [esp + 0x4c]
mov byte [esp + 0x208], 0xd
call fcn.00598032
jmp 0x422746
push str.phed:
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jne 0x422686
lea ecx, [esp + 0x44]
push 5
push ecx
lea ecx, [esp + 0x18]
call fcn.0058f4e8
mov edx, dword [esp + 0x20]
push eax
mov byte [esp + 0x20c], 0x12
lea ecx, [edx + 0x56c]
call fcn.0059816b
lea ecx, [esp + 0x44]
mov byte [esp + 0x208], 0xd
call fcn.00598032
jmp 0x422746
push str.save
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jne 0x4226cd
cmp dword [esp + 0x48], edi
jne 0x4226cd
push edi
mov ecx, ebp
call fcn.0042c530
test eax, eax
je 0x4226cd
mov eax, dword [esp + 0x18]
cmp dword [eax - 8], edi
je 0x4226c7
push edi
mov ecx, ebp
call fcn.0042c530
mov ecx, dword [esp + 0x18]
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 0x78]
mov dword [esp + 0x2c], edi
jmp 0x422746
push str.dumpopts
lea ecx, [esp + 0x14]
call fcn.0058f6e2
test eax, eax
jne 0x422746
mov esi, dword [esp + 0x20]
mov ecx, esi
mov dword [esi + 0x254], 1
call fcn.0041f400
mov dword [esi + 0x2ac], edi
mov dword [esp + 0x2c], edi
jmp 0x422746
mov edx, dword [esp + 0x10]
add edx, 2
push edx
call fcn.004f66ae
mov esi, eax
add esp, 4
test esi, esi
jl 0x422746
cmp esi, 0x320
jg 0x422746
push esi
mov ecx, ebp
call fcn.00434340
mov eax, dword [esp + 0x20]
push esi
push str.Zoom
push str.Window
lea ecx, [eax + 0xc0]
call fcn.004bae50
mov dword [ebp + 0xc28], esi
lea ecx, [esp + 0x10]
mov byte [esp + 0x208], 0xc
call fcn.00598032
mov eax, dword [0x64a680]
inc ebx
cmp ebx, eax
mov dword [esp + 0x24], ebx
jl 0x421dbd
mov esi, dword [esp + 0x20]
mov eax, dword [esi + 0x578]
test eax, eax
je 0x4227ff
mov ecx, esi
mov dword [esi + 0x254], 0
call fcn.0041f400
push 0
call fcn.004f68de
add esp, 4
lea ecx, [esi + 0xc0]
push eax
push str.IniReadTime
push str.Window
call fcn.004bae50
cmp dword [0x64a680], 2
jl 0x4227f8
mov ecx, dword [0x64a684]
mov esi, str._readopts
mov eax, dword [ecx + 4]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4227eb
test cl, cl
je 0x4227e7
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4227eb
add eax, 2
add esi, 2
test cl, cl
jne 0x4227c3
xor eax, eax
jmp 0x4227f0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4227f8
xor esi, esi
jmp 0x422803
mov esi, 1
jmp 0x422803
mov esi, dword [esp + 0x2c]
lea ecx, [esp + 0x50]
mov byte [esp + 0x208], 0xb
call fcn.00598032
lea ecx, [esp + 0x5c]
mov byte [esp + 0x208], 0xa
call fcn.00598032
lea ecx, [esp + 0x58]
mov byte [esp + 0x208], 9
call fcn.00598032
lea ecx, [esp + 0x40]
mov byte [esp + 0x208], 0
call fcn.00598032
lea ecx, [esp + 0x18]
mov dword [esp + 0x208], 0xffffffff
call fcn.00598032
mov eax, esi
mov ecx, dword [esp + 0x200]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x1fc
ret 4