Function at 0x4520a0
Capabilities:
Copy file
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x5d61a0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x448
push ebx
mov bl, byte [esp + 0x460]
push ebp
push esi
xor esi, esi
push edi
test bl, bl
mov ebp, ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0xf4], esi
mov dword [esp + 0x6c], esi
mov edi, 1
je 0x452158
mov dword [ebp + 0x478], edi
call fcn.0042b940
mov ecx, dword [ebp + 0x478]
push ecx
mov ecx, eax
call fcn.00422090
test eax, eax
jne 0x452158
lea edx, [esp + 0x30]
mov ecx, ebp
push edx
call fcn.004545e0
push eax
lea ecx, [esp + 0x28]
mov dword [esp + 0x464], esi
call fcn.0059d572
lea ecx, [esp + 0x30]
mov byte [esp + 0x460], 2
call fcn.0059d7fd
mov ecx, ebp
call fcn.0042b940
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, eax
call fcn.00421990
lea ecx, [esp + 0x24]
mov dword [esp + 0x460], 0xffffffff
call fcn.0059d7fd
mov ecx, ebp
call fcn.0042b940
mov edx, dword [ebp + 0x478]
mov ecx, eax
push edx
call fcn.00422090
cmp eax, esi
je 0x452197
test bl, bl
jne 0x45219f
mov dword [ebp + 0x654], edi
mov eax, dword [eax + 4]
mov ecx, ebp
mov dword [ebp + 0x478], eax
call fcn.0042b940
mov ecx, eax
call fcn.00422230
jmp 0x452dd2
test bl, bl
je 0x4525f9
mov cl, byte [0x67f98c]
xor eax, eax
mov byte [esp + 0x1c0], cl
mov ecx, 0x3f
lea edi, [esp + 0x1c1]
lea edx, [esp + 0x1c0]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0xff
lea eax, [esp + 0x1c4]
push edx
push eax
push str.FormerHistoryFile
lea ecx, [ebp + 0x264]
call fcn.00497850
lea ecx, [esp + 0x1c0]
lea edi, [ebp + 0x470]
push ecx
mov ecx, edi
call fcn.0059d986
push edi
call fcn.00491870
mov edi, dword [edi]
add esp, 4
lea ebx, [ebp + 0x64c]
push edi
mov ecx, ebx
call fcn.0059d986
mov eax, dword [ebp + 0x470]
mov edi, 0x5ecdd4
cmp dword [eax - 8], esi
jne 0x45245c
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x1c1]
mov byte [esp + 0x1c0], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
call fcn.005c006c
mov eax, dword [eax + 8]
lea ecx, [esp + 0x1c0]
push 0x104
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [esp + 0x4c]
mov dword [esp + 0x40], 0x5ecdf0
mov dword [esp + 0x44], 0x5ecde8
call fcn.004018e0
mov dword [esp + 0x20], 1
push 0
lea ecx, [esp + 0x44]
call fcn.00401950
push 0
lea ecx, [esp + 0x48]
mov dword [esp + 0x464], 4
call fcn.00401a40
mov edx, dword [esp + 0x40]
mov byte [esp + 0x460], 5
mov eax, dword [edx + 4]
mov dword [esp + eax + 0x40], 0x5ecdd4
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 4]
lea edx, [eax - 0xc]
mov dword [esp + eax + 0x3c], edx
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x1c0]
mov edx, dword [ecx + 4]
push eax
lea ecx, [esp + edx + 0x44]
call fcn.0048f9c0
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x14]
push eax
mov dword [esp + 0x464], 6
mov edx, dword [ecx + 4]
lea ecx, [esp + edx + 0x44]
call fcn.0048fe90
mov eax, dword [eax]
mov byte [esp + 0x460], 7
push eax
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x44]
call fcn.0048f9c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x460], 6
call fcn.0059d7fd
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x14]
push edx
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x44]
call fcn.0048fe30
lea ecx, [esp + 0x14]
call fcn.0059d7fd
mov edx, dword [esp + 0x40]
or ecx, 0xffffffff
mov eax, dword [edx + 4]
lea edx, [esp + 0x1c0]
mov edi, dword [esp + eax + 0x44]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
push 0xff
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea edx, [esp + 0x1c4]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c4]
push ecx
push edx
push str.PreviousVersionPath
lea ecx, [ebp + 0x264]
call fcn.00497850
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x1c0]
push eax
mov edx, dword [ecx + 4]
lea ecx, [esp + edx + 0x44]
call fcn.0048f9c0
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x14]
push eax
mov edx, dword [ecx + 4]
lea ecx, [esp + edx + 0x44]
call fcn.0048fe90
mov eax, dword [eax]
mov byte [esp + 0x460], 8
push eax
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x44]
call fcn.0048f9c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x460], 6
call fcn.0059d7fd
cmp dword [ebp + 0x478], 1
jne 0x452441
mov edx, dword [esp + 0x40]
push str.currentcurrent.hst
mov eax, dword [edx + 4]
lea ecx, [esp + eax + 0x44]
call fcn.0048fb10
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x14]
push ecx
mov eax, dword [edx + 4]
lea ecx, [esp + eax + 0x44]
call fcn.0048fe30
lea ecx, [esp + 0x14]
call fcn.0059d7fd
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 4]
mov ecx, ebx
mov eax, dword [esp + edx + 0x44]
push eax
call fcn.0059d986
lea ecx, [esp + 0x4c]
mov dword [esp + 0x460], 0xffffffff
call fcn.004019c0
mov edi, 0x5ecdd4
xor esi, esi
mov al, byte [esp + 0x46c]
test al, al
jne 0x4525e9
push 0x67fa38
lea ecx, [esp + 0x28]
call fcn.0059d572
mov esi, dword [ebx]
lea ecx, [esp + 0xac]
mov dword [esp + 0xa0], 0x5ecdf0
mov dword [esp + 0xa4], 0x5ecde8
call fcn.004018e0
mov eax, dword [esp + 0x20]
or al, 2
mov dword [esp + 0x20], eax
push 0
lea ecx, [esp + 0xa4]
call fcn.00401950
push 0
lea ecx, [esp + 0xa8]
mov dword [esp + 0x464], 0xb
call fcn.00401a40
mov eax, dword [esp + 0xa0]
push esi
mov byte [esp + 0x464], 0xc
mov ecx, dword [eax + 4]
mov dword [esp + ecx + 0xa4], edi
mov edx, dword [esp + 0xa4]
mov eax, dword [edx + 4]
lea ecx, [eax - 0xc]
mov dword [esp + eax + 0xa0], ecx
mov edx, dword [esp + 0xa4]
mov eax, dword [edx + 4]
lea ecx, [esp + eax + 0xa4]
call fcn.0048f9c0
mov edx, dword [esp + 0xa0]
lea ecx, [esp + 0x2c]
push ecx
mov byte [esp + 0x464], 0xd
mov eax, dword [edx + 4]
lea ecx, [esp + eax + 0xa4]
call fcn.00490080
mov esi, eax
push 0x652aec
lea ecx, [esp + 0x3c]
mov byte [esp + 0x464], 0xe
call fcn.0059d86b
push esi
lea ecx, [esp + 0x34]
push eax
push ecx
mov byte [esp + 0x46c], 0xf
call fcn.0059da2c
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x464], 0x10
call fcn.0059dc15
lea ecx, [esp + 0x30]
mov byte [esp + 0x460], 0xf
call fcn.0059d7fd
lea ecx, [esp + 0x38]
mov byte [esp + 0x460], 0xe
call fcn.0059d7fd
lea ecx, [esp + 0x2c]
mov byte [esp + 0x460], 0xd
call fcn.0059d7fd
mov ecx, ebp
call fcn.0042b940
mov edx, dword [esp + 0x24]
mov ecx, eax
push edx
call fcn.00421990
lea ecx, [esp + 0xac]
mov dword [ebp + 0x478], eax
mov byte [esp + 0x460], 9
call fcn.004019c0
mov dword [esp + 0x460], 0xffffffff
lea ecx, [esp + 0x24]
call fcn.0059d7fd
xor esi, esi
cmp dword [ebp + 0x478], 0xffffffff
jne 0x45263e
xor eax, eax
jmp 0x452dd4
mov eax, dword [ebp + 0x64c]
lea ebx, [ebp + 0x64c]
push eax
mov ecx, ebp
call fcn.0042b940
mov ecx, eax
call fcn.00422cd0
cmp eax, esi
je 0x452211
mov dword [ebp + 0x654], edi
mov edx, dword [eax + 4]
mov ecx, ebp
mov dword [ebp + 0x478], edx
call fcn.0042b940
mov ecx, eax
call fcn.00422230
jmp 0x452dd2
mov ecx, ebp
call fcn.0042b940
mov ecx, dword [ebp + 0x478]
push ecx
mov ecx, eax
call fcn.00422090
push 1
mov ecx, 0x67fce0
mov dword [esp + 0x28], eax
call fcn.0047f970
mov eax, dword [ebx]
push esi
push eax
call fcn.0055b320
add esp, 8
test eax, eax
je 0x452690
mov edx, dword [esp + 0x468]
mov eax, 1
mov dword [ebp + 0x654], eax
mov dword [ebp + 0x650], edx
jmp 0x452dd4
push ebx
lea ecx, [esp + 0x74]
call fcn.0059d572
push 0x30
mov dword [esp + 0x464], 0x11
call fcn.0059dece
add esp, 4
mov dword [esp + 0x68], eax
cmp eax, esi
mov byte [esp + 0x460], 0x12
je 0x4526c8
mov ecx, eax
call fcn.00441e60
jmp 0x4526ca
xor eax, eax
cmp eax, esi
mov dword [esp + 0x2c], eax
mov byte [esp + 0x460], 0x11
jne 0x4526ef
push esi
push esi
push esi
push 0x652d40
call fcn.004942a0
add esp, 0x10
jmp 0x452d17
mov esi, dword [ebx]
lea ecx, [esp + 0xac]
mov dword [esp + 0xa0], 0x5ecdf0
mov dword [esp + 0xa4], 0x5ecde8
call fcn.004018e0
mov eax, dword [esp + 0x20]
or al, 4
mov dword [esp + 0x20], eax
push 0
lea ecx, [esp + 0xa4]
call fcn.00401950
push 0
lea ecx, [esp + 0xa8]
mov dword [esp + 0x464], 0x14
call fcn.00401a40
mov eax, dword [esp + 0xa0]
push esi
mov byte [esp + 0x464], 0x15
mov ecx, dword [eax + 4]
mov dword [esp + ecx + 0xa4], edi
mov edx, dword [esp + 0xa4]
mov eax, dword [edx + 4]
lea ecx, [eax - 0xc]
mov dword [esp + eax + 0xa0], ecx
mov edx, dword [esp + 0xa4]
mov eax, dword [edx + 4]
lea ecx, [esp + eax + 0xa4]
call fcn.0048f9c0
mov edx, dword [esp + 0xa0]
lea ecx, [esp + 0x14]
push ecx
mov byte [esp + 0x464], 0x16
mov eax, dword [edx + 4]
lea ecx, [esp + eax + 0xa4]
call fcn.004900d0
mov ecx, dword [eax]
push 0x653594
push ecx
call fcn.0055b250
add esp, 8
lea ecx, [esp + 0x14]
test eax, eax
setne byte [esp + 0x1f]
call fcn.0059d7fd
mov al, byte [esp + 0x1f]
test al, al
je 0x4527da
mov byte [esp + 0x13], 0
jmp 0x4527fb
mov eax, dword [ebx]
lea edx, [esp + 0x6c]
push ebx
lea ecx, [esp + 0x46c]
push edx
push ecx
mov ecx, dword [esp + 0x38]
push eax
call fcn.00442a10
test eax, eax
setne byte [esp + 0x13]
lea ecx, [esp + 0xac]
mov byte [esp + 0x460], 0x11
call fcn.004019c0
mov al, byte [esp + 0x13]
test al, al
jne 0x452823
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x452d17
mov esi, dword [ebx]
lea ecx, [esp + 0x12c]
mov dword [esp + 0x120], 0x5ecdf0
mov dword [esp + 0x124], 0x5ecde8
call fcn.004018e0
or dword [esp + 0x20], 8
push 0
lea ecx, [esp + 0x124]
call fcn.00401950
push 0
lea ecx, [esp + 0x128]
mov dword [esp + 0x464], 0x18
call fcn.00401a40
mov edx, dword [esp + 0x120]
push esi
mov byte [esp + 0x464], 0x19
mov eax, dword [edx + 4]
mov dword [esp + eax + 0x124], edi
mov ecx, dword [esp + 0x124]
mov eax, dword [ecx + 4]
lea edx, [eax - 0xc]
mov dword [esp + eax + 0x120], edx
mov eax, dword [esp + 0x124]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x124]
call fcn.0048f9c0
mov edx, dword [esp + 0x120]
push str.converted_7.txt
mov byte [esp + 0x464], 0x1a
mov eax, dword [edx + 4]
lea ecx, [esp + eax + 0x124]
call fcn.0048fc00
mov edx, dword [esp + 0x120]
lea ecx, [esp + 0x74]
push ecx
mov eax, dword [edx + 4]
lea ecx, [esp + eax + 0x124]
call fcn.0048fe30
lea ecx, [esp + 0x74]
call fcn.0059d7fd
mov ecx, dword [esp + 0x120]
xor esi, esi
push esi
mov edx, dword [ecx + 4]
mov eax, dword [esp + edx + 0x128]
push eax
call fcn.0055b320
add esp, 8
test eax, eax
je 0x453934
push 0x30
mov dword [esp + 0x164], esi
mov dword [esp + 0x70], 1
call fcn.0059dece
add esp, 4
mov dword [esp + 0x68], eax
cmp eax, esi
mov byte [esp + 0x460], 0x1b
je 0x452959
mov ecx, eax
call fcn.00441e60
mov dword [esp + 0x38], eax
jmp 0x45295d
mov dword [esp + 0x38], esi
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x4c]
mov dword [esp + 0x74], eax
mov dword [esp + 0x40], 0x5ecdf0
mov dword [esp + 0x44], 0x5ecde8
call fcn.004018e0
mov esi, dword [esp + 0x20]
push 0
lea ecx, [esp + 0x44]
or esi, 0x10
call fcn.00401950
push 0
lea ecx, [esp + 0x48]
call fcn.00401a40
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 4]
mov dword [esp + edx + 0x40], edi
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 4]
lea ecx, [eax - 0xc]
mov dword [esp + eax + 0x3c], ecx
lea ecx, [esp + 0x104]
mov dword [esp + 0xf8], 0x5ecdf0
mov dword [esp + 0xfc], 0x5ecde8
call fcn.004018e0
or esi, 0x20
push 0
lea ecx, [esp + 0xfc]
mov dword [esp + 0x24], esi
call fcn.00401950
push 0
lea ecx, [esp + 0x100]
call fcn.00401a40
mov edx, dword [esp + 0xf8]
mov eax, dword [edx + 4]
mov dword [esp + eax + 0xf8], edi
mov ecx, dword [esp + 0xf8]
mov eax, dword [ecx + 4]
lea edx, [eax - 0xc]
mov dword [esp + eax + 0xf4], edx
mov eax, dword [ebx]
mov byte [esp + 0x460], 0x1d
push eax
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x44]
call fcn.0048f9c0
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x16c]
push edx
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x44]
call fcn.0048fe30
lea ecx, [esp + 0x16c]
call fcn.0059d7fd
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x3c]
mov eax, dword [edx + 4]
mov eax, dword [esp + eax + 0x44]
push eax
call fcn.0059d86b
lea ecx, [esp + 0x40]
mov byte [esp + 0x460], 0x1e
push ecx
lea ecx, [esp + 0xfc]
call fcn.00491160
mov edx, dword [esp + 0xf8]
push str..tmp
mov eax, dword [edx + 4]
lea ecx, [esp + eax + 0xfc]
call fcn.0048fd70
mov edx, dword [esp + 0xf8]
lea ecx, [esp + 0x14]
push ecx
mov eax, dword [edx + 4]
lea ecx, [esp + eax + 0xfc]
call fcn.0048fe30
lea ecx, [esp + 0x14]
call fcn.0059d7fd
mov ecx, dword [esp + 0xf8]
lea eax, [esp + 0x30]
push eax
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + edx + 0x100]
mov edx, dword [ecx + 4]
lea ecx, [esp + edx + 0x44]
call fcn.0048fe30
lea ecx, [esp + 0x30]
call fcn.0059d7fd
mov eax, dword [esp + 0x40]
push 0
push esi
mov ecx, dword [eax + 4]
mov eax, dword [esp + ecx + 0x4c]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov edx, dword [esp + 0x40]
push str.converted_6.txt
mov eax, dword [edx + 4]
lea ecx, [esp + eax + 0x44]
call fcn.0048fc00
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x14]
push ecx
mov eax, dword [edx + 4]
lea ecx, [esp + eax + 0x44]
call fcn.0048fe30
lea ecx, [esp + 0x14]
call fcn.0059d7fd
mov ecx, dword [esp + 0x40]
push 0x657298
mov edx, dword [ecx + 4]
mov eax, dword [esp + edx + 0x48]
push eax
call fcn.0055bc33
mov esi, eax
add esp, 8
test esi, esi
je 0x452b74
push 0x65ba9c
push esi
call fcn.0055bbc6
push esi
call fcn.0055bb49
add esp, 0xc
mov eax, dword [esp + 0x40]
push 0x67f98c
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x44]
call fcn.0048fc00
mov eax, dword [esp + 0xf8]
lea edx, [esp + 0x14]
push edx
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0xfc]
call fcn.0048fe30
lea ecx, [esp + 0x14]
call fcn.0059d7fd
mov edx, dword [esp + 0xf8]
mov esi, dword [esp + 0x38]
lea ecx, [esp + 0x6c]
push ebx
mov eax, dword [edx + 4]
lea edx, [esp + 0x46c]
push ecx
push edx
mov eax, dword [esp + eax + 0x108]
mov ecx, esi
push eax
call fcn.00442a10
test eax, eax
je 0x452ccd
mov eax, dword [ebx]
push str.current.hst
push eax
call fcn.0055bac0
add esp, 8
test eax, eax
jne 0x452c06
mov ecx, dword [ebp + 0x518]
test ecx, ecx
je 0x452c06
mov eax, dword [ebx]
push eax
call fcn.004478f0
lea eax, [esp + 0x14]
mov ecx, ebp
push eax
call fcn.004545e0
mov eax, dword [eax]
mov ecx, ebx
push eax
mov byte [esp + 0x464], 0x1f
call fcn.0059d986
lea ecx, [esp + 0x14]
mov byte [esp + 0x460], 0x1e
call fcn.0059d7fd
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x28]
push ecx
push edx
mov ecx, ebp
call fcn.004041c0
lea ecx, [esp + 0x1ac]
mov byte [esp + 0x460], 0x20
call fcn.004925d0
mov eax, dword [esp + 0x28]
push 0
push eax
lea ecx, [esp + 0x1b4]
mov byte [esp + 0x468], 0x21
call fcn.00492660
test eax, eax
jne 0x452def
mov ecx, dword [esp + 0x28]
push 3
push ecx
lea ecx, [esp + 0x1b4]
call fcn.00492660
test eax, eax
jne 0x452def
call fcn.00494340
mov dword [esp + 0xf4], 0
lea ecx, [esp + 0x1ac]
mov byte [esp + 0x460], 0x20
call fcn.00492610
lea ecx, [esp + 0x28]
mov byte [esp + 0x460], 0x1e
call fcn.0059d7fd
lea ecx, [esp + 0x3c]
mov byte [esp + 0x460], 0x1d
call fcn.0059d7fd
lea ecx, [esp + 0x104]
mov byte [esp + 0x460], 0x1c
call fcn.004019c0
lea ecx, [esp + 0x4c]
mov byte [esp + 0x460], 0x1a
call fcn.004019c0
lea ecx, [esp + 0x12c]
mov byte [esp + 0x460], 0x11
call fcn.004019c0
mov eax, dword [ebp + 0x524]
test eax, eax
jne 0x452d2e
mov ecx, ebp
call fcn.0042abb0
mov dword [ebp + 0x524], eax
mov eax, dword [ebp + 0x524]
push 0
push 1
push 0xb
mov ecx, dword [eax + 0x1c]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov edi, dword [esp + 0xf4]
call fcn.005c006c
mov ecx, dword [eax + 4]
call fcn.0059cc78
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x452d70
mov ecx, esi
call fcn.00441f90
push esi
call fcn.0059def7
add esp, 4
mov esi, dword [esp + 0x74]
test esi, esi
je 0x452d88
mov ecx, esi
call fcn.00441f90
push esi
call fcn.0059def7
add esp, 4
mov ecx, ebp
call fcn.00427d50
mov ecx, dword [ebp + 0x534]
push 1
call fcn.00420ba0
mov eax, dword [ebp + 0x524]
test eax, eax
jne 0x452db3
mov ecx, ebp
call fcn.0042abb0
mov dword [ebp + 0x524], eax
mov ecx, dword [ebp + 0x524]
call fcn.00446340
lea ecx, [esp + 0x70]
mov dword [esp + 0x460], 0xffffffff
call fcn.0059d7fd
mov eax, edi
mov ecx, dword [esp + 0x458]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x454
ret 8
xor ebx, ebx
mov byte [esp + 0x13], 0
mov byte [esp + 0x1f], 0
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], ebx
call fcn.005c006c
mov ecx, dword [eax + 4]
call fcn.0059cc63
lea edx, [esp + 0x18]
mov ecx, esi
push edx
mov byte [esp + 0x464], 0x22
call fcn.00442a90
test eax, eax
je 0x452e45
mov eax, dword [esp + 0x18]
test eax, eax
je 0x452e41
lea eax, [esp + 0x18]
mov ecx, esi
push eax
inc ebx
call fcn.00442a90
test eax, eax
jne 0x452e28
mov dword [esp + 0x24], ebx
mov ecx, esi
call fcn.00442a70
push 0
push ebx
mov ecx, ebp
call fcn.00455c90
push 0
mov ecx, ebp
call fcn.0059d3da
lea ecx, [esp + 0x18]
push ecx
mov ecx, esi
call fcn.00442a90
test eax, eax
je 0x45376a
mov eax, dword [esp + 0x18]
test eax, eax
je 0x453784
mov esi, dword [esp + 0x28]
mov ebx, 0x5ecdf0
lea ecx, [esp + 0xd8]
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], 0x5ecde8
call fcn.004018e0
mov eax, dword [esp + 0x20]
or al, 0x40
mov dword [esp + 0x20], eax
push 0
lea ecx, [esp + 0xd0]
call fcn.00401950
push 0
lea ecx, [esp + 0xd4]
mov dword [esp + 0x464], 0x24
call fcn.00401a40
mov edx, dword [esp + 0xcc]
push esi
mov byte [esp + 0x464], 0x25
mov eax, dword [edx + 4]
mov dword [esp + eax + 0xd0], edi
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + 4]
lea edx, [eax - 0xc]
mov dword [esp + eax + 0xcc], edx
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0xd0]
call fcn.0048f9c0
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x84]
mov esi, dword [edx + 0x40]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], 0x5ecde8
call fcn.004018e0
mov edx, dword [esp + 0x20]
or dl, 0x80
mov dword [esp + 0x20], edx
push 0
lea ecx, [esp + 0x7c]
call fcn.00401950
push 0
lea ecx, [esp + 0x80]
mov dword [esp + 0x464], 0x28
call fcn.00401a40
mov eax, dword [esp + 0x78]
push esi
mov byte [esp + 0x464], 0x29
mov ecx, dword [eax + 4]
mov dword [esp + ecx + 0x7c], edi
mov edx, dword [esp + 0x7c]
mov eax, dword [edx + 4]
lea ecx, [eax - 0xc]
mov dword [esp + eax + 0x78], ecx
mov edx, dword [esp + 0x7c]
mov eax, dword [edx + 4]
lea ecx, [esp + eax + 0x7c]
call fcn.0048f9c0
mov ecx, dword [esp + 0x78]
mov byte [esp + 0x460], 0x2a
mov edx, dword [ecx + 4]
lea ecx, [esp + edx + 0x78]
call fcn.00490640
test eax, eax
je 0x452ffe
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x14c]
push eax
mov edx, dword [ecx + 4]
lea ecx, [esp + edx + 0x44]
call fcn.0048fe90
mov eax, dword [eax]
mov byte [esp + 0x460], 0x2b
push eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x7c]
call fcn.0048faa0
lea ecx, [esp + 0x14c]
mov byte [esp + 0x460], 0x2a
call fcn.0059d7fd
mov eax, dword [esp + 0x78]
lea edx, [esp + 0x15c]
push edx
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x7c]
call fcn.00490000
mov eax, dword [eax]
mov edx, dword [esp + 0xcc]
push eax
mov byte [esp + 0x464], 0x2c
mov eax, dword [edx + 4]
lea ecx, [esp + eax + 0xd0]
call fcn.0048fb10
lea ecx, [esp + 0x15c]
mov byte [esp + 0x460], 0x2a
call fcn.0059d7fd
mov edx, dword [esp + 0x78]
lea ecx, [esp + 0x164]
push ecx
mov eax, dword [edx + 4]
lea ecx, [esp + eax + 0x7c]
call fcn.0048fe30
lea ecx, [esp + 0x164]
call fcn.0059d7fd
mov ecx, dword [esp + 0x78]
push 0
mov edx, dword [ecx + 4]
mov eax, dword [esp + edx + 0x80]
push eax
call fcn.0055b320
add esp, 8
test eax, eax
je 0x4533f5
mov esi, dword [esp + 0x70]
lea ecx, [esp + 0xac]
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], 0x5ecde8
call fcn.004018e0
mov eax, dword [esp + 0x20]
or ah, 1
mov dword [esp + 0x20], eax
push 0
lea ecx, [esp + 0xa4]
call fcn.00401950
push 0
lea ecx, [esp + 0xa8]
mov dword [esp + 0x464], 0x2e
call fcn.00401a40
mov eax, dword [esp + 0xa0]
push esi
mov byte [esp + 0x464], 0x2f
mov ecx, dword [eax + 4]
mov dword [esp + ecx + 0xa4], edi
mov edx, dword [esp + 0xa4]
mov eax, dword [edx + 4]
lea ecx, [eax - 0xc]
mov dword [esp + eax + 0xa0], ecx
mov edx, dword [esp + 0xa4]
mov eax, dword [edx + 4]
lea ecx, [esp + eax + 0xa4]
call fcn.0048f9c0
mov edx, dword [esp + 0x78]
lea ecx, [esp + 0x148]
push ecx
mov byte [esp + 0x464], 0x30
mov eax, dword [edx + 4]
lea ecx, [esp + eax + 0x7c]
call fcn.00490000
mov ecx, dword [esp + 0xa0]
mov eax, dword [eax]
push eax
mov byte [esp + 0x464], 0x31
mov edx, dword [ecx + 4]
lea ecx, [esp + edx + 0xa4]
call fcn.0048fc00
lea ecx, [esp + 0x148]
mov byte [esp + 0x460], 0x30
call fcn.0059d7fd
lea eax, [esp + 0xa0]
lea ecx, [esp + 0x78]
push eax
call fcn.00491160
mov edx, dword [esp + 0x78]
lea ecx, [esp + 0x174]
push ecx
mov eax, dword [edx + 4]
lea ecx, [esp + eax + 0x7c]
call fcn.0048fe30
lea ecx, [esp + 0x174]
call fcn.0059d7fd
mov ecx, dword [esp + 0x78]
push 0
mov edx, dword [ecx + 4]
mov eax, dword [esp + edx + 0x80]
push eax
call fcn.0055b320
add esp, 8
test eax, eax
je 0x4533e1
mov esi, dword [esp + 0x70]
lea ecx, [esp + 0x190]
mov dword [esp + 0x184], ebx
mov dword [esp + 0x188], 0x5ecde8
call fcn.004018e0
mov eax, dword [esp + 0x20]
or ah, 2
mov dword [esp + 0x20], eax
push 0
lea ecx, [esp + 0x188]
call fcn.00401950
push 0
lea ecx, [esp + 0x18c]
mov dword [esp + 0x464], 0x33
call fcn.00401a40
mov eax, dword [esp + 0x184]
push esi
mov byte [esp + 0x464], 0x34
mov ecx, dword [eax + 4]
mov dword [esp + ecx + 0x188], edi
mov edx, dword [esp + 0x188]
mov eax, dword [edx + 4]
lea ecx, [eax - 0xc]
mov dword [esp + eax + 0x184], ecx
mov edx, dword [esp + 0x188]
mov eax, dword [edx + 4]
lea ecx, [esp + eax + 0x188]
call fcn.0048f9c0
mov edx, dword [esp + 0x184]
lea ecx, [esp + 0x17c]
push ecx
mov byte [esp + 0x464], 0x35
mov eax, dword [edx + 4]
lea ecx, [esp + eax + 0x188]
call fcn.0048fe90
mov ecx, dword [esp + 0x184]
mov eax, dword [eax]
push eax
mov byte [esp + 0x464], 0x36
mov edx, dword [ecx + 4]
lea ecx, [esp + edx + 0x188]
call fcn.0048f9c0
lea ecx, [esp + 0x17c]
mov byte [esp + 0x460], 0x35
call fcn.0059d7fd
mov ecx, dword [esp + 0x184]
lea eax, [esp + 0x150]
push eax
mov edx, dword [ecx + 4]
lea ecx, [esp + edx + 0x188]
call fcn.0048fe30
lea ecx, [esp + 0x150]
call fcn.0059d7fd
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 4]
mov eax, dword [esp + ecx + 0x188]
lea ecx, [esp + 0x34]
push eax
call fcn.0059d86b
push 0x5c
lea ecx, [esp + 0x38]
mov byte [esp + 0x464], 0x37
call fcn.00595dcd
cmp eax, 0xffffffff
jle 0x45335b
lea edx, [esp + 0x154]
push eax
push edx
lea ecx, [esp + 0x3c]
call fcn.00595cff
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x464], 0x38
call fcn.0059d936
lea ecx, [esp + 0x154]
mov byte [esp + 0x460], 0x37
call fcn.0059d7fd
push str.E_Transcript_Files_
lea ecx, [esp + 0x38]
call fcn.0059dbd9
mov ecx, dword [esp + 0x78]
lea eax, [esp + 0x178]
push eax
mov edx, dword [ecx + 4]
lea ecx, [esp + edx + 0x7c]
call fcn.00490000
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x464], 0x39
call fcn.0059dc15
lea ecx, [esp + 0x178]
mov byte [esp + 0x460], 0x37
call fcn.0059d7fd
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x34]
push eax
mov edx, dword [ecx + 4]
lea ecx, [esp + edx + 0x7c]
call fcn.0048f9c0
lea ecx, [esp + 0x34]
mov byte [esp + 0x460], 0x35
call fcn.0059d7fd
lea ecx, [esp + 0x190]
mov byte [esp + 0x460], 0x30
call fcn.004019c0
lea ecx, [esp + 0xac]
mov byte [esp + 0x460], 0x2a
call fcn.004019c0
mov ecx, dword [esp + 0xcc]
lea eax, [esp + 0x158]
push eax
mov edx, dword [ecx + 4]
lea ecx, [esp + edx + 0xd0]
call fcn.0048fe30
lea ecx, [esp + 0x158]
call fcn.0059d7fd
mov eax, dword [esp + 0xcc]
mov edx, dword [ebp + 0x478]
push 0
mov ecx, dword [eax + 4]
mov eax, dword [esp + ecx + 0xd4]
mov ecx, ebp
push eax
push edx
call fcn.00451eb0
test al, al
jne 0x4536ef
lea ecx, [esp + 0x1c0]
call fcn.00498b10
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x78]
lea ecx, [esp + 0x170]
mov byte [esp + 0x460], 0x3a
mov esi, dword [eax + 0x4c]
mov eax, dword [edx + 4]
push ecx
lea ecx, [esp + eax + 0x7c]
call fcn.0048fe30
lea ecx, [esp + 0x170]
call fcn.0059d7fd
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + 4]
mov edi, dword [esp + edx + 0x7c]
call fcn.0047f870
mov edx, dword [eax]
push esi
push edi
mov ecx, eax
call dword [edx + 4]
test eax, eax
mov dword [esp + 0x30], eax
jne 0x45351c
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x1f], 1
test ecx, ecx
mov esi, ecx
je 0x4534c6
call fcn.004427b0
push esi
call fcn.0059def7
add esp, 4
lea ecx, [esp + 0x1c0]
mov dword [esp + 0x18], 0
mov byte [esp + 0x460], 0x2a
call fcn.00498ea0
lea ecx, [esp + 0x84]
mov byte [esp + 0x460], 0x26
call fcn.004019c0
lea ecx, [esp + 0xd8]
mov byte [esp + 0x460], 0x22
call fcn.004019c0
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x24]
mov edi, 0x5ecdd4
jmp 0x452e5f
mov edx, dword [eax]
lea ecx, [esp + 0xca]
push ecx
lea ecx, [esp + 0x1c4]
push ecx
mov ecx, eax
call dword [edx + 0x3c]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x45354c
call fcn.0047f870
mov edx, dword [eax]
lea ecx, [esp + 0x30]
push ecx
mov ecx, eax
call dword [edx + 8]
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x4c]
mov ecx, dword [edx - 8]
mov dword [esp + 0x304], ecx
mov edi, dword [eax + 0x4c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x308]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + 0x478]
push edx
push 0
mov eax, dword [ecx + 0x4c]
push 0
lea ecx, [esp + 0x16c]
push 0
push ecx
push 1
push eax
lea edx, [esp + 0x1dc]
lea eax, [esp + 0x94]
push edx
lea ecx, [esp + 0xec]
push eax
push ecx
mov ecx, ebp
call fcn.00402cd0
test al, al
je 0x45372e
mov eax, dword [esp + 0xcc]
lea edx, [esp + 0x180]
push edx
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0xd0]
call fcn.0048fe30
lea ecx, [esp + 0x180]
call fcn.0059d7fd
mov edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0x18]
add ecx, 0x40
mov eax, dword [edx + 4]
mov eax, dword [esp + eax + 0xd0]
push eax
call fcn.0059d986
mov eax, dword [esp + 0x78]
lea edx, [esp + 0x168]
push edx
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x7c]
call fcn.0048fe30
lea ecx, [esp + 0x168]
call fcn.0059d7fd
mov edx, dword [esp + 0x78]
lea ecx, [esp + 0x68]
push ecx
mov eax, dword [edx + 4]
mov edx, dword [esp + 0xd0]
mov esi, dword [esp + eax + 0x80]
mov eax, dword [edx + 4]
lea ecx, [esp + eax + 0xd0]
call fcn.0048fe30
lea ecx, [esp + 0x68]
call fcn.0059d7fd
mov ecx, dword [esp + 0xcc]
push esi
mov edx, dword [ecx + 4]
mov eax, dword [esp + edx + 0xd4]
push eax
call fcn.0055b250
mov edx, dword [esp + 0x20]
add esp, 8
test eax, eax
setne al
lea ecx, [esp + 0x1c0]
push eax
push ecx
push edx
mov ecx, ebp
call fcn.00451ef0
test al, al
je 0x45372e
mov ecx, dword [ebp + 0x898]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
inc esi
mov eax, dword [ecx + 0x40]
mov ecx, dword [ebp + 0x898]
push eax
push esi
mov edx, dword [ecx]
mov dword [esp + 0x1c], esi
call dword [edx + 0x18]
cmp esi, dword [esp + 0x24]
jne 0x4536d9
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [esp + 0x1c0]
mov byte [esp + 0x460], 0x2a
call fcn.00498ea0
jmp 0x4536f4
mov byte [esp + 0x13], 1
lea ecx, [esp + 0x84]
mov byte [esp + 0x460], 0x26
call fcn.004019c0
lea ecx, [esp + 0xd8]
mov byte [esp + 0x460], 0x22
call fcn.004019c0
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x24]
mov edi, 0x5ecdd4
jmp 0x452e5f
lea ecx, [esp + 0x1c0]
mov byte [esp + 0x460], 0x2a
call fcn.00498ea0
lea ecx, [esp + 0x84]
mov byte [esp + 0x460], 0x26
call fcn.004019c0
lea ecx, [esp + 0xd8]
mov byte [esp + 0x460], 0x22
call fcn.004019c0
mov byte [esp + 0x460], 0x21
call fcn.005c006c
mov ecx, dword [eax + 4]
call fcn.0059cc78
jmp 0x452ca8
mov ecx, ebp
call fcn.00455d80
push 1
mov ecx, ebp
call fcn.0059d3da
mov al, byte [esp + 0x13]
test al, al
je 0x4537ad
mov eax, dword [str.The_transcript_was_not_added_because_it_was_already_in_the_current_history.]
cmp ebx, 1
je 0x4537c4
mov eax, dword [str.Some_transcripts_were_not_added_because_they_were_already_in_the_current_history.]
jmp 0x4537c4
mov al, byte [esp + 0x1f]
test al, al
je 0x4537ce
mov eax, dword [str.The_transcript_was_not_added_because_it_could_not_be_accessed.]
cmp ebx, 1
je 0x4537c4
mov eax, dword [str.Some_transcripts_were_not_added_because_they_could_not_be_accessed.]
push 0
push 0
push eax
call fcn.005ab679
mov ecx, esi
call fcn.00442a30
mov byte [esp + 0x460], 0x21
call fcn.005c006c
mov ecx, dword [eax + 4]
call fcn.0059cc78
lea ecx, [esp + 0x1ac]
mov byte [esp + 0x460], 0x20
call fcn.00492610
lea ecx, [esp + 0x28]
mov byte [esp + 0x460], 0x1e
call fcn.0059d7fd
lea ecx, [esp + 0x3c]
mov byte [esp + 0x460], 0x1d
call fcn.0059d7fd
lea ecx, [esp + 0x104]
mov byte [esp + 0x460], 0x1c
call fcn.004019c0
lea ecx, [esp + 0x4c]
mov byte [esp + 0x460], 0x1a
call fcn.004019c0
lea ecx, [esp + 0x12c]
mov byte [esp + 0x460], 0x11
call fcn.004019c0
call fcn.005c006c
mov ecx, dword [eax + 4]
call fcn.0059cc63
mov eax, dword [ebp + 0x524]
test eax, eax
jne 0x45387d
mov ecx, ebp
call fcn.0042abb0
mov dword [ebp + 0x524], eax
mov eax, dword [ebp + 0x524]
push 0
push 0
push 0xb
mov ecx, dword [eax + 0x1c]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, ebp
call fcn.00452060
mov ecx, dword [esp + 0x2c]
call fcn.00442a70
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x18]
push edx
call fcn.00442a90
test eax, eax
je 0x452d17
mov eax, dword [esp + 0x18]
xor edi, edi
cmp eax, edi
je 0x453a52
lea ecx, [esp + 0x30c]
call fcn.00498b10
mov eax, dword [esp + 0x18]
mov byte [esp + 0x460], 0x3c
mov esi, dword [eax + 0x4c]
mov ebx, dword [eax + 0x40]
call fcn.0047f870
mov edx, dword [eax]
push esi
push ebx
mov ecx, eax
call dword [edx + 4]
cmp eax, edi
mov dword [esp + 0x14], eax
jne 0x4539b1
mov ecx, dword [esp + 0x18]
cmp ecx, edi
mov esi, ecx
je 0x453917
call fcn.004427b0
push esi
call fcn.0059def7
add esp, 4
lea ecx, [esp + 0x30c]
mov dword [esp + 0x18], edi
mov byte [esp + 0x460], 0x11
call fcn.00498ea0
jmp 0x4538a3
lea eax, [esp + 0x68]
mov ecx, ebp
push eax
call fcn.004545e0
mov eax, dword [eax]
mov ecx, ebx
push eax
mov byte [esp + 0x464], 0x3b
call fcn.0059d986
lea ecx, [esp + 0x68]
mov byte [esp + 0x460], 0x1a
call fcn.0059d7fd
mov edi, dword [esp + 0x2c]
mov ecx, edi
call fcn.00441f90
push edi
call fcn.0059def7
add esp, 4
mov ecx, ebp
push esi
push esi
call fcn.004520a0
lea ecx, [esp + 0x12c]
mov esi, eax
mov byte [esp + 0x460], 0x11
call fcn.004019c0
lea ecx, [esp + 0x70]
mov dword [esp + 0x460], 0xffffffff
call fcn.0059d7fd
mov eax, esi
jmp 0x452dd4
mov edx, dword [eax]
lea ecx, [esp + 0xca]
push ecx
lea ecx, [esp + 0x310]
push ecx
mov ecx, eax
call dword [edx + 0x3c]
cmp dword [esp + 0x14], edi
je 0x4539df
call fcn.0047f870
mov edx, dword [eax]
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call dword [edx + 8]
mov eax, dword [esp + 0x18]
push 1
mov edx, dword [eax + 0x4c]
mov ecx, dword [edx - 8]
mov dword [esp + 0x454], ecx
mov edi, dword [eax + 0x4c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x458]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x310]
push ecx
push edx
mov ecx, ebp
call fcn.00451ef0
test al, al
mov byte [esp + 0x460], 0x11
lea ecx, [esp + 0x30c]
je 0x453a48
call fcn.00498ea0
jmp 0x4538a3
call fcn.00498ea0
jmp 0x452d17
mov ecx, dword [ebp + 0x89c]
cmp ecx, edi
je 0x453a63
mov eax, dword [ecx]
push 1
call dword [eax + 4]
mov edx, dword [ebp + 0x24c]
lea ecx, [ebp + 0x24c]
push edi
mov dword [ebp + 0x89c], edi
call dword [edx + 0xc]
mov eax, dword [esp + 0x468]
mov edi, 1
mov dword [ebp + 0x654], edi
mov dword [ebp + 0x650], eax
jmp 0x452d4b