Function at 0x42d390
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5bc43d
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x2d94c
call fcn.0058e010
mov eax, dword [0x62dc50]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 4], 0
mov dword [ebp - 0x2d4], 0
mov eax, dword [ebp + 8]
call fcn.00404100
test eax, eax
ja 0x42d409
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x2d7c8], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.004040b0
mov eax, dword [ebp - 0x2d7c8]
jmp 0x42ed28
lea eax, [ebp - 0x314]
call fcn.0040a260
mov byte [ebp - 4], 1
push 0x5f0636
lea ecx, [ebp - 0x93f0]
call fcn.00404040
mov byte [ebp - 4], 2
push 0x5f0637
lea ecx, [ebp - 0x93d4]
call fcn.00404040
mov byte [ebp - 4], 3
mov dword [ebp - 0x93f4], 0
push 0
push 0x5f7374
lea ecx, [ebp + 0xc]
call fcn.00433210
mov dword [ebp - 0x93f4], eax
mov ecx, dword [ebp - 0x93f4]
push ecx
xor ecx, ecx
lea esi, [ebp - 0x30]
lea edx, [ebp + 0xc]
call fcn.0040a030
mov dword [ebp - 0x2d84c], eax
mov edx, dword [ebp - 0x2d84c]
mov dword [ebp - 0x2d850], edx
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x2d850]
push eax
mov eax, 0x5f737c
lea ecx, [ebp - 0x4c]
call fcn.0040a790
add esp, 4
mov dword [ebp - 0x2d854], eax
mov ecx, dword [ebp - 0x2d854]
mov dword [ebp - 0x2d858], ecx
mov byte [ebp - 4], 5
mov edi, dword [ebp - 0x2d858]
lea esi, [ebp - 0x93f0]
call fcn.004040a0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4c]
call fcn.004040b0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x30]
call fcn.004040b0
lea edx, [ebp + 0xc]
push edx
call fcn.00428280
add esp, 4
test eax, eax
jne 0x42d542
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x2d7cc], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x93d4]
call fcn.004040b0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x93f0]
call fcn.004040b0
mov byte [ebp - 4], 0
lea esi, [ebp - 0x314]
call fcn.0040a270
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.004040b0
mov eax, dword [ebp - 0x2d7cc]
jmp 0x42ed28
lea ecx, [ebp - 0x12498]
call fcn.004348f0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x93b8]
call fcn.004348f0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1b538]
call fcn.004348f0
mov byte [ebp - 4], 8
lea eax, [ebp + 0xc]
call fcn.004040f0
push eax
lea ecx, [ebp - 0x68]
call fcn.00404040
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x68]
push ecx
lea ecx, [ebp - 0x12498]
call fcn.00434a90
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x68]
call fcn.004040b0
lea eax, [ebp - 0x93f0]
call fcn.004040f0
push eax
lea ecx, [ebp - 0x84]
call fcn.00404040
mov byte [ebp - 4], 0xa
lea edx, [ebp - 0x84]
push edx
lea ecx, [ebp - 0x93b8]
call fcn.00434a90
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x84]
call fcn.004040b0
lea eax, [ebp - 0x93f0]
call fcn.004040f0
push eax
lea ecx, [ebp - 0xa0]
call fcn.00404040
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x1b538]
call fcn.00434a90
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xa0]
call fcn.004040b0
mov byte [ebp - 4], 0xc
push 0x5f7384
lea ecx, [ebp - 0xbc]
call fcn.00404040
mov dword [ebp - 0x2d85c], eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xbc]
push ecx
lea ecx, [ebp - 0x93b8]
call fcn.004350d0
mov dword [ebp - 0x2d860], eax
mov edx, dword [ebp - 0x2d860]
mov dword [ebp - 0x1b540], edx
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xbc]
call fcn.004040b0
push 0x5f7390
lea ecx, [ebp - 0xd8]
call fcn.00404040
mov dword [ebp - 0x2d864], eax
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x1b538]
call fcn.004350d0
mov dword [ebp - 0x2d868], eax
mov ecx, dword [ebp - 0x2d868]
mov dword [ebp - 0x1b53c], ecx
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xd8]
call fcn.004040b0
cmp dword [ebp - 0x1b540], 0
je 0x42d85c
cmp dword [ebp - 0x1b53c], 0
je 0x42d85c
mov edx, dword [ebp - 0x1b53c]
mov eax, dword [edx]
mov dword [ebp - 0x1b548], eax
mov ecx, dword [ebp - 0x1b540]
mov edx, dword [ecx]
mov dword [ebp - 0x1b544], edx
lea eax, [ebp - 0x1b568]
call fcn.0040a260
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x1b558]
call fcn.0040a260
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x1b544], 0
jle 0x42d7dc
mov eax, dword [ebp - 0x1b544]
mov ecx, dword [ebp - 0x1b540]
mov edi, dword [ecx + eax*4]
add edi, 0x1c
mov ecx, 0x5f7398
call fcn.00415980
mov byte [ebp - 0x2d869], al
movzx edx, byte [ebp - 0x2d869]
test edx, edx
je 0x42d760
mov eax, dword [ebp - 0x1b544]
mov ecx, dword [ebp - 0x1b540]
mov edx, dword [ecx + eax*4]
push edx
lea ecx, [ebp - 0x1b568]
call fcn.00433420
jmp 0x42d7c8
mov eax, dword [ebp - 0x1b544]
mov ecx, dword [ebp - 0x1b540]
mov edx, dword [ecx + eax*4]
add edx, 0x1c
push edx
mov eax, dword [ebp - 0x1b544]
mov ecx, dword [ebp - 0x1b540]
mov edx, dword [ecx + eax*4]
push edx
lea eax, [ebp - 0x110]
push eax
call fcn.004053c0
add esp, 0xc
mov dword [ebp - 0x2d870], eax
mov ecx, dword [ebp - 0x2d870]
mov dword [ebp - 0x2d874], ecx
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x2d874]
lea ebx, [ebp - 0x1b558]
call fcn.004155e0
mov byte [ebp - 4], 0x10
lea esi, [ebp - 0x110]
call fcn.00405530
mov edx, dword [ebp - 0x1b544]
sub edx, 1
mov dword [ebp - 0x1b544], edx
jmp 0x42d709
cmp dword [ebp - 0x1b548], 0
jle 0x42d83e
mov eax, dword [ebp - 0x1b548]
mov ecx, dword [ebp - 0x1b53c]
mov edi, dword [ecx + eax*4]
add edi, 0x1c
mov ecx, 0x5f73a4
call fcn.00415980
mov byte [ebp - 0x2d875], al
movzx edx, byte [ebp - 0x2d875]
test edx, edx
je 0x42d82d
mov eax, dword [ebp - 0x1b548]
mov ecx, dword [ebp - 0x1b53c]
mov edx, dword [ecx + eax*4]
push edx
lea ecx, [ebp - 0x314]
call fcn.00433420
mov eax, dword [ebp - 0x1b548]
sub eax, 1
mov dword [ebp - 0x1b548], eax
jmp 0x42d7dc
mov byte [ebp - 4], 0xf
lea esi, [ebp - 0x1b558]
call fcn.004156e0
mov byte [ebp - 4], 0xc
lea esi, [ebp - 0x1b568]
call fcn.0040a270
jmp 0x42d88c
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x12498]
call fcn.00434be0
lea ecx, [ebp - 0x93b8]
call fcn.00434be0
lea ecx, [ebp - 0x1b538]
call fcn.00434be0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1b538]
call fcn.004349c0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x93b8]
call fcn.004349c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x12498]
call fcn.004349c0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x93d4]
call fcn.004040b0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x93f0]
call fcn.004040b0
mov dword [ebp - 0x318], 0
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x304], 0
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x300], 0
mov dword [ebp - 0x2bc], 0
lea ecx, [ebp - 0x2f0]
call fcn.00404020
mov byte [ebp - 4], 0x13
push 0x5f73a8
lea ecx, [ebp - 0x2b8]
call fcn.00427470
mov byte [ebp - 4], 0x14
push str.encry
lea ecx, [ebp - 0x2fc]
call fcn.00427470
mov byte [ebp - 4], 0x15
push 0x5f73c0
lea ecx, [ebp - 0x2f8]
call fcn.00427470
mov byte [ebp - 4], 0x16
push str.options
lea ecx, [ebp - 0x2c4]
call fcn.00427470
mov byte [ebp - 4], 0x17
mov byte [ebp - 4], 0x18
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jne 0x42eb49
lea ecx, [ebp - 0x318]
push ecx
push 0x5ed564
push 1
push 0
push 0x5edeb4
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jne 0x42eb49
push 0
mov edx, dword [ebp - 0x318]
push edx
mov eax, dword [ebp - 0x318]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xfc]
call edx
push 0
mov eax, dword [ebp - 0x318]
push eax
mov ecx, dword [ebp - 0x318]
mov edx, dword [ecx]
mov eax, dword [edx + 0x110]
call eax
push 0
mov ecx, dword [ebp - 0x318]
push ecx
mov edx, dword [ebp - 0x318]
mov eax, dword [edx]
mov ecx, dword [eax + 0x118]
call ecx
push 0xffffffffffffffff
mov edx, dword [ebp - 0x318]
push edx
mov eax, dword [ebp - 0x318]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x120]
call edx
mov eax, dword [ebp + 8]
call fcn.004040f0
push eax
lea ecx, [ebp - 0x1b56c]
call fcn.00426fd0
mov dword [ebp - 0x2d87c], eax
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x1b570]
push eax
lea ecx, [ebp - 0x1b56c]
call fcn.00427130
push eax
mov ecx, dword [ebp - 0x318]
push ecx
mov edx, dword [ebp - 0x318]
mov eax, dword [edx]
mov ecx, dword [eax + 0x104]
call ecx
mov dword [ebp - 0x2d880], eax
cmp dword [ebp - 0x2d880], 0
jne 0x42eb3a
lea edx, [ebp - 0x304]
push edx
mov eax, dword [ebp - 0x318]
push eax
mov ecx, dword [ebp - 0x318]
mov edx, dword [ecx]
mov eax, dword [edx + 0xb4]
call eax
mov dword [ebp - 0x2d884], eax
mov ecx, dword [ebp - 0x2d884]
mov dword [ebp - 0x2f4], ecx
cmp dword [ebp - 0x2f4], 0
jl 0x42eb3a
cmp dword [ebp - 0x304], 0
je 0x42eb3a
lea edx, [ebp - 0x2c8]
push edx
mov eax, dword [ebp - 0x304]
push eax
mov ecx, dword [ebp - 0x304]
mov edx, dword [ecx]
mov eax, dword [edx + 0x30]
call eax
mov dword [ebp - 0x2d888], eax
mov ecx, dword [ebp - 0x2d888]
mov dword [ebp - 0x2f4], ecx
cmp dword [ebp - 0x2f4], 0
jl 0x42eb3a
cmp dword [ebp - 0x2c8], 0
je 0x42eb3a
mov dword [ebp - 0x24650], 0
lea edx, [ebp - 0x24650]
push edx
mov eax, dword [ebp - 0x2c8]
push eax
mov ecx, dword [ebp - 0x2c8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
lea eax, [ebp + 0xc]
call fcn.00404100
test eax, eax
jne 0x42deb7
lea ecx, [ebp - 0x2d710]
call fcn.00404020
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x2d714], 0
jmp 0x42db94
mov ecx, dword [ebp - 0x2d714]
add ecx, 1
mov dword [ebp - 0x2d714], ecx
mov edx, dword [ebp - 0x2d714]
cmp edx, dword [ebp - 0x24650]
jge 0x42ddeb
lea eax, [ebp - 0x2cc]
push eax
mov ecx, dword [ebp - 0x2d714]
push ecx
mov edx, dword [ebp - 0x2c8]
push edx
mov eax, dword [ebp - 0x2c8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
call edx
mov dword [ebp - 0x2d88c], eax
mov eax, dword [ebp - 0x2d88c]
mov dword [ebp - 0x2f4], eax
cmp dword [ebp - 0x2f4], 0
jl 0x42dde6
cmp dword [ebp - 0x2cc], 0
je 0x42dde6
lea ecx, [ebp - 0x2d718]
call fcn.004705c0
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x2d718]
call fcn.0045fab0
push eax
mov ecx, dword [ebp - 0x2cc]
push ecx
mov edx, dword [ebp - 0x2cc]
mov eax, dword [edx]
mov ecx, dword [eax + 0xa4]
call ecx
lea ecx, [ebp - 0x2b8]
call fcn.00446b70
movzx esi, word [eax]
lea ecx, [ebp - 0x2d718]
call fcn.00446b70
movzx edx, word [eax]
cmp edx, esi
jne 0x42ddd7
lea ecx, [ebp - 0x2d71c]
call fcn.004705c0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x2d71c]
call fcn.0045fab0
push eax
mov eax, dword [ebp - 0x2cc]
push eax
mov ecx, dword [ebp - 0x2cc]
mov edx, dword [ecx]
mov eax, dword [edx + 0x68]
call eax
push 0x5f064d
lea ecx, [ebp - 0x2d71c]
call fcn.00427560
mov byte [ebp - 0x2d88d], al
movzx ecx, byte [ebp - 0x2d88d]
test ecx, ecx
je 0x42dd58
mov dword [ebp - 0x2d7d0], 0
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x2d71c]
call fcn.004275a0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x2d718]
call fcn.004275a0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x2d710]
call fcn.004040b0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x1b56c]
call fcn.00427110
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x2c4]
call fcn.004275a0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x2f8]
call fcn.004275a0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x2fc]
call fcn.004275a0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2b8]
call fcn.004275a0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2f0]
call fcn.004040b0
mov byte [ebp - 4], 0
lea esi, [ebp - 0x314]
call fcn.0040a270
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.004040b0
mov eax, dword [ebp - 0x2d7d0]
jmp 0x42ed28
lea ecx, [ebp - 0x2d71c]
call fcn.00446b70
push eax
lea ecx, [ebp - 0x2d7d4]
call fcn.00427070
mov dword [ebp - 0x2d894], eax
mov edx, dword [ebp - 0x2d894]
mov dword [ebp - 0x2d898], edx
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x2d898]
call fcn.00427160
mov dword [ebp - 0x2d89c], eax
lea eax, [ebp - 0x2d710]
push eax
mov edx, dword [ebp - 0x2d89c]
call fcn.00409fc0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x2d7d4]
call fcn.00427110
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x2d71c]
call fcn.004275a0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x2d718]
call fcn.004275a0
jmp 0x42ddeb
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x2d718]
call fcn.004275a0
jmp 0x42db85
lea ecx, [ebp - 0x12c]
push ecx
call fcn.004289f0
add esp, 4
mov dword [ebp - 0x2d8a0], eax
mov edx, dword [ebp - 0x2d8a0]
mov dword [ebp - 0x2d8a4], edx
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x2d710]
mov ecx, dword [ebp - 0x2d8a4]
lea ebx, [ebp - 0x148]
call fcn.00405440
mov dword [ebp - 0x2d8a8], eax
mov eax, dword [ebp - 0x2d8a8]
mov dword [ebp - 0x2d8ac], eax
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x2d8ac]
push ecx
mov eax, 0x5f73e4
lea ecx, [ebp - 0x164]
call fcn.0040a790
add esp, 4
mov dword [ebp - 0x2d8b0], eax
mov edx, dword [ebp - 0x2d8b0]
mov dword [ebp - 0x2d8b4], edx
mov byte [ebp - 4], 0x20
mov edi, dword [ebp - 0x2d8b4]
lea esi, [ebp + 0xc]
call fcn.004040a0
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x164]
call fcn.004040b0
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x148]
call fcn.004040b0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x12c]
call fcn.004040b0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x2d710]
call fcn.004040b0
push str._bak
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0x1b58c]
push ecx
call fcn.00413430
add esp, 0xc
mov dword [ebp - 0x2d8b8], eax
mov byte [ebp - 4], 0x21
push 0
lea eax, [ebp - 0x1b58c]
call fcn.004040f0
push eax
lea eax, [ebp + 0xc]
call fcn.004040f0
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
push 0x5f73f4
lea eax, [ebp + 0xc]
call fcn.004040f0
push eax
call fcn.00589e5a
add esp, 8
mov dword [ebp - 0x1b590], eax
mov dword [ebp - 0x2d6f4], 0
push 0
push 0x5f73f8
lea ecx, [ebp + 0xc]
call fcn.00433210
mov dword [ebp - 0x2d6f4], eax
mov edx, dword [ebp - 0x2d6f4]
push edx
xor ecx, ecx
lea esi, [ebp - 0x180]
lea edx, [ebp + 0xc]
call fcn.0040a030
mov dword [ebp - 0x2d8bc], eax
mov eax, dword [ebp - 0x2d8bc]
mov dword [ebp - 0x2d8c0], eax
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x2d8c0]
push ecx
mov eax, 0x5f7400
lea ecx, [ebp - 0x2464c]
call fcn.0040a790
add esp, 4
mov dword [ebp - 0x2d8c4], eax
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x180]
call fcn.004040b0
lea ecx, [ebp - 0x2d6f0]
call fcn.004348f0
mov dword [ebp - 0x2d8c8], eax
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x24630]
call fcn.004348f0
mov dword [ebp - 0x2d8cc], eax
mov byte [ebp - 4], 0x26
lea eax, [ebp + 0xc]
call fcn.004040f0
push eax
lea ecx, [ebp - 0x19c]
call fcn.00404040
mov dword [ebp - 0x2d8d0], eax
mov byte [ebp - 4], 0x27
lea edx, [ebp - 0x19c]
push edx
lea ecx, [ebp - 0x2d6f0]
call fcn.00434a90
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x19c]
call fcn.004040b0
lea eax, [ebp - 0x2464c]
call fcn.004040f0
push eax
lea ecx, [ebp - 0x1b8]
call fcn.00404040
mov dword [ebp - 0x2d8d4], eax
mov byte [ebp - 4], 0x28
lea eax, [ebp - 0x1b8]
push eax
lea ecx, [ebp - 0x24630]
call fcn.00434a90
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x1b8]
call fcn.004040b0
mov dword [ebp - 0x2d720], 0
jmp 0x42e053
mov ecx, dword [ebp - 0x2d720]
add ecx, 1
mov dword [ebp - 0x2d720], ecx
mov edx, dword [ebp - 0x2d720]
cmp edx, dword [ebp - 0x24650]
jge 0x42eacf
lea eax, [ebp - 0x2cc]
push eax
mov ecx, dword [ebp - 0x2d720]
push ecx
mov edx, dword [ebp - 0x2c8]
push edx
mov eax, dword [ebp - 0x2c8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
call edx
mov dword [ebp - 0x2d8d8], eax
mov eax, dword [ebp - 0x2d8d8]
mov dword [ebp - 0x2f4], eax
cmp dword [ebp - 0x2f4], 0
jl 0x42ea76
cmp dword [ebp - 0x2cc], 0
je 0x42ea76
lea ecx, [ebp - 0x2d724]
call fcn.004705c0
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x2d724]
call fcn.0045fab0
push eax
mov ecx, dword [ebp - 0x2cc]
push ecx
mov edx, dword [ebp - 0x2cc]
mov eax, dword [edx]
mov ecx, dword [eax + 0xa4]
call ecx
lea ecx, [ebp - 0x2d724]
call fcn.00446b70
push eax
lea ecx, [ebp - 0x2d7d8]
call fcn.00427070
mov dword [ebp - 0x2d8dc], eax
mov edx, dword [ebp - 0x2d8dc]
mov dword [ebp - 0x2d8e0], edx
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0x2d8e0]
call fcn.00427160
mov dword [ebp - 0x2d8e4], eax
mov eax, dword [ebp - 0x2d8e4]
push eax
lea ecx, [ebp - 0x2d740]
call fcn.00404040
mov dword [ebp - 0x2d8e8], eax
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x2d7d8]
call fcn.00427110
push 0x5f740c
lea ecx, [ebp - 0x1d4]
push ecx
lea ebx, [ebp - 0x2d740]
call fcn.0040a890
add esp, 8
mov dword [ebp - 0x2d8ec], eax
mov edx, dword [ebp - 0x2d8ec]
mov dword [ebp - 0x2d8f0], edx
mov byte [ebp - 4], 0x2d
mov eax, dword [ebp - 0x2d8f0]
push eax
mov eax, 0x5f7408
lea ecx, [ebp - 0x1f0]
call fcn.0040a790
add esp, 4
mov dword [ebp - 0x2d8f4], eax
mov ecx, dword [ebp - 0x2d8f4]
mov dword [ebp - 0x2d8f8], ecx
mov byte [ebp - 4], 0x2e
mov edi, dword [ebp - 0x2d8f8]
lea esi, [ebp - 0x2d740]
call fcn.004040a0
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x1f0]
call fcn.004040b0
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x1d4]
call fcn.004040b0
lea eax, [ebp - 0x2d740]
call fcn.004040f0
push eax
lea ecx, [ebp - 0x2d744]
call fcn.00426fd0
mov dword [ebp - 0x2d8fc], eax
mov byte [ebp - 4], 0x2f
lea edx, [ebp - 0x2d0]
push edx
lea ecx, [ebp - 0x2d744]
call fcn.00427130
push eax
mov eax, dword [ebp - 0x318]
push eax
mov ecx, dword [ebp - 0x318]
mov edx, dword [ecx]
mov eax, dword [edx + 0x90]
call eax
mov dword [ebp - 0x2d900], eax
mov ecx, dword [ebp - 0x2d900]
mov dword [ebp - 0x2f4], ecx
cmp dword [ebp - 0x2f4], 0
jl 0x42e9c6
cmp dword [ebp - 0x2d0], 0
je 0x42e9c6
lea edx, [ebp - 0x2d748]
push edx
mov eax, dword [ebp - 0x2d0]
push eax
mov ecx, dword [ebp - 0x2d0]
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
lea ecx, [ebp - 0x2d764]
call fcn.00404020
mov byte [ebp - 4], 0x30
mov dword [ebp - 0x2d768], 0
jmp 0x42e295
mov ecx, dword [ebp - 0x2d768]
add ecx, 1
mov dword [ebp - 0x2d768], ecx
mov edx, dword [ebp - 0x2d768]
cmp edx, dword [ebp - 0x2d748]
jge 0x42e9b2
lea eax, [ebp - 0x2c0]
push eax
mov ecx, dword [ebp - 0x2d768]
push ecx
mov edx, dword [ebp - 0x2d0]
push edx
mov eax, dword [ebp - 0x2d0]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
call edx
lea ecx, [ebp - 0x2d76c]
call fcn.004705c0
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x2d76c]
call fcn.0045fab0
push eax
mov eax, dword [ebp - 0x2c0]
push eax
mov ecx, dword [ebp - 0x2c0]
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c]
call eax
lea ecx, [ebp - 0x2d774]
call fcn.004705c0
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x2d774]
call fcn.0045fab0
push eax
mov ecx, dword [ebp - 0x2c0]
push ecx
mov edx, dword [ebp - 0x2c0]
mov eax, dword [edx]
mov ecx, dword [eax + 0x68]
call ecx
lea edx, [ebp - 0x2bc]
push edx
mov eax, dword [ebp - 0x2c0]
push eax
mov ecx, dword [ebp - 0x2c0]
mov edx, dword [ecx]
mov eax, dword [edx + 0x44]
call eax
mov dword [ebp - 0x2d904], eax
mov ecx, dword [ebp - 0x2d904]
mov dword [ebp - 0x2f4], ecx
cmp dword [ebp - 0x2f4], 0
jl 0x42e8e1
cmp dword [ebp - 0x2bc], 0
je 0x42e8e1
lea ecx, [ebp - 0x2d790]
call fcn.00404020
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x2d7ac]
call fcn.00404020
mov byte [ebp - 4], 0x34
lea edx, [ebp - 0x2d770]
push edx
mov eax, dword [ebp - 0x2bc]
push eax
mov ecx, dword [ebp - 0x2bc]
mov edx, dword [ecx]
mov eax, dword [edx + 0x2c]
call eax
mov dword [ebp - 0x2d7b0], 0
jmp 0x42e3c2
mov ecx, dword [ebp - 0x2d7b0]
add ecx, 1
mov dword [ebp - 0x2d7b0], ecx
mov edx, dword [ebp - 0x2d7b0]
cmp edx, dword [ebp - 0x2d770]
jge 0x42e8be
lea eax, [ebp - 0x300]
push eax
mov ecx, dword [ebp - 0x2d7b0]
push ecx
mov edx, dword [ebp - 0x2bc]
push edx
mov eax, dword [ebp - 0x2bc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x28]
call edx
lea ecx, [ebp - 0x2d7bc]
call fcn.004705c0
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x2d7bc]
call fcn.0045fab0
push eax
mov eax, dword [ebp - 0x300]
push eax
mov ecx, dword [ebp - 0x300]
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c]
call eax
lea ecx, [ebp - 0x2d7b4]
call fcn.004705c0
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x2d7b4]
call fcn.0045fab0
push eax
mov ecx, dword [ebp - 0x300]
push ecx
mov edx, dword [ebp - 0x300]
mov eax, dword [edx]
mov ecx, dword [eax + 0x68]
call ecx
push str.section
lea ecx, [ebp - 0x2d7b8]
call fcn.00427470
mov dword [ebp - 0x2d908], eax
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x2d76c]
call fcn.00446b70
movzx esi, word [eax]
lea ecx, [ebp - 0x2d7b8]
call fcn.00446b70
movzx edx, word [eax]
cmp edx, esi
jne 0x42e5bc
mov eax, dword [ebp - 0x1b590]
push eax
push 0x5f7420
call fcn.00589822
add esp, 8
lea ecx, [ebp - 0x2d7b4]
call fcn.00446b70
push eax
lea ecx, [ebp - 0x2d7dc]
call fcn.00427070
mov dword [ebp - 0x2d90c], eax
mov ecx, dword [ebp - 0x2d90c]
mov dword [ebp - 0x2d910], ecx
mov byte [ebp - 4], 0x38
mov ecx, dword [ebp - 0x2d910]
call fcn.00427160
mov dword [ebp - 0x2d914], eax
lea edx, [ebp - 0x2d764]
push edx
mov edx, dword [ebp - 0x2d914]
call fcn.00409fc0
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x2d7dc]
call fcn.00427110
push 0x5f7428
lea eax, [ebp - 0x20c]
push eax
lea ebx, [ebp - 0x2d764]
call fcn.0040a890
add esp, 8
mov dword [ebp - 0x2d918], eax
mov ecx, dword [ebp - 0x2d918]
mov dword [ebp - 0x2d91c], ecx
mov byte [ebp - 4], 0x39
mov edx, dword [ebp - 0x2d91c]
push edx
mov eax, 0x5f7424
lea ecx, [ebp - 0x228]
call fcn.0040a790
add esp, 4
mov dword [ebp - 0x2d920], eax
mov eax, dword [ebp - 0x1b590]
push eax
mov eax, dword [ebp - 0x2d920]
call fcn.004040f0
push eax
call fcn.00589822
add esp, 8
lea ecx, [ebp - 0x228]
call fcn.004040b0
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x20c]
call fcn.004040b0
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x2d7b8]
call fcn.004275a0
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x2d7b4]
call fcn.004275a0
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x2d7bc]
call fcn.004275a0
jmp 0x42e8be
lea ecx, [ebp - 0x2b8]
call fcn.00446b70
movzx esi, word [eax]
lea ecx, [ebp - 0x2d7bc]
call fcn.00446b70
movzx ecx, word [eax]
cmp ecx, esi
jne 0x42e88c
lea ecx, [ebp - 0x2d7b4]
call fcn.00446b70
push eax
lea ecx, [ebp - 0x2d7e0]
call fcn.00427070
mov dword [ebp - 0x2d924], eax
mov edx, dword [ebp - 0x2d924]
mov dword [ebp - 0x2d928], edx
mov byte [ebp - 4], 0x3a
mov ecx, dword [ebp - 0x2d928]
call fcn.00427160
mov dword [ebp - 0x2d92c], eax
lea eax, [ebp - 0x2d790]
push eax
mov edx, dword [ebp - 0x2d92c]
call fcn.00409fc0
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x2d7e0]
call fcn.00427110
lea ecx, [ebp - 0x2d774]
call fcn.00446b70
push eax
lea ecx, [ebp - 0x2d7e4]
call fcn.00427070
mov dword [ebp - 0x2d930], eax
mov ecx, dword [ebp - 0x2d930]
mov dword [ebp - 0x2d934], ecx
mov byte [ebp - 4], 0x3b
mov ecx, dword [ebp - 0x2d934]
call fcn.00427160
mov dword [ebp - 0x2d938], eax
lea edx, [ebp - 0x2d7ac]
push edx
mov edx, dword [ebp - 0x2d938]
call fcn.00409fc0
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x2d7e4]
call fcn.00427110
lea eax, [ebp - 0x314]
call fcn.0040a2a0
mov dword [ebp - 0x2d7c0], eax
mov dword [ebp - 0x2d7c4], 0
jmp 0x42e6ca
mov eax, dword [ebp - 0x2d7c4]
add eax, 1
mov dword [ebp - 0x2d7c4], eax
mov ecx, dword [ebp - 0x2d7c4]
cmp ecx, dword [ebp - 0x2d7c0]
jge 0x42e798
mov eax, dword [ebp - 0x2d7c4]
lea edx, [ebp - 0x314]
call fcn.00423890
lea edx, [ebp - 0x2d790]
call fcn.00405480
mov byte [ebp - 0x2d939], al
movzx edx, byte [ebp - 0x2d939]
test edx, edx
je 0x42e793
lea eax, [ebp - 0x2d7ac]
call fcn.004040f0
push eax
lea ecx, [ebp - 0x244]
call fcn.00404040
mov dword [ebp - 0x2d940], eax
mov byte [ebp - 4], 0x3c
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x260]
push ecx
call fcn.0042ad20
add esp, 8
mov dword [ebp - 0x2d944], eax
mov edx, dword [ebp - 0x2d944]
mov dword [ebp - 0x2d948], edx
mov byte [ebp - 4], 0x3d
mov eax, dword [ebp - 0x2d948]
call fcn.004040f0
lea ecx, [ebp - 0x2d7ac]
push ecx
mov edx, eax
call fcn.00409fc0
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x260]
call fcn.004040b0
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x244]
call fcn.004040b0
jmp 0x42e798
jmp 0x42e6bb
push 0x5f7430
lea edx, [ebp - 0x2d790]
push edx
lea eax, [ebp - 0x27c]
push eax
call fcn.00413430
add esp, 0xc
mov dword [ebp - 0x2d94c], eax
mov ecx, dword [ebp - 0x2d94c]
mov dword [ebp - 0x2d950], ecx
mov byte [ebp - 4], 0x3e
lea eax, [ebp - 0x2d7ac]
mov ecx, dword [ebp - 0x2d950]
lea ebx, [ebp - 0x298]
call fcn.00405440
mov dword [ebp - 0x2d954], eax
mov edx, dword [ebp - 0x2d954]
mov dword [ebp - 0x2d958], edx
mov byte [ebp - 4], 0x3f
mov eax, dword [ebp - 0x2d958]
push eax
mov eax, 0x5f742c
lea ecx, [ebp - 0x2b4]
call fcn.0040a790
add esp, 4
mov dword [ebp - 0x2d95c], eax
mov ecx, dword [ebp - 0x1b590]
push ecx
mov eax, dword [ebp - 0x2d95c]
call fcn.004040f0
push eax
call fcn.00589822
add esp, 8
lea ecx, [ebp - 0x2b4]
call fcn.004040b0
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x298]
call fcn.004040b0
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x27c]
call fcn.004040b0
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x2d7b8]
call fcn.004275a0
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x2d7b4]
call fcn.004275a0
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x2d7bc]
call fcn.004275a0
jmp 0x42e3b3
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x2d7b8]
call fcn.004275a0
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x2d7b4]
call fcn.004275a0
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x2d7bc]
call fcn.004275a0
jmp 0x42e3b3
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x2d7ac]
call fcn.004040b0
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x2d790]
call fcn.004040b0
jmp 0x42e98f
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x2d774]
call fcn.004275a0
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x2d76c]
call fcn.004275a0
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x2d764]
call fcn.004040b0
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x2d744]
call fcn.00427110
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x2d740]
call fcn.004040b0
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x2d724]
call fcn.004275a0
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x24630]
call fcn.004349c0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x2d6f0]
call fcn.004349c0
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x2464c]
call fcn.004040b0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x1b58c]
call fcn.004040b0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x1b56c]
call fcn.00427110
mov byte [ebp - 4], 0x17
jmp 0x42eb6f
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x2d774]
call fcn.004275a0
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x2d76c]
call fcn.004275a0
jmp 0x42e286
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x2d764]
call fcn.004040b0
jmp 0x42ea47
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x2d744]
call fcn.00427110
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x2d740]
call fcn.004040b0
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x2d724]
call fcn.004275a0
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x24630]
call fcn.004349c0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x2d6f0]
call fcn.004349c0
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x2464c]
call fcn.004040b0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x1b58c]
call fcn.004040b0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x1b56c]
call fcn.00427110
mov byte [ebp - 4], 0x17
jmp 0x42eb6f
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x2d744]
call fcn.00427110
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x2d740]
call fcn.004040b0
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x2d724]
call fcn.004275a0
jmp 0x42eaca
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x24630]
call fcn.004349c0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x2d6f0]
call fcn.004349c0
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x2464c]
call fcn.004040b0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x1b58c]
call fcn.004040b0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x1b56c]
call fcn.00427110
mov byte [ebp - 4], 0x17
jmp 0x42eb6f
jmp 0x42e044
mov edx, dword [ebp - 0x1b590]
push edx
call fcn.0058a11a
add esp, 4
mov dword [ebp - 0x2d4], 1
lea ecx, [ebp - 0x2d6f0]
call fcn.00434be0
lea ecx, [ebp - 0x24630]
call fcn.00434be0
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x24630]
call fcn.004349c0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x2d6f0]
call fcn.004349c0
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x2464c]
call fcn.004040b0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x1b58c]
call fcn.004040b0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x1b56c]
call fcn.00427110
jmp 0x42eb68
mov dword [ebp - 4], 0x17
cmp dword [ebp - 0x318], 0
je 0x42eb96
mov eax, dword [ebp - 0x318]
push eax
mov ecx, dword [ebp - 0x318]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov dword [ebp - 0x318], 0
cmp dword [ebp - 0x2c8], 0
je 0x42ebbd
mov ecx, dword [ebp - 0x2c8]
push ecx
mov edx, dword [ebp - 0x2c8]
mov eax, dword [edx]
mov ecx, dword [eax + 8]
call ecx
mov dword [ebp - 0x2c8], 0
cmp dword [ebp - 0x2d0], 0
je 0x42ebe4
mov edx, dword [ebp - 0x2d0]
push edx
mov eax, dword [ebp - 0x2d0]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
call edx
mov dword [ebp - 0x2d0], 0
cmp dword [ebp - 0x304], 0
je 0x42ec0b
mov eax, dword [ebp - 0x304]
push eax
mov ecx, dword [ebp - 0x304]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov dword [ebp - 0x304], 0
cmp dword [ebp - 0x2cc], 0
je 0x42ec32
mov ecx, dword [ebp - 0x2cc]
push ecx
mov edx, dword [ebp - 0x2cc]
mov eax, dword [edx]
mov ecx, dword [eax + 8]
call ecx
mov dword [ebp - 0x2cc], 0
cmp dword [ebp - 0x2c0], 0
je 0x42ec59
mov edx, dword [ebp - 0x2c0]
push edx
mov eax, dword [ebp - 0x2c0]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
call edx
mov dword [ebp - 0x2c0], 0
cmp dword [ebp - 0x300], 0
je 0x42ec80
mov eax, dword [ebp - 0x300]
push eax
mov ecx, dword [ebp - 0x300]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov dword [ebp - 0x300], 0
cmp dword [ebp - 0x2bc], 0
je 0x42eca7
mov ecx, dword [ebp - 0x2bc]
push ecx
mov edx, dword [ebp - 0x2bc]
mov eax, dword [edx]
mov ecx, dword [eax + 8]
call ecx
mov dword [ebp - 0x2bc], 0
call dword [sym.imp.ole32.dll_CoUninitialize]
mov edx, dword [ebp - 0x2d4]
mov dword [ebp - 0x2d7e8], edx
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x2c4]
call fcn.004275a0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x2f8]
call fcn.004275a0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x2fc]
call fcn.004275a0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2b8]
call fcn.004275a0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2f0]
call fcn.004040b0
mov byte [ebp - 4], 0
lea esi, [ebp - 0x314]
call fcn.0040a270
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.004040b0
mov eax, dword [ebp - 0x2d7e8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00587964
mov esp, ebp
pop ebp
ret