Function at 0x449fe0
Capabilities:
Hide graphical window
Log keystrokes via polling

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x28
push esi
mov esi, dword [ebx + 8]
push edi
mov dword [ebp - 0x10], ecx
mov edx, dword [esi + 0xc]
cmp edx, 0x11
jbe 0x44937a
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x44]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c], eax
jmp 0x449397
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp edx, 0xf
jbe 0x44938f
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x1c], eax
jmp 0x449397
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
mov dword [ebp - 0x24], ecx
movzx eax, cl
mov ecx, dword [0x5645d8]
sub eax, 0
je 0x44940a
sub eax, 1
je 0x4493e0
test edx, edx
je 0x449415
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x449415
mov eax, dword [0x5645d4]
mov edi, ecx
sub edi, eax
sar edi, 2
cmp edi, dword [ebp - 0x14]
jbe 0x449415
mov edx, dword [ebp - 0x14]
mov edx, dword [eax + edx*4]
test edx, edx
je 0x449415
cmp edi, edx
jbe 0x449415
mov edi, edx
mov edi, dword [eax + edi*4]
jmp 0x449417
test edx, edx
je 0x449415
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x449415
mov edi, dword [0x5645d4]
mov eax, ecx
sub eax, edi
sar eax, 2
cmp eax, dword [ebp - 0x14]
jbe 0x449415
mov eax, dword [ebp - 0x14]
mov edi, dword [edi + eax*4]
jmp 0x449417
test edx, edx
je 0x449415
mov eax, dword [esi + 0x10]
mov edi, dword [eax]
jmp 0x449417
xor edi, edi
lea eax, [edi - 1]
mov dword [ebp - 0x14], eax
mov eax, dword [0x56456c]
sub eax, dword [0x564568]
sar eax, 2
cmp dword [ebp - 0x14], eax
jae 0x449fba
test byte [ebp - 0x1c], 0x40
mov edx, dword [0x564568]
mov edi, dword [edx + edi*4 - 4]
mov edx, dword [esi + 0xc]
mov dword [ebp - 8], edi
jne 0x4494df
mov eax, dword [ebp - 0x24]
shr eax, 8
and eax, 0xf
sub eax, 0
je 0x4494b4
sub eax, 1
je 0x44948e
cmp edx, 0xe
jbe 0x4494b0
mov eax, dword [esi + 0x10]
mov edx, dword [eax + 0x38]
test edx, edx
je 0x4494b0
mov eax, dword [0x5645d4]
sub ecx, eax
sar ecx, 2
cmp ecx, edx
jbe 0x4494b0
mov edx, dword [eax + edx*4]
test edx, edx
je 0x4494b0
cmp ecx, edx
jbe 0x4494b0
mov eax, dword [eax + edx*4]
jmp 0x4494bf
cmp edx, 0xe
jbe 0x4494b0
mov eax, dword [esi + 0x10]
mov edx, dword [eax + 0x38]
test edx, edx
je 0x4494b0
mov eax, dword [0x5645d4]
sub ecx, eax
sar ecx, 2
cmp ecx, edx
jbe 0x4494b0
mov eax, dword [eax + edx*4]
jmp 0x4494bf
xor eax, eax
jmp 0x4494bf
cmp edx, 0xe
jbe 0x4494cc
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x38]
test eax, eax
jns 0x4494ce
cdq
mov ecx, eax
xor ecx, edx
sub ecx, edx
jmp 0x4494ef
xor eax, eax
lea eax, [eax + eax*2]
mov ecx, 1
add eax, eax
cmp eax, ecx
cmovge ecx, eax
jmp 0x4494ef
mov ecx, dword [edi + 0xc0]
mov eax, 1
test ecx, ecx
cmovle ecx, eax
mov edx, dword [ebp - 0x1c]
mov dword [edi + 0xc0], ecx
test dl, 1
je 0x449503
mov eax, dword [ebp - 0x10]
mov dword [eax + 0xf], ecx
test dl, 4
jne 0x449742
mov eax, dword [ebp - 0x24]
mov ecx, dword [esi + 0xc]
movzx eax, ah
shr eax, 4
sub eax, 0
je 0x4496eb
sub eax, 1
je 0x449621
cmp ecx, 8
jbe 0x44955d
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x44955d
mov eax, dword [0x5645d8]
mov edx, dword [0x5645d4]
sub eax, edx
sar eax, 2
cmp eax, ecx
jbe 0x44955d
mov ecx, dword [edx + ecx*4]
test ecx, ecx
je 0x44955d
cmp eax, ecx
jbe 0x44955d
mov eax, dword [edx + ecx*4]
jmp 0x44955f
xor eax, eax
mov dword [edi + 0xac], eax
cmp dword [esi + 0xc], 9
jbe 0x449599
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x449599
mov eax, dword [0x5645d8]
mov edx, dword [0x5645d4]
sub eax, edx
sar eax, 2
cmp eax, ecx
jbe 0x449599
mov ecx, dword [edx + ecx*4]
test ecx, ecx
je 0x449599
cmp eax, ecx
jbe 0x449599
mov eax, dword [edx + ecx*4]
jmp 0x44959b
xor eax, eax
mov dword [edi + 0xb0], eax
cmp dword [esi + 0xc], 0xa
jbe 0x4495d5
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x4495d5
mov eax, dword [0x5645d8]
mov edx, dword [0x5645d4]
sub eax, edx
sar eax, 2
cmp eax, ecx
jbe 0x4495d5
mov ecx, dword [edx + ecx*4]
test ecx, ecx
je 0x4495d5
cmp eax, ecx
jbe 0x4495d5
mov eax, dword [edx + ecx*4]
jmp 0x4495d7
xor eax, eax
mov dword [edi + 0xb4], eax
cmp dword [esi + 0xc], 0xb
jbe 0x449617
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x449617
mov eax, dword [0x5645d8]
mov edx, dword [0x5645d4]
sub eax, edx
sar eax, 2
cmp eax, ecx
jbe 0x449617
mov ecx, dword [edx + ecx*4]
test ecx, ecx
je 0x449617
cmp eax, ecx
jbe 0x449617
mov eax, dword [edx + ecx*4]
mov edx, dword [ebp - 0x1c]
jmp 0x44973c
mov edx, dword [ebp - 0x1c]
xor eax, eax
jmp 0x44973c
cmp ecx, 8
jbe 0x449649
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x449649
mov eax, dword [0x5645d8]
mov edx, dword [0x5645d4]
sub eax, edx
sar eax, 2
cmp eax, ecx
jbe 0x449649
mov eax, dword [edx + ecx*4]
jmp 0x44964b
xor eax, eax
mov dword [edi + 0xac], eax
cmp dword [esi + 0xc], 9
jbe 0x44967a
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x44967a
mov eax, dword [0x5645d8]
mov edx, dword [0x5645d4]
sub eax, edx
sar eax, 2
cmp eax, ecx
jbe 0x44967a
mov eax, dword [edx + ecx*4]
jmp 0x44967c
xor eax, eax
mov dword [edi + 0xb0], eax
cmp dword [esi + 0xc], 0xa
jbe 0x4496ab
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x4496ab
mov eax, dword [0x5645d8]
mov edx, dword [0x5645d4]
sub eax, edx
sar eax, 2
cmp eax, ecx
jbe 0x4496ab
mov eax, dword [edx + ecx*4]
jmp 0x4496ad
xor eax, eax
mov dword [edi + 0xb4], eax
cmp dword [esi + 0xc], 0xb
jbe 0x449617
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x449617
mov eax, dword [0x5645d8]
mov edx, dword [0x5645d4]
sub eax, edx
sar eax, 2
cmp eax, ecx
jbe 0x449617
mov eax, dword [edx + ecx*4]
mov edx, dword [ebp - 0x1c]
jmp 0x44973c
cmp ecx, 8
jbe 0x4496f8
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x20]
jmp 0x4496fa
xor eax, eax
mov dword [edi + 0xac], eax
cmp dword [esi + 0xc], 9
jbe 0x44970e
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x24]
jmp 0x449710
xor eax, eax
mov dword [edi + 0xb0], eax
cmp dword [esi + 0xc], 0xa
jbe 0x449724
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x28]
jmp 0x449726
xor eax, eax
mov dword [edi + 0xb4], eax
cmp dword [esi + 0xc], 0xb
jbe 0x44973a
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x2c]
jmp 0x44973c
xor eax, eax
mov dword [edi + 0xb8], eax
mov eax, edx
and eax, 0x30
cmp eax, 0x10
je 0x44977a
cmp eax, 0x20
je 0x44976e
cmp eax, 0x30
je 0x449762
mov ecx, 0xff
mov edx, 0xffffff00
jmp 0x449784
mov ecx, 0xffff
mov edx, 0xffff0000
jmp 0x449784
mov ecx, 0xf0ff
mov edx, 0xffff0f00
jmp 0x449784
mov ecx, 0xfff
mov edx, 0xfffff000
cmp dword [esi + 0xc], 0x10
jbe 0x449792
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x40]
jmp 0x449794
xor eax, eax
and ecx, dword [edi + 0xa8]
and eax, edx
or eax, ecx
mov dword [edi + 0xa8], eax
mov edx, dword [esi + 0xc]
mov ecx, dword [0x5645d8]
cmp edx, 1
jbe 0x4498f0
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x10], eax
movzx eax, al
sub eax, 0
je 0x4498c3
sub eax, 1
je 0x449860
cmp edx, 2
mov edx, dword [0x5645d4]
jbe 0x449818
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0x24], eax
test eax, eax
je 0x449818
mov eax, ecx
sub eax, edx
sar eax, 2
cmp eax, dword [ebp - 0x24]
jbe 0x449818
mov edi, dword [ebp - 0x24]
mov edi, dword [edx + edi*4]
test edi, edi
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 8]
je 0x449818
cmp eax, dword [ebp - 0x24]
jbe 0x449818
mov eax, dword [ebp - 0x24]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xc], eax
jmp 0x44981f
mov dword [ebp - 0xc], 0
cmp dword [esi + 0xc], 3
jbe 0x449851
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x24], eax
test eax, eax
je 0x449851
mov edi, dword [ebp - 8]
mov eax, ecx
sub eax, edx
sar eax, 2
cmp eax, dword [ebp - 0x24]
jbe 0x449851
mov edi, dword [ebp - 0x24]
mov edi, dword [edx + edi*4]
test edi, edi
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 8]
jne 0x4498b0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], 0
jmp 0x449900
cmp edx, 2
mov edx, dword [0x5645d4]
jbe 0x44988f
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0x24], eax
test eax, eax
je 0x44988f
mov eax, ecx
sub eax, edx
sar eax, 2
cmp eax, dword [ebp - 0x24]
jbe 0x44988f
mov eax, dword [ebp - 0x24]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xc], eax
jmp 0x449896
mov dword [ebp - 0xc], 0
cmp dword [esi + 0xc], 3
jbe 0x449851
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x24], eax
test eax, eax
je 0x449851
mov eax, ecx
sub eax, edx
sar eax, 2
cmp eax, dword [ebp - 0x24]
jbe 0x449851
mov eax, dword [ebp - 0x24]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], edx
jmp 0x449900
mov eax, dword [ebp - 0x10]
cmp edx, 2
jbe 0x4498f2
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x10]
cmp edx, 3
jbe 0x4498f9
mov eax, dword [esi + 0x10]
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
jmp 0x449900
xor eax, eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x14], 0
shr eax, 8
and eax, 0xf
mov al, byte [eax + 0x53c080]
mov byte [ebp - 1], al
test al, 1
je 0x44993d
mov edx, dword [edi + 0xd4]
test al, 2
mov eax, edx
cdq
je 0x449933
sub eax, edx
mov edx, dword [edi + 0xd4]
sar eax, 1
and edx, 1
neg eax
sub eax, edx
jmp 0x449937
sub eax, edx
sar eax, 1
add dword [ebp - 0x14], eax
mov al, byte [ebp - 1]
test al, 4
je 0x449968
mov edx, dword [edi + 0xd0]
test al, 8
mov eax, edx
cdq
je 0x449961
sub eax, edx
mov edx, dword [edi + 0xd0]
sar eax, 1
and edx, 1
neg eax
sub eax, edx
jmp 0x449965
sub eax, edx
sar eax, 1
add dword [ebp - 0xc], eax
mov eax, dword [esi + 0xc]
cmp eax, 0x14
jbe 0x44997b
mov eax, dword [esi + 0x10]
mov dl, byte [eax + 0x50]
mov eax, dword [esi + 0xc]
jmp 0x44997d
xor dl, dl
mov edi, dword [ebp - 0x1c]
mov byte [ebp - 1], dl
mov dword [ebp - 0x24], edi
and dword [ebp - 0x24], 2
mov edi, dword [ebp - 8]
movzx edx, dl
mov dword [ebp - 0x10], edx
and dword [ebp - 0x10], 0xf
cmp dword [ebp - 0x24], 0
je 0x449b51
sub dword [ebp - 0x10], 0
je 0x449a1c
sub dword [ebp - 0x10], 1
je 0x4499f3
cmp eax, 5
jbe 0x449a29
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x449a29
mov eax, dword [0x5645d4]
sub ecx, eax
sar ecx, 2
cmp ecx, dword [ebp - 0x10]
jbe 0x449a29
mov edi, dword [ebp - 0x10]
cmp dword [eax + edi*4], 0
mov edi, dword [ebp - 8]
je 0x449a29
mov edi, dword [ebp - 0x10]
cmp ecx, dword [eax + edi*4]
mov edi, dword [ebp - 8]
jbe 0x449a29
mov edi, dword [ebp - 0x10]
mov ecx, dword [eax + edi*4]
mov edi, dword [ebp - 8]
mov eax, dword [eax + ecx*4]
jmp 0x449a2b
cmp eax, 5
jbe 0x449a29
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x449a29
mov eax, dword [0x5645d4]
sub ecx, eax
sar ecx, 2
cmp ecx, dword [ebp - 0x10]
jbe 0x449a29
mov ecx, dword [ebp - 0x10]
mov eax, dword [eax + ecx*4]
jmp 0x449a2b
cmp eax, 5
jbe 0x449a29
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x14]
jmp 0x449a2b
xor eax, eax
add dword [edi + 0x9c], eax
test byte [ebp - 1], 0xf0
je 0x449ab2
mov eax, dword [esi + 0xc]
shr edx, 4
dec edx
sub edx, 0
je 0x449aa3
sub edx, 1
je 0x449a7b
cmp eax, 0x12
jbe 0x449ab0
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x449ab0
mov eax, dword [0x5645d8]
mov edx, dword [0x5645d4]
sub eax, edx
sar eax, 2
cmp eax, ecx
jbe 0x449ab0
mov ecx, dword [edx + ecx*4]
test ecx, ecx
je 0x449ab0
cmp eax, ecx
jbe 0x449ab0
mov eax, dword [edx + ecx*4]
jmp 0x449ab2
cmp eax, 0x12
jbe 0x449ab0
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x449ab0
mov eax, dword [0x5645d8]
mov edx, dword [0x5645d4]
sub eax, edx
sar eax, 2
cmp eax, ecx
jbe 0x449ab0
mov eax, dword [edx + ecx*4]
jmp 0x449ab2
cmp eax, 0x12
jbe 0x449ab0
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x48]
jmp 0x449ab2
xor eax, eax
add dword [edi + 0xa0], eax
mov eax, dword [esi + 0xc]
cmp eax, 0x15
jbe 0x449b2e
mov eax, dword [esi + 0x10]
movzx eax, byte [eax + 0x54]
sub eax, 0
je 0x449b33
sub eax, 1
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x18]
je 0x449b08
test ecx, ecx
je 0x449b44
mov eax, dword [0x5645d8]
mov edx, dword [0x5645d4]
sub eax, edx
sar eax, 2
cmp eax, ecx
jbe 0x449b44
mov ecx, dword [edx + ecx*4]
test ecx, ecx
je 0x449b44
cmp eax, ecx
jbe 0x449b44
mov eax, dword [edx + ecx*4]
add dword [edi + 0xa4], eax
jmp 0x449ce4
test ecx, ecx
je 0x449b44
mov eax, dword [0x5645d8]
mov edx, dword [0x5645d4]
sub eax, edx
sar eax, 2
cmp eax, ecx
jbe 0x449b44
mov eax, dword [edx + ecx*4]
add dword [edi + 0xa4], eax
jmp 0x449ce4
cmp eax, 6
jbe 0x449b44
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x18]
add dword [edi + 0xa4], eax
jmp 0x449ce4
xor eax, eax
add dword [edi + 0xa4], eax
jmp 0x449ce4
sub dword [ebp - 0x10], 0
je 0x449bcf
sub dword [ebp - 0x10], 1
je 0x449ba6
cmp eax, 5
jbe 0x449bdc
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x449bdc
mov eax, dword [0x5645d4]
sub ecx, eax
mov edi, dword [ebp - 8]
sar ecx, 2
cmp ecx, dword [ebp - 0x10]
jbe 0x449bdc
mov edi, dword [ebp - 0x10]
cmp dword [eax + edi*4], 0
mov edi, dword [ebp - 8]
je 0x449bdc
mov edi, dword [ebp - 0x10]
cmp ecx, dword [eax + edi*4]
mov edi, dword [ebp - 8]
jbe 0x449bdc
mov edi, dword [ebp - 0x10]
mov ecx, dword [eax + edi*4]
mov edi, dword [ebp - 8]
mov eax, dword [eax + ecx*4]
jmp 0x449bde
cmp eax, 5
jbe 0x449bdc
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x449bdc
mov eax, dword [0x5645d4]
sub ecx, eax
sar ecx, 2
cmp ecx, dword [ebp - 0x10]
jbe 0x449bdc
mov ecx, dword [ebp - 0x10]
mov eax, dword [eax + ecx*4]
jmp 0x449bde
cmp eax, 5
jbe 0x449bdc
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x14]
jmp 0x449bde
xor eax, eax
test byte [ebp - 1], 0xf0
mov dword [edi + 0x9c], eax
je 0x449c65
mov eax, dword [esi + 0xc]
shr edx, 4
dec edx
sub edx, 0
je 0x449c56
sub edx, 1
je 0x449c2e
cmp eax, 0x12
jbe 0x449c63
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x449c63
mov eax, dword [0x5645d8]
mov edx, dword [0x5645d4]
sub eax, edx
sar eax, 2
cmp eax, ecx
jbe 0x449c63
mov ecx, dword [edx + ecx*4]
test ecx, ecx
je 0x449c63
cmp eax, ecx
jbe 0x449c63
mov eax, dword [edx + ecx*4]
jmp 0x449c65
cmp eax, 0x12
jbe 0x449c63
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x449c63
mov eax, dword [0x5645d8]
mov edx, dword [0x5645d4]
sub eax, edx
sar eax, 2
cmp eax, ecx
jbe 0x449c63
mov eax, dword [edx + ecx*4]
jmp 0x449c65
cmp eax, 0x12
jbe 0x449c63
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x48]
jmp 0x449c65
xor eax, eax
mov dword [edi + 0xa0], eax
mov eax, dword [esi + 0xc]
cmp eax, 0x15
jbe 0x449ccf
mov eax, dword [esi + 0x10]
movzx eax, byte [eax + 0x54]
sub eax, 0
je 0x449cd4
sub eax, 1
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x18]
je 0x449cb2
test ecx, ecx
je 0x449cdc
mov eax, dword [0x5645d8]
mov edx, dword [0x5645d4]
sub eax, edx
sar eax, 2
cmp eax, ecx
jbe 0x449cdc
mov ecx, dword [edx + ecx*4]
test ecx, ecx
je 0x449cdc
cmp eax, ecx
jbe 0x449cdc
mov eax, dword [edx + ecx*4]
jmp 0x449cde
test ecx, ecx
je 0x449cdc
mov eax, dword [0x5645d8]
mov edx, dword [0x5645d4]
sub eax, edx
sar eax, 2
cmp eax, ecx
jbe 0x449cdc
mov eax, dword [edx + ecx*4]
jmp 0x449cde
cmp eax, 6
jbe 0x449cdc
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x18]
jmp 0x449cde
xor eax, eax
mov dword [edi + 0xa4], eax
mov ecx, dword [esi + 0xc]
cmp ecx, 0xc
jbe 0x449d08
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x10], eax
cmp ecx, 0xd
jbe 0x449d0d
mov eax, dword [esi + 0x10]
mov edx, dword [eax + 0x34]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
jmp 0x449d0f
xor eax, eax
mov dword [ebp - 0x10], eax
xor edx, edx
cmp byte [edi + 0x90], 0
movd xmm1, dword [ebp - 0xc]
movd xmm0, dword [ebp - 0x14]
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
je 0x449d60
cmp dword [ebp - 0x24], 0
movsd xmm3, qword [edi + 0x10]
movsd xmm4, qword [edi + 0x18]
movsd xmm2, qword [edi + 0x60]
addsd xmm0, qword [edi + 0x68]
movsd qword [edi], xmm3
addsd xmm2, xmm1
movsd qword [edi + 8], xmm4
jne 0x449d59
subsd xmm0, xmm4
subsd xmm2, xmm3
movsd qword [edi + 0x60], xmm2
jmp 0x449d75
cmp dword [ebp - 0x24], 0
je 0x449d70
addsd xmm1, qword [edi + 0x60]
addsd xmm0, qword [edi + 0x68]
movsd qword [edi + 0x60], xmm1
test byte [ebp - 0x1c], 8
movsd qword [edi + 0x68], xmm0
jne case.default.0x449da6
mov ecx, dword [edi + 0x98]
and eax, 3
and ecx, 3
shl ecx, 2
or ecx, eax
movzx eax, byte [ecx + 0x53bfe0]
dec eax
cmp eax, 5
ja case.default.0x449da6
jmp dword [eax*4 + 0x449fc8]
mov eax, dword [ebp - 0x10]
movd xmm0, edx
cvtdq2pd xmm0, xmm0
mov dword [edi + 0x98], eax
movsd qword [edi + 0x58], xmm0
mov dword [edi + 0xbc], edx
jmp case.default.0x449da6
mov eax, dword [ebp - 0x10]
mov dword [edi + 0x98], eax
cmp dword [esi + 0xc], 4
jbe 0x449ecf
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x10]
mov eax, ecx
and eax, 0xf
sub eax, 0
mov dword [ebp - 0x24], eax
mov eax, dword [0x5645d8]
je 0x449e25
sub dword [ebp - 0x24], 1
je 0x449e72
test edx, edx
je 0x449e23
mov dword [ebp - 0x1c], eax
mov eax, dword [0x5645d4]
sub dword [ebp - 0x1c], eax
sar dword [ebp - 0x1c], 2
cmp dword [ebp - 0x1c], edx
jbe 0x449e23
mov edx, dword [eax + edx*4]
test edx, edx
je 0x449e23
cmp dword [ebp - 0x1c], edx
ja 0x449e88
xor edx, edx
sar ecx, 4
mov eax, edx
and ecx, 0xf
mov dword [ebp - 0x24], eax
sub ecx, 0
je 0x449eba
sub ecx, 1
je 0x449e8d
cmp dword [esi + 0xc], 7
jbe 0x449eb6
mov eax, dword [esi + 0x10]
mov esi, dword [eax + 0x1c]
test esi, esi
je 0x449eb6
mov eax, dword [0x5645d8]
mov ecx, dword [0x5645d4]
sub eax, ecx
sar eax, 2
cmp eax, esi
jbe 0x449eb6
mov esi, dword [ecx + esi*4]
test esi, esi
je 0x449eb6
cmp eax, esi
jbe 0x449eb6
mov eax, dword [ecx + esi*4]
jmp 0x449ecb
test edx, edx
je 0x449e23
sub eax, dword [0x5645d4]
sar eax, 2
cmp eax, edx
jbe 0x449e23
mov eax, dword [0x5645d4]
mov edx, dword [eax + edx*4]
jmp 0x449e25
cmp dword [esi + 0xc], 7
jbe 0x449eb6
mov eax, dword [esi + 0x10]
mov esi, dword [eax + 0x1c]
test esi, esi
je 0x449eb6
mov eax, dword [0x5645d8]
mov ecx, dword [0x5645d4]
sub eax, ecx
sar eax, 2
cmp eax, esi
jbe 0x449eb6
mov eax, dword [ecx + esi*4]
jmp 0x449ecb
xor eax, eax
jmp 0x449ecb
cmp dword [esi + 0xc], 7
mov edx, eax
jbe 0x449ecf
mov eax, dword [esi + 0x10]
mov edx, dword [ebp - 0x24]
mov eax, dword [eax + 0x1c]
test eax, eax
jne 0x449ed4
mov eax, 1
movd xmm1, edx
movd xmm0, eax
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [ebp - 0x28], xmm1
fld qword [ebp - 0x28]
fld qword [0x5455c8]
movsd qword [ebp - 0x20], xmm1
call fcn.00521df0
movsd xmm4, qword [0x5455c8]
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x20]
fstp qword [ebp - 0x28]
movsd xmm2, qword [ebp - 0x28]
jbe 0x449f1e
addsd xmm2, xmm4
movsd xmm1, qword [edi + 0x70]
movaps xmm3, xmm2
movsd xmm0, qword [0x5455a8]
subsd xmm3, xmm1
andps xmm3, xmmword [0x545960]
comisd xmm0, xmm3
jae 0x449f5e
comisd xmm3, xmm1
jbe 0x449f55
addsd xmm1, xmm4
movsd qword [edi + 0x70], xmm1
movsd qword [edi + 0x58], xmm2
jmp case.default.0x449da6
subsd xmm1, xmm4
movsd qword [edi + 0x70], xmm1
movsd qword [edi + 0x58], xmm2
jmp case.default.0x449da6
mov dword [edi + 0x98], 0
jmp case.default.0x449da6
mov dword [edi + 0xbc], 0
jmp case.default.0x449da6
xorps xmm0, xmm0
movsd qword [edi + 0x58], xmm0
mov cl, byte [edi + 0xa9]
mov edx, dword [edi + 0x88]
mov al, cl
shr al, 4
cmp al, byte [edi + 0x102]
je 0x449fa5
mov byte [edi + 0x100], 1
and cl, 0xf
mov byte [edx + 0x55], cl
mov byte [edi + 0x101], cl
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edx, edi
mov ecx, str.Picture
call fcn.004a1c00
nop
lodsd eax, dword [esi]
popfd
inc esp
add bl, al
popfd
inc esp
add dh, cl
popfd
inc esp
add byte [ebp - 0x61], ah
inc esp
add byte [ecx - 0x61], dh
inc esp
add byte [ebp - 0x61], bh
inc esp
add byte [ebp - 0x75], dl
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
push esi
mov esi, dword [ecx + 0xc]
test esi, esi
je case.0x44a000.0
mov eax, dword [ecx + 0x10]
mov eax, dword [eax]
cmp eax, 7
ja case.default.0x44a000
jmp dword [eax*4 + 0x44a114]
mov word [0x563fad], 0x200
mov byte [0x5645b0], 5
pop esi
pop ebp
ret
mov byte [0x5645b0], 1
pop esi
pop ebp
ret
mov eax, dword [ecx + 0x10]
xor ecx, ecx
cmp dword [eax], ecx
setne cl
pop esi
pop ebp
jmp fcn.00468fb0
push edx
push 4
push 0x8001
push dword [0x563870]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp byte [0x556bc2], 0
jne case.default.0x44a000
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
nop dword [eax]
cmp byte [0x556bc3], 0
je case.default.0x44a000
push 0xa
call esi
cmp byte [0x556bc2], 0
je 0x44a060
pop esi
pop ebp
ret
cmp esi, 1
jbe 0x44a0cf
mov eax, dword [ecx + 0x10]
cmp dword [eax + 4], 0
je 0x44a0cf
push edx
push 2
push 0x8001
push dword [0x563870]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x78
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp byte [0x556bc2], 0
jne case.default.0x44a000
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [0x556961], 0
je case.default.0x44a000
push 0xa
call esi
cmp byte [0x556bc2], 0
je 0x44a0b6
pop esi
pop ebp
ret
push edx
push 0
push 0x8001
push dword [0x563870]
call dword [sym.imp.USER32.dll_SendMessageA]
pop esi
pop ebp
ret
pop esi
pop ebp
jmp fcn.0041aa70
mov word [0x563fad], 1
mov byte [0x5645b0], 5
pop esi
pop ebp
ret
call fcn.00494ff0
call fcn.00495610
xor cl, cl
call fcn.00468f90
nop dword [eax]
in eax, dx
mov al, byte [2684813380]
inc esp
add byte [edx], bl
mov al, byte [0xa0240044]
inc esp
add byte [0x7d0044a0], dh
mov al, byte [0xa0e60044]
inc esp
add byte [eax], al
mov eax, dword [0xcccc0044]
int3