Function at 0x447120
Capabilities:
Check for software breakpoints
Check for unmoving mouse cursor
Get keyboard layout
Log keystrokes via input method manager
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x288
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push ebx
push dword [0x453658]
call fcn.0043bcb3
mov edi, dword [ebp + 0xc]
cmp edi, 0x102
pop ecx
pop ecx
mov dword [0x453658], ebx
je 0x44716d
cmp edi, 8
jne 0x44715f
and dword [ebx + 0xd40], 0
jmp 0x44b760
lea eax, [ebx + 0xd40]
cmp dword [eax], 0xfffffffe
jne 0x44716d
and dword [eax], 0
xor esi, esi
cmp edi, 0x400
jb 0x449d82
mov ecx, 0xc03
cmp edi, ecx
jae 0x447474
cmp edi, 0xbcf
jne 0x4471ac
mov eax, dword [ebp + 0x14]
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
push dword [eax + 0xc]
push ebx
call fcn.00446711
add esp, 0x14
jmp 0x44cc72
cmp edi, 0xbd0
jne 0x4471c2
mov eax, dword [ebp + 0x14]
push esi
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
jmp 0x4471e6
cmp edi, 0xbd1
jne 0x4471d5
push 1
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push esi
jmp 0x44719e
cmp edi, 0xbd2
jne 0x4471ee
push esi
push 1
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push ebx
call fcn.004441d4
jmp 0x4471a4
cmp edi, 0xbd3
jne 0x447212
mov eax, dword [ebp + 0x14]
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
push dword [eax + 0xc]
push ebx
call fcn.00446791
add esp, 0x14
jmp 0x44cc70
cmp edi, 0xbd4
jne 0x447230
mov eax, dword [ebp + 0x14]
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
push ebx
call fcn.00444f9e
jmp 0x44c5b3
cmp edi, 0xbd5
jne 0x447254
mov eax, dword [ebp + 0x14]
push dword [eax + 0x14]
push dword [eax + 0x10]
push dword [eax + 0xc]
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
push dword [eax + 0x18]
jmp 0x44cc67
cmp edi, 0xbd6
jne 0x447275
mov eax, dword [ebp + 0x14]
push dword [eax + 0x14]
push dword [eax + 0x10]
push dword [eax + 0xc]
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
jmp 0x44cc51
cmp edi, 0xbd7
jne 0x4472a2
mov eax, dword [ebp + 0x14]
push dword [eax + 0x34]
lea ecx, [eax + 0xc]
push dword [eax + 0x18]
push dword [eax + 0x24]
push dword [eax + 0x20]
push dword [eax + 0x1c]
push ecx
push eax
push dword [eax + 0x30]
push dword [eax + 0x2c]
push dword [eax + 0x28]
jmp 0x44ac8b
cmp edi, 0xbd8
jne 0x4472cf
mov eax, dword [ebp + 0x14]
push dword [eax + 0x34]
lea ecx, [eax + 0xc]
push dword [eax + 0x18]
push dword [eax + 0x24]
push dword [eax + 0x20]
push dword [eax + 0x1c]
push ecx
push eax
push ebx
call fcn.004360db
add esp, 0x20
jmp 0x44cc72
cmp edi, 0xbd9
jne 0x4472eb
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.004447c2
add esp, 0xc
jmp 0x44cc72
cmp edi, 0xbda
jne 0x447301
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.004365ff
jmp 0x4472e3
cmp edi, 0xbdb
jne 0x447315
push ebx
call fcn.00432509
pop ecx
jmp 0x44cc72
cmp edi, 0xbdc
jne 0x44732b
push dword [ebp + 0x14]
push ebx
call fcn.00445846
jmp 0x44a857
cmp edi, 0xbdd
jne 0x44733e
push ebx
call fcn.004457f1
jmp 0x44c48e
cmp edi, 0xbde
jne 0x447351
push ebx
call fcn.004368ec
jmp 0x44c48e
cmp edi, 0xbdf
jne 0x44736a
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.004351dc
jmp 0x4472e3
cmp edi, 0xbe0
jne 0x447381
push dword [ebp + 0x14]
push esi
push ebx
call fcn.0043d396
jmp 0x4472e3
cmp edi, 0xbe1
jne 0x447397
push dword [ebp + 0x14]
push ebx
call fcn.0043b857
jmp 0x44a857
cmp edi, 0xbe2
jne 0x4473b4
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push esi
push ebx
call fcn.0043bb37
add esp, 0x10
jmp 0x44cc72
cmp edi, 0xbe3
jne 0x4473cd
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push ebx
call fcn.0043a5dc
jmp 0x4472e3
cmp edi, 0xbe4
jne 0x4473f6
mov eax, dword [ebp + 0x14]
mov ecx, eax
and ecx, 4
push ecx
mov ecx, eax
and ecx, 2
push ecx
and eax, 1
push eax
push dword [ebp + 0x10]
push ebx
call fcn.00446884
jmp 0x4471a4
cmp edi, 0xbe5
jne 0x44740e
push 1
push dword [ebp + 0x10]
push ebx
call fcn.00445b24
jmp 0x44c907
cmp edi, 0xbe6
jne 0x447423
push dword [ebp + 0x10]
call fcn.0042cf78
jmp 0x44730f
cmp edi, 0xbe7
jne 0x447437
push esi
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
jmp 0x44cc72
cmp edi, 0xbe8
jne 0x447474
cmp dword [ebp + 0x10], 1
jne 0x44745d
mov eax, dword [0x45365c]
cmp eax, esi
je 0x44cc70
mov eax, dword [eax + 0xccc]
jmp 0x44cc72
xor eax, eax
cmp dword [ebp + 0x10], 2
jne 0x44cc72
mov dword [0x45365c], esi
jmp 0x44cc72
mov eax, 0xc33
cmp edi, eax
jae 0x4475f5
cmp edi, ecx
jne 0x4474aa
mov eax, dword [ebx + 0x6cc]
test byte [eax + 8], 1
jne 0x44cc70
mov eax, dword [ebx + 8]
xor ecx, ecx
cmp dword [eax + 0x220], esi
setne cl
mov eax, ecx
jmp 0x44cc72
cmp edi, 0xc04
je 0x44a290
cmp edi, 0xc05
jne 0x4474c9
push ebx
call fcn.004452ac
jmp 0x44c48e
cmp edi, 0xc06
jne 0x4474dc
push ebx
call fcn.0044557a
jmp 0x44c48e
cmp edi, 0xc07
jne 0x447510
cmp dword [ebp + 0x10], esi
push ebx
je 0x44a2fd
call fcn.0043253b
test eax, eax
pop ecx
je 0x44cc70
mov eax, dword [ebx + 8]
push dword [eax + 0x220]
push ebx
call fcn.0042f711
jmp 0x44c48d
cmp edi, 0xc08
jne 0x447523
push ebx
call fcn.00438493
jmp 0x44c48e
cmp edi, 0xc09
jne 0x44753d
mov eax, dword [ebx + 8]
mov dword [eax + 0x234], 1
jmp 0x44cc70
cmp edi, 0xc0a
jne 0x447553
mov eax, dword [ebx + 8]
mov dword [eax + 0x234], esi
jmp 0x44cc70
cmp edi, 0xc0b
jne 0x44756c
mov eax, dword [ebx + 8]
mov ecx, dword [ebp + 0x10]
mov dword [eax + 0x238], ecx
jmp 0x44cc70
cmp edi, 0xc0c
jne 0x447594
mov eax, dword [ebp + 0x14]
cmp eax, esi
je 0x447586
mov ecx, dword [ebx + 8]
mov ecx, dword [ecx + 0x240]
mov dword [eax], ecx
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x23c]
jmp 0x44cc72
cmp edi, 0xc0d
je 0x44a2e3
cmp edi, 0xc0e
jne 0x4475b6
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x22c]
jmp 0x44cc72
cmp edi, 0xc0f
jne 0x4475cc
push dword [ebp + 0x10]
push ebx
call fcn.0043fd83
jmp 0x44c48d
cmp edi, 0xc10
jne 0x4475df
push ebx
call fcn.0042f753
jmp 0x44730f
cmp edi, 0xc11
jne 0x4475f5
push dword [ebp + 0x14]
push ebx
call fcn.0042f76e
jmp 0x44a857
mov ecx, 0xc65
cmp edi, ecx
jae 0x447c31
cmp edi, eax
jne 0x447648
mov edi, dword [ebp + 0x10]
cmp edi, esi
je 0x447618
lea esi, [ebx + 0xc68]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor esi, esi
mov edi, dword [ebp + 0x14]
cmp edi, esi
je 0x447628
lea esi, [ebx + 0xc74]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebx + 0xc74]
push eax
add ebx, 0xc68
push ebx
call fcn.0042cbc5
pop ecx
neg eax
pop ecx
sbb eax, eax
neg eax
jmp 0x44cc72
cmp edi, 0xc34
jne 0x447662
push 0x4000000
push esi
push esi
push dword [ebp + 0x10]
push dword [ebp + 0x14]
jmp 0x44c81e
cmp edi, 0xc35
jne 0x44767b
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push ebx
call fcn.0043256e
jmp 0x4472e3
cmp edi, 0xc36
jne 0x4476d8
mov edi, dword [ebp + 0x14]
test byte [edi + 0x19], 8
je 0x4476c9
push dword [edi]
push ebx
call fcn.0042f8ec
pop ecx
pop ecx
mov ecx, dword [edi + 0xc]
cmp dword [edi], ecx
mov dword [edi + 4], eax
je 0x4476a9
push ecx
push ebx
call fcn.0042f8ec
pop ecx
pop ecx
mov ecx, dword [ebp + 0x10]
cmp ecx, esi
mov dword [edi + 0x10], eax
je 0x4476c9
mov eax, dword [ecx]
cmp dword [edi], eax
jne 0x4476be
mov eax, dword [edi + 4]
jmp 0x4476c6
cmp dword [edi + 0xc], eax
jne 0x4476c9
mov eax, dword [edi + 0x10]
mov dword [ecx + 4], eax
push dword [ebp + 0x10]
push edi
push ebx
call fcn.0043a8b6
jmp 0x44c907
cmp edi, 0xc37
jne 0x4476eb
mov eax, dword [ebx + 0xcc4]
jmp 0x44cc72
cmp edi, 0xc38
jne 0x447701
push dword [ebp + 0x10]
push ebx
call fcn.00439589
jmp 0x44c48d
cmp edi, 0xc39
jne 0x4477e4
mov eax, dword [ebp + 0x10]
cmp eax, esi
jne 0x447723
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0xf8]
inc eax
jmp 0x44cc72
cmp eax, 1
jne 0x447733
mov eax, dword [ebx + 0xc68]
jmp 0x44cc72
cmp eax, 2
jne 0x447743
mov eax, dword [ebx + 0xc74]
jmp 0x44cc72
cmp eax, 3
je 0x44a4dc
cmp eax, 4
je 0x44a489
cmp eax, 5
jne 0x447765
push ebx
call fcn.00431564
jmp 0x44730f
cmp eax, 6
jne 0x447775
push ebx
call fcn.00431598
jmp 0x44730f
cmp eax, 7
jne 0x447785
push ebx
call fcn.004315d7
jmp 0x44730f
cmp eax, 0xb
jne 0x447795
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x104]
jmp 0x44771d
cmp eax, 0xc
jne 0x44cc70
mov eax, dword [ebx + 0xc74]
lea esi, [ebx + 0xc68]
cmp dword [esi], eax
jge 0x44cc70
lea edi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp dword [ebp - 0x24], eax
jge 0x44cc70
mov eax, dword [ebp - 0x20]
cmp byte [eax + 0x10], 9
jne 0x447827
lea eax, [ebp - 0x24]
push eax
call fcn.0042cc3c
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebx + 0xc74]
pop ecx
jl 0x4477c1
jmp 0x44cc70
cmp edi, 0xc3a
jne 0x447800
push dword [ebp + 0x14]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.004348bf
jmp 0x4473ac
cmp edi, 0xc3b
jne 0x44782f
mov edi, dword [ebp + 0x10]
push edi
push ebx
call fcn.0042f8ec
cmp eax, esi
pop ecx
pop ecx
je 0x44cc70
mov ecx, dword [ebp + 0x14]
mov dword [ecx], edi
mov dword [ecx + 4], eax
mov dword [ecx + 8], esi
xor eax, eax
inc eax
jmp 0x44cc72
cmp edi, 0xc3c
jne 0x447845
push dword [ebp + 0x14]
push ebx
call fcn.004302df
jmp 0x44a857
cmp edi, 0xc3d
jne 0x44785d
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call fcn.0042cb8c
jmp 0x44a857
cmp edi, 0xc3e
jne 0x447883
mov eax, dword [ebp + 0x14]
push 1
push dword [eax + 8]
push dword [eax + 0xc]
push dword [eax + 4]
push dword [eax]
push ebx
call fcn.00434e00
add esp, 0x18
jmp 0x44cc72
cmp edi, 0xc3f
jne 0x4478a4
mov eax, dword [ebp + 0x14]
push dword [eax + 0xc]
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
push ebx
call fcn.00430136
jmp 0x4471a4
cmp edi, 0xc40
jne 0x4478c4
mov eax, dword [ebp + 0x14]
cmp eax, esi
je 0x4478bc
cmp dword [eax + 4], esi
jne 0x44a850
or eax, 0xffffffff
jmp 0x44cc72
cmp edi, 0xc41
jne 0x4478dd
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.00438704
jmp 0x44c907
cmp edi, 0xc42
jne 0x44798b
mov edi, dword [ebp + 0x10]
cmp edi, 5
ja 0x44794d
cmp edi, 1
je 0x44cc70
cmp edi, 2
jne 0x44790d
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0xf4]
jmp 0x44cc72
cmp edi, 3
jne 0x44791d
mov eax, dword [ebx + 0xc9c]
jmp 0x44cc72
cmp edi, 4
jne 0x44792d
mov eax, dword [ebx + 0xca0]
jmp 0x44cc72
cmp edi, 5
jne 0x4478bc
lea eax, [ebx + 0xc74]
push eax
lea eax, [ebx + 0xc80]
push eax
call fcn.0042cb8c
test eax, eax
pop ecx
pop ecx
jl 0x447912
jmp 0x447922
cmp edi, 0xd
lea eax, [ebp - 0x24]
push eax
ja 0x447971
push esi
push edi
push ebx
call fcn.004348bf
add esp, 0x10
test eax, eax
je 0x4478bc
lea eax, [ebp - 0x24]
jmp 0x44a850
push dword [ebp + 0x14]
push ebx
call fcn.00438704
lea eax, [ebp - 0x24]
push eax
push eax
push edi
push ebx
call fcn.004348bf
add esp, 0x1c
jmp 0x447961
cmp edi, 0xc46
jne 0x4479a4
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.0042fbd9
jmp 0x4472e3
cmp edi, 0xc47
jne 0x4479ba
push dword [ebp + 0x10]
push ebx
call fcn.0042fd22
jmp 0x44a857
cmp edi, 0xc48
jne 0x4479e8
mov eax, dword [ebp + 0x10]
cmp eax, esi
jne 0x4479d5
mov eax, dword [ebx + 0x6cc]
mov eax, dword [eax + 0x200]
push eax
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x14]
push ebx
call fcn.0043a003
jmp 0x4471a4
cmp edi, 0xc49
jne 0x447a16
mov eax, dword [ebp + 0x10]
cmp eax, esi
jne 0x447a03
mov eax, dword [ebx + 0x6cc]
mov eax, dword [eax + 0x200]
push eax
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x14]
push ebx
call fcn.0043a22b
jmp 0x4471a4
cmp edi, 0xc4a
jne 0x447a2f
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push ebx
call fcn.0043a46b
jmp 0x4472e3
cmp edi, 0xc4b
jne 0x447af5
mov eax, dword [ebp + 0x10]
movzx ecx, ax
shr eax, 0x10
cmp ecx, esi
mov dword [ebp + 0xc], ecx
mov dword [ebp + 0x10], esi
jne 0x447a5a
mov ecx, dword [ebx + 8]
mov ecx, dword [ecx + 0xdc]
mov dword [ebp + 0xc], ecx
mov ebx, dword [ebp + 0x14]
mov esi, ebx
lea edi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edx, dword [ebp - 0x20]
mov ecx, dword [edx + 0xc]
cmp dword [ebp - 0x1c], ecx
jle 0x447a73
mov dword [ebp - 0x1c], ecx
test eax, eax
jne 0x447a86
mov eax, dword [ebp - 0x24]
and dword [ebp - 0x28], 0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
jmp 0x447a95
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.0042cf44
pop ecx
pop ecx
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.0042cb8c
pop ecx
pop ecx
jmp 0x447ae3
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x28]
cmp word [eax + ecx*2], 9
jne 0x447ac7
mov eax, dword [ebp + 0x10]
cdq
idiv dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
sub eax, edx
add dword [ebp + 0x10], eax
jmp 0x447aca
inc dword [ebp + 0x10]
lea eax, [ebp - 0x30]
push eax
call fcn.0042ccfb
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.0042cb8c
add esp, 0xc
test eax, eax
jl 0x447aa6
mov eax, dword [ebx + 8]
sub eax, dword [ebp - 0x1c]
add eax, dword [ebp + 0x10]
jmp 0x44cc72
cmp edi, 0xc4c
jne 0x447b89
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 0x14]
movzx ecx, ax
mov dword [ebp + 0xc], ecx
mov ecx, dword [edi + 8]
shr eax, 0x10
test ax, ax
mov dword [ebp + 0x10], esi
mov dword [ebp + 0x14], ecx
mov dword [edi + 8], esi
je 0x447b28
push edi
call fcn.0042cedd
pop ecx
cmp dword [ebp + 0xc], esi
jne 0x447b39
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0xdc]
mov dword [ebp + 0xc], eax
cmp dword [ebp + 0x14], esi
jle 0x447827
mov ecx, dword [edi + 4]
mov esi, dword [edi + 8]
mov eax, dword [ecx + 8]
cmp word [eax + esi*2], 9
jne 0x447b63
mov eax, dword [ebp + 0x10]
cdq
idiv dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
sub eax, edx
add dword [ebp + 0x10], eax
jmp 0x447b66
inc dword [ebp + 0x10]
cmp esi, dword [ecx + 0xc]
jl 0x447b75
cmp byte [ecx + 0x10], 9
jne 0x44cc70
push edi
call fcn.0042ccfb
mov eax, dword [ebp + 0x10]
cmp eax, dword [ebp + 0x14]
pop ecx
jl 0x447b42
jmp 0x447827
cmp edi, 0xc4d
jne 0x447bb8
push 0x18
push esi
push dword [ebp + 0x14]
call fcn.0042e40a
push dword [ebp + 0x14]
mov eax, dword [ebx + 8]
push dword [eax + 0xf8]
push 2
push dword [ebp + 0x10]
push ebx
call fcn.0043af8f
jmp 0x4472c7
cmp edi, 0xc5d
jne 0x447c08
mov eax, dword [ebp + 0x14]
add eax, 8
push eax
push ebx
call fcn.004347f3
mov edi, eax
cmp edi, esi
pop ecx
pop ecx
je 0x447c01
mov esi, dword [ebp + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 0xfffffffe
jne 0x447bec
lea eax, [esi + 8]
push eax
push ebx
call fcn.0042fe82
pop ecx
pop ecx
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x1c]
mov dword [edi + 0x1c], eax
mov eax, dword [esi + 0x20]
mov dword [edi + 0x20], eax
mov eax, edi
jmp 0x44cc72
cmp edi, 0xc5e
jne 0x447c1e
push dword [ebp + 0x10]
push ebx
call fcn.0042f676
jmp 0x44c48d
cmp edi, 0xc5f
jne 0x447c31
mov eax, dword [ebx + 8]
add eax, 0xc
jmp 0x44cc72
mov eax, 0xc97
cmp edi, eax
jae 0x44825b
cmp edi, ecx
jne 0x447c82
push esi
lea eax, [ebp - 0x2c]
push eax
push dword [ebp + 0x10]
push ebx
call fcn.004303f4
add esp, 0x10
cmp dword [ebx + 0xcc4], esi
jne 0x447c67
mov eax, dword [ebx + 0x6cc]
test byte [eax + 9], 2
je 0x447c6a
xor esi, esi
inc esi
push esi
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push ebx
call fcn.00431e0d
jmp 0x44787b
cmp edi, 0xc66
jne 0x447c90
push esi
push dword [ebp + 0x10]
jmp 0x447cf6
cmp edi, 0xc67
jne 0x447cea
cmp dword [ebx + 0xcc4], esi
jne 0x447cb0
mov eax, dword [ebx + 0x6cc]
test byte [eax + 9], 2
jne 0x447cb0
xor eax, eax
jmp 0x447cb3
xor eax, eax
inc eax
mov edi, dword [ebp + 0x10]
push eax
lea eax, [ebp - 0x2c]
push eax
push dword [ebp + 0x14]
push dword [edi + 4]
push dword [edi]
push ebx
call fcn.00431e0d
add esp, 0x18
cmp eax, esi
mov dword [ebp + 0x10], eax
je 0x447ce2
push edi
push esi
lea eax, [ebp - 0x2c]
push eax
push ebx
call fcn.004303f4
add esp, 0x10
mov eax, dword [ebp + 0x10]
jmp 0x44cc72
cmp edi, 0xc68
jne 0x447d04
push dword [ebp + 0x10]
push esi
push dword [ebp + 0x14]
push ebx
call fcn.004318a1
jmp 0x4473ac
cmp edi, 0xc69
jne 0x447d54
mov dl, byte [ebp + 0x10]
test dl, 2
je 0x447d49
mov eax, dword [ebx + 0xcf4]
mov ecx, dword [ebx + 0xcf8]
mov esi, dword [ebx + 0xcec]
mov edi, dword [ebx + 0xcf0]
sub eax, dword [ebx + 0xce4]
sub ecx, dword [ebx + 0xce8]
sub esi, dword [ebx + 0xcfc]
sub edi, dword [ebx + 0xd00]
jmp 0x448f3e
lea esi, [ebx + 0xcf4]
jmp 0x448f2b
cmp edi, 0xc6a
jne 0x447e05
mov eax, dword [ebp + 0x10]
test al, 2
je 0x447d9b
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebx + 0xce4]
add edx, dword [ecx]
mov dword [ebp - 0x10], edx
mov edx, dword [ebx + 0xce8]
add edx, dword [ecx + 4]
mov dword [ebp - 0xc], edx
mov edx, dword [ebx + 0xcec]
sub edx, dword [ecx + 8]
mov dword [ebp - 8], edx
mov edx, dword [ebx + 0xcf0]
sub edx, dword [ecx + 0xc]
mov dword [ebp - 4], edx
jmp 0x447da7
mov esi, dword [ebp + 0x14]
lea edi, [ebp - 0x10]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor esi, esi
test al, 4
je 0x447db4
mov ecx, dword [ebx + 0xcf4]
mov dword [ebp - 0x10], ecx
test al, 8
je 0x447dc1
mov ecx, dword [ebx + 0xcf8]
mov dword [ebp - 0xc], ecx
test al, 0x10
je 0x447dce
mov ecx, dword [ebx + 0xcfc]
mov dword [ebp - 8], ecx
test al, 0x20
je 0x447ddb
mov ecx, dword [ebx + 0xd00]
mov dword [ebp - 4], ecx
and eax, 1
push eax
lea eax, [ebp - 0x10]
push eax
push ebx
call fcn.0043032d
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x110]
add esp, 0xc
cmp eax, esi
je 0x44c8f9
push eax
push esi
push esi
jmp 0x44c8ea
cmp edi, 0xc6b
jne 0x447e49
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x447e2b
mov ecx, dword [ebx + 8]
mov ecx, dword [ecx + 0xec]
mov dword [eax], ecx
mov ecx, dword [ebx + 8]
mov ecx, dword [ecx + 0xf0]
mov dword [eax + 4], ecx
mov eax, dword [ebp + 0x14]
cmp eax, esi
je 0x44cc70
mov ecx, dword [ebx + 0xca8]
mov dword [eax], ecx
mov ecx, dword [ebx + 0xcac]
jmp 0x44a3d9
cmp edi, 0xc6c
jne 0x447e7c
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 4]
cmp ecx, 0xffffffff
jne 0x447e62
mov ecx, dword [ebx + 0xcac]
mov eax, dword [eax]
cmp eax, 0xffffffff
jne 0x447e6f
mov eax, dword [ebx + 0xca8]
push ecx
push eax
push ebx
call fcn.0043f03d
jmp 0x44c907
cmp edi, 0xc6d
jne 0x447ecc
xor eax, eax
test byte [ebp + 0x10], 1
je 0x447e9a
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push ebx
call fcn.0043f074
jmp 0x447ee8
test byte [ebp + 0x10], 2
je 0x44cc72
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push ebx
call fcn.0043f112
add esp, 0xc
test byte [ebp + 0x10], 4
je 0x44cc72
mov ecx, dword [ebx + 8]
cdq
idiv dword [ecx + 0xc8]
jmp 0x44cc72
cmp edi, 0xc6e
jne 0x447f1c
xor eax, eax
test byte [ebp + 0x10], 1
je 0x447f04
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push ebx
call fcn.0043f1ee
add esp, 0xc
test byte [ebp + 0x10], 4
je 0x44cc72
mov ecx, dword [ebx + 8]
cdq
idiv dword [ecx + 0xd0]
jmp 0x44cc72
test byte [ebp + 0x10], 2
je 0x44cc72
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push ebx
call fcn.0043f220
jmp 0x447eb0
cmp edi, 0xc6f
jne 0x447f3e
mov eax, dword [ebp + 0x14]
push dword [eax + 0x10]
lea ecx, [eax + 4]
push dword [eax + 0xc]
push ecx
push dword [eax]
push ebx
call fcn.0044006b
jmp 0x4471a4
cmp edi, 0xc71
jne 0x447fbf
mov ecx, dword [ebx + 0x6cc]
mov edx, dword [ecx + 0x1c]
or eax, 0xffffffff
cmp edx, esi
je 0x447f68
cmp dword [ecx + 0x18], esi
je 0x447f60
push 3
pop eax
jmp 0x447f70
cmp edx, esi
je 0x447f68
xor eax, eax
jmp 0x447f70
cmp dword [ecx + 0x18], esi
je 0x447f70
xor eax, eax
inc eax
mov edi, dword [ebp + 0x10]
cmp edi, 3
je 0x447f7c
cmp edi, esi
jne 0x447f8d
cmp dword [ebp + 0x14], esi
je 0x447f86
inc dword [ecx + 0x1c]
jmp 0x447f8d
cmp edx, esi
je 0x447f8d
dec dword [ecx + 0x1c]
cmp edi, 3
je 0x447f9b
cmp edi, 1
jne 0x44cc72
cmp dword [ebp + 0x14], esi
mov ebx, dword [ebx + 0x6cc]
je 0x447fae
inc dword [ebx + 0x18]
jmp 0x44cc72
cmp dword [ebx + 0x18], esi
je 0x44cc72
dec dword [ebx + 0x18]
jmp 0x44cc72
cmp edi, 0xc74
jne 0x448086
mov eax, dword [ebp + 0x10]
cmp eax, esi
jne 0x447fe0
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0xc8]
jmp 0x44cc72
cmp eax, 1
jne 0x447ff3
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0xd0]
jmp 0x44cc72
cmp eax, 2
jne 0x448049
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + 4]
mov ecx, dword [edx + 8]
cmp ecx, dword [eax + 0xc]
jge 0x44cc70
mov eax, dword [eax + 8]
lea eax, [eax + ecx*2]
cmp word [eax], 9
push esi
jne 0x44803d
lea eax, [ebp - 0x2c]
push eax
push edx
push ebx
call fcn.004318a1
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 0xd8]
mov eax, dword [ebp - 0x2c]
cdq
idiv ecx
mov eax, ecx
add esp, 0x10
sub eax, edx
jmp 0x44cc72
push eax
push ebx
call fcn.0043177b
jmp 0x4472e3
cmp eax, 3
jne 0x44805c
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0xc4]
jmp 0x44cc72
cmp eax, 4
jne 0x44806f
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0xd4]
jmp 0x44cc72
cmp eax, 5
jne 0x44cc70
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0xd8]
jmp 0x44cc72
cmp edi, 0xc75
jne 0x4480a0
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.004317e6
jmp 0x4473ac
cmp edi, 0xc76
jne 0x4480e4
cmp dword [ebp + 0x10], esi
je 0x4480c1
push dword [ebp + 0x10]
lea eax, [ebx + 0xcb8]
push esi
push eax
push ebx
call fcn.004303f4
add esp, 0x10
mov eax, dword [ebp + 0x14]
cmp eax, esi
je 0x4480d9
mov ecx, dword [ebx + 0xcb8]
mov dword [eax], ecx
mov ecx, dword [ebx + 0xcbc]
mov dword [eax + 4], ecx
mov eax, dword [ebx + 0xd2c]
jmp 0x44cc72
cmp edi, 0xc77
jne 0x4480f7
mov eax, dword [ebx + 0xcc0]
jmp 0x44cc72
cmp edi, 0xc78
jne 0x44810d
mov eax, dword [ebp + 0x10]
mov dword [ebx + 0xcc0], eax
jmp 0x44cc70
cmp edi, 0xc79
jne 0x448144
cmp dword [ebp + 0x10], esi
mov edi, dword [ebp + 0x14]
jne 0x448129
push esi
push edi
push edi
push ebx
call fcn.004303f4
add esp, 0x10
cmp dword [ebp + 0x10], 1
jne 0x44cc70
push edi
push dword [edi + 4]
push dword [edi]
push ebx
call fcn.00430453
jmp 0x44c5b3
cmp edi, 0xc7a
jne 0x44815f
mov eax, dword [ebp + 0x10]
push dword [eax + 4]
push dword [eax]
push ebx
call fcn.00430481
jmp 0x4472e3
cmp edi, 0xc7b
jne 0x44817a
mov eax, dword [ebp + 0x10]
push dword [eax + 4]
push dword [eax]
push ebx
call fcn.004353f3
jmp 0x4472e3
cmp edi, 0xc7c
jne 0x4481b8
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp + 0x10]
push dword [eax + 4]
push dword [eax]
push ebx
call fcn.0043bdea
add esp, 0x10
cmp dword [ebp + 0x14], esi
mov edi, eax
je 0x447c01
push 0x18
lea eax, [ebp - 0x18]
push eax
push dword [ebp + 0x14]
call fcn.0042e3ac
add esp, 0xc
jmp 0x447c01
cmp edi, 0xc7d
jne 0x4481e7
cmp dword [ebp + 0x10], esi
jne 0x4481c9
push 1
jmp 0x4481f6
cmp dword [ebp + 0x10], 1
jne 0x44ae6a
mov eax, dword [ebx + 0xcac]
sub eax, dword [ebx + 0xcf8]
push 1
add eax, dword [ebp + 0x14]
push eax
jmp 0x4481f9
cmp edi, 0xc7e
jne 0x44822d
cmp dword [ebp + 0x10], esi
jne 0x448204
push 2
push dword [ebp + 0x14]
push ebx
call fcn.0042f444
jmp 0x4472e3
cmp dword [ebp + 0x10], 1
jne 0x44ae6a
push 2
push dword [ebp + 0x14]
push ebx
call fcn.0042f444
mov ecx, dword [ebx + 0xcf8]
add esp, 0xc
sub ecx, dword [ebx + 0xcac]
jmp 0x449fda
cmp edi, 0xc7f
jne 0x44825b
cmp dword [ebp + 0x10], 1
jne 0x448246
mov eax, dword [ebx + 0xd50]
jmp 0x44cc72
cmp dword [ebp + 0x10], 2
jne 0x44cc70
mov eax, dword [ebx + 0xd6c]
jmp 0x44cc72
mov ecx, 0xd2f
cmp edi, ecx
jae 0x448c84
cmp edi, eax
jne 0x44827c
xor eax, eax
cmp dword [ebx + 0xcdc], esi
setne al
jmp 0x44771d
cmp edi, 0xc98
jne 0x44828e
mov eax, 0x801
jmp 0x44cc72
cmp edi, 0xc99
jne 0x4482a3
mov eax, dword [ebx + 0x6cc]
mov eax, dword [eax]
jmp 0x44cc72
cmp edi, 0xc9a
jne 0x4482bd
mov ebx, dword [ebx + 0x6cc]
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebx]
mov dword [ebx], ecx
jmp 0x44cc72
cmp edi, 0xc9b
jne 0x4482d3
mov eax, dword [ebx + 0x6cc]
mov eax, dword [eax + 8]
jmp 0x44cc72
cmp edi, 0xc9c
jne 0x44844b
mov eax, dword [ebx + 0x6cc]
mov edi, dword [eax + 8]
mov ecx, dword [ebp + 0x10]
cmp ecx, 1
mov edx, edi
mov dword [ebp + 0xc], edx
jne 0x4482fa
mov edx, dword [ebp + 0x14]
jmp 0x44831a
cmp ecx, 2
jne 0x448304
or edx, dword [ebp + 0x14]
jmp 0x44831a
cmp ecx, 3
jne 0x44830e
and edx, dword [ebp + 0x14]
jmp 0x44831a
cmp ecx, 4
jne 0x44831d
mov ecx, dword [ebp + 0x14]
not ecx
and edx, ecx
mov dword [ebp + 0xc], edx
mov ecx, edi
and ecx, 0x400
jne 0x44838a
test dh, 4
je 0x44838a
mov eax, dword [eax + 0x50]
push eax
mov edx, 0x4535ec
push edx
mov dword [ebp + 0x10], eax
call fcn.0042f3b6
cmp eax, esi
pop ecx
pop ecx
jne 0x44834f
push dword [ebp + 0x10]
push edx
call fcn.0043815f
pop ecx
pop ecx
mov eax, dword [eax + 0xc]
mov ecx, dword [ebx + 0x6cc]
mov dword [ecx + 0xe4], eax
or dword [ebx + 0xd1c], 0xffffffff
or dword [ebx + 0xd20], 0xffffffff
push 1
lea eax, [ebx + 0xcf4]
push eax
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_InvalidateRect]
push ebx
call fcn.00440b8a
pop ecx
jmp 0x4483b4
cmp ecx, esi
je 0x4483b4
test dh, 4
jne 0x4483b4
push dword [ebx + 0xd00]
push dword [ebx + 0xcf8]
push dword [ebx + 0xce0]
push ebx
call fcn.004311b2
push ebx
call fcn.00440b8a
add esp, 0x14
mov eax, 0x200
test eax, edi
je 0x4483cc
test dword [ebp + 0xc], eax
jne 0x4483cc
push 0xa
push ebx
call fcn.00439589
pop ecx
pop ecx
mov eax, dword [ebp + 0xc]
mov ecx, eax
shr ecx, 0xb
mov edx, edi
shr edx, 0xb
not ecx
not edx
xor ecx, edx
test cl, 1
jne 0x44841e
mov ecx, eax
shr ecx, 0xc
mov edx, edi
shr edx, 0xc
not ecx
not edx
xor ecx, edx
test cl, 1
jne 0x44841e
mov ecx, eax
shr ecx, 0xd
mov edx, edi
shr edx, 0xd
not ecx
not edx
xor ecx, edx
test cl, 1
jne 0x44841e
shr eax, 0x1e
shr edi, 0x1e
not eax
not edi
xor eax, edi
test al, 1
je 0x44843a
push 1
lea eax, [ebx + 0xcf4]
push eax
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_InvalidateRect]
push ebx
call fcn.00440b8a
pop ecx
mov eax, dword [ebx + 0x6cc]
mov ecx, dword [ebp + 0xc]
mov dword [eax + 8], ecx
jmp 0x4482c5
cmp edi, 0xc9d
jne 0x44846b
mov ebx, dword [ebx + 0x6cc]
movzx eax, word [ebx + 0x14]
movzx ecx, word [ebx + 0x10]
shl eax, 0x10
or eax, ecx
jmp 0x44cc72
cmp edi, 0xc9e
jne 0x4484a3
test byte [ebp + 0x10], 1
mov eax, dword [ebp + 0x14]
je 0x448488
mov edx, dword [ebx + 0x6cc]
movzx ecx, ax
mov dword [edx + 0x10], ecx
test byte [ebp + 0x10], 2
je 0x44cc70
mov ecx, dword [ebx + 0x6cc]
shr eax, 0x10
mov dword [ecx + 0x14], eax
jmp 0x44cc70
cmp edi, 0xc9f
jne 0x4484b9
push dword [ebp + 0x14]
push ebx
call fcn.00436a90
jmp 0x44c48d
cmp edi, 0xca0
jne 0x4484d1
push 1
push dword [ebp + 0x14]
push ebx
call fcn.004431d5
jmp 0x44c907
cmp edi, 0xca1
jne 0x4484e7
mov eax, dword [ebx + 0x6cc]
mov eax, dword [eax + 0xc]
jmp 0x44cc72
cmp edi, 0xca2
jne 0x44854b
mov ecx, dword [ebx + 0x6cc]
mov edx, dword [ebp + 0x10]
cmp edx, 1
mov eax, dword [ecx + 0xc]
mov esi, eax
jne 0x448507
mov esi, dword [ebp + 0x14]
jmp 0x448527
cmp edx, 2
jne 0x448511
or esi, dword [ebp + 0x14]
jmp 0x448527
cmp edx, 3
jne 0x44851b
and esi, dword [ebp + 0x14]
jmp 0x448527
cmp edx, 4
jne 0x448527
mov edx, dword [ebp + 0x14]
not edx
and esi, edx
mov dword [ecx + 0xc], esi
mov ecx, esi
shr ecx, 1
shr eax, 1
not ecx
not eax
xor ecx, eax
test cl, 1
je 0x4484d9
push dword [ebx + 0xd34]
push ebx
call fcn.00439983
pop ecx
pop ecx
jmp 0x4484d9
cmp edi, 0xca5
jne 0x448576
lea eax, [ebx + 0x6cc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xdc]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], edx
mov eax, dword [eax]
mov eax, dword [eax + 0xe0]
mov dword [ecx + 4], eax
jmp 0x44cc70
cmp edi, 0xca6
jne 0x4485ad
mov ecx, dword [ebp + 0x14]
mov esi, dword [ecx]
lea eax, [ebx + 0x6cc]
mov edx, dword [eax]
mov dword [edx + 0xdc], esi
mov eax, dword [eax]
mov ecx, dword [ecx + 4]
mov dword [eax + 0xe0], ecx
push dword [ebx + 0xd34]
push ebx
call fcn.00439983
jmp 0x44c48d
cmp edi, 0xca7
jne 0x4485c3
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0xdc]
jmp 0x44cc72
cmp edi, 0xca8
jne 0x448667
mov ecx, dword [ebp + 0x10]
cmp ecx, esi
jg 0x4485d9
push 8
pop ecx
mov eax, dword [ebx + 8]
add eax, 0xdc
cmp dword [eax], ecx
je 0x44cc70
mov dword [eax], ecx
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 0xdc]
imul ecx, dword [eax + 0xd4]
push 1
push esi
push esi
push ebx
mov dword [eax + 0xd8], ecx
call fcn.00440c88
push 0xa
push ebx
mov dword [ebx + 0xcb8], esi
mov dword [ebx + 0xcbc], esi
call fcn.00439589
push dword [ebx + 0xd34]
push ebx
call fcn.00439983
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x110]
add esp, 0x20
cmp eax, esi
je 0x448647
push eax
push esi
push esi
push ebx
call fcn.00443cf5
add esp, 0x10
push 1
lea eax, [ebx + 0xcf4]
push eax
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_InvalidateRect]
push ebx
call fcn.00440b8a
jmp 0x44c48e
cmp edi, 0xca9
jne 0x44868f
mov eax, dword [ebp + 0x14]
cmp eax, esi
je 0x448681
mov ecx, dword [ebx + 8]
mov ecx, dword [ecx + 0x114]
mov dword [eax], ecx
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x110]
jmp 0x44cc72
cmp edi, 0xcaa
jne 0x448750
mov edi, dword [ebp + 0x10]
push 0x10
push ebx
mov dword [ebp + 0xc], esi
call fcn.0043e378
test byte [ebp + 0x10], 3
pop ecx
pop ecx
jne 0x4486b5
xor edi, edi
jmp 0x4486c4
mov eax, dword [ebp + 0x10]
test ah, 2
jne 0x4486c4
or eax, 0x100
mov edi, eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x110]
cmp eax, edi
je 0x4486f6
cmp eax, esi
je 0x4486e5
cmp edi, esi
je 0x4486e5
push esi
push esi
push esi
push ebx
call fcn.00443cf5
add esp, 0x10
mov eax, dword [ebx + 8]
mov dword [eax + 0x110], edi
xor edi, edi
inc edi
mov dword [ebp + 0xc], edi
jmp 0x4486f9
xor edi, edi
inc edi
mov eax, dword [ebx + 8]
mov ecx, dword [ebp + 0x14]
add eax, 0x114
cmp dword [eax], ecx
je 0x448711
cmp ecx, esi
jl 0x448711
mov dword [eax], ecx
mov dword [ebp + 0xc], edi
cmp dword [ebp + 0xc], esi
je 0x448745
mov eax, dword [ebx + 8]
push dword [eax + 0x110]
push esi
push esi
push ebx
call fcn.00443cf5
add esp, 0x10
push edi
lea eax, [ebx + 0xcf4]
push eax
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_InvalidateRect]
push ebx
call fcn.00440b8a
pop ecx
push ebx
call fcn.00443526
jmp 0x44c48e
cmp edi, 0xcab
jne 0x44876b
mov eax, dword [ebx + 0x6cc]
push dword [ebp + 0x10]
add eax, 0xfc
jmp 0x449660
cmp edi, 0xcac
jne 0x4487a8
mov eax, dword [ebp + 0x14]
cmp eax, esi
jne 0x44877f
mov eax, str.__t_n_________._:_______
push 0x80
push eax
lea esi, [ebx + 0x6cc]
mov eax, dword [esi]
add eax, 0xfc
push eax
call fcn.0042e6ca
mov ecx, dword [esi]
add esp, 0xc
mov dword [ecx + 0x1fc], eax
jmp 0x44cc70
cmp edi, 0xcad
jne 0x4487c0
mov eax, dword [ebx + 8]
push dword [ebp + 0x10]
add eax, 0x118
jmp 0x449660
cmp edi, 0xcae
jne 0x448801
mov eax, dword [ebp + 0x14]
cmp eax, esi
jne 0x4487d4
mov eax, 0x44dbec
push 0x80
push eax
mov eax, dword [ebx + 8]
add eax, 0x118
push eax
call fcn.0042e6ca
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x110]
add esp, 0xc
test al, 1
je 0x44cc70
jmp 0x44863b
cmp edi, 0xcaf
jne 0x44881c
mov eax, dword [ebx + 0x6cc]
push dword [ebp + 0x10]
add eax, 0x204
jmp 0x449660
cmp edi, 0xcb0
jne 0x44884f
mov eax, dword [ebp + 0x14]
cmp eax, esi
jne 0x448830
mov eax, str.__t_n_____
push 0x80
push eax
mov eax, dword [ebx + 0x6cc]
add eax, 0x204
push eax
call fcn.0042e6ca
add esp, 0xc
jmp 0x44aa00
cmp edi, 0xcb1
jne 0x44886a
mov eax, dword [ebx + 0x6cc]
push dword [ebp + 0x10]
add eax, 0x304
jmp 0x449660
cmp edi, 0xcb2
jne 0x4488b9
mov eax, dword [ebp + 0x14]
cmp eax, esi
jne 0x44887e
mov eax, 0x44dc40
push 0x80
push eax
mov eax, dword [ebx + 0x6cc]
add eax, 0x304
push eax
call fcn.0042e6ca
add esp, 0xc
xor edi, edi
push esi
lea eax, [ebx + 0xcf4]
push eax
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_InvalidateRect]
push ebx
call fcn.00440b8a
jmp 0x44b40f
cmp edi, 0xcb3
jne 0x44891f
mov eax, dword [ebx + 0x6cc]
mov edi, 0x404
add eax, edi
push esi
push eax
call fcn.0042e429
pop ecx
pop ecx
mov ecx, dword [ebp + 0x10]
cmp eax, ecx
jge 0x4488f4
mov eax, dword [ebx + 0x6cc]
add eax, edi
push esi
push eax
call fcn.0042e429
pop ecx
pop ecx
mov dword [ebp + 0x10], eax
jmp 0x4488f7
mov dword [ebp + 0x10], ecx
cmp dword [ebp + 0x14], esi
je 0x447ce2
mov eax, dword [ebp + 0x10]
add eax, eax
push eax
mov eax, dword [ebx + 0x6cc]
add eax, edi
push eax
push dword [ebp + 0x14]
call fcn.0042e3ac
add esp, 0xc
jmp 0x447ce2
cmp edi, 0xcb4
jne 0x448996
mov eax, dword [ebp + 0x14]
cmp eax, esi
mov dword [ebp + 0x10], eax
jne 0x448938
mov dword [ebp + 0x10], str.http:
push esi
push dword [ebp + 0x10]
call fcn.0042e429
pop ecx
pop ecx
mov ecx, eax
shl ecx, 1
mov eax, 0x100
cmp ecx, eax
jae 0x44895d
push esi
push dword [ebp + 0x10]
call fcn.0042e429
pop ecx
pop ecx
shl eax, 1
push eax
push dword [ebp + 0x10]
lea edi, [ebx + 0x6cc]
mov eax, dword [edi]
add eax, 0x404
push eax
call fcn.0042e3ac
mov eax, dword [edi]
mov word [eax + 0x502], si
mov eax, dword [edi]
push ebx
mov word [eax + 0x500], si
call fcn.00431ff7
add esp, 0x10
mov edi, eax
jmp 0x44889a
cmp edi, 0xcb5
jne 0x4489af
mov eax, dword [ebx + 0x6cc]
mov eax, dword [eax + 0x584]
jmp 0x44cc72
cmp edi, 0xcb6
jne 0x4489cb
mov eax, dword [ebx + 0x6cc]
mov ecx, dword [ebp + 0x10]
mov dword [eax + 0x584], ecx
jmp 0x44cc70
cmp edi, 0xcb7
jne 0x4489e4
mov eax, dword [ebx + 0x6cc]
mov eax, dword [eax + 0x200]
jmp 0x44cc72
cmp edi, 0xcb8
jne 0x448a04
mov ebx, dword [ebx + 0x6cc]
mov edx, dword [ebp + 0x10]
lea ecx, [ebx + 0x200]
mov eax, dword [ecx]
mov dword [ecx], edx
jmp 0x44cc72
cmp edi, 0xcb9
jne 0x448a32
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x448a21
mov ecx, dword [ebx + 0x6cc]
mov ecx, dword [ecx + 0xec]
mov dword [eax], ecx
mov eax, dword [ebx + 0x6cc]
mov eax, dword [eax + 0xf0]
jmp 0x44cc72
cmp edi, 0xcba
jne 0x448a7f
mov eax, dword [ebx + 0x6cc]
mov edi, dword [eax + 0x54]
push edi
mov edx, 0x4535ec
push edx
call fcn.0042f3b6
cmp eax, esi
pop ecx
pop ecx
jne 0x448a5e
push edi
push edx
call fcn.0043815f
pop ecx
pop ecx
mov ecx, dword [ebx + 0x6cc]
mov eax, dword [eax + 0xc]
push esi
push dword [ebp + 0x14]
mov dword [ecx + 0xe8], eax
push dword [ebp + 0x10]
push ebx
call fcn.00440dca
jmp 0x4473ac
cmp edi, 0xcbb
jne 0x448a95
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0xcc]
jmp 0x44cc72
cmp edi, 0xcbc
jne 0x448b68
mov eax, dword [ebx + 8]
mov edi, dword [ebp + 0x10]
cmp dword [eax + 0xcc], edi
je 0x44cc70
cmp edi, esi
jl 0x44cc70
mov eax, dword [ebx + 0x6cc]
cmp dword [eax + 0x18], esi
mov dword [ebp + 0x10], esi
jne 0x448ad3
push ebx
call fcn.00431548
pop ecx
mov dword [ebp + 0x10], eax
mov eax, dword [ebx + 8]
mov ecx, edi
sub ecx, dword [eax + 0xcc]
push 2
add dword [eax + 0xc8], ecx
mov eax, dword [ebx + 8]
mov dword [eax + 0xcc], edi
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0xf8]
inc eax
push eax
push ebx
call fcn.0042f444
mov ecx, dword [ebx + 8]
push 1
push ebx
mov dword [ecx + 0xf0], eax
call fcn.00440334
push 0xa
push ebx
mov dword [ebx + 0xcb8], esi
mov dword [ebx + 0xcbc], esi
call fcn.00439589
mov eax, dword [ebx + 0x6cc]
add esp, 0x1c
cmp dword [eax + 0x18], esi
jne 0x448b55
push 2
push dword [ebp + 0x10]
push ebx
call fcn.0042f444
push esi
mov dword [ebp - 0x28], eax
push esi
lea eax, [ebp - 0x2c]
push eax
push 0x20220
push ebx
call fcn.0044006b
add esp, 0x20
push dword [ebx + 0xd34]
push ebx
call fcn.00439983
pop ecx
pop ecx
jmp 0x448647
cmp edi, 0xcbd
jne 0x448b7e
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x10c]
jmp 0x44cc72
cmp edi, 0xcbe
jne 0x448b97
mov eax, dword [ebx + 8]
mov ecx, dword [ebp + 0x10]
mov dword [eax + 0x10c], ecx
jmp 0x44cc70
cmp edi, 0xcbf
jne 0x448c05
mov eax, dword [ebp + 0x10]
cmp eax, esi
jne 0x448bb1
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x14]
jmp 0x44cc72
cmp eax, 1
jne 0x448bc1
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x18]
jmp 0x44cc72
cmp eax, 2
jne 0x448bd1
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x1c]
jmp 0x44cc72
cmp eax, 3
jne 0x448be1
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x20]
jmp 0x44cc72
cmp eax, 4
jne 0x448bf1
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x24]
jmp 0x44cc72
cmp eax, 5
jne 0x44cc70
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x28]
jmp 0x44cc72
cmp edi, 0xcc0
jne 0x448c26
mov ebx, dword [ebx + 0x6cc]
movzx eax, word [ebx + 0xf8]
movzx ecx, word [ebx + 0xf4]
jmp 0x448461
cmp edi, 0xcc1
jne 0x448c6b
mov eax, dword [ebp + 0x10]
mov esi, dword [ebx + 0x6cc]
movzx edx, ax
lea ecx, [esi + 0xf4]
cmp dword [ecx], edx
jne 0x448c55
mov edi, eax
shr edi, 0x10
cmp dword [esi + 0xf8], edi
je 0x44cc70
mov dword [ecx], edx
mov ecx, dword [ebx + 0x6cc]
shr eax, 0x10
mov dword [ecx + 0xf8], eax
jmp 0x448647
cmp edi, 0xcc2
jne 0x448c84
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.0043d457
jmp 0x4472e3
mov eax, 0xd4d
cmp edi, eax
jae 0x4491a3
cmp edi, ecx
jne 0x448d21
mov eax, dword [ebx + 0xd24]
or dword [ebp + 0xc], 0xffffffff
xor edi, edi
cmp eax, esi
je 0x448cc3
cmp dword [ebx + 0xd28], esi
je 0x448cba
mov dword [ebp + 0xc], 3
jmp 0x448cd2
cmp eax, esi
je 0x448cc3
mov dword [ebp + 0xc], esi
jmp 0x448cd2
cmp dword [ebx + 0xd28], esi
je 0x448cd2
mov dword [ebp + 0xc], 1
mov edx, dword [ebp + 0x10]
cmp edx, 3
mov ecx, dword [ebp + 0x14]
je 0x448ce1
cmp edx, esi
jne 0x448cee
cmp eax, ecx
je 0x448cee
xor edi, edi
mov dword [ebx + 0xd24], ecx
inc edi
cmp edx, 3
je 0x448cf8
cmp edx, 1
jne 0x448d07
lea eax, [ebx + 0xd28]
cmp dword [eax], ecx
je 0x448d07
xor edi, edi
mov dword [eax], ecx
inc edi
cmp edi, esi
je 0x448d19
push ecx
push edx
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_ShowScrollBar]
mov eax, dword [ebp + 0xc]
jmp 0x44cc72
cmp edi, 0xd30
jne 0x448d37
push dword [ebp + 0x10]
push ebx
call fcn.00440334
jmp 0x44c48d
cmp edi, 0xd31
jne 0x448d50
push dword [ebx + 0xd34]
push ebx
call fcn.00439983
jmp 0x44a857
cmp edi, 0xd32
jne 0x448d63
push ebx
call fcn.004440df
jmp 0x44c48e
cmp edi, 0xd33
jne 0x448dac
test byte [ebp + 0x10], 1
je 0x448d86
cmp dword [ebp + 0x14], esi
mov eax, dword [ebx + 0x6cc]
je 0x448d82
or dword [eax + 0x24], 1
jmp 0x448d86
and dword [eax + 0x24], 0xfffffffe
test byte [ebp + 0x10], 2
je 0x448da1
cmp dword [ebp + 0x14], esi
mov eax, dword [ebx + 0x6cc]
je 0x448d9d
or dword [eax + 0x24], 2
jmp 0x448da1
and dword [eax + 0x24], 0xfffffffd
mov eax, dword [ebx + 0x6cc]
jmp 0x448be9
cmp edi, 0xd34
jne 0x448ee3
mov edi, dword [ebx + 0xd14]
cmp edi, esi
mov dword [ebp + 0x10], esi
jne 0x448dde
lea eax, [ebx + 0xce4]
push eax
push ebx
call fcn.00437e4d
mov edi, eax
cmp edi, esi
pop ecx
pop ecx
je 0x447ce2
mov esi, dword [ebp + 0x14]
lea eax, [edi + 8]
push eax
push esi
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x448ebf
mov eax, dword [esi + 8]
cmp dword [edi + 8], eax
jge 0x448e53
mov ecx, dword [edi + 0x10]
cmp ecx, dword [esi]
jle 0x448e53
cmp ecx, eax
jle 0x448e2c
mov dword [ebp - 0x10], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [edi + 0x10]
mov dword [ebp - 8], eax
mov eax, dword [edi + 0x14]
mov dword [ebp - 4], eax
lea eax, [ebp - 0x10]
push eax
push ebx
call fcn.00437e4d
pop ecx
pop ecx
mov eax, dword [edi + 8]
cmp eax, dword [esi]
jge 0x448e53
mov dword [ebp - 0x10], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
mov dword [ebp - 8], eax
mov eax, dword [edi + 0x14]
mov dword [ebp - 4], eax
lea eax, [ebp - 0x10]
push eax
push ebx
call fcn.00437e4d
pop ecx
pop ecx
mov ecx, dword [esi + 0xc]
cmp dword [edi + 0xc], ecx
jge 0x448eb7
mov eax, dword [edi + 0x14]
cmp eax, dword [esi + 4]
jle 0x448eb7
cmp eax, ecx
jle 0x448e8b
mov eax, dword [edi + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [edi + 0x10]
mov dword [ebp - 8], eax
mov eax, dword [edi + 0x14]
mov dword [ebp - 4], eax
lea eax, [ebp - 0x10]
push eax
push ebx
call fcn.00437e4d
pop ecx
pop ecx
mov eax, dword [edi + 0xc]
cmp eax, dword [esi + 4]
jge 0x448eb7
mov eax, dword [edi + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [edi + 0x10]
mov dword [ebp - 8], eax
mov eax, dword [esi + 4]
mov dword [ebp - 4], eax
lea eax, [ebp - 0x10]
push eax
push ebx
call fcn.00437e4d
pop ecx
pop ecx
xor eax, eax
inc eax
mov dword [ebp + 0x10], eax
jmp 0x448ec1
xor eax, eax
test eax, eax
mov ecx, dword [edi]
mov dword [ebp + 0x14], ecx
je 0x448ed3
push edi
push ebx
call fcn.0042f12e
pop ecx
pop ecx
mov edi, dword [ebp + 0x14]
test edi, edi
jne 0x448de1
jmp 0x447ce2
cmp edi, 0xd35
jne 0x448f69
mov dl, byte [ebp + 0x10]
test dl, 2
je 0x448f25
mov eax, dword [ebx + 0xd04]
mov ecx, dword [ebx + 0xd08]
mov esi, dword [ebx + 0xcec]
mov edi, dword [ebx + 0xcf0]
sub eax, dword [ebx + 0xce4]
sub ecx, dword [ebx + 0xce8]
sub esi, dword [ebx + 0xd0c]
sub edi, dword [ebx + 0xd10]
jmp 0x448f3e
lea esi, [ebx + 0xd04]
lea edi, [ebp - 0x10]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
mov edi, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
test dl, 4
mov ebx, dword [ebp + 0x14]
jne 0x448f48
mov dword [ebx], eax
test dl, 8
jne 0x448f50
mov dword [ebx + 4], ecx
test dl, 0x10
jne 0x448f58
mov dword [ebx + 8], esi
test dl, 0x20
jne 0x44cc70
mov dword [ebx + 0xc], edi
jmp 0x44cc70
cmp edi, 0xd36
jne 0x449014
cmp dword [ebp + 0x14], esi
mov esi, dword [ebp + 0x14]
jne 0x448f83
lea esi, [ebx + 0xce4]
mov al, byte [ebp + 0x10]
test al, 2
je 0x448fbb
mov ecx, dword [ebx + 0xce4]
add ecx, dword [esi]
mov dword [ebp - 0x10], ecx
mov ecx, dword [esi + 4]
add ecx, dword [ebx + 0xce8]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebx + 0xcec]
sub ecx, dword [esi + 8]
mov dword [ebp - 8], ecx
mov ecx, dword [ebx + 0xcf0]
sub ecx, dword [esi + 0xc]
mov dword [ebp - 4], ecx
jmp 0x448fc2
lea edi, [ebp - 0x10]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
test al, 4
je 0x448fcf
mov ecx, dword [ebx + 0xd04]
mov dword [ebp - 0x10], ecx
test al, 8
je 0x448fdc
mov ecx, dword [ebx + 0xd08]
mov dword [ebp - 0xc], ecx
test al, 0x10
je 0x448fe9
mov ecx, dword [ebx + 0xd0c]
mov dword [ebp - 8], ecx
test al, 0x20
je 0x448ff6
mov ecx, dword [ebx + 0xd10]
mov dword [ebp - 4], ecx
test al, 1
lea edi, [ebx + 0xd04]
lea esi, [ebp - 0x10]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
je 0x44cc70
push 1
push 0
jmp 0x449770
cmp edi, 0xd39
jne 0x44902a
push dword [ebp + 0x10]
push ebx
call fcn.0043151f
jmp 0x44c48d
cmp edi, 0xd3a
jne 0x449045
push 1
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.00431470
jmp 0x44c5b3
cmp edi, 0xd3e
jne 0x44905e
mov eax, dword [ebx + 0x6cc]
mov eax, dword [eax + 0xcc]
jmp 0x44a569
cmp edi, 0xd3f
jne 0x4491a3
mov eax, dword [ebx + 0x6cc]
mov edx, dword [ebp + 0x10]
add eax, 0xcc
cmp edx, esi
mov dword [ebp + 0xc], esi
je 0x44912d
mov ecx, dword [eax]
cmp ecx, esi
mov edi, 0x4535e4
je 0x4490b6
cmp dword [ecx + 0xc], edx
je 0x44916b
mov eax, ecx
dec dword [eax + 8]
mov eax, dword [ebx + 0x6cc]
mov eax, dword [eax + 0xcc]
cmp dword [eax + 8], esi
jne 0x4490b6
push eax
push edi
call fcn.0042f33c
pop ecx
pop ecx
push dword [ebp + 0x10]
push edi
call fcn.0042f326
pop ecx
pop ecx
mov ecx, dword [ebx + 0x6cc]
mov dword [ecx + 0xcc], eax
mov eax, dword [ebx + 0x6cc]
cmp dword [eax + 0xcc], esi
jne 0x4490f2
push dword [ebp + 0x10]
push edi
call fcn.004380a0
pop ecx
pop ecx
mov ecx, dword [ebx + 0x6cc]
mov dword [ecx + 0xcc], eax
mov eax, dword [ebx + 0x6cc]
add eax, 0xcc
mov ecx, dword [eax]
cmp ecx, esi
je 0x44cc70
cmp dword [ecx + 0x14], esi
je 0x449113
mov eax, ecx
inc dword [eax + 8]
jmp 0x449164
push ecx
push edi
call fcn.0042f33c
mov eax, dword [ebx + 0x6cc]
pop ecx
pop ecx
mov dword [eax + 0xcc], esi
jmp 0x44cc70
cmp dword [eax], esi
je 0x44cc70
mov eax, dword [eax]
dec dword [eax + 8]
mov eax, dword [ebx + 0x6cc]
mov eax, dword [eax + 0xcc]
cmp dword [eax + 8], esi
jne 0x449158
push eax
push 0x4535e4
call fcn.0042f33c
pop ecx
pop ecx
mov eax, dword [ebx + 0x6cc]
mov dword [eax + 0xcc], esi
mov dword [ebp + 0xc], 1
mov eax, dword [ebx + 0x6cc]
mov ecx, dword [ebp + 0x14]
add eax, 0xd0
cmp ecx, dword [eax]
je 0x449186
mov dword [eax], ecx
mov dword [ebp + 0xc], 1
cmp dword [ebp + 0xc], esi
je 0x448d19
push 1
push esi
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x448d19
mov ecx, 0xd61
cmp edi, ecx
jae 0x4492fa
cmp edi, eax
jne 0x4491c1
mov eax, dword [ebx + 8]
add eax, 0x694
jmp 0x44cc72
cmp edi, 0xd4e
jne 0x4491d7
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x69c]
jmp 0x44cc72
cmp edi, 0xd4f
jne 0x4491ed
push dword [ebp + 0x14]
push ebx
call fcn.004381a6
jmp 0x44a857
cmp edi, 0xd50
jne 0x44924c
or dword [ebp + 0xc], 0xffffffff
cmp dword [ebp + 0x14], esi
je 0x449213
mov eax, dword [ebx + 0x6cc]
cmp dword [eax + 0x18], esi
jne 0x449213
push ebx
call fcn.00431548
pop ecx
mov dword [ebp + 0xc], eax
cmp dword [ebp + 0x10], esi
je 0x449224
push dword [ebp + 0x10]
push ebx
call fcn.00434673
pop ecx
jmp 0x44922a
push ebx
call fcn.0043473e
cmp dword [ebp + 0x14], esi
pop ecx
mov edi, eax
je 0x447c01
cmp edi, esi
je 0x447c01
push dword [ebp + 0xc]
push ebx
call fcn.00440bf9
jmp 0x44b40e
cmp edi, 0xd51
jne 0x449262
push dword [ebp + 0x10]
push ebx
call fcn.0042f3fb
jmp 0x44a857
cmp edi, 0xd52
jne 0x449286
mov eax, dword [ebp + 0x10]
lea ecx, [eax + 0xc]
push ecx
lea ecx, [eax + 8]
push ecx
push esi
push dword [eax + 4]
push dword [eax]
push ebx
call fcn.00434035
jmp 0x44c824
cmp edi, 0xd53
jne 0x44929e
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call fcn.0042d018
jmp 0x44a857
cmp edi, 0xd54
jne 0x4492b6
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call fcn.0042d041
jmp 0x44a857
cmp edi, 0xd55
jne 0x4492cc
push dword [ebp + 0x10]
push ebx
call fcn.004345ac
jmp 0x44a857
cmp edi, 0xd56
je 0x449d1f
cmp edi, 0xd57
je 0x449d1f
cmp edi, 0xd58
jne 0x4492fa
push dword [ebp + 0x14]
push ebx
call fcn.00440bf9
jmp 0x44a857
mov edx, 0xd75
cmp edi, edx
jae 0x449450
cmp edi, ecx
jne 0x449334
push fcn.00447120
push dword [ebp + 0x14]
push dword [ebx + 0xccc]
call fcn.004460ca
add esp, 0xc
cmp eax, esi
je 0x44cc72
mov dword [eax + 0xccc], esi
jmp 0x44cc72
cmp edi, 0xd62
jne 0x44935d
mov edi, dword [ebp + 0x10]
push edi
call fcn.00443bc4
cmp dword [0x453658], edi
pop ecx
jne 0x44cc70
mov dword [0x453658], esi
jmp 0x44cc70
cmp edi, 0xd63
jne 0x44936c
mov eax, ebx
jmp 0x44cc72
cmp edi, 0xd64
jne 0x449385
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.004408c2
jmp 0x4472e3
cmp edi, 0xd65
jne 0x4493aa
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x44939f
mov eax, dword [eax + 0xcc8]
jmp 0x44cc72
mov eax, dword [ebx + 0xcc8]
jmp 0x44cc72
cmp edi, 0xd66
jne 0x4493c8
mov eax, dword [ebp + 0x10]
cmp eax, esi
jne 0x447452
mov eax, dword [ebx + 0xccc]
jmp 0x44cc72
mov eax, 0xd67
cmp edi, eax
jne 0x449450
mov edi, dword [ebp + 0x14]
cmp dword [edi + 4], eax
mov ecx, dword [ebx + 0xccc]
mov dword [ebp + 0x10], ecx
je 0x44cc70
mov eax, dword [edi]
cmp eax, esi
je 0x4493fc
cmp eax, ebx
je 0x4493fc
push 0x3f
push eax
push ebx
call fcn.004408c2
add esp, 0xc
cmp dword [ebx + 0xcd8], esi
push dword [edi + 0xc]
push dword [edi + 8]
push dword [edi + 4]
push dword [ebp + 0x10]
jne 0x449418
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x44941e
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [edi + 0x10], eax
mov edi, dword [edi]
cmp edi, esi
je 0x447827
cmp edi, ebx
je 0x447827
mov eax, dword [ebp + 0x10]
cmp dword [edi + 0xccc], eax
jne 0x447827
push 0x3f
push ebx
push edi
call fcn.004408c2
jmp 0x44bd57
mov ecx, 0xd93
cmp edi, ecx
jae 0x44951a
cmp edi, edx
jne 0x449485
push dword [ebp + 0x10]
push 0x4535c4
call fcn.0042f029
cmp eax, esi
pop ecx
pop ecx
je 0x44cc70
push eax
push ebx
call fcn.004409a9
pop ecx
jmp 0x44adec
cmp edi, 0xd76
jne 0x4494d0
cmp dword [ebp + 0x10], esi
je 0x4494c5
push dword [ebp + 0x10]
push 0x4535c4
call fcn.0042f029
cmp eax, esi
pop ecx
pop ecx
je 0x44cc70
push eax
push ebx
call fcn.0042f08f
cmp eax, esi
pop ecx
pop ecx
je 0x44cc70
push eax
call fcn.00440a33
jmp 0x44adec
push ebx
call fcn.00440b6a
jmp 0x44adec
cmp edi, 0xd77
jne 0x4494f7
mov eax, dword [ebx + 0xeec]
cmp eax, esi
jne 0x447452
cmp dword [ebx + 0xee8], esi
jle 0x44cc70
jmp 0x4493bd
cmp edi, 0xd78
jne 0x44951a
push dword [ebp + 0x10]
push ebx
call fcn.0042f070
cmp eax, esi
pop ecx
pop ecx
je 0x44cc70
mov eax, dword [eax + 8]
jmp 0x447452
mov eax, 0xdc5
cmp edi, eax
jae 0x44957b
cmp edi, ecx
jne 0x449547
cmp dword [ebx + 0xcd8], esi
push dword [ebp + 0x14]
push ebx
jne 0x44953d
call fcn.00439a77
jmp 0x44a857
call fcn.00439d39
jmp 0x44a857
cmp edi, 0xd94
jne 0x449560
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.0043d9c6
jmp 0x4472e3
cmp edi, 0xd95
jne 0x449579
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.00430c77
jmp 0x44c907
cmp edi, eax
jne 0x44959f
push 0x104
lea eax, [ebp - 0x288]
push eax
push 0xffffffffffffffff
push dword [ebp + 0x14]
push esi
push esi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea eax, [ebp - 0x288]
push eax
jmp 0x4495aa
cmp edi, 0xdc6
jne 0x4495b4
push dword [ebp + 0x14]
call fcn.00439664
jmp 0x44730f
cmp edi, 0xdc7
jne 0x4495f4
cmp dword [ebp + 0x14], esi
jne 0x4495d2
mov eax, dword [ebx + 0x6cc]
mov eax, dword [eax + 0x588]
jmp 0x44cc72
push 0x104
lea eax, [ebp - 0x288]
push eax
push 0xffffffffffffffff
push dword [ebp + 0x14]
push esi
push esi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea eax, [ebp - 0x288]
push eax
jmp 0x449604
cmp edi, 0xdc8
jne 0x44960e
cmp dword [ebp + 0x14], esi
je 0x4495c1
push dword [ebp + 0x14]
call fcn.00430671
jmp 0x44730f
cmp edi, 0xdc9
jne 0x44963c
mov eax, dword [ebp + 0x10]
add eax, 8
cmp dword [ebp + 0x14], esi
je 0x44964f
push esi
push esi
push 0x104
push dword [ebp + 0x14]
push 0xffffffffffffffff
push eax
push esi
push esi
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
dec eax
jmp 0x44cc72
cmp edi, 0xdca
jne 0x44966e
mov eax, dword [ebp + 0x10]
add eax, 8
cmp dword [ebp + 0x14], esi
jne 0x44965b
push eax
call fcn.0042e475
pop ecx
jmp 0x44771d
push 0x104
push eax
push dword [ebp + 0x14]
call fcn.0042e6ca
jmp 0x4472e3
cmp edi, 0xdcb
jne 0x449730
mov eax, dword [ebp + 0x14]
cmp eax, 1
jne 0x4496a0
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x449693
add eax, 0x210
jmp 0x44cc72
mov eax, dword [ebx + 8]
add eax, 0x24c
jmp 0x44cc72
cmp eax, 2
jne 0x4496c3
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x4496b6
add eax, 0x218
jmp 0x44cc72
mov eax, dword [ebx + 8]
add eax, 0x254
jmp 0x44cc72
cmp eax, 3
jne 0x4496e6
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x4496d9
add eax, 0x630
jmp 0x44cc72
mov eax, dword [ebx + 8]
add eax, 0x66c
jmp 0x44cc72
cmp eax, 4
jne 0x449709
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x4496fc
add eax, 0x648
jmp 0x44cc72
mov eax, dword [ebx + 8]
add eax, 0x684
jmp 0x44cc72
cmp eax, 5
jne 0x44ae6a
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x449723
add eax, 0x650
jmp 0x44cc72
mov eax, dword [ebx + 8]
add eax, 0x68c
jmp 0x44cc72
cmp edi, 0xdcc
jne 0x449748
push dword [ebp + 0x10]
call fcn.0043069b
add esp, 4
jmp 0x44cc72
cmp edi, 0xdcd
jne 0x449781
cmp dword [ebp + 0x14], esi
mov eax, dword [ebx + 0x6cc]
mov ecx, dword [ebp + 0x10]
mov dword [eax + 0x588], ecx
je 0x44cc70
push esi
lea eax, [ebx + 0xcf4]
push eax
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x44cc70
cmp edi, 0xdce
jne 0x4497a5
cmp dword [ebp + 0x10], esi
je 0x449797
push dword [ebp + 0x10]
call fcn.004306b3
pop ecx
push dword [ebp + 0x10]
push ebx
call fcn.004396b3
jmp 0x44c48d
cmp edi, 0xdcf
jne 0x4497be
push esi
call fcn.004306b3
pop ecx
call fcn.004396ff
jmp 0x44cc70
cmp edi, 0xdd9
jne 0x449819
mov edi, dword [ebp + 0x14]
push dword [edi + 8]
push dword [edi + 0x10]
push dword [ebp + 0x10]
push ebx
call fcn.0043974d
add esp, 0x10
mov ebx, eax
cmp ebx, esi
je 0x449365
mov eax, dword [edi + 0x10]
lea eax, [eax + eax + 2]
push eax
push esi
push esi
call fcn.00433f21
add esp, 0xc
cmp eax, esi
mov dword [ebx + 0xc], eax
je 0x449b92
mov ecx, dword [edi + 0x10]
inc ecx
push ecx
push eax
push ecx
push dword [edi + 0xc]
push esi
push esi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
jmp 0x449b92
cmp edi, 0xdda
jne 0x44983b
mov edi, dword [ebp + 0x14]
push dword [edi + 8]
push dword [edi + 0x10]
push dword [ebp + 0x10]
push ebx
call fcn.0043974d
add esp, 0x10
jmp 0x449b5b
cmp edi, 0xddb
jne 0x449867
cmp dword [ebp + 0x14], esi
je 0x449859
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.004306e6
jmp 0x44c907
push dword [ebp + 0x10]
push ebx
call fcn.00430733
jmp 0x44c48d
cmp edi, 0xde3
jne 0x4498cf
mov edi, dword [ebp + 0x14]
test byte [edi + 0x14], 2
jne 0x449880
mov eax, dword [edi + 0x10]
mov dword [ebp + 0x14], eax
jmp 0x449883
mov dword [ebp + 0x14], esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.004356a5
mov ebx, eax
add esp, 0xc
cmp ebx, esi
je 0x449365
mov eax, dword [edi + 0x10]
lea eax, [eax + eax + 2]
push eax
push esi
push esi
call fcn.00433f21
add esp, 0xc
cmp eax, esi
mov dword [ebx + 0xc], eax
je 0x4498c7
mov ecx, dword [edi + 0x10]
inc ecx
push ecx
push eax
push ecx
push dword [edi + 0xc]
push esi
push esi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp + 0x14]
jmp 0x449b95
cmp edi, 0xde4
jne 0x449942
mov esi, dword [ebp + 0x14]
test byte [esi + 0x14], 2
jne 0x4498e8
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x14], eax
jmp 0x4498ec
and dword [ebp + 0x14], 0
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.004356a5
mov edi, eax
add esp, 0xc
test edi, edi
je 0x447c01
mov eax, dword [esi + 0x10]
lea eax, [eax + eax + 2]
push eax
push 0
push 0
call fcn.00433f21
add esp, 0xc
test eax, eax
mov dword [edi + 0xc], eax
je 0x449934
mov ecx, dword [esi + 0x10]
lea ecx, [ecx + ecx + 2]
push ecx
push dword [esi + 0xc]
push eax
call fcn.0042e3ac
add esp, 0xc
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x14]
jmp 0x447bec
cmp edi, 0xde5
jne 0x44996e
cmp dword [ebp + 0x14], esi
je 0x449960
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.00430783
jmp 0x44c907
push dword [ebp + 0x10]
push ebx
call fcn.004307ed
jmp 0x44c48d
cmp edi, 0xded
jne 0x449adc
mov edi, dword [ebp + 0x14]
push dword [edi + 8]
push dword [ebp + 0x10]
push ebx
call fcn.00439786
mov esi, eax
add esp, 0xc
test esi, esi
je 0x449ad5
cmp dword [edi + 0xc], 0
je 0x4499d5
test byte [edi + 0x30], 8
jne 0x4499d5
mov eax, dword [edi + 0x10]
lea eax, [eax + eax + 2]
push eax
push 0
push 0
call fcn.00433f21
add esp, 0xc
test eax, eax
mov dword [esi + 0xc], eax
je 0x4499d5
mov ecx, dword [edi + 0x10]
inc ecx
push ecx
push eax
push ecx
push dword [edi + 0xc]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
dec eax
mov dword [esi + 0x10], eax
cmp dword [edi + 0x14], 0
je 0x449a14
test byte [edi + 0x30], 0x10
jne 0x449a14
mov eax, dword [edi + 0x18]
lea eax, [eax + eax + 2]
push eax
push 0
push 0
call fcn.00433f21
add esp, 0xc
test eax, eax
mov dword [esi + 0x14], eax
je 0x449a14
mov ecx, dword [edi + 0x18]
inc ecx
push ecx
push eax
push ecx
push dword [edi + 0x14]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
dec eax
mov dword [esi + 0x18], eax
push 1
lea eax, [esi + 0x1c]
push eax
push 1
lea eax, [edi + 0x1c]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp dword [edi + 0x20], 0
je 0x449a63
mov eax, dword [edi + 0x24]
lea eax, [eax + eax + 2]
push eax
push 0
push 0
call fcn.00433f21
add esp, 0xc
test eax, eax
mov dword [esi + 0x20], eax
je 0x449a63
mov ecx, dword [edi + 0x24]
inc ecx
push ecx
push eax
push ecx
push dword [edi + 0x20]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
dec eax
mov dword [esi + 0x24], eax
cmp dword [edi + 0x28], 0
je 0x449a9c
mov eax, dword [edi + 0x2c]
lea eax, [eax + eax + 2]
push eax
push 0
push 0
call fcn.00433f21
add esp, 0xc
test eax, eax
mov dword [esi + 0x28], eax
je 0x449a9c
mov ecx, dword [edi + 0x2c]
inc ecx
push ecx
push eax
push ecx
push dword [edi + 0x28]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
dec eax
mov dword [esi + 0x2c], eax
mov eax, dword [edi + 0x30]
mov dword [esi + 0x30], eax
mov eax, dword [edi + 0x34]
push esi
mov dword [esi + 0x34], eax
mov eax, dword [edi + 0x38]
push esi
push dword [ebp + 0x10]
mov dword [esi + 0x38], eax
mov eax, dword [edi + 0x3c]
push ebx
mov dword [esi + 0x3c], eax
call fcn.0043b4a2
add esp, 0x10
test eax, eax
jne 0x449ad5
push esi
push dword [ebp + 0x10]
push ebx
call fcn.004398aa
add esp, 0xc
xor esi, esi
mov eax, esi
jmp 0x44cc72
cmp edi, 0xdee
jne 0x449af6
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.0043b4a2
jmp 0x4473ac
cmp edi, 0xdef
jne 0x449b22
cmp dword [ebp + 0x14], esi
je 0x449b14
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.004398aa
jmp 0x44c907
push dword [ebp + 0x10]
push ebx
call fcn.004357ae
jmp 0x44c48d
cmp edi, 0xdf7
jne 0x449b41
mov edi, dword [ebp + 0x14]
push dword [edi + 8]
push dword [ebp + 0x10]
push ebx
call fcn.00439911
add esp, 0xc
jmp 0x4497db
cmp edi, 0xdf8
jne 0x449bb5
mov edi, dword [ebp + 0x14]
push dword [edi + 8]
push dword [ebp + 0x10]
push ebx
call fcn.00439911
add esp, 0xc
mov ebx, eax
cmp ebx, esi
je 0x449365
mov eax, dword [edi + 0x10]
lea eax, [eax + eax + 2]
push eax
push esi
push esi
call fcn.00433f21
add esp, 0xc
cmp eax, esi
mov dword [ebx + 0xc], eax
je 0x449b92
mov ecx, dword [edi + 0x10]
lea ecx, [ecx + ecx + 2]
push ecx
push dword [edi + 0xc]
push eax
call fcn.0042e3ac
add esp, 0xc
mov eax, dword [edi + 0x10]
mov dword [ebx + 0x10], eax
mov eax, dword [edi + 0x14]
mov dword [ebx + 0x14], eax
mov eax, dword [edi + 0x18]
mov dword [ebx + 0x18], eax
mov eax, dword [edi + 0x1c]
mov dword [ebx + 0x1c], eax
mov eax, dword [edi + 0x20]
mov dword [ebx + 0x20], eax
jmp 0x449365
cmp edi, 0xdf9
jne 0x449be1
cmp dword [ebp + 0x14], esi
je 0x449bd3
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.0043084c
jmp 0x44c907
push dword [ebp + 0x10]
push ebx
call fcn.00430899
jmp 0x44c48d
cmp edi, 0xe01
jne 0x449c2c
mov edi, dword [ebp + 0x14]
push dword [edi + 8]
push dword [ebp + 0x10]
push ebx
call fcn.0043994a
add esp, 0xc
cmp eax, esi
je 0x44cc72
mov ecx, dword [edi + 0xc]
mov dword [eax + 0xc], ecx
mov ecx, dword [edi + 0x10]
mov dword [eax + 0x10], ecx
mov ecx, dword [edi + 0x14]
mov dword [eax + 0x14], ecx
mov ecx, dword [edi + 0x18]
mov dword [eax + 0x18], ecx
mov ecx, dword [edi + 0x1c]
mov dword [eax + 0x1c], ecx
mov ecx, dword [edi + 0x20]
mov dword [eax + 0x20], ecx
jmp 0x44cc72
cmp edi, 0xe02
jne 0x449c58
cmp dword [ebp + 0x14], esi
je 0x449c4a
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.004308e9
jmp 0x44c907
push dword [ebp + 0x10]
push ebx
call fcn.00430918
jmp 0x44c48d
cmp edi, 0xe0b
jne 0x449c6e
push dword [ebp + 0x14]
push ebx
call fcn.0043d1c6
jmp 0x44c48d
cmp edi, 0xe15
jne 0x449c87
mov eax, dword [ebx + 0x6cc]
mov eax, dword [eax + 0x58c]
jmp 0x44cc72
cmp edi, 0xe16
jne 0x449d82
mov eax, dword [ebx + 0x6cc]
mov ecx, dword [eax + 0x58c]
mov edx, dword [ebp + 0x10]
cmp edx, 1
mov eax, ecx
mov dword [ebp + 0xc], eax
jne 0x449cb1
mov eax, dword [ebp + 0x14]
jmp 0x449cd1
cmp edx, 2
jne 0x449cbb
or eax, dword [ebp + 0x14]
jmp 0x449cd1
cmp edx, 3
jne 0x449cc5
and eax, dword [ebp + 0x14]
jmp 0x449cd1
cmp edx, 4
jne 0x449cd4
mov edx, dword [ebp + 0x14]
not edx
and eax, edx
mov dword [ebp + 0xc], eax
test cl, 1
je 0x449cdd
test al, 1
je 0x449cef
test cl, 2
je 0x449ce6
test al, 2
je 0x449cef
test cl, 4
je 0x449d0e
test al, 4
jne 0x449d0e
push 1
lea eax, [ebx + 0xcf4]
push eax
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_InvalidateRect]
push ebx
call fcn.00440b8a
mov eax, dword [ebp + 0xc]
pop ecx
mov ecx, dword [ebx + 0x6cc]
mov dword [ecx + 0x58c], eax
jmp 0x449c76
mov eax, dword [ebp + 0x14]
or dword [ebp + 0xc], 0xffffffff
and eax, 4
mov dword [ebp + 8], eax
jne 0x449d43
mov eax, dword [ebx + 0x6cc]
cmp dword [eax + 0x18], esi
jne 0x449d43
push ebx
call fcn.00431548
pop ecx
mov dword [ebp + 0xc], eax
cmp edi, 0xd56
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
jne 0x449d59
call fcn.004465be
jmp 0x449d5e
call fcn.00446660
mov edi, eax
mov eax, dword [ebx + 8]
add esp, 0xc
cmp edi, esi
mov dword [eax + 0x6b4], esi
je 0x447c01
cmp dword [ebp + 8], esi
jne 0x447c01
jmp 0x44923e
cmp edi, 0x449
jne 0x449dd6
xor ecx, ecx
inc ecx
xor eax, eax
test byte [ebp + 0x10], cl
je 0x449ad5
test byte [ebp + 0x10], 0x10
je 0x449ad5
test byte [ebp + 0x11], 0x80
mov edi, dword [ebp + 0x14]
mov edx, dword [edi]
mov dword [ebp - 0x18], edx
mov edx, dword [edi + 8]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], ecx
je 0x449dbb
mov eax, ecx
lea ecx, [ebp - 0x18]
push ecx
push eax
push ebx
call fcn.004447c2
mov esi, eax
mov eax, dword [ebp - 0x14]
add esp, 0xc
mov dword [edi + 4], eax
jmp 0x449ad5
cmp edi, 0x44a
jne 0x449e2e
xor eax, eax
test byte [ebp + 0x10], 1
je 0x44cc72
test byte [ebp + 0x10], 0x10
je 0x44cc72
test byte [ebp + 0x11], 0x80
mov edi, dword [ebp + 0x14]
mov eax, dword [edi]
mov dword [ebp - 0x14], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], 2
mov dword [ebp - 4], esi
je 0x449e15
xor esi, esi
inc esi
lea eax, [ebp - 0x14]
push eax
push esi
push ebx
call fcn.004365ff
mov ecx, dword [ebp - 0x10]
add esp, 0xc
mov dword [edi + 4], ecx
jmp 0x44cc72
mov ecx, 0xc2
cmp edi, ecx
mov eax, 0xb6d
je 0x44cc37
cmp edi, eax
je 0x44cc5c
cmp edi, 0xb6e
je 0x44cc37
cmp edi, 0x44b
jne 0x449eba
mov edi, dword [ebp + 0x14]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
cmp eax, ecx
jae 0x449e91
lea ecx, [ebp - 0x18]
push ecx
push eax
push ebx
call fcn.00438704
lea eax, [ebp - 0xc]
push eax
push dword [edi + 4]
push ebx
call fcn.00438704
add esp, 0x18
push esi
push esi
push 5
push 0xffffffffffffffff
push dword [edi + 8]
jmp 0x44ac74
jne 0x44cc70
mov edi, dword [edi + 8]
cmp edi, esi
je 0x447827
cmp dword [ebx + 0xcd8], esi
jne 0x449eb2
mov byte [edi], 0
jmp 0x44cc70
mov word [edi], si
jmp 0x44cc70
cmp edi, 0xba9
je 0x44cb94
cmp edi, 0xbaa
je 0x44cb94
cmp edi, 0xbab
je 0x44cb94
mov ecx, 0x43e
cmp edi, ecx
mov eax, 0xb71
je 0x44cb4d
cmp edi, eax
je 0x44cb78
cmp edi, 0xb72
je 0x44cb4d
mov ecx, 0xc4
add eax, 2
cmp edi, ecx
je 0x44caaa
cmp edi, eax
je 0x44cb09
cmp edi, 0xb74
je 0x44caaa
cmp edi, 0x45f
jne 0x44a002
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx]
xor eax, eax
test cl, 2
mov dword [ebp + 0x14], eax
je 0x449f52
test cl, 4
je 0x449f52
mov eax, 0x80070057
jmp 0x44cc72
test cl, 8
je 0x449f5e
test cl, 0x10
je 0x449f63
jmp 0x449f48
test cl, 0x10
jne 0x449f80
test cl, 1
mov ebx, dword [ebx + 8]
mov eax, dword [ebx + 0xf4]
je 0x44cc72
add eax, dword [ebx + 0xf8]
jmp 0x44cc72
mov edi, dword [edx + 4]
cmp edi, 0x4b0
je 0x449fe1
cmp edi, 0x4b1
je 0x449fe1
mov ecx, dword [ebx + 8]
mov edi, dword [ecx + 4]
jmp 0x449fc2
mov ecx, dword [edi + 0xc]
cmp ecx, esi
je 0x449fc0
mov eax, dword [ebp + 0x10]
push esi
push esi
push esi
push esi
push ecx
push dword [edi + 8]
push esi
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
add dword [ebp + 0x14], eax
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
mov edi, dword [edi]
cmp edi, esi
jne 0x449f9b
mov ecx, dword [ebx + 8]
mov ecx, dword [ecx + 0xf8]
add eax, ecx
test byte [edx], 1
je 0x44cc72
add eax, ecx
jmp 0x44cc72
test cl, 1
mov ebx, dword [ebx + 8]
mov eax, dword [ebx + 0xf4]
je 0x449ff5
add eax, dword [ebx + 0xf8]
add eax, eax
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x14]
jmp 0x44cc72
cmp edi, 0x45e
je 0x44a016
cmp edi, 0xbac
jne 0x44a0eb
mov eax, dword [ebp + 0x10]
test byte [eax + 4], 2
je 0x44a039
lea esi, [ebx + 0xc68]
lea edi, [ebp - 0x18]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0xc74]
lea edi, [ebp - 0xc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x44a056
lea eax, [ebp - 0x18]
push eax
push esi
push 1
push ebx
call fcn.004348bf
lea eax, [ebp - 0xc]
push eax
push esi
push 2
push ebx
call fcn.004348bf
add esp, 0x20
mov ecx, dword [ebp + 0x10]
movzx eax, byte [ecx + 4]
mov ecx, dword [ecx + 8]
and eax, 1
shl eax, 1
push 0
or eax, 5
cmp ecx, 0x4b0
push 0
push eax
mov eax, dword [ebp + 0x10]
jne 0x44a093
mov eax, dword [eax]
shr eax, 1
push eax
push dword [ebp + 0x14]
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x18]
push eax
push ebx
call fcn.004360db
add esp, 0x20
jmp 0x44a0e4
cmp ecx, 0x4b1
jne 0x44a0c7
mov eax, dword [eax]
shr eax, 1
push eax
push dword [ebp + 0x14]
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x18]
push eax
push ebx
call fcn.004360db
mov esi, eax
lea eax, [esi + esi]
push eax
push dword [ebp + 0x14]
call fcn.0040e94b
add esp, 0x28
jmp 0x449ad5
push dword [eax]
lea edx, [ebp - 0xc]
push dword [ebp + 0x14]
push edx
lea edx, [ebp - 0x18]
push edx
push dword [eax + 0x10]
push dword [eax + 0xc]
push ecx
push ebx
call fcn.0043a516
add esp, 0x2c
mov esi, eax
jmp 0x449ad5
cmp edi, 0x461
jne 0x44a1f4
mov eax, dword [ebx + 8]
mov edi, dword [ebp + 0x10]
test byte [edi], 1
mov eax, dword [eax + 0x238]
mov dword [ebp + 0xc], eax
jne 0x44a11f
push ebx
call fcn.00432461
mov eax, dword [ebx + 8]
pop ecx
mov dword [eax + 0x238], 1
test byte [edi], 2
jne 0x44a130
push esi
push 4
push ebx
call fcn.0043a871
add esp, 0xc
mov eax, dword [edi + 4]
cmp eax, 0x4b0
jne 0x44a14f
push esi
push esi
push esi
push 1
push 0xffffffffffffffff
push dword [ebp + 0x14]
push ebx
call fcn.004450b5
add esp, 0x1c
jmp 0x44a1b8
cmp eax, 0x4b1
jne 0x44a1de
push dword [ebp + 0x14]
call fcn.0042e475
mov edi, eax
shl edi, 1
lea eax, [edi + 2]
push eax
push 0
push 0
call fcn.00433f21
mov esi, eax
add esp, 0x10
test esi, esi
je 0x44a1b3
lea eax, [edi + 2]
push eax
push dword [ebp + 0x14]
push esi
call fcn.0042e3ac
push edi
push esi
call fcn.0040e94b
xor eax, eax
push eax
push eax
push eax
push 1
shr edi, 1
push edi
push esi
push ebx
call fcn.004450b5
mov eax, dword [0x4535bc]
add esp, 0x30
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edi, dword [ebp + 0x10]
xor esi, esi
test byte [edi], 1
jne 0x44a1c9
mov eax, dword [ebx + 8]
mov ecx, dword [ebp + 0xc]
mov dword [eax + 0x238], ecx
test byte [edi], 2
jne 0x447827
push esi
push ebx
call fcn.0043fd83
jmp 0x44947f
push esi
push esi
push esi
push 1
push 0xffffffffffffffff
push dword [ebp + 0x14]
push eax
push ebx
call fcn.00446806
add esp, 0x20
jmp 0x44a1b8
cmp edi, 0x438
je 0x44c9d7
cmp edi, 0x47b
je 0x44c9d7
cmp edi, 0x44f
je 0x44c9d7
cmp edi, 0x47c
je 0x44c9d7
cmp edi, 0xba2
je 0x44c936
cmp edi, 0xba3
je 0x44c936
cmp edi, 0xba4
je 0x44c936
cmp edi, 0x432
je 0x447309
cmp edi, 0xd5
je 0x448b70
cmp edi, 0xc5
je 0x44c90f
cmp edi, 0x435
jne 0x44a27c
mov eax, dword [ebp + 0x14]
jmp 0x44c912
cmp edi, 0xc6
je 0x447485
cmp edi, 0x455
jne 0x44a2ab
mov eax, dword [ebx + 0x6cc]
test byte [eax + 8], 1
jne 0x44cc70
push ebx
call fcn.0043253b
jmp 0x44730f
cmp edi, 0xc7
je 0x4474be
cmp edi, 0x454
je 0x4474d1
cmp edi, 0xb8
je 0x4475a8
cmp edi, 0xb9
je 0x4475be
cmp edi, 0x452
jne 0x44a2f4
mov eax, dword [ebx + 8]
mov ecx, dword [ebp + 0x10]
mov dword [eax + 0x23c], ecx
jmp 0x447518
cmp edi, 0xcd
jne 0x44a307
push ebx
call fcn.00432461
jmp 0x44c48e
cmp edi, 0x458
je 0x447518
cmp edi, 0xb0
jne 0x44a364
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
push ebx
call fcn.004325ca
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp - 0x2c]
add esp, 0xc
cmp eax, esi
je 0x44a338
mov dword [eax], edx
mov eax, dword [ebp + 0x14]
cmp eax, esi
mov ecx, dword [ebp - 0x28]
je 0x44a344
mov dword [eax], ecx
mov eax, 0xffff0000
cmp edx, eax
ja 0x4478bc
cmp ecx, eax
ja 0x4478bc
movzx eax, cx
movzx ecx, dx
jmp 0x448461
cmp edi, 0xb9f
jne 0x44a39c
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
push ebx
call fcn.004325ca
mov ecx, dword [ebp + 0x10]
add esp, 0xc
cmp ecx, esi
je 0x44a389
mov edx, dword [ebp - 0x2c]
mov dword [ecx], edx
mov ecx, dword [ebp + 0x14]
cmp ecx, esi
je 0x44cc72
mov edx, dword [ebp - 0x28]
jmp 0x4489fd
cmp edi, 0xb1
jne 0x44a3b5
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.0043a935
jmp 0x44c907
cmp edi, 0x434
jne 0x44a3e1
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
push ebx
call fcn.004325ca
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp + 0x14]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x28]
add esp, 0xc
mov dword [eax + 4], ecx
jmp 0x44cc70
cmp edi, 0xba0
jne 0x44a3fc
mov eax, dword [ebp + 0x14]
lea ecx, [eax + 4]
push ecx
push eax
push ebx
call fcn.004325ca
jmp 0x4472e3
cmp edi, 0x437
jne 0x44a41a
mov eax, dword [ebp + 0x14]
push dword [eax + 4]
push dword [eax]
push ebx
call fcn.0043a935
add esp, 0xc
jmp 0x447922
cmp edi, 0xba1
jne 0x44a444
mov eax, dword [ebp + 0x14]
push dword [eax + 4]
push dword [eax]
push ebx
call fcn.0043a935
mov eax, dword [ebx + 0xca0]
add esp, 0xc
sub eax, dword [ebx + 0xc9c]
jmp 0x44cc72
cmp edi, 0x442
jne 0x44a475
mov ecx, dword [ebx + 0xc9c]
mov ebx, dword [ebx + 0xca0]
xor eax, eax
cmp ecx, ebx
je 0x44cc72
inc eax
sub ebx, ecx
cmp ebx, eax
jle 0x44cc72
push 5
pop eax
jmp 0x44cc72
cmp edi, 0xba
je 0x447714
cmp edi, 0xce
jne 0x44a494
push ebx
call fcn.00431548
jmp 0x44730f
cmp edi, 0xc9
jne 0x44a4c4
xor eax, eax
cmp dword [ebp + 0x10], 0xffffffff
mov dword [ebp - 0x24], esi
lea edi, [ebp - 0x20]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
je 0x44a4dc
lea eax, [ebp - 0x24]
push eax
push dword [ebp + 0x10]
push ebx
call fcn.00438704
mov eax, dword [ebp - 0x24]
add esp, 0xc
jmp 0x44cc72
cmp edi, 0x436
jne 0x44a4f0
xor eax, eax
cmp dword [ebp + 0x14], 0xffffffff
mov dword [ebp - 0x24], esi
lea edi, [ebp - 0x20]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
jne 0x44a4e7
mov eax, dword [ebx + 0xc80]
jmp 0x44cc72
lea eax, [ebp - 0x24]
push eax
push dword [ebp + 0x14]
jmp 0x44a4b3
cmp edi, 0xbb
jne 0x44a537
mov eax, dword [ebp + 0x10]
cmp eax, 0xffffffff
jne 0x44a511
mov eax, dword [ebx + 0xc80]
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0xc84]
jmp 0x44a52c
mov ecx, dword [ebx + 8]
cmp eax, dword [ecx + 0xf8]
ja 0x4478bc
push eax
push ebx
mov dword [ebp - 0x24], eax
call fcn.0042f8ec
pop ecx
pop ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], esi
jmp 0x447969
cmp edi, 0xc1
jne 0x44a576
mov ecx, dword [ebx + 8]
xor eax, eax
lea edi, [ebp - 0x38]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp + 0x10]
cmp eax, dword [ecx + 0xf4]
ja 0x44cc70
lea ecx, [ebp - 0x3c]
push ecx
push eax
push ebx
call fcn.00438704
mov eax, dword [ebp - 0x38]
add esp, 0xc
cmp eax, esi
je 0x44cc70
jmp 0x4484df
cmp edi, 0xd6
jne 0x44a5eb
xor eax, eax
cmp dword [ebp + 0x14], esi
mov dword [ebp - 0x24], esi
lea edi, [ebp - 0x20]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
jne 0x44a5c8
push 8
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_IsBadWritePtr]
test eax, eax
je 0x44a5c8
lea eax, [ebp - 0x24]
push eax
push dword [ebp + 0x10]
push ebx
call fcn.00438704
lea eax, [ebp - 0x2c]
push eax
push esi
lea eax, [ebp - 0x24]
push eax
push ebx
call fcn.004318a1
movzx eax, word [ebp - 0x28]
movzx ecx, word [ebp - 0x2c]
add esp, 0x1c
jmp 0x448461
lea eax, [ebp - 0x24]
push eax
push dword [ebp + 0x14]
push ebx
call fcn.00438704
push dword [ebp + 0x10]
lea eax, [ebp - 0x24]
push esi
push eax
push ebx
call fcn.004318a1
add esp, 0x1c
jmp 0x44cc70
cmp edi, 0xd7
jne 0x44a620
mov dword [ebp - 0x24], esi
xor eax, eax
lea edi, [ebp - 0x20]
stosd dword es:[edi], eax
push esi
stosd dword es:[edi], eax
push esi
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp + 0x14]
push dword [eax + 4]
push dword [eax]
push ebx
call fcn.00431e0d
lea eax, [ebp - 0x24]
push eax
push ebx
call fcn.0042fe82
jmp 0x4472c7
cmp edi, 0xb2
jne 0x44a63a
mov edi, dword [ebp + 0x14]
lea esi, [ebx + 0xcf4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x44cc70
cmp edi, 0xb3
je 0x44c82c
cmp edi, 0xb4
je 0x44c82c
cmp edi, 0xd4
jne 0x44a684
mov ax, word [ebx + 0xcec]
sub ax, word [ebx + 0xcfc]
mov cx, word [ebx + 0xcf4]
movzx eax, ax
shl eax, 0x10
sub cx, word [ebx + 0xce4]
movzx ecx, cx
jmp 0x448464
cmp edi, 0xd3
jne 0x44a6cc
test byte [ebp + 0x10], 1
mov eax, dword [ebp + 0x14]
lea esi, [ebx + 0xcf4]
lea edi, [ebp - 0x10]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
je 0x44a6ae
movzx ecx, ax
add ecx, dword [ebx + 0xce4]
mov dword [ebp - 0x10], ecx
test byte [ebp + 0x10], 2
je 0x44a6c2
mov ecx, dword [ebx + 0xcec]
shr eax, 0x10
sub ecx, eax
mov dword [ebp - 8], ecx
push 1
lea eax, [ebp - 0x10]
jmp 0x44c8ce
cmp edi, 0x4dd
jne 0x44a6ed
mov ecx, dword [ebx + 0xca8]
mov eax, dword [ebp + 0x14]
mov dword [eax], ecx
mov ecx, dword [ebx + 0xcac]
mov dword [eax + 4], ecx
jmp 0x447827
cmp edi, 0x4de
jne 0x44a708
mov eax, dword [ebp + 0x14]
push dword [eax + 4]
push dword [eax]
push ebx
call fcn.0043f03d
jmp 0x44bd57
cmp edi, 0xb5
jne 0x44a756
mov ecx, dword [ebp + 0x10]
xor eax, eax
xor edi, edi
cmp ecx, esi
je 0x44a72a
cmp ecx, 1
je 0x44a72a
cmp ecx, 2
je 0x44a72a
cmp ecx, 3
jne 0x44a73e
push esi
push ecx
push ebx
call fcn.0043f112
xor edi, edi
add esp, 0xc
inc edi
cmp eax, esi
jge 0x44a73e
neg eax
mov ecx, dword [ebx + 8]
cdq
idiv dword [ecx + 0xc8]
movzx ecx, di
shl ecx, 0x10
movzx eax, ax
jmp 0x448464
cmp edi, 0xb6
jne 0x44a76e
push 0x20
push dword [ebp + 0x14]
push ebx
call fcn.0043f220
jmp 0x44c907
cmp edi, 0xb7
jne 0x44a78a
push 1
lea eax, [ebx + 0xcb8]
push eax
push ebx
call fcn.0043fdf1
jmp 0x44c907
cmp edi, 0xbe
jne 0x44a79d
mov eax, dword [ebx + 0xcac]
jmp 0x44cc72
cmp edi, 0x44c
jne 0x44a889
mov edi, dword [ebp + 0x10]
cmp edi, 3
mov dword [ebp + 0xc], esi
je 0x44cc70
lea eax, [ebp - 0x24]
push eax
push dword [ebp + 0x14]
push ebx
call fcn.00438704
add esp, 0xc
push 2
pop eax
cmp edi, eax
jne 0x44a7f5
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x1c]
movzx eax, word [eax + ecx*2]
push 1
push eax
mov eax, dword [ebx + 0x6cc]
add eax, 0xfc
push eax
call fcn.004360c0
jmp 0x4472e3
cmp edi, esi
je 0x44a85d
cmp edi, 6
je 0x44a872
push 4
pop eax
cmp edi, eax
je 0x44a866
cmp edi, 1
je 0x44a824
cmp edi, 7
je 0x44a829
cmp edi, 5
jne 0x44cc70
mov eax, dword [ebx + 0x6cc]
mov eax, dword [eax + 0x200]
mov dword [ebp + 0xc], eax
jmp 0x44a830
mov dword [ebp + 0xc], 8
push dword [ebp + 0xc]
lea eax, [ebp - 0x30]
push esi
push eax
lea eax, [ebp - 0x24]
push eax
push ebx
call fcn.0043a003
add esp, 0x14
test eax, eax
je 0x449ffa
lea eax, [ebp - 0x30]
push eax
push ebx
call fcn.0042fe82
pop ecx
jmp 0x44730f
mov dword [ebp + 0xc], 1
jmp 0x44a875
mov eax, dword [ebx + 0x6cc]
mov eax, dword [eax + 0x200]
mov dword [ebp + 0xc], eax
push dword [ebp + 0xc]
lea eax, [ebp - 0x30]
push esi
push eax
lea eax, [ebp - 0x24]
push eax
push ebx
call fcn.0043a22b
jmp 0x44a842
cmp edi, 0x43b
jne 0x44a89f
mov eax, dword [ebx + 0x6cc]
mov eax, dword [eax + 4]
jmp 0x44cc72
cmp edi, 0x445
jne 0x44a8bb
mov ebx, dword [ebx + 0x6cc]
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebx + 4]
mov dword [ebx + 4], ecx
jmp 0x44cc72
cmp edi, 0x44e
jne 0x44a8f5
mov ecx, dword [ebx + 0x6cc]
mov ecx, dword [ecx + 8]
xor eax, eax
test cl, 1
je 0x44a8d8
mov eax, 0x800
test cl, 4
je 0x44a8e2
or eax, 0x100
test cl, 8
je 0x44cc72
or eax, 0x1000
jmp 0x44cc72
cmp edi, 0x44d
jne 0x44a95f
xor eax, eax
test byte [ebp + 0x15], 8
je 0x44a906
inc eax
test byte [ebp + 0x15], 1
je 0x44a90f
or eax, 4
test byte [ebp + 0x15], 0x10
je 0x44a918
or eax, 8
mov ecx, dword [ebp + 0x10]
cmp ecx, 1
jne 0x44a92e
mov ecx, dword [ebx + 0x6cc]
mov dword [ecx + 8], eax
jmp 0x4482c5
cmp ecx, 2
jne 0x44a941
mov ecx, dword [ebx + 0x6cc]
or dword [ecx + 8], eax
jmp 0x4482c5
cmp ecx, 3
je 0x44a951
cmp ecx, 4
jne 0x4482c5
not eax
mov ecx, dword [ebx + 0x6cc]
and dword [ecx + 8], eax
jmp 0x4482c5
cmp edi, 0xcf
jne 0x44a986
mov ebx, dword [ebx + 0x6cc]
xor eax, eax
inc eax
cmp dword [ebp + 0x10], esi
je 0x44a97d
or dword [ebx + 8], eax
jmp 0x44cc72
and dword [ebx + 8], 0xfffffffe
jmp 0x44cc72
cmp edi, 0x443
jne 0x44a9b1
cmp dword [ebp + 0x10], esi
mov dword [ebp - 0x80], 8
jne 0x44a9a2
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x74], eax
jmp 0x44a9a9
mov dword [ebp - 0x80], 9
lea eax, [ebp - 0x80]
jmp 0x44b881
cmp edi, 0x45c
jne 0x44a9cb
mov eax, dword [ebx + 0x6cc]
movzx eax, byte [eax + 0xc]
and eax, 1
jmp 0x44cc72
cmp edi, 0x45b
jne 0x44aa06
mov eax, dword [ebx + 0x6cc]
mov ecx, dword [eax + 0xc]
not ecx
xor edx, edx
and ecx, 1
cmp dword [ebp + 0x10], esi
sete dl
cmp edx, ecx
je 0x44cc70
cmp dword [ebp + 0x10], esi
je 0x44a9fc
or dword [eax + 0xc], 1
jmp 0x44aa00
and dword [eax + 0xc], 0xfffffffe
push esi
jmp 0x448649
cmp edi, 0x460
jne 0x44aa62
mov edi, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
xor edx, edx
cmp edi, 3
je 0x44aa1f
cmp edi, esi
jne 0x44aa2e
lea ecx, [ebx + 0xd24]
cmp dword [ecx], eax
je 0x44aa2e
xor edx, edx
mov dword [ecx], eax
inc edx
cmp edi, 3
je 0x44aa38
cmp edi, 1
jne 0x44aa47
lea ecx, [ebx + 0xd28]
cmp dword [ecx], eax
je 0x44aa47
xor edx, edx
mov dword [ecx], eax
inc edx
cmp edx, esi
je 0x44cc70
push eax
push edi
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_ShowScrollBar]
jmp 0x44cc70
cmp edi, 0x43f
jne 0x44aa87
cmp dword [ebp + 0x10], esi
mov eax, dword [ebx + 0x6cc]
je 0x44aa7e
and dword [eax + 8], 0xfffffffb
jmp 0x44901c
or dword [eax + 8], 4
jmp 0x44901c
cmp edi, 0x31
jne 0x44aaab
mov eax, dword [ebx + 8]
mov esi, dword [eax + 0x14]
push 0xd
call dword [sym.imp.GDI32.dll_GetStockObject]
mov ecx, eax
mov eax, esi
sub eax, ecx
neg eax
sbb eax, eax
and eax, esi
jmp 0x44cc72
cmp edi, 0x30
jne 0x44ab8b
mov eax, dword [ebx + 0x6cc]
xor edi, edi
cmp dword [eax + 0x18], esi
jne 0x44aaca
push ebx
call fcn.00431548
pop ecx
mov edi, eax
cmp dword [ebx + 0xcd8], esi
push esi
push dword [ebp + 0x10]
push ebx
jne 0x44aade
call fcn.00438bce
jmp 0x44aae3
call fcn.00438de4
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0xf8]
add esp, 0xc
push 2
inc eax
push eax
push ebx
call fcn.0042f444
mov ecx, dword [ebx + 8]
push 1
push ebx
mov dword [ecx + 0xf0], eax
call fcn.00440334
push 1
push esi
push esi
push ebx
call fcn.00440c88
push 0xe
push ebx
mov dword [ebx + 0xcb8], esi
mov dword [ebx + 0xcbc], esi
call fcn.00439589
mov eax, dword [ebx + 0x6cc]
add esp, 0x2c
cmp dword [eax + 0x18], esi
jne 0x44ab56
push 2
push edi
push ebx
call fcn.0042f444
push esi
mov dword [ebp - 0x28], eax
push esi
lea eax, [ebp - 0x2c]
push eax
push 0x20220
push ebx
call fcn.0044006b
add esp, 0x20
push dword [ebx + 0xd34]
push ebx
call fcn.00439983
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x110]
cmp eax, esi
pop ecx
pop ecx
je 0x44ab7d
push eax
push esi
push esi
push ebx
call fcn.00443cf5
add esp, 0x10
xor eax, eax
cmp dword [ebp + 0x14], esi
sete al
push eax
jmp 0x448649
cmp edi, 0x300
je 0x447333
cmp edi, 0x301
je 0x447346
cmp edi, 0x302
jne 0x44abb7
push esi
push ebx
call fcn.00445846
jmp 0x44c48d
cmp edi, 0x303
jne 0x44abcb
push esi
push ebx
call fcn.00445f08
jmp 0x44c48d
cmp edi, 0x304
je 0x4474be
cmp edi, 0xe
jne 0x44ac48
mov eax, dword [ebx + 0x6cc]
mov eax, dword [eax + 0x14]
cmp eax, 3
jne 0x44abfd
push esi
push esi
push eax
push esi
push esi
push ebx
call fcn.00434e00
add esp, 0x18
jmp 0x447641
cmp eax, 5
je 0x4478ff
cmp eax, 6
je 0x4478ff
cmp eax, 7
jne 0x44ac28
mov ebx, dword [ebx + 8]
mov eax, dword [ebx + 0xf8]
add eax, dword [ebx + 0xf4]
jmp 0x44cc72
cmp eax, 8
jne 0x44cc70
mov ebx, dword [ebx + 8]
mov eax, dword [ebx + 0xf8]
mov ecx, dword [ebx + 0xf4]
lea eax, [ecx + eax*2]
jmp 0x44cc72
cmp edi, 0xd
jne 0x44ac99
lea eax, [ebp - 0x18]
push eax
push esi
push 1
push ebx
call fcn.004348bf
lea eax, [ebp - 0xc]
push eax
push esi
push 2
push ebx
call fcn.004348bf
add esp, 0x20
push esi
push esi
push 2
push dword [ebp + 0x10]
push dword [ebp + 0x14]
cmp dword [ebx + 0xcd8], esi
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x18]
push eax
jne 0x4472c1
push esi
push esi
push esi
push ebx
call fcn.0043a516
add esp, 0x2c
jmp 0x44cc72
cmp edi, 0xc
jne 0x44accc
cmp dword [ebx + 0xcd8], esi
jne 0x44acb6
push 1
push 0xffffffffffffffff
push dword [ebp + 0x14]
push esi
push ebx
call fcn.00446711
jmp 0x44acc4
push esi
push 1
push 0xffffffffffffffff
push dword [ebp + 0x14]
push ebx
call fcn.004441d4
add esp, 0x14
jmp 0x447827
cmp edi, 5
jne 0x44acdf
cmp dword [ebp + 0x14], esi
je 0x44cc70
jmp 0x448d58
cmp edi, 0x87
jne 0x44ad40
mov eax, dword [ebp + 0x14]
add edi, 0xfffffffa
cmp eax, esi
je 0x447c01
cmp dword [eax + 4], 0x100
jne 0x447c01
mov eax, dword [eax + 8]
cmp eax, 0xd
jne 0x44ad1c
mov eax, dword [ebx + 0x6cc]
test byte [eax + 8], 8
je 0x447c01
jmp 0x44ad36
cmp eax, 9
jne 0x447c01
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jge 0x447c01
mov edi, 0x85
jmp 0x447c01
cmp edi, 0x100
jb 0x44af9f
cmp edi, 0x108
ja 0x44af9f
mov eax, dword [ebx + 0x6cc]
test byte [eax + 6], 1
je 0x44ad7e
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0x10]
push eax
push edi
push ebx
call fcn.0043e83c
add esp, 0x10
test eax, eax
jne 0x44cc70
cmp edi, 0x100
je 0x44ae8f
cmp edi, 0x104
je 0x44ae8f
cmp edi, 0x102
jne 0x44ae15
mov eax, dword [ebx + 0xd40]
cmp eax, esi
mov dword [ebp + 0xc], esi
je 0x44adde
jle 0x44add3
push 0x90
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
je 0x44add3
xor edi, edi
inc edi
push edi
push dword [ebx + 0xd40]
push ebx
call fcn.00445b24
add esp, 0xc
mov dword [ebp + 0xc], edi
mov dword [ebx + 0xd40], esi
jmp 0x448d19
mov eax, dword [ebp + 0x10]
cmp eax, 0xd
jne 0x44adf2
push ebx
call fcn.00445cfa
pop ecx
jmp 0x447827
cmp eax, 9
je 0x44ae01
cmp eax, 0x20
jb 0x44ae6a
cmp eax, 0x7f
je 0x44ae6a
push dword [ebx + 0xcd8]
push dword [ebp + 0x10]
push ebx
call fcn.00445b24
jmp 0x44bd57
mov edx, 0x106
cmp edi, edx
je 0x44ae3e
cmp edi, 0x103
je 0x44ae3e
cmp edi, 0x107
je 0x44ae3e
cmp edi, 0x101
je 0x44ae3e
cmp edi, 0x105
jne 0x44ae6a
cmp dword [ebp + 0x10], 0x12
jne 0x44ae60
lea eax, [ebx + 0xd40]
mov ecx, dword [eax]
cmp ecx, 0xfffffffb
jne 0x44ae55
mov dword [eax], esi
jmp 0x44ae60
cmp ecx, 0xffffffff
jne 0x44ae60
mov dword [eax], 0xfffffffe
cmp edi, edx
jne 0x44ae6a
mov dword [ebx + 0xd40], esi
cmp dword [ebx + 0xcd8], 0
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edi
push dword [ebx + 0xccc]
jne 0x44c354
call dword [sym.imp.USER32.dll_DefWindowProcA]
jmp 0x44cc72
push 0x12
mov dword [ebp - 0x28], esi
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], esi
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jge 0x44aeac
mov dword [ebp - 0x28], 1
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jge 0x44aec0
mov dword [ebp + 8], 1
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jge 0x44aed4
mov dword [ebp + 0xc], 1
cmp dword [ebp - 0x28], esi
mov ecx, dword [ebp + 0x10]
je 0x44af7d
cmp dword [ebp + 8], esi
jne 0x44af7d
cmp dword [ebp + 0xc], esi
jne 0x44af7d
mov eax, dword [ebx + 0xd40]
push 0xfffffffffffffffb
pop edx
cmp eax, edx
je 0x44af7d
cmp ecx, 0x60
jb 0x44af76
cmp ecx, 0x69
ja 0x44af76
cmp eax, 0xfffffffc
je 0x44af4d
cmp eax, esi
jg 0x44af48
cmp ecx, 0x60
jne 0x44af2a
xor ecx, ecx
cmp eax, 0xfffffffd
setne cl
add ecx, 0xfffffffc
mov dword [ebx + 0xd40], ecx
jmp 0x44af7d
mov esi, dword [ebx + 0x6cc]
test byte [esi + 0xb], 0x20
je 0x44af40
cmp eax, 0xfffffffd
je 0x44af40
add ecx, 0xffffffa0
jmp 0x44af22
mov dword [ebx + 0xd40], edx
jmp 0x44af7d
cmp eax, 0xfffffffc
jne 0x44af5d
cmp ecx, 0x60
je 0x44af6a
add ecx, 0xffffffa0
mov dword [ebx + 0xd40], ecx
jmp 0x44af6a
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2 - 0x60]
mov dword [ebx + 0xd40], eax
cmp dword [ebx + 0xd40], 0x10000
jle 0x44af7d
or dword [ebx + 0xd40], 0xffffffff
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 0x28]
push dword [ebp + 0x10]
push ebx
call fcn.00446884
add esp, 0x14
test eax, eax
je 0x44ae6a
jmp 0x44cc70
cmp edi, 0x288
jne 0x44b114
mov ecx, dword [ebp + 0x10]
push 2
pop eax
cmp ecx, eax
jne 0x44afeb
mov eax, dword [ebp + 0x14]
cmp dword [eax + 4], 0x40
jne 0x44ae6a
mov esi, eax
lea eax, [esi + 8]
push eax
push 0
lea eax, [ebx + 0xcb8]
push eax
push ebx
call fcn.004303f4
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0xc8]
add esp, 0x10
add dword [esi + 0xc], eax
jmp 0x447827
cmp ecx, 3
jne 0x44b015
cmp dword [ebx + 0xcd8], esi
mov eax, dword [ebx + 8]
jne 0x44b002
push 0x3c
add eax, 0x2c
jmp 0x44b007
push 0x5c
add eax, 0x68
push eax
push dword [ebp + 0x14]
call fcn.0042e3ac
jmp 0x44bd57
cmp ecx, 1
jne 0x44b042
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], eax
jne 0x44ae6a
mov eax, ecx
add eax, 4
push eax
push 0
lea eax, [ebx + 0xcb8]
push eax
push ebx
call fcn.004303f4
add esp, 0x10
jmp 0x447827
cmp ecx, 4
jne 0x44ae6a
cmp dword [ebx + 0xcc4], esi
jne 0x44cc70
mov edi, dword [ebp + 0x14]
cmp edi, esi
push esi
push esi
push eax
jne 0x44b0af
cmp dword [ebx + 0xcd8], esi
push esi
lea eax, [ebx + 0xc74]
push esi
push eax
lea eax, [ebx + 0xc68]
push eax
jne 0x44b095
push esi
push esi
push esi
push ebx
call fcn.0043a516
add esp, 0x2c
cmp eax, esi
je 0x44cc70
add eax, 0x20
jmp 0x44cc72
push ebx
call fcn.004360db
add esp, 0x20
cmp eax, esi
je 0x44cc70
lea eax, [eax + eax + 0x20]
jmp 0x44cc72
mov eax, dword [edi]
sub eax, 0x20
cmp dword [ebx + 0xcd8], esi
push eax
lea eax, [edi + 0x20]
push eax
lea eax, [ebx + 0xc74]
push eax
lea eax, [ebx + 0xc68]
push eax
jne 0x44b0dd
push esi
push esi
push esi
push ebx
call fcn.0043a516
add esp, 0x2c
jmp 0x44b0e6
push ebx
call fcn.004360db
add esp, 0x20
cmp eax, esi
je 0x44cc70
mov dword [edi + 4], esi
mov dword [edi + 8], eax
mov dword [edi + 0xc], 0x20
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], esi
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], esi
cmp dword [ebx + 0xcd8], esi
jne 0x44b0a6
jmp 0x44b08d
cmp edi, 0x10d
jne 0x44b192
push esi
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
and ax, 0x3ff
cmp ax, 0x12
je 0x44cc70
push dword [ebx + 0xccc]
mov dword [ebx + 0xd3c], 1
call sub.IMM32.dll_ImmGetContext
cmp eax, esi
mov dword [ebp + 0xc], eax
je 0x44ae6a
push eax
push ebx
call fcn.00432322
cmp dword [ebx + 0xcd8], esi
mov eax, dword [ebx + 8]
pop ecx
pop ecx
jne 0x44b173
add eax, 0x2c
push eax
push dword [ebp + 0xc]
call sub.IMM32.dll_ImmSetCompositionFontA
jmp 0x44b17f
add eax, 0x68
push eax
push dword [ebp + 0xc]
call sub.IMM32.dll_ImmSetCompositionFontW
push dword [ebp + 0xc]
push dword [ebx + 0xccc]
call sub.IMM32.dll_ImmReleaseContext
jmp 0x44ae6a
cmp edi, 0x10f
jne 0x44b415
push ebx
call fcn.0043249b
test eax, eax
pop ecx
jne 0x44ae6a
push esi
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
and ax, 0x3ff
cmp ax, 0x12
jne 0x44b3d4
push dword [ebx + 0xccc]
call sub.IMM32.dll_ImmGetContext
cmp eax, esi
mov dword [ebp + 8], eax
je 0x44cc70
xor edi, edi
inc edi
test byte [ebp + 0x15], 8
je 0x44b309
mov eax, dword [ebx + 8]
push 4
mov dword [eax + 0x230], edi
lea eax, [ebp + 0xc]
push eax
push 0x800
push dword [ebp + 8]
call sub.IMM32.dll_ImmGetCompositionStringW
cmp eax, esi
jle 0x44b29c
cmp eax, 2
ja 0x44b263
movzx ecx, word [ebp + 0xc]
cmp ecx, dword [ebx + 0xd38]
jne 0x44b24d
lea eax, [ebx + 0xc74]
push eax
lea eax, [ebx + 0xc68]
push eax
call fcn.0042cb8c
test eax, eax
pop ecx
pop ecx
je 0x44b29c
push 0x10000000
push esi
push esi
lea eax, [ebx + 0xc74]
push eax
push eax
push ebx
call fcn.00438ffa
add esp, 0x18
jmp 0x44b29c
cmp eax, 2
jne 0x44b263
movzx eax, word [ebp + 0xc]
push edi
push eax
push ebx
call fcn.00445b24
add esp, 0xc
jmp 0x44b277
push esi
push esi
push esi
push edi
shr eax, 1
push eax
lea eax, [ebp + 0xc]
push eax
push ebx
call fcn.004450b5
add esp, 0x1c
mov eax, dword [ebx + 0x6cc]
test byte [eax + 8], 0x20
je 0x44b29c
mov eax, dword [ebx + 8]
push ebx
mov dword [eax + 0x230], esi
call fcn.00438493
mov eax, dword [ebx + 8]
pop ecx
mov dword [eax + 0x230], edi
push 4
lea eax, [ebp + 0xc]
push eax
push 8
push dword [ebp + 8]
call sub.IMM32.dll_ImmGetCompositionStringW
test eax, eax
jle 0x44b300
movzx eax, word [ebp + 0xc]
push 1
push eax
push ebx
call fcn.00445b24
movzx eax, word [ebp + 0xc]
lea esi, [ebx + 0xc68]
lea edi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0xd38], eax
lea eax, [ebp - 0x24]
push eax
movsd dword es:[edi], dword [esi]
call fcn.0042caf2
push 0x10000000
push 0
push 0
lea eax, [ebp - 0x24]
push eax
lea eax, [ebx + 0xc74]
push eax
push ebx
call fcn.00438ffa
xor edi, edi
add esp, 0x28
inc edi
xor esi, esi
jmp 0x44b309
mov eax, dword [ebx + 8]
mov dword [eax + 0x230], esi
test byte [ebp + 0x14], 8
je 0x44b3c1
mov eax, dword [ebx + 8]
mov dword [eax + 0x230], edi
mov edi, dword [ebp + 0x10]
cmp edi, esi
je 0x44b385
cmp edi, dword [ebx + 0xd38]
je 0x44b3c1
push esi
push esi
push 0x800
push dword [ebp + 8]
call sub.IMM32.dll_ImmGetCompositionStringW
test eax, eax
jg 0x44b3c1
push 1
push edi
push ebx
call fcn.00445b24
mov dword [ebx + 0xd38], edi
lea esi, [ebx + 0xc68]
lea edi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x24]
push eax
movsd dword es:[edi], dword [esi]
call fcn.0042caf2
push 0x10000000
push 0
push 0
lea eax, [ebp - 0x24]
push eax
lea eax, [ebx + 0xc74]
push eax
push ebx
call fcn.00438ffa
add esp, 0x28
jmp 0x44b3c1
push esi
push ebx
call fcn.00445dce
mov eax, dword [ebx + 8]
push ebx
mov dword [eax + 0x230], esi
call fcn.00438493
mov eax, dword [ebx + 8]
mov edx, dword [eax + 0x22c]
push ebx
call fcn.0043243a
add esp, 0x10
cmp edx, eax
je 0x44b3c1
xor eax, eax
cmp edx, esi
sete al
push eax
push ebx
call fcn.0043fd83
pop ecx
pop ecx
push dword [ebp + 8]
push dword [ebx + 0xccc]
call sub.IMM32.dll_ImmReleaseContext
jmp 0x44cc70
test byte [ebp + 0x15], 8
je 0x44ae6a
cmp dword [ebx + 0xcd8], esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push 0x10f
push dword [ebx + 0xccc]
jne 0x44b3ff
call dword [sym.imp.USER32.dll_DefWindowProcA]
jmp 0x44b405
call dword [sym.imp.USER32.dll_DefWindowProcW]
push esi
push ebx
mov edi, eax
call fcn.00432322
pop ecx
pop ecx
jmp 0x447c01
cmp edi, 0x10e
jne 0x44b428
mov dword [ebx + 0xd3c], esi
jmp 0x44ae6a
cmp edi, 0x282
jne 0x44b45d
push esi
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
and ax, 0x3ff
cmp ax, 0x12
jne 0x44ae6a
cmp dword [ebp + 0x10], 5
jne 0x44ae6a
push esi
push ebx
call fcn.004323a6
pop ecx
pop ecx
jmp 0x44ae6a
cmp edi, 0x290
jne 0x44b536
push esi
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
and ax, 0x3ff
cmp ax, 0x12
jne 0x44ae6a
cmp dword [ebp + 0x10], 0x19
jne 0x44ae6a
push dword [ebx + 0xccc]
call sub.IMM32.dll_ImmGetContext
cmp eax, esi
mov dword [ebp + 8], eax
je 0x44ae6a
lea esi, [ebx + 0xc68]
lea edi, [ebp - 0xc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0xc]
push eax
movsd dword es:[edi], dword [esi]
call fcn.0042ceaa
lea eax, [ebp - 0xc]
push eax
push eax
call fcn.0042cd5a
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
call fcn.0042cd98
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 8]
mov edx, dword [ebp - 0x10]
movzx ecx, word [ecx + edx*2]
add esp, 0x14
lea eax, [ebx + 0xd38]
push eax
push 0x1008
push dword [ebp + 8]
mov dword [eax], ecx
push 0
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
call sub.IMM32.dll_ImmEscapeW
test eax, eax
je 0x44b520
push 0x10000000
push 0
push 0
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
push ebx
call fcn.00438ffa
push dword [ebp + 8]
push ebx
call fcn.004323a6
add esp, 0x20
push dword [ebp + 8]
push dword [ebx + 0xccc]
call sub.IMM32.dll_ImmReleaseContext
mov edi, dword [ebp + 0xc]
jmp 0x44ae6a
cmp edi, 0x286
jne 0x44b57c
push ebx
call fcn.0043249b
test eax, eax
pop ecx
jne 0x44cc70
cmp dword [ebx + 0xcd8], esi
jne 0x4473fe
mov eax, dword [ebp + 0x10]
shr eax, 8
test al, al
je 0x44b571
movzx eax, al
push esi
push eax
push ebx
call fcn.00445b24
add esp, 0xc
movzx eax, byte [ebp + 0x10]
push esi
push eax
jmp 0x447403
mov eax, 0x114
cmp edi, eax
jne 0x44b5bc
mov ecx, dword [ebx + 0x6cc]
test byte [ecx + 4], 8
je 0x44b5ab
lea ecx, [ebp + 0x14]
push ecx
lea ecx, [ebp + 0x10]
push ecx
push eax
push ebx
call fcn.0043e83c
add esp, 0x10
test eax, eax
jne 0x44cc70
movzx eax, word [ebp + 0x10]
push esi
push eax
push ebx
call fcn.0043f074
jmp 0x44c907
mov eax, 0x115
cmp edi, eax
jne 0x44b5fc
mov ecx, dword [ebx + 0x6cc]
test byte [ecx + 4], 8
je 0x44b5eb
lea ecx, [ebp + 0x14]
push ecx
lea ecx, [ebp + 0x10]
push ecx
push eax
push ebx
call fcn.0043e83c
add esp, 0x10
test eax, eax
jne 0x44cc70
movzx eax, word [ebp + 0x10]
push esi
push eax
push ebx
call fcn.0043f112
jmp 0x44c907
cmp edi, 0x201
mov edx, 0x204
je 0x44bd93
cmp edi, 0x202
mov eax, 0x206
mov ecx, 0x209
je 0x44bd6f
cmp edi, 0x203
je 0x44bd93
cmp edi, edx
je 0x44bd6f
cmp edi, 0x205
je 0x44bd6f
cmp edi, eax
je 0x44bd6f
cmp edi, 0x207
je 0x44bd6f
cmp edi, 0x208
je 0x44bd6f
cmp edi, ecx
je 0x44bd6f
cmp edi, 0x200
je 0x44bd6f
cmp edi, 0x215
je 0x44bd6f
cmp edi, 0x20a
je 0x44bca7
cmp edi, 0x20e
je 0x44bca7
cmp edi, 0x20
jne 0x44b6fe
cmp dword [ebx + 0xecc], esi
jne 0x44ae6a
cmp dword [ebx + 0xda8], esi
jne 0x44ae6a
cmp dword [ebx + 0xdac], esi
jne 0x44ae6a
push ebx
call fcn.0043d4fa
cmp eax, 3
pop ecx
mov dword [ebx + 0xdb0], eax
jne 0x44b6ed
lea eax, [ebx + 0xd54]
push eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edi
push ebx
call fcn.0043e66d
add esp, 0x14
cmp dword [ebx + 0xdb0], esi
je 0x44ae6a
jmp 0x447827
cmp edi, 0x113
jne 0x44b721
cmp dword [ebp + 0x10], 1
je 0x44b716
cmp dword [ebp + 0x10], 2
jne 0x44cc70
push ebx
call fcn.00443edb
jmp 0x44c48e
cmp edi, 7
jne 0x44b75b
xor eax, eax
inc eax
push eax
push ebx
mov dword [ebx + 0xd34], eax
call fcn.00439983
mov eax, dword [ebx + 0x6cc]
test byte [eax + 8], 4
pop ecx
pop ecx
jne 0x44b74d
push esi
push ebx
call fcn.0043151f
pop ecx
pop ecx
push dword [ebp + 0x10]
push ebx
call fcn.0043df36
jmp 0x44c48d
cmp edi, 8
jne 0x44b7af
push ebx
call fcn.004324c2
lea eax, [ebx + 0xda4]
cmp dword [eax], 1
pop ecx
jne 0x44b778
mov dword [eax], 2
mov eax, dword [ebx + 0x6cc]
test byte [eax + 8], 4
jne 0x44b78e
push 1
push ebx
call fcn.0043151f
pop ecx
pop ecx
and dword [ebx + 0xd34], 0
call dword [sym.imp.USER32.dll_DestroyCaret]
push ebx
call fcn.00438493
push dword [ebp + 0x10]
push ebx
call fcn.0043df9f
jmp 0x44c907
cmp edi, 0x21
jne 0x44b808
cmp dword [ebx + 0xcd8], 0
mov esi, dword [ebp + 0x14]
push esi
push dword [ebp + 0x10]
push edi
push dword [ebx + 0xccc]
jne 0x44b7d3
call dword [sym.imp.USER32.dll_DefWindowProcA]
jmp 0x44b7d9
call dword [sym.imp.USER32.dll_DefWindowProcW]
cmp eax, 2
je 0x44cc72
cmp eax, 4
je 0x44cc72
shr esi, 0x10
cmp si, 0x201
jne 0x44cc72
mov dword [ebx + 0xda4], 1
jmp 0x44cc72
cmp edi, 0x233
jne 0x44b828
push dword [ebp + 0x10]
push ebx
call fcn.0043e3e3
test eax, eax
pop ecx
pop ecx
jne 0x44ae6a
jmp 0x44cc70
cmp edi, 0x15
jne 0x44b869
mov eax, dword [ebx + 0x6cc]
cmp dword [eax + 0xc4], 0
je 0x44ae6a
xor esi, esi
inc esi
push esi
lea eax, [ebp - 0x80]
push eax
push ebx
mov dword [ebp - 0x80], 0x1ffff
call fcn.004431d5
mov eax, dword [ebx + 0x6cc]
add esp, 0xc
mov dword [eax + 0xc4], esi
jmp 0x44ae6a
cmp edi, 0xa
jne 0x44b904
cmp dword [ebp + 0x10], 0
je 0x44b889
mov eax, dword [ebx + 0x6cc]
add eax, 0x70
push 1
push eax
jmp 0x4484c6
mov edi, dword [sym.imp.USER32.dll_GetSysColor]
push 0x12
call edi
push 0xf
mov esi, eax
call edi
mov edi, eax
mov eax, dword [ebx + 0x6cc]
lea ecx, [eax + 0x2c]
push 0x44
push ecx
add eax, 0x70
push eax
call fcn.0042e3ac
mov eax, dword [ebx + 0x6cc]
mov dword [eax + 0x70], 0xfc
mov eax, dword [ebx + 0x6cc]
mov eax, dword [eax + 0x70]
mov dword [ebp - 0x80], eax
push 1
lea eax, [ebp - 0x80]
push eax
push ebx
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x64], edi
call fcn.004431d5
add esp, 0x18
cmp dword [ebx + 0xd34], 0
je 0x44cc70
push 0
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x44cc70
cmp edi, 0x14
jne 0x44bb76
mov eax, dword [ebx + 0x6cc]
mov esi, dword [ebx + 0xd14]
push dword [eax + 0x38]
mov dword [ebp + 0x14], esi
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
test esi, esi
mov ecx, dword [ebx + 0x6cc]
mov dword [ecx + 0xc8], eax
jne 0x44b94c
lea eax, [ebx + 0xce4]
push eax
push ebx
call fcn.00437e4d
mov dword [ebp + 0x14], eax
test eax, eax
jmp 0x44bb4a
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0x10]
sub eax, ecx
test eax, eax
jle 0x44bb39
mov eax, dword [ebp + 0x14]
mov edx, dword [eax + 0x14]
sub edx, dword [eax + 0xc]
test edx, edx
jle 0x44bb39
mov edx, dword [ebx + 0xcf4]
cmp ecx, edx
jge 0x44b9c3
mov esi, eax
mov eax, dword [ebx + 0xd04]
add esi, 8
lea edi, [ebp - 0x10]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp dword [ebp - 0x10], eax
jg 0x44b994
mov dword [ebp - 0x10], eax
cmp dword [ebp - 8], edx
jl 0x44b99c
mov ecx, dword [ebx + 0xcf8]
mov eax, dword [ebp + 0x14]
cmp dword [eax + 0xc], ecx
jge 0x44ba18
mov esi, eax
mov eax, dword [ebx + 0xd08]
add esi, 8
lea edi, [ebp - 0x10]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp dword [ebp - 0xc], eax
jg 0x44b9eb
mov eax, dword [ebx + 0xcfc]
mov ecx, dword [ebp + 0x14]
cmp dword [ecx + 0x10], eax
jle 0x44ba6d
mov eax, dword [ebp + 0x14]
mov esi, dword [eax]
push eax
push ebx
call fcn.0042f12e
mov dword [ebp + 0x14], esi
test esi, esi
pop ecx
pop ecx
jne 0x44b94c
mov eax, dword [ebx + 0x6cc]
push dword [eax + 0xc8]
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebx + 0x6cc]
and dword [eax + 0xc8], 0
jmp 0x447827
cmp edi, 0x85
je 0x44bbab
cmp edi, 0xf
je 0x44bbab
cmp edi, 2
jne 0x44ae6a
push dword [ebx + 0xccc]
call dword [sym.imp.ole32.dll_RevokeDragDrop]
push ebx
call fcn.00443bc4
and dword [0x453658], 0
pop ecx
jmp 0x44cc70
push 0
lea eax, [ebp - 0x10]
push eax
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_GetUpdateRect]
test eax, eax
je 0x44ae6a
lea eax, [ebp - 0x10]
push eax
push ebx
call fcn.0042f0ed
test eax, eax
pop ecx
pop ecx
je 0x44bbe1
lea eax, [ebp - 0x10]
push eax
push ebx
call fcn.00437e4d
pop ecx
pop ecx
cmp edi, 0xf
jne 0x44ae6a
mov eax, dword [ebx + 0xce0]
and dword [ebp + 0x10], 0
test eax, eax
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp + 0x14], eax
jne 0x44bc28
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_GetDC]
test eax, eax
mov dword [ebx + 0xce0], eax
je 0x44bc28
cmp dword [ebx + 0xce0], 0
je 0x44cc70
mov eax, dword [ebx + 0x6cc]
test byte [eax + 6], 2
je 0x44bccd
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0x10]
push eax
push edi
push ebx
call fcn.0043e83c
add esp, 0x10
test eax, eax
jne 0x44cc70
cmp edi, 0x20a
push esi
lea eax, [ebp + 0x14]
push eax
mov dword [ebp + 0x14], esi
push esi
jne 0x44bd22
push 0x68
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
mov eax, dword [ebp + 0x14]
cmp eax, esi
jne 0x44bcf3
push 3
pop eax
mov dword [ebp + 0x14], eax
mov ecx, dword [ebp + 0x10]
shr ecx, 0x10
test cx, cx
jge 0x44bd0b
cmp eax, 0xffffffff
jne 0x44bd1a
push esi
push 3
jmp 0x44b5f1
cmp eax, 0xffffffff
jne 0x44bd18
push esi
push 2
jmp 0x44b5f1
neg eax
push 0x20
push eax
jmp 0x44a763
push 0x6c
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
mov eax, dword [ebp + 0x14]
cmp eax, esi
jne 0x44bd37
push 3
pop eax
mov dword [ebp + 0x14], eax
mov ecx, dword [ebp + 0x10]
shr ecx, 0x10
test cx, cx
jge 0x44bd5f
cmp eax, 0xffffffff
jne 0x44bd4c
push esi
push 2
jmp 0x44bd67
neg eax
push 8
push eax
push ebx
call fcn.0043f1ee
add esp, 0xc
jmp 0x447827
cmp eax, 0xffffffff
jne 0x44bd4e
push esi
push 3
push ebx
call fcn.0043f074
jmp 0x44bd57
cmp edi, 0x203
je 0x44bd93
cmp edi, edx
je 0x44bd93
cmp edi, eax
je 0x44bd93
cmp edi, 0x207
je 0x44bd93
cmp edi, ecx
je 0x44bd93
cmp edi, 0x200
jne 0x44bdeb
mov eax, dword [ebx + 0x6cc]
test byte [eax + 6], 2
je 0x44bdbe
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0x10]
push eax
push edi
push ebx
call fcn.0043e83c
add esp, 0x10
test eax, eax
jne 0x44cc70
mov edx, 0x204
cmp dword [ebx + 0xdb0], 3
jne 0x44bdeb
lea eax, [ebx + 0xd54]
push eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edi
push ebx
call fcn.0043e66d
add esp, 0x14
test eax, eax
jne 0x44cc70
mov edx, 0x204
mov eax, 0x201
cmp edi, eax
je 0x44be00
cmp edi, edx
je 0x44be00
cmp edi, 0x207
jne 0x44be4c
cmp dword [ebx + 0xdcc], esi
je 0x44be4c
lea edi, [ebx + 0xdac]
mov eax, dword [edi]
cmp eax, esi
je 0x44be2d
push eax
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_KillTimer]
push 2
push ebx
mov dword [edi], esi
call fcn.004303d1
pop ecx
pop ecx
push ebx
call fcn.0043113a
push ebx
mov dword [ebx + 0xdcc], esi
call fcn.0043d4fa
pop ecx
pop ecx
mov dword [ebx + 0xdb0], eax
jmp 0x44cc70
cmp edi, eax
je 0x44c35f
cmp edi, 0x203
je 0x44c35f
cmp edi, edx
jne 0x44beea
mov eax, dword [ebx + 0x6cc]
test byte [eax + 0xa], 4
je 0x44ae6a
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x2c]
push eax
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [ebx + 0x6cc]
test byte [eax + 8], 0x80
push 2
pop esi
jne 0x44beae
xor eax, eax
cmp dword [ebx + 0xdb0], esi
setne al
jmp 0x44bec2
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push ebx
call fcn.004353f3
add esp, 0xc
neg eax
sbb eax, eax
inc eax
test eax, eax
je 0x44ae6a
push 0
push dword [ebx + 0xcc4]
lea eax, [ebp - 0x2c]
push eax
push ebx
mov dword [ebx + 0xd6c], esi
call fcn.0043ab16
add esp, 0x10
jmp 0x44ae6a
cmp edi, 0x207
jne 0x44bfd8
cmp dword [ebx + 0xdcc], esi
jne 0x44cc70
mov eax, dword [ebx + 0xcfc]
mov ecx, dword [ebx + 8]
sub eax, dword [ebx + 0xcf4]
mov edx, dword [ecx + 0xec]
cmp edx, eax
jg 0x44bf37
mov edi, dword [ebx + 0xd00]
sub edi, dword [ebx + 0xcf8]
cmp dword [ecx + 0xf0], edi
jle 0x44cc70
cmp edx, eax
jle 0x44bf5d
mov edi, dword [ebx + 0xd00]
sub edi, dword [ebx + 0xcf8]
cmp dword [ecx + 0xf0], edi
jle 0x44bf52
mov eax, dword [0x45364c]
jmp 0x44bf76
cmp edx, eax
jle 0x44bf5d
mov eax, dword [0x453650]
jmp 0x44bf76
mov eax, dword [ebx + 0xd00]
sub eax, dword [ebx + 0xcf8]
cmp dword [ecx + 0xf0], eax
jle 0x44bf7c
mov eax, dword [0x453654]
mov dword [ebx + 0xdc4], eax
lea edi, [ebx + 0xdb4]
push edi
call dword [sym.imp.USER32.dll_GetCursorPos]
push edi
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_ScreenToClient]
xor eax, eax
inc eax
push ebx
mov dword [ebx + 0xdcc], eax
mov dword [ebx + 0xdd0], esi
mov dword [ebx + 0xdd4], eax
call fcn.00431061
lea edi, [ebx + 0xdac]
cmp dword [edi], esi
pop ecx
jne 0x44cc70
push esi
push 0x20
push 2
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_SetTimer]
push 2
jmp 0x44c485
cmp edi, 0x200
jne 0x44c176
cmp dword [ebx + 0xecc], esi
je 0x44c136
lea eax, [ebx + 0xed8]
mov ecx, dword [eax]
cmp ecx, esi
jle 0x44bfff
dec ecx
mov dword [eax], ecx
cmp dword [eax], esi
jne 0x44cc70
mov eax, dword [ebx + 0x6cc]
xor edi, edi
inc edi
mov dword [ebp + 0x10], esi
test byte [eax + 8], 1
mov dword [ebp + 0xc], 0x40101
mov dword [ebp + 0x14], edi
jne 0x44c02a
mov dword [ebp + 0x14], 3
push esi
lea eax, [ebp + 0x14]
push eax
push edi
push ebx
call fcn.0043e509
add esp, 0x10
test eax, eax
jne 0x44c114
mov dword [0x45365c], ebx
push ebx
mov dword [ebx + 0xed0], edi
call fcn.00436e89
pop ecx
lea ecx, [ebp + 0x10]
push ecx
push dword [ebp + 0x14]
mov dword [ebx + 0xed4], eax
lea edi, [ebx + 0xe4c]
lea eax, [ebx + 0xe58]
push edi
push eax
call dword [sym.imp.ole32.dll_DoDragDrop]
push eax
mov dword [ebp + 0xc], eax
lea eax, [ebp + 0x10]
push eax
push 2
push ebx
call fcn.0043e509
add esp, 0x10
test eax, eax
jne 0x44c0e9
cmp dword [ebp + 0xc], 0x40100
jne 0x44c0e9
test byte [ebp + 0x10], 2
je 0x44c0e9
cmp dword [ebx + 0xed0], esi
je 0x44c0e9
push ebx
call fcn.0043249b
test eax, eax
pop ecx
jne 0x44c0e9
push 0x1000
push ebx
call fcn.0043e378
push ebx
call fcn.00438493
push esi
push dword [ebx + 0xcc4]
lea eax, [ebx + 0xc74]
push eax
lea eax, [ebx + 0xc68]
push eax
push ebx
call fcn.00440e83
push ebx
call fcn.00438493
push ebx
call fcn.00443526
add esp, 0x28
push ebx
call fcn.00432e20
pop ecx
lea eax, [ebx + 0xe58]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov dword [0x45365c], esi
mov dword [ebx + 0xed0], esi
mov dword [ebx + 0xed4], esi
push 4
push ebx
mov dword [ebx + 0xecc], esi
call fcn.004303d1
push dword [ebp + 0xc]
lea eax, [ebp + 0x10]
push eax
push 3
push ebx
call fcn.0043e509
jmp 0x44c824
cmp dword [ebx + 0xdac], esi
je 0x44c14b
push ebx
call fcn.0043d4fa
pop ecx
mov dword [ebx + 0xdb0], eax
push ebx
call fcn.00443edb
cmp dword [ebx + 0xdcc], esi
pop ecx
je 0x44cc70
add ebx, 0xdd4
mov eax, dword [ebx]
cmp eax, esi
jle 0x44cc70
dec eax
mov dword [ebx], eax
jmp 0x44cc70
cmp edi, 0x202
jne 0x44c22d
lea eax, [ebx + 0xecc]
cmp dword [eax], esi
je 0x44c1d6
push 4
push ebx
mov dword [eax], esi
call fcn.004303d1
pop ecx
pop ecx
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x2c]
push eax
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_ScreenToClient]
test byte [ebp + 0x10], 4
jne 0x44c1c2
mov dword [ebx + 0xd6c], 2
push esi
push dword [ebx + 0xcc4]
lea eax, [ebp - 0x2c]
push eax
push ebx
call fcn.0043ab16
add esp, 0x10
mov eax, dword [ebx + 0xda8]
cmp eax, esi
je 0x44c1fd
push eax
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_KillTimer]
push 9
push ebx
mov dword [ebx + 0xda8], esi
call fcn.004303d1
pop ecx
pop ecx
mov eax, dword [ebx + 0x6cc]
test byte [eax + 0xa], 2
jne 0x44c213
mov dword [ebx + 0xd6c], 2
lea ecx, [ebx + 0xd6c]
mov eax, dword [ecx]
cmp eax, esi
je 0x44c308
or eax, 1
mov dword [ecx], eax
jmp 0x44c308
cmp edi, 0x208
jne 0x44c2a4
cmp dword [ebx + 0xdcc], esi
je 0x44c308
cmp dword [ebx + 0xdd0], esi
jne 0x44c308
cmp dword [ebx + 0xdd4], esi
jne 0x44c298
mov eax, dword [ebx + 0xdac]
cmp eax, esi
je 0x44c27c
push eax
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_KillTimer]
push 2
push ebx
mov dword [ebx + 0xdac], esi
call fcn.004303d1
pop ecx
pop ecx
push ebx
call fcn.0043113a
push ebx
mov dword [ebx + 0xdcc], esi
call fcn.0043d4fa
pop ecx
pop ecx
mov dword [ebx + 0xdb0], eax
jmp 0x44c308
mov dword [ebx + 0xdd0], 1
jmp 0x44c308
cmp edi, 0x215
jne 0x44c2fc
lea esi, [ebx + 0xdac]
mov eax, dword [esi]
test eax, eax
je 0x44c2d2
push eax
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_KillTimer]
and dword [esi], 0
push 2
push ebx
call fcn.004303d1
pop ecx
pop ecx
lea esi, [ebx + 0xda8]
mov eax, dword [esi]
test eax, eax
je 0x44ae6a
push eax
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_KillTimer]
and dword [esi], 0
push 9
push ebx
call fcn.004303d1
pop ecx
pop ecx
cmp edi, 0x205
jne 0x44ae6a
mov eax, dword [ebx + 0x6cc]
test byte [eax + 6], 2
je 0x44c32e
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0x10]
push eax
push edi
push ebx
call fcn.0043e83c
add esp, 0x10
test eax, eax
jne 0x44cc70
cmp dword [ebx + 0xdb0], 3
jne 0x44ae6a
lea eax, [ebx + 0xd54]
push eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edi
push ebx
call fcn.0043e66d
jmp 0x44af8f
call dword [sym.imp.USER32.dll_DefWindowProcW]
jmp 0x44cc72
call dword [sym.imp.USER32.dll_GetMessageTime]
push 0x12
mov edi, eax
mov dword [ebp + 0xc], esi
mov dword [ebp + 0x14], esi
mov dword [ebp + 8], esi
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jge 0x44c384
mov dword [ebp + 0xc], 1
test byte [ebp + 0x10], 4
je 0x44c391
mov dword [ebp + 0x14], 1
test byte [ebp + 0x10], 8
je 0x44c39e
mov dword [ebp + 8], 1
lea eax, [ebx + 0xda4]
cmp dword [eax], 2
mov dword [eax], esi
je 0x44cc70
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x2c]
push eax
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [ebx + 0xd94]
cmp eax, dword [ebp - 0x2c]
jne 0x44c406
mov eax, dword [ebx + 0xd98]
cmp eax, dword [ebp - 0x28]
jne 0x44c406
call dword [sym.imp.USER32.dll_GetDoubleClickTime]
mov ecx, edi
sub ecx, dword [ebx + 0xd9c]
cmp eax, ecx
jb 0x44c406
mov eax, dword [ebx + 0xda0]
inc eax
push 3
cdq
pop ecx
idiv ecx
mov dword [ebx + 0xda0], edx
jmp 0x44c40c
mov dword [ebx + 0xda0], esi
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0xd94], eax
mov eax, dword [ebp - 0x28]
mov dword [ebx + 0xd98], eax
mov eax, dword [ebx + 0xda0]
cmp eax, esi
mov dword [ebx + 0xd9c], edi
jne 0x44c5bb
mov edi, dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, edi
je 0x44c449
push edi
call dword [sym.imp.USER32.dll_SetFocus]
cmp dword [ebp + 0xc], esi
jne 0x44c52f
cmp dword [ebp + 0x14], esi
je 0x44c494
cmp dword [ebx + 0xdb0], 4
jne 0x44c52f
lea edi, [ebx + 0xda8]
cmp dword [edi], esi
jne 0x44cc70
push esi
push 0x64
push 1
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_SetTimer]
push 8
push ebx
mov dword [edi], eax
call fcn.004303ad
pop ecx
pop ecx
jmp 0x44cc70
cmp dword [ebx + 0xdb0], 1
jne 0x44c52f
lea edi, [ebx + 0xda8]
cmp dword [edi], esi
jne 0x44c4c8
push esi
push 0x64
push 1
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_SetTimer]
push 1
push ebx
mov dword [edi], eax
call fcn.004303ad
pop ecx
pop ecx
push dword [ebx + 0xcc4]
lea eax, [ebp - 0x24]
push 0
push eax
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push ebx
call fcn.00431e0d
mov eax, dword [ebx + 0x6cc]
lea esi, [ebp - 0x24]
lea edi, [ebp - 0x18]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0x24]
lea edi, [ebp - 0xc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
and dword [ebp - 0x10], 0
add esp, 0x18
test byte [eax + 0xa], 1
jne 0x44c519
lea eax, [ebp - 0xc]
push eax
push eax
push 0x1c
push ebx
call fcn.004348bf
add esp, 0x10
test eax, eax
jne 0x44c522
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 4], eax
lea esi, [ebp - 0x24]
push 0x1100000
jmp 0x44c7e5
cmp dword [ebx + 0xecc], esi
jne 0x44c56d
cmp dword [ebp + 0xc], esi
jne 0x44c56d
cmp dword [ebp + 0x14], esi
jne 0x44c56d
cmp dword [ebx + 0xdb0], 2
jne 0x44c56d
push 4
push ebx
call fcn.004303ad
pop ecx
pop ecx
mov dword [ebx + 0xecc], 1
mov dword [ebx + 0xed8], 5
jmp 0x44cc70
lea edi, [ebx + 0xda8]
cmp dword [edi], esi
jne 0x44c594
push esi
push 0x64
push 1
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_SetTimer]
push 1
push ebx
mov dword [edi], eax
call fcn.004303ad
pop ecx
pop ecx
cmp dword [ebp + 0x14], esi
jne 0x44c5a3
mov dword [ebx + 0xd6c], 2
push dword [ebp + 0x14]
lea eax, [ebp - 0x2c]
push dword [ebp + 0xc]
push eax
push ebx
call fcn.0043ab16
add esp, 0x10
jmp 0x44cc70
cmp eax, 1
jne 0x44c726
mov eax, dword [ebx + 0xdb0]
cmp eax, 4
je 0x44cc70
cmp eax, 1
je 0x44cc70
lea edi, [ebx + 0xda8]
cmp dword [edi], esi
jne 0x44c603
push esi
push 0x64
push 1
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_SetTimer]
push 1
push ebx
mov dword [edi], eax
call fcn.004303ad
pop ecx
pop ecx
push dword [ebx + 0xcc4]
lea eax, [ebp - 0xc]
push esi
push eax
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push ebx
call fcn.00431e0d
mov dword [ebp + 0x10], eax
mov eax, dword [ebx + 0xc84]
mov edi, dword [eax + 0xc]
add esp, 0x18
cmp edi, esi
mov dword [ebp + 0x14], edi
je 0x44c638
cmp dword [ebx + 0xc88], esi
je 0x44c673
cmp dword [ebp + 0x10], 2
jne 0x44c643
mov esi, 0x1000
mov ecx, edi
neg ecx
sbb ecx, ecx
and ecx, 0x100
or ecx, esi
or ecx, 0x33
push ecx
push dword [ebx + 0xcc4]
lea ecx, [ebp - 0x24]
push ecx
lea eax, [ebx + 0xc80]
push eax
push ebx
call fcn.0043a22b
add esp, 0x14
test eax, eax
jne 0x44c682
lea esi, [ebx + 0xc80]
lea edi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp + 0x14]
mov eax, dword [ebp + 8]
neg eax
sbb eax, eax
and eax, 0x30
add eax, 0x10
neg edi
sbb edi, edi
and edi, 0x100
or eax, edi
or eax, 0x2c
push eax
push dword [ebx + 0xcc4]
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x24]
push eax
push ebx
call fcn.0043a003
add esp, 0x14
test eax, eax
jne 0x44c6c6
lea esi, [ebx + 0xc80]
lea edi, [ebp - 0x3c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp dword [ebp + 0x10], 3
jne 0x44c6e3
lea eax, [ebx + 0xd70]
push eax
lea eax, [ebx + 0xc80]
push eax
call fcn.0042cd98
pop ecx
pop ecx
jmp 0x44c6f2
lea edi, [ebx + 0xd70]
lea esi, [ebx + 0xc80]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [ebx + 0xd7c]
lea esi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
push 0x200000
movsd dword es:[edi], dword [esi]
push 0x200
push dword [ebx + 0xcc4]
lea eax, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0x3c]
push eax
mov dword [ebx + 0xd6c], 4
mov eax, esi
jmp 0x44c814
cmp eax, 2
jne 0x44cc70
mov eax, dword [ebx + 0xdb0]
cmp eax, 4
je 0x44cc70
cmp eax, 1
jne 0x44c766
cmp dword [ebp + 0xc], esi
jne 0x44cc70
cmp dword [ebp + 0x14], esi
jne 0x44cc70
push 0x1400000
push esi
push ebx
call fcn.0043a871
jmp 0x44c907
lea edi, [ebx + 0xda8]
cmp dword [edi], esi
jne 0x44c78d
push esi
push 0x64
push 1
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_SetTimer]
push 1
push ebx
mov dword [edi], eax
call fcn.004303ad
pop ecx
pop ecx
push dword [ebx + 0xcc4]
lea eax, [ebp - 0x3c]
push esi
push eax
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push ebx
call fcn.00431e0d
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0042cf44
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0042cf5e
mov eax, dword [ebx + 0x6cc]
add esp, 0x28
test byte [eax + 0xa], 1
jne 0x44c7dd
lea eax, [ebp - 0xc]
push eax
push eax
push 0x1c
push ebx
call fcn.004348bf
add esp, 0x10
lea esi, [ebp - 0x3c]
push 0x400000
lea edi, [ebx + 0xd70]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0x18]
lea edi, [ebx + 0xd7c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x200
lea eax, [ebp - 0x18]
movsd dword es:[edi], dword [esi]
push 0
lea esi, [ebp - 0xc]
push eax
mov eax, esi
mov dword [ebx + 0xd6c], 8
lea edi, [ebx + 0xd88]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
push ebx
call fcn.00438ffa
add esp, 0x18
jmp 0x44cc70
mov esi, dword [ebp + 0x14]
test esi, esi
mov eax, esi
mov dword [ebp + 0x14], eax
je 0x44c8c2
cmp dword [ebp + 0x10], 0
je 0x44c873
mov eax, dword [ebx + 0xcf4]
add eax, dword [esi]
mov dword [ebp - 0x10], eax
mov eax, dword [ebx + 0xcf8]
add eax, dword [esi + 4]
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0xcfc]
add eax, dword [esi + 8]
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0xd00]
add eax, dword [esi + 0xc]
mov dword [ebp - 4], eax
jmp 0x44c8ba
push 0xffffffffffffffec
push dword [ebx + 0xccc]
call dword [sym.imp.USER32.dll_GetWindowLongA]
test ah, 2
je 0x44c8bf
push 5
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push 6
mov dword [ebp + 0x10], eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [esi]
sub ecx, dword [ebp + 0x10]
mov dword [ebp - 0x10], ecx
mov ecx, dword [esi + 4]
sub ecx, eax
mov dword [ebp - 0xc], ecx
mov ecx, dword [esi + 8]
add ecx, dword [ebp + 0x10]
mov dword [ebp - 8], ecx
mov ecx, dword [esi + 0xc]
add ecx, eax
mov dword [ebp - 4], ecx
lea eax, [ebp - 0x10]
jmp 0x44c8c2
mov eax, dword [ebp + 0x14]
xor ecx, ecx
cmp edi, 0xb3
sete cl
push ecx
push eax
push ebx
call fcn.0043032d
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x110]
add esp, 0xc
test eax, eax
je 0x44c8f9
push eax
push 0
push 0
push ebx
call fcn.00443cf5
push ebx
call fcn.00440b8a
add esp, 0x14
push 3
push ebx
call fcn.00440334
push ebx
call fcn.0043e13e
add esp, 0xc
jmp 0x44cc70
mov eax, dword [ebp + 0x10]
cmp eax, esi
jne 0x44c928
mov eax, dword [ebx + 8]
mov dword [eax + 0x10c], 0x10000
jmp 0x44cc70
mov ecx, dword [ebx + 8]
mov dword [ecx + 0x10c], eax
jmp 0x44cc70
test byte [ebp + 0x10], 1
mov dword [ebp - 0x80], esi
je 0x44c946
mov dword [ebp - 0x80], 1
test byte [ebp + 0x10], 4
je 0x44c950
or dword [ebp - 0x80], 4
test byte [ebp + 0x10], 2
je 0x44c95a
or dword [ebp - 0x80], 2
mov esi, dword [ebp + 0x14]
mov eax, dword [esi + 8]
or dword [ebp - 0x78], 0xffffffff
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x70]
push eax
push dword [esi]
mov dword [ebp - 0x74], 5
push ebx
call fcn.00438704
lea eax, [ebp - 0x64]
push eax
push dword [esi + 4]
push ebx
call fcn.00438704
add esp, 0x18
cmp edi, 0xba3
je 0x44c9b1
cmp dword [ebx + 0xcd8], 0
jne 0x44c9a3
cmp edi, 0xba2
je 0x44c9b1
lea eax, [ebp - 0x80]
push eax
push ebx
call fcn.0043b857
pop ecx
pop ecx
jmp 0x44c9c0
lea eax, [ebp - 0x80]
push eax
push 0
push ebx
call fcn.0043d396
add esp, 0xc
test eax, eax
je 0x4478bc
lea eax, [ebp - 0x58]
push eax
push ebx
call fcn.0042fe82
jmp 0x44ca8f
test byte [ebp + 0x10], 1
mov dword [ebp - 0x80], esi
je 0x44c9e7
mov dword [ebp - 0x80], 1
test byte [ebp + 0x10], 4
je 0x44c9f1
or dword [ebp - 0x80], 4
test byte [ebp + 0x10], 2
je 0x44c9fb
or dword [ebp - 0x80], 2
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 8]
or dword [ebp - 0x78], 0xffffffff
mov dword [ebp - 0x7c], ecx
lea ecx, [ebp - 0x70]
push ecx
push dword [eax]
mov dword [ebp - 0x74], 5
push ebx
call fcn.00438704
lea eax, [ebp - 0x64]
push eax
mov eax, dword [ebp + 0x14]
push dword [eax + 4]
push ebx
call fcn.00438704
add esp, 0x18
cmp dword [ebx + 0xcd8], esi
jne 0x44ca56
cmp edi, 0x438
je 0x44ca46
cmp edi, 0x44f
jne 0x44ca56
lea eax, [ebp - 0x80]
push eax
push esi
push ebx
call fcn.0043d396
add esp, 0xc
jmp 0x44ca62
lea eax, [ebp - 0x80]
push eax
push ebx
call fcn.0043b857
pop ecx
pop ecx
cmp eax, esi
je 0x4478bc
cmp edi, 0x44f
je 0x44ca82
cmp edi, 0x47c
je 0x44ca82
lea eax, [ebp - 0x58]
jmp 0x44a850
lea eax, [ebp - 0x58]
push eax
push ebx
call fcn.0042fe82
mov esi, dword [ebp + 0x14]
mov dword [esi + 0xc], eax
lea eax, [ebp - 0x4c]
push eax
push ebx
call fcn.0042fe82
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
add esp, 0x10
jmp 0x44cc72
cmp edi, eax
je 0x44cb09
cmp dword [ebx + 0xcd8], esi
jne 0x44caba
cmp edi, ecx
je 0x44cb09
mov edi, dword [ebp + 0x14]
movzx eax, word [edi]
push dword [ebp + 0x10]
mov dword [ebp + 0x14], eax
push ebx
mov word [edi], si
call fcn.0042f8ec
cmp eax, esi
pop ecx
pop ecx
je 0x449ad5
mov esi, dword [eax + 0xc]
cmp dword [ebp + 0x14], esi
jge 0x44cae4
mov esi, dword [ebp + 0x14]
lea ebx, [esi + esi]
push ebx
push dword [eax + 8]
push edi
call fcn.0042e3ac
add esp, 0xc
cmp esi, dword [ebp + 0x14]
jge 0x449ad5
mov word [ebx + edi], 0xd
inc esi
jmp 0x449ad5
mov edi, dword [ebp + 0x14]
movzx eax, word [edi]
push dword [ebp + 0x10]
mov dword [ebp + 0x14], eax
push ebx
mov byte [edi], 0
call fcn.0042f8ec
cmp eax, esi
pop ecx
pop ecx
je 0x449ad5
push esi
push esi
push dword [ebp + 0x14]
push edi
push dword [eax + 0xc]
push dword [eax + 8]
push esi
push esi
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov esi, eax
cmp esi, dword [ebp + 0x14]
jge 0x449ad5
mov byte [esi + edi], 0xd
jmp 0x44cb03
cmp edi, eax
je 0x44cb78
cmp dword [ebx + 0xcd8], esi
jne 0x44cb5d
cmp edi, ecx
je 0x44cb78
push esi
push esi
push 5
push 0xffffffffffffffff
push dword [ebp + 0x14]
lea eax, [ebx + 0xc74]
push eax
lea eax, [ebx + 0xc68]
jmp 0x4472c0
push esi
push esi
push 5
push 0xffffffffffffffff
push dword [ebp + 0x14]
lea eax, [ebx + 0xc74]
push eax
lea eax, [ebx + 0xc68]
push eax
jmp 0x44ac88
mov esi, dword [ebp + 0x14]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, ecx
jae 0x44cc06
lea ecx, [ebp - 0x18]
push ecx
push eax
push ebx
call fcn.00438704
lea eax, [ebp - 0xc]
push eax
push dword [esi + 4]
push ebx
call fcn.00438704
add esp, 0x18
cmp edi, 0xbaa
je 0x44cbeb
cmp dword [ebx + 0xcd8], 0
jne 0x44cbd4
cmp edi, 0xba9
je 0x44cbeb
push 0
push 0
push 5
push 0xffffffffffffffff
push dword [esi + 8]
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x18]
jmp 0x4472c0
xor eax, eax
push eax
push eax
push 5
push 0xffffffffffffffff
push dword [esi + 8]
lea ecx, [ebp - 0xc]
push ecx
lea ecx, [ebp - 0x18]
push ecx
push eax
push eax
push eax
jmp 0x44ac8b
jne 0x44cc70
mov esi, dword [esi + 8]
test esi, esi
je 0x447827
cmp edi, 0xbaa
je 0x44cc32
cmp dword [ebx + 0xcd8], 0
jne 0x44cc2c
cmp edi, 0xba9
je 0x44cc32
and word [esi], 0
jmp 0x44cc70
mov byte [esi], 0
jmp 0x44cc70
cmp edi, eax
je 0x44cc5c
cmp dword [ebx + 0xcd8], esi
jne 0x44cc47
cmp edi, ecx
je 0x44cc5c
push esi
push esi
push esi
push 1
push 0xffffffffffffffff
push dword [ebp + 0x14]
push ebx
call fcn.004450b5
jmp 0x44a5e3
push esi
push esi
push esi
push 1
push 0xffffffffffffffff
push dword [ebp + 0x14]
push esi
push ebx
call fcn.00446806
add esp, 0x20
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0x10