Function at 0x45e0f0
Capabilities:
Check for time delay via gettickcount
Encode data using base64
Get file size

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff004
push eax
add esp, 0xfffffb44
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
call sub.KERNEL32.DLL_GetTickCount
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x48], eax
xor edx, edx
mov dword [ebp - 0x38], edx
test ebx, ebx
je 0x45f1c5
cmp byte [ebx + 0x50], 0
je 0x45f1c5
lea ecx, [ebp - 0x1264]
push ecx
lea eax, [ebx + 0x50]
push eax
call fcn.0045b314
add esp, 8
push 0x4bbad3
lea edx, [ebp - 0x1264]
push edx
call fcn.004a5374
add esp, 8
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
je 0x45f1c5
push 0
push 0x80
push 3
push 0
push 3
push 0
lea ecx, [ebx + 0x50]
push ecx
call sub.KERNEL32.DLL_CreateFileA
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xffffffff
je 0x45f187
lea eax, [ebp - 0x50]
push eax
push 0
push 0
mov edx, dword [ebp - 0x44]
push edx
call sub.KERNEL32.DLL_GetFileTime
push 0
mov ecx, dword [ebp - 0x44]
push ecx
call sub.KERNEL32.DLL_GetFileSize
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x44]
push eax
call sub.KERNEL32.DLL_CloseHandle
mov edx, dword [ebp - 0x40]
push edx
push 8
push 1
lea ecx, [ebp - 0x28]
push ecx
call fcn.004a55d0
add esp, 0x10
cmp eax, 8
jne 0x45f187
cmp dword [ebp - 0x28], 0x646f4d
jne 0x45f187
cmp dword [ebp - 0x24], 0x100
jae 0x45f187
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x1160]
push eax
mov edx, dword [ebp - 0x24]
push edx
push 1
push ecx
call fcn.004a55d0
add esp, 0x10
cmp eax, dword [ebp - 0x24]
jne 0x45f187
xor eax, eax
mov dword [ebp - 0xc], eax
xor edx, edx
mov dword [ebp - 0x10], edx
xor ecx, ecx
mov dword [ebp - 0x14], ecx
push 0x10
push 0
lea eax, [ebp - 0x60]
push eax
call fcn.004a35a0
add esp, 0xc
xor edx, edx
mov dword [ebx + 0x3e1], edx
mov ecx, dword [ebx]
cmp ecx, dword [0x4d7364]
jne 0x45e23e
cmp dword [0x4d77dc], 0
jne 0x45e242
xor eax, eax
jmp 0x45e247
mov eax, 1
mov dword [ebp - 0x18], eax
cmp dword [ebx + 0x10], 0
jbe 0x45e25e
mov edx, dword [ebx + 0x10]
push edx
push 0
call sub.KERNEL32.DLL_GlobalAlloc
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
je 0x45e28d
push 3
mov ecx, dword [ebx + 0x10]
push ecx
mov eax, dword [ebx + 0xc]
push eax
mov edx, dword [ebp - 0x38]
push edx
call sym.ollydbg.exe__Readmemory
add esp, 0x10
cmp eax, dword [ebx + 0x10]
je 0x45e28d
mov ecx, dword [ebp - 0x38]
push ecx
call sub.KERNEL32.DLL_GlobalFree
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
je 0x45e2a7
mov edx, dword [ebx + 0x10]
push edx
mov ecx, dword [ebx + 0xc]
push ecx
mov eax, dword [ebp - 0x38]
push eax
call sym.ollydbg.exe__Havecopyofmemory
add esp, 0xc
cmp dword [ebp - 0x48], 0
jne 0x45e2ce
call sub.KERNEL32.DLL_GetTickCount
mov edx, dword [ebp - 0x1c]
add edx, 0x1f4
cmp eax, edx
jbe 0x45e2ce
mov ecx, dword [0x4d54d8]
push ecx
call sub.USER32.DLL_SetCursor
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x40]
push eax
push 8
push 1
lea edx, [ebp - 0x28]
push edx
call fcn.004a55d0
add esp, 0x10
cmp eax, 8
je 0x45e2fd
push str.__Error_reading_.udd_file
push 0xffffffffffffffff
push 0
call sym.ollydbg.exe__Addtolist
add esp, 0xc
jmp 0x45f187
mov eax, dword [ebp - 0x28]
cmp eax, 0x74644a0a
je 0x45e35f
cmp eax, 0x616e410a
je 0x45e35f
cmp eax, 0x636e410a
je 0x45e35f
cmp eax, 0x6172540a
je 0x45e35f
cmp eax, 0x6372540a
je 0x45e35f
mov esi, dword [ebp - 0x24]
cmp esi, 0x1100
jae 0x45e349
mov eax, dword [ebp - 0x40]
push eax
push esi
push 1
lea edx, [ebp - 0x1160]
push edx
call fcn.004a55d0
add esp, 0x10
cmp eax, dword [ebp - 0x24]
je 0x45e35f
push str.__Error_reading_.udd_file
push 0xffffffffffffffff
push 0
call sym.ollydbg.exe__Addtolist
add esp, 0xc
jmp 0x45f187
cmp dword [ebp - 0x28], 0x7265560a
jne 0x45e382
push 0x10
lea ecx, [ebp - 0x1160]
push ecx
lea eax, [ebp - 0x60]
push eax
call fcn.004a3530
add esp, 0xc
jmp 0x45e2a7
cmp dword [ebp - 0x28], 0x6c69460a
jne 0x45e3ce
cmp dword [0x4d7358], 0
jne 0x45e2a7
push 0x104
lea edx, [ebx + 0x50]
push edx
lea ecx, [ebp - 0x1160]
push ecx
call fcn.004a3954
add esp, 0xc
test eax, eax
je 0x45e2a7
push str.__Different_path__discarding_.udd_data
push 0xffffffffffffffff
push 0
call sym.ollydbg.exe__Addtolist
add esp, 0xc
jmp 0x45f187
cmp dword [ebp - 0x28], 0x7a69530a
jne 0x45e40a
push 4
lea eax, [ebp - 0x2c]
push eax
lea edx, [ebp - 0x1160]
push edx
call fcn.004a37d4
add esp, 0xc
test eax, eax
je 0x45e2a7
push str.__Size_changed__discarding_.udd_data
push 0xffffffffffffffff
push 0
call sym.ollydbg.exe__Addtolist
add esp, 0xc
jmp 0x45f187
cmp dword [ebp - 0x28], 0x7473540a
jne 0x45e453
cmp dword [0x4d735c], 0
jne 0x45e2a7
push 8
lea ecx, [ebp - 0x50]
push ecx
lea eax, [ebp - 0x1160]
push eax
call fcn.004a37d4
add esp, 0xc
test eax, eax
je 0x45e2a7
push str.__Date_time_changed__discarding_.udd_data
push 0xffffffffffffffff
push 0
call sym.ollydbg.exe__Addtolist
add esp, 0xc
jmp 0x45f187
cmp dword [ebp - 0x28], 0x6566530a
jne 0x45e46d
mov edx, dword [ebp - 0x1160]
mov dword [ebx + 0x3e1], edx
jmp 0x45e2a7
mov eax, dword [ebp - 0x28]
mov edx, eax
and edx, 0xffffff
cmp edx, 0x73550a
jne 0x45e519
cmp dword [ebp + 0x14], 0
jne 0x45e519
mov edx, eax
mov eax, 0x4bba0c
shr edx, 0x18
and edx, 0xff
xor edi, edi
mov ecx, dword [eax]
and ecx, 0xff
cmp edx, ecx
je 0x45e4b5
inc edi
add eax, 4
cmp edi, 0x1e
jl 0x45e4a0
cmp edi, 0x1e
jge 0x45e2a7
mov esi, dword [ebp - 0x1160]
mov eax, dword [edi*4 + 0x4bba0c]
test eax, 0x10000
je 0x45e4df
cmp dword [0x4d9208], 0
je 0x45e2a7
test ah, 0x80
jne 0x45e503
cmp esi, dword [ebx + 4]
jb 0x45e501
cmp dword [ebp - 0x18], 0
je 0x45e2a7
test byte [edi*4 + 0x4bba0e], 2
je 0x45e2a7
add esi, dword [ebx]
lea ecx, [ebp - 0x115c]
push ecx
push edx
push esi
call sym.ollydbg.exe__Quickinsertname
add esp, 0xc
jmp 0x45e2a7
cmp dword [ebp - 0x28], 0x6372500a
jne 0x45e575
cmp dword [ebp + 0x14], 0
jne 0x45e575
cmp dword [ebp - 0x24], 0x20
jne 0x45e2a7
lea esi, [ebp - 0x1160]
lea edi, [ebp - 0x1284]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x1284]
cmp eax, dword [ebx + 4]
jae 0x45e2a7
mov edx, dword [ebx]
lea ecx, [ebp - 0x1284]
add dword [ebp - 0x1284], edx
push ecx
push 0x4dc8cd
call sym.ollydbg.exe__Addsorteddata
add esp, 8
jmp 0x45e2a7
cmp dword [ebp - 0x28], 0x6977530a
jne 0x45e60f
cmp dword [ebp + 0x14], 0
jne 0x45e60f
cmp dword [ebp - 0x24], 0x20
jne 0x45e2a7
lea esi, [ebp - 0x1160]
lea edi, [ebp - 0x12a4]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 4]
cmp eax, dword [ebp - 0x12a4]
jbe 0x45e2a7
cmp eax, dword [ebp - 0x1298]
jbe 0x45e2a7
cmp eax, dword [ebp - 0x1294]
jbe 0x45e2a7
cmp eax, dword [ebp - 0x1290]
jbe 0x45e2a7
mov eax, dword [ebx]
lea edx, [ebp - 0x12a4]
add dword [ebp - 0x12a4], eax
add dword [ebp - 0x1298], eax
add dword [ebp - 0x1294], eax
add dword [ebp - 0x1290], eax
push edx
push 0x4dca05
call sym.ollydbg.exe__Addsorteddata
add esp, 8
jmp 0x45e2a7
cmp dword [ebp - 0x28], 0x6966430a
jne 0x45e66c
cmp dword [ebp + 0x14], 0
jne 0x45e66c
cmp dword [ebp - 0x24], 8
jne 0x45e2a7
mov esi, dword [ebp - 0x1160]
add esi, dword [ebx]
cmp esi, dword [ebx]
jb 0x45e2a7
mov eax, dword [ebx]
add eax, dword [ebx + 4]
cmp esi, eax
jae 0x45e2a7
mov eax, dword [ebp - 0x115c]
add eax, dword [ebx]
cmp eax, dword [ebx]
jb 0x45e65a
mov edx, dword [ebx]
add edx, dword [ebx + 4]
cmp eax, edx
jb 0x45e65d
or eax, 0xffffffff
push eax
push esi
call fcn.0049b274
add esp, 8
jmp 0x45e2a7
cmp dword [ebp - 0x28], 0x6d66430a
jne 0x45e72e
cmp dword [ebp + 0x14], 0
jne 0x45e72e
cmp dword [ebp - 0x24], 0x10
jne 0x45e2a7
mov esi, dword [ebp - 0x1160]
add esi, dword [ebx]
mov eax, dword [ebx]
cmp esi, eax
jb 0x45e2a7
add eax, dword [ebx + 4]
cmp esi, eax
jae 0x45e2a7
mov edx, dword [0x4d7218]
xor edi, edi
mov dword [ebp - 0x3c], edx
jmp 0x45e6db
push 8
lea eax, [ebp - 0x1158]
push eax
mov edx, dword [ebp - 0x3c]
add edx, 0x48
push edx
call fcn.004a3954
add esp, 0xc
test eax, eax
je 0x45e6e3
inc edi
add dword [ebp - 0x3c], 0x465
cmp edi, dword [0x4d7200]
jl 0x45e6b7
cmp edi, dword [0x4d7200]
jge 0x45e71e
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ecx]
add eax, dword [ebp - 0x115c]
cmp eax, dword [edx]
jb 0x45e70c
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3c]
add edx, dword [ecx + 4]
cmp eax, edx
jb 0x45e70f
or eax, 0xffffffff
push eax
push esi
call fcn.0049b274
add esp, 8
jmp 0x45e2a7
push 0xffffffffffffffff
push esi
call fcn.0049b274
add esp, 8
jmp 0x45e2a7
cmp dword [ebp - 0x28], 0x6166430a
jne 0x45e779
cmp dword [ebp + 0x14], 0
jne 0x45e779
cmp dword [ebp - 0x24], 8
jne 0x45e2a7
mov esi, dword [ebp - 0x1160]
add esi, dword [ebx]
cmp esi, dword [ebx]
jb 0x45e2a7
mov eax, dword [ebx]
add eax, dword [ebx + 4]
cmp esi, eax
jae 0x45e2a7
mov edx, dword [ebp - 0x115c]
push edx
push esi
call fcn.0049b274
add esp, 8
jmp 0x45e2a7
cmp dword [ebp - 0x28], 0x7470420a
jne 0x45e7cc
cmp dword [ebp + 0x14], 0
jne 0x45e7cc
mov esi, dword [ebp - 0x1160]
add esi, dword [ebx]
cmp esi, dword [ebx + 0xc]
jb 0x45e79f
mov eax, dword [ebx + 0xc]
add eax, dword [ebx + 0x10]
cmp esi, eax
jb 0x45e7ad
cmp dword [ebp - 0x18], 0
je 0x45e2a7
or dword [ebp - 0xc], 4
push 0
push 0
mov edx, dword [ebp - 0x115c]
or edx, 0x24000
push edx
push esi
call sym.ollydbg.exe__Setbreakpointext
add esp, 0x10
jmp 0x45e2a7
cmp dword [ebp - 0x28], 0x74644a0a
jne 0x45e89b
push ebx
call fcn.0047f1d0
cmp dword [ebp + 0x14], 0
pop ecx
jne 0x45e884
cmp dword [0x4d9208], 0
je 0x45e884
cmp dword [ebp - 0x10], 0
jne 0x45e884
mov ecx, dword [ebp - 0x24]
push ecx
push 0
call sub.KERNEL32.DLL_GlobalAlloc
mov dword [ebx + 0x421], eax
cmp dword [ebx + 0x421], 0
jne 0x45e832
push 1
mov eax, dword [ebp - 0x24]
push eax
mov edx, dword [ebp - 0x40]
push edx
call fcn.004a5660
add esp, 0xc
jmp 0x45e2a7
mov ecx, dword [ebp - 0x40]
push ecx
mov eax, dword [ebp - 0x24]
push eax
push 1
mov edx, dword [ebx + 0x421]
push edx
call fcn.004a55d0
add esp, 0x10
cmp eax, dword [ebp - 0x24]
jne 0x45e867
mov eax, dword [ebp - 0x24]
mov ecx, 9
xor edx, edx
div ecx
mov dword [ebx + 0x425], eax
jmp 0x45e2a7
push ebx
call fcn.0047f1d0
pop ecx
push str.__Error_reading_.udd_file
push 0xffffffffffffffff
push 0
call sym.ollydbg.exe__Addtolist
add esp, 0xc
jmp 0x45f187
push 1
mov eax, dword [ebp - 0x24]
push eax
mov edx, dword [ebp - 0x40]
push edx
call fcn.004a5660
add esp, 0xc
jmp 0x45e2a7
cmp dword [ebp - 0x28], 0x616e410a
jne 0x45e972
cmp dword [ebp + 0x14], 0
jne 0x45e95b
cmp dword [0x4d9208], 0
je 0x45e95b
mov ecx, dword [ebx + 0x10]
cmp ecx, dword [ebp - 0x24]
jne 0x45e95b
cmp dword [ebx + 0x16c], 0
jne 0x45e95b
cmp dword [ebp - 0x10], 0
jne 0x45e95b
mov eax, dword [ebp - 0x24]
push eax
push 0
call sub.KERNEL32.DLL_GlobalAlloc
mov dword [ebx + 0x16c], eax
cmp dword [ebx + 0x16c], 0
jne 0x45e90f
push 1
mov edx, dword [ebp - 0x24]
push edx
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.004a5660
add esp, 0xc
jmp 0x45e2a7
mov eax, dword [ebp - 0x40]
push eax
mov edx, dword [ebp - 0x24]
push edx
push 1
mov ecx, dword [ebx + 0x16c]
push ecx
call fcn.004a55d0
add esp, 0x10
cmp eax, dword [ebp - 0x24]
je 0x45e2a7
mov eax, dword [ebx + 0x16c]
push eax
call sub.KERNEL32.DLL_GlobalFree
xor edx, edx
mov dword [ebx + 0x16c], edx
push str.__Error_reading_.udd_file
push 0xffffffffffffffff
push 0
call sym.ollydbg.exe__Addtolist
add esp, 0xc
jmp 0x45f187
push 1
mov ecx, dword [ebp - 0x24]
push ecx
mov eax, dword [ebp - 0x40]
push eax
call fcn.004a5660
add esp, 0xc
jmp 0x45e2a7
cmp dword [ebp - 0x28], 0x636e410a
jne 0x45ea8d
cmp dword [ebp + 0x14], 0
jne 0x45ea76
cmp dword [0x4d9208], 0
je 0x45ea76
cmp dword [ebx + 0x16c], 0
jne 0x45ea76
cmp dword [ebp - 0x10], 0
jne 0x45ea76
mov edx, dword [ebp - 0x24]
push edx
push 0
call sub.KERNEL32.DLL_GlobalAlloc
mov esi, eax
test esi, esi
jne 0x45e9d5
push 1
mov eax, dword [ebp - 0x24]
push eax
mov edx, dword [ebp - 0x40]
push edx
call fcn.004a5660
add esp, 0xc
jmp 0x45ea63
mov ecx, dword [ebp - 0x40]
push ecx
mov eax, dword [ebp - 0x24]
push eax
push 1
push esi
call fcn.004a55d0
add esp, 0x10
cmp eax, dword [ebp - 0x24]
je 0x45ea09
push esi
call sub.KERNEL32.DLL_GlobalFree
push str.__Error_reading_.udd_file
push 0xffffffffffffffff
push 0
call sym.ollydbg.exe__Addtolist
add esp, 0xc
jmp 0x45f187
mov edx, dword [ebp - 0x24]
push edx
push esi
call sym.ollydbg.exe__Getoriginaldatasize
add esp, 8
mov edi, eax
test eax, eax
je 0x45ea63
push edi
push 0
call sub.KERNEL32.DLL_GlobalAlloc
mov dword [ebx + 0x16c], eax
cmp dword [ebx + 0x16c], 0
je 0x45ea63
push edi
mov edx, dword [ebx + 0x16c]
push edx
mov ecx, dword [ebp - 0x24]
push ecx
push esi
call sym.ollydbg.exe__Decompress
add esp, 0x10
mov edi, eax
cmp edi, dword [ebx + 0x10]
je 0x45ea63
mov eax, dword [ebx + 0x16c]
push eax
call sub.KERNEL32.DLL_GlobalFree
xor edx, edx
mov dword [ebx + 0x16c], edx
test esi, esi
je 0x45e2a7
push esi
call sub.KERNEL32.DLL_GlobalFree
jmp 0x45e2a7
push 1
mov ecx, dword [ebp - 0x24]
push ecx
mov eax, dword [ebp - 0x40]
push eax
call fcn.004a5660
add esp, 0xc
jmp 0x45e2a7
cmp dword [ebp - 0x28], 0x7263430a
jne 0x45eb36
mov edx, dword [ebp - 0x1160]
mov dword [ebx + 0x170], edx
cmp dword [ebp + 0x14], 0
jne 0x45e2a7
cmp dword [ebp + 0xc], 0
je 0x45eaee
push 3
push 4
mov ecx, dword [ebp + 0xc]
push ecx
lea eax, [ebp - 0x30]
push eax
call sym.ollydbg.exe__Readmemory
add esp, 0x10
cmp eax, 4
jne 0x45eaee
mov edx, dword [ebp + 0x10]
cmp edx, dword [ebp - 0x30]
jne 0x45eaee
push 0
push ebx
mov ecx, dword [ebx + 0x10]
push ecx
mov eax, dword [ebx + 0xc]
push eax
push 0
call sym.ollydbg.exe__Calculatecrc
add esp, 0x14
jmp 0x45eb0a
mov edx, dword [ebx]
sub edx, dword [ebx + 0x160]
push edx
push ebx
mov ecx, dword [ebx + 0x10]
push ecx
mov eax, dword [ebx + 0xc]
push eax
push 0
call sym.ollydbg.exe__Calculatecrc
add esp, 0x14
cmp dword [0x4d7360], 0
je 0x45eb1e
mov dword [ebx + 0x170], eax
jmp 0x45e2a7
cmp eax, dword [ebx + 0x170]
je 0x45e2a7
mov dword [ebp - 0x10], 1
jmp 0x45e2a7
cmp dword [ebp - 0x28], 0x6172540a
jne 0x45eb7a
cmp dword [ebp + 0x14], 0
jne 0x45eb63
cmp dword [0x4d9214], 0
je 0x45eb63
mov edx, dword [ebx + 0x10]
cmp edx, dword [ebp - 0x24]
jne 0x45eb63
cmp dword [ebx + 0x174], 0
je 0x45e2a7
push 1
mov ecx, dword [ebp - 0x24]
push ecx
mov eax, dword [ebp - 0x40]
push eax
call fcn.004a5660
add esp, 0xc
jmp 0x45e2a7
cmp dword [ebp - 0x28], 0x6372540a
jne 0x45ebb6
cmp dword [ebp + 0x14], 0
jne 0x45eb9f
cmp dword [0x4d9214], 0
je 0x45eb9f
cmp dword [ebx + 0x174], 0
je 0x45e2a7
push 1
mov edx, dword [ebp - 0x24]
push edx
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.004a5660
add esp, 0xc
jmp 0x45e2a7
cmp dword [ebp - 0x28], 0x6176530a
jne 0x45ec70
mov eax, dword [ebp - 0x24]
sub eax, 4
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jl 0x45e2a7
movzx edi, word [ebp - 0x1160]
cmp edi, 0x25
jge 0x45e2a7
movzx eax, word [ebp - 0x115e]
lea edx, [edi + edi*2]
cmp eax, dword [edx*4 + 0x4bb858]
jge 0x45e2a7
lea ecx, [edi + edi*2]
mov edx, dword [ecx*4 + 0x4bb854]
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 8]
jg 0x45e2a7
lea edx, [edi + edi*2]
mov esi, dword [edx*4 + 0x4bb850]
test esi, esi
je 0x45e2a7
mov edx, dword [ebp - 8]
imul edx, eax
add esi, edx
cmp dword [ebp - 4], 0
jle 0x45ec4a
mov eax, dword [ebp - 4]
lea ecx, [ebp - 0x115c]
push eax
push ecx
push esi
call fcn.004a3530
add esp, 0xc
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 4]
jle 0x45e2a7
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 4]
push edx
push 0
add esi, dword [ebp - 4]
push esi
call fcn.004a35a0
add esp, 0xc
jmp 0x45e2a7
cmp dword [ebp - 0x28], 0x6370420a
jne 0x45ed47
mov esi, dword [ebp - 0x1160]
add esi, dword [ebx]
cmp dword [ebp - 0x18], 0
jne 0x45eca0
cmp esi, dword [ebx]
jb 0x45e2a7
mov eax, dword [ebx]
add eax, dword [ebx + 4]
cmp esi, eax
jae 0x45e2a7
cmp esi, dword [ebx + 0xc]
jb 0x45ecb9
mov edx, dword [ebx + 0xc]
add edx, dword [ebx + 0x10]
cmp esi, edx
jae 0x45ecb9
cmp dword [ebp + 0x14], 0
jne 0x45e2a7
push 3
push 1
push esi
lea ecx, [ebp - 0x31]
push ecx
call sym.ollydbg.exe__Readmemory
add esp, 0x10
cmp eax, 1
jne 0x45ecda
mov al, byte [ebp - 0x1158]
cmp al, byte [ebp - 0x31]
je 0x45ed28
push 0
mov dl, byte [ebp - 0x1158]
push edx
push 0x26400
push esi
call sym.ollydbg.exe__Setbreakpointext
add esp, 0x10
cmp esi, dword [ebx]
jb 0x45ecfe
mov ecx, dword [ebx]
add ecx, dword [ebx + 4]
cmp esi, ecx
jb 0x45ed07
or dword [ebp - 0xc], 4
jmp 0x45e2a7
cmp esi, dword [ebx + 0xc]
jb 0x45ed16
mov eax, dword [ebx + 0xc]
add eax, dword [ebx + 0x10]
cmp esi, eax
jb 0x45ed1f
or dword [ebp - 0xc], 2
jmp 0x45e2a7
or dword [ebp - 0xc], 1
jmp 0x45e2a7
push 0
push 0
mov edx, dword [ebp - 0x115c]
or edx, 0x24000
push edx
push esi
call sym.ollydbg.exe__Setbreakpointext
add esp, 0x10
jmp 0x45e2a7
cmp dword [ebp - 0x28], 0x7262480a
jne 0x45edc3
mov ecx, dword [ebx]
cmp ecx, dword [0x4d7364]
jne 0x45e2a7
cmp dword [0x4d375c], 0
je 0x45e2a7
mov edi, dword [ebp - 0x1160]
test edi, edi
jl 0x45e2a7
cmp edi, 4
jge 0x45e2a7
mov eax, edi
mov edx, dword [ebp - 0x115c]
shl eax, 3
mov ecx, edi
sub eax, edi
shl ecx, 3
sub ecx, edi
mov dword [eax*4 + 0x4d8d70], edx
mov edx, edi
mov eax, dword [ebp - 0x1158]
shl edx, 3
mov dword [ecx*4 + 0x4d8d74], eax
sub edx, edi
mov ecx, dword [ebp - 0x1154]
mov dword [edx*4 + 0x4d8d78], ecx
jmp 0x45e2a7
cmp dword [ebp - 0x28], 0x7468410a
jne 0x45ee26
mov eax, dword [ebp - 0x1160]
mov dword [ebp - 0x14bc], eax
mov eax, dword [ebp - 0x115c]
mov dword [ebp - 0x14b8], eax
mov eax, dword [ebp - 0x1158]
mov dword [ebp - 0x14b4], eax
mov edx, dword [ebp - 0x14bc]
add edx, dword [ebp - 0x14b8]
cmp edx, dword [ebx + 4]
jae 0x45e2a7
mov ecx, dword [ebx]
lea eax, [ebp - 0x14bc]
add dword [ebp - 0x14bc], ecx
push eax
push 0x4d9034
call sym.ollydbg.exe__Addsorteddata
add esp, 8
jmp 0x45e2a7
cmp dword [ebp - 0x28], 0x7461500a
jne 0x45eee3
mov edi, dword [ebp - 0x115c]
mov eax, edi
add eax, eax
add eax, 8
cmp eax, dword [ebp - 0x24]
jne 0x45e2a7
test edi, edi
je 0x45e2a7
cmp edi, 0x100
ja 0x45e2a7
mov edx, dword [ebx]
add edx, dword [ebp - 0x1160]
mov dword [ebp - 0x14b0], edx
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [ebp - 0x14b0]
ja 0x45e2a7
mov eax, dword [ebx + 0xc]
add eax, dword [ebx + 0x10]
cmp eax, dword [ebp - 0x14b0]
jb 0x45e2a7
mov dword [ebp - 0x14ac], edi
xor edx, edx
mov dword [ebp - 0x14a8], edx
push edi
lea ecx, [ebp - 0x1158]
push ecx
lea eax, [ebp - 0x14a4]
push eax
call fcn.004a3530
add esp, 0xc
lea edx, [ebp - 0x1158]
add edx, edi
lea ecx, [ebp - 0x13a4]
push edi
push edx
push ecx
call fcn.004a3530
add esp, 0xc
lea eax, [ebp - 0x14b0]
push eax
push 0x4e316c
call sym.ollydbg.exe__Addsorteddata
add esp, 8
jmp 0x45e2a7
cmp dword [ebp - 0x28], 0x646e450a
je 0x45ef13
cmp dword [ebp + 0x14], 0
jne 0x45e2a7
lea edx, [ebp - 0x1160]
push edx
mov ecx, dword [ebp - 0x24]
push ecx
mov eax, dword [ebp - 0x28]
push eax
push ebx
call fcn.00496e38
add esp, 0x10
jmp 0x45e2a7
cmp dword [ebp - 0x60], 1
jne 0x45ef1f
cmp dword [ebp - 0x5c], 0xa
je 0x45ef39
cmp dword [0x4d920c], 0
je 0x45ef39
mov edx, dword [ebx]
cmp edx, dword [0x4d7364]
jne 0x45ef39
mov dword [ebp - 0x14], 1
cmp dword [ebp - 0x10], 0
jne 0x45ef45
cmp dword [ebp - 0x14], 0
je 0x45ef6a
cmp dword [ebx + 0x16c], 0
je 0x45ef62
mov ecx, dword [ebx + 0x16c]
push ecx
call sub.KERNEL32.DLL_GlobalFree
xor eax, eax
mov dword [ebx + 0x16c], eax
xor edx, edx
mov dword [ebx + 0x170], edx
cmp dword [ebp - 0x10], 0
je 0x45f0e0
push str.__CRC_changed__discarding_.udd_data
push 0xffffffffffffffff
push 0
call sym.ollydbg.exe__Addtolist
add esp, 0xc
push 0x31
mov ecx, dword [ebx]
add ecx, dword [ebx + 4]
push ecx
mov eax, dword [ebx]
push eax
call sym.ollydbg.exe__Deletenamerange
add esp, 0xc
push 0x34
mov edx, dword [ebx]
add edx, dword [ebx + 4]
push edx
mov ecx, dword [ebx]
push ecx
call sym.ollydbg.exe__Deletenamerange
add esp, 0xc
push 0x36
mov eax, dword [ebx]
add eax, dword [ebx + 4]
push eax
mov edx, dword [ebx]
push edx
call sym.ollydbg.exe__Deletenamerange
add esp, 0xc
push 0x37
mov ecx, dword [ebx]
add ecx, dword [ebx + 4]
push ecx
mov eax, dword [ebx]
push eax
call sym.ollydbg.exe__Deletenamerange
add esp, 0xc
push 0x3d
mov edx, dword [ebx]
add edx, dword [ebx + 4]
push edx
mov ecx, dword [ebx]
push ecx
call sym.ollydbg.exe__Deletenamerange
add esp, 0xc
push 0x3a
mov eax, dword [ebx]
add eax, dword [ebx + 4]
push eax
mov edx, dword [ebx]
push edx
call sym.ollydbg.exe__Deletenamerange
add esp, 0xc
push 0x38
mov ecx, dword [ebx]
add ecx, dword [ebx + 4]
push ecx
mov eax, dword [ebx]
push eax
call sym.ollydbg.exe__Deletenamerange
add esp, 0xc
push 0x3b
mov edx, dword [ebx]
add edx, dword [ebx + 4]
push edx
mov ecx, dword [ebx]
push ecx
call sym.ollydbg.exe__Deletenamerange
add esp, 0xc
push 0x3c
mov eax, dword [ebx]
add eax, dword [ebx + 4]
push eax
mov edx, dword [ebx]
push edx
call sym.ollydbg.exe__Deletenamerange
add esp, 0xc
push 0x30
mov ecx, dword [ebx]
add ecx, dword [ebx + 4]
push ecx
mov eax, dword [ebx]
push eax
call sym.ollydbg.exe__Deletenamerange
add esp, 0xc
push 0x39
mov edx, dword [ebx]
add edx, dword [ebx + 4]
push edx
mov ecx, dword [ebx]
push ecx
call sym.ollydbg.exe__Deletenamerange
add esp, 0xc
push 0x3e
mov eax, dword [ebx]
add eax, dword [ebx + 4]
push eax
mov edx, dword [ebx]
push edx
call sym.ollydbg.exe__Deletenamerange
add esp, 0xc
push 0x3f
mov ecx, dword [ebx]
add ecx, dword [ebx + 4]
push ecx
mov eax, dword [ebx]
push eax
call sym.ollydbg.exe__Deletenamerange
add esp, 0xc
push ebx
call fcn.0047f1d0
pop ecx
mov edx, dword [ebx]
add edx, dword [ebx + 4]
push edx
mov ecx, dword [ebx]
push ecx
push 0x4dc8cd
call sym.ollydbg.exe__Deletesorteddatarange
add esp, 0xc
mov eax, dword [ebx]
add eax, dword [ebx + 4]
push eax
mov edx, dword [ebx]
push edx
push 0x4dca05
call sym.ollydbg.exe__Deletesorteddatarange
add esp, 0xc
push 1
mov ecx, dword [ebx]
add ecx, dword [ebx + 4]
push ecx
mov eax, dword [ebx]
push eax
call sym.ollydbg.exe__Deletebreakpoints
add esp, 0xc
mov edx, dword [ebx]
add edx, dword [ebx + 4]
push edx
mov ecx, dword [ebx]
push ecx
call fcn.0049b12c
add esp, 8
xor eax, eax
mov dword [ebp - 0xc], eax
xor edx, edx
mov dword [ebx + 0x3e1], edx
cmp dword [ebp - 0xc], 0
je 0x45f173
test byte [ebp - 0xc], 3
je 0x45f105
lea ecx, [ebx + 0x48]
push ecx
push 8
push str.In_module__.s_OllyDbg_encountered_several_corrupted_breakpoints__where_first_byte_of_the_actual_command_differs_from_that_in_the_previous_debugging_session._This_happens_when_program_was_recompiled_or_code_is_self_modifying__for_example__self_extracting_._For_security_reasons__OllyDbg_will_disable_suspicious_INT3_breakpoints._You_can_re_enable_them_in_Breakpoints_window.
call sym.ollydbg.exe__Error
add esp, 0xc
jmp 0x45f110
push str.Debugged_application_contains_several_breakpoints_that_belong_to_no_particular_module._For_security_reasons__OllyDbg_will_disable_all_such_breakpoints._You_can_re_enable_them_in_Breakpoints_window.
call sym.ollydbg.exe__Error
pop ecx
mov esi, dword [ebx]
push 0
lea eax, [ebp - 0x20]
push eax
push esi
call sym.ollydbg.exe__Getnextbreakpoint
add esp, 0xc
mov esi, eax
test esi, esi
je 0x45f173
mov edx, dword [ebx]
add edx, dword [ebx + 4]
cmp esi, edx
jae 0x45f173
test byte [ebp - 0x1f], 2
je 0x45f170
mov eax, dword [ebx + 0xc]
cmp esi, eax
jb 0x45f144
add eax, dword [ebx + 0x10]
cmp esi, eax
jb 0x45f14a
test byte [ebp - 0xc], 2
jne 0x45f15e
mov eax, dword [ebx + 0xc]
cmp esi, eax
jb 0x45f170
add eax, dword [ebx + 0x10]
cmp esi, eax
jae 0x45f170
test byte [ebp - 0xc], 1
je 0x45f170
push 0
push 0
push 0x6400
push esi
call sym.ollydbg.exe__Setbreakpointext
add esp, 0x10
inc esi
jmp 0x45f112
mov edx, dword [ebx]
cmp edx, dword [0x4d7364]
jne 0x45f187
mov dword [0x4d9030], 1
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.004a4ed8
pop ecx
push 0
call fcn.00464580
pop ecx
push 0
push 0
push 0
call sym.ollydbg.exe__Havecopyofmemory
add esp, 0xc
cmp dword [ebp - 0x38], 0
je 0x45f1b6
mov eax, dword [ebp - 0x38]
push eax
call sub.KERNEL32.DLL_GlobalFree
cmp dword [ebp - 0x48], 0
je 0x45f1c5
mov edx, dword [ebp - 0x48]
push edx
call sub.USER32.DLL_SetCursor
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret