Function at 0x45e610
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x462b83
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x494680]
xor eax, ebp
mov dword [ebp - 0x20], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x5c], ecx
lea ecx, [ebp - 0x10]
call fcn.00404f90
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00404f90
mov byte [ebp - 4], 1
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
push 1
call fcn.0045c8c0
add esp, 0xc
mov edx, dword [ebp - 0x5c]
cmp dword [edx + 4], 0
je 0x45e67d
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 4], 0x7cf
je 0x45e69d
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00405030
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.00405030
jmp 0x45eb42
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp + 8]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp + 0x10]
mov dword [eax + 0xc], ecx
push 0x46c99b
mov ecx, dword [ebp - 0x5c]
add ecx, 0x10
call fcn.00403030
push 0x46c9ca
mov ecx, dword [ebp - 0x5c]
add ecx, 0x14
call fcn.00403030
push str._Setting_Error_Condition:
lea ecx, [ebp - 0x50]
call fcn.00401a60
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 4]
push eax
lea ecx, [ebp - 0x50]
push ecx
push 1
call fcn.0045c8c0
add esp, 0xc
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x50]
call fcn.00405030
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x44c
jg 0x45e74c
cmp dword [ebp - 0x60], 0x44c
je 0x45ea1c
cmp dword [ebp - 0x60], 0x3e9
je 0x45ea55
cmp dword [ebp - 0x60], 0x3ed
jle 0x45ea8d
cmp dword [ebp - 0x60], 0x3ef
jle 0x45ea55
jmp 0x45ea8d
cmp dword [ebp - 0x60], 0x514
jg 0x45e789
cmp dword [ebp - 0x60], 0x514
je 0x45e86c
mov ecx, dword [ebp - 0x60]
sub ecx, 0x457
mov dword [ebp - 0x60], ecx
cmp dword [ebp - 0x60], 0x5c
ja 0x45ea8d
mov edx, dword [ebp - 0x60]
movzx eax, byte [edx + 0x45eb70]
jmp dword [eax*4 + 0x45eb60]
cmp dword [ebp - 0x60], 0x57b
jg 0x45e7c6
cmp dword [ebp - 0x60], 0x579
jge 0x45e84d
mov ecx, dword [ebp - 0x60]
sub ecx, 0x516
mov dword [ebp - 0x60], ecx
cmp dword [ebp - 0x60], 0x62
ja 0x45ea8d
mov edx, dword [ebp - 0x60]
movzx eax, byte [edx + 0x45ebe0]
jmp dword [eax*4 + 0x45ebd0]
mov ecx, dword [ebp - 0x60]
sub ecx, 0x5dc
mov dword [ebp - 0x60], ecx
cmp dword [ebp - 0x60], 0xcd
ja 0x45ea8d
mov edx, dword [ebp - 0x60]
movzx eax, byte [edx + 0x45ec54]
jmp dword [eax*4 + 0x45ec44]
push 0x481234
lea ecx, [ebp - 0x10]
call fcn.00401a40
push str.IDS_ERROR_DOWNLOAD_DESCRIPTION
lea ecx, [ebp - 0x14]
call fcn.00401a40
jmp 0x45eaad
push 0x4812e4
lea ecx, [ebp - 0x10]
call fcn.00401a40
push 0x481310
lea ecx, [ebp - 0x14]
call fcn.00401a40
jmp 0x45eaad
into
invalid
cld
add byte [ebx - 0xfba76f9], cl
mov eax, dword [edi]
mov dword [ebp - 0x10], eax
call fcn.0045e928
js 0x45eade
into
push eax
cmp dword [ebp - 0x10], 0
je 0x45eaaf
mov eax, dword [ebp - 0x14]
and dword [ebp - 0x10], 0
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], ebx
mov eax, dword [ebp - 8]
movzx eax, word [eax]
cmp eax, dword [ebp - 4]
jne 0x45ea9b
mov eax, dword [ebp - 0xc]
push dword [ebp + 0xc]
mov eax, dword [eax]
add eax, dword [ebp + 8]
push eax
call fcn.0045e8be
pop ecx
test eax, eax
pop ecx
je 0x45eac2
inc ebp
or byte [eax - 0x18], dl
sub esi, edi
invalid
mov eax, dword [esi + 0x18]
inc dword [ebp - 0x10]
add dword [ebp - 8], 2
add dword [ebp - 0xc], 4
dec eax
cmp dword [ebp - 0x10], eax
jbe 0x45ea79
mov eax, dword [esi + 0x14]
inc dword [ebp - 4]
dec eax
cmp dword [ebp - 4], eax
jbe 0x45ea58
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
mov eax, dword [ebp - 4]
mov eax, dword [edi + eax*4]
jmp 0x45eaff
in eax, 0xde
jmp 0xf08b761e
add eax, dword [ebp + 8]
jmp 0x45eabd
add al, 0x80
shl eax, 3
sub eax, dword [ebp + 0x10]
add eax, esi
mov dword [ebp - 0xb4], eax
mov dword [ebp - 8], eax
call fcn.0045e928
jp 0x45eb68
inc esi
and eax, 0x6478b66
cmp ax, bx
jbe 0x45eb82
lea ecx, [esi + 0xc]
movzx edx, ax
dec esi
or al, 0xf
mov bh, 0xd0
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
add eax, esi
cmp dword [ebp - 8], eax
jae 0x45eb7c
mov dword [ebp - 8], eax
add ecx, 0x28
dec edx
jne 0x45eb6d
mov byte [ebp - 0x58], bl
mov byte [ebp - 0x57], bl
mov byte [ebp - 0x56], 0x58
mov byte [ebp - 0x55], bl
mov byte [ebp - 0x54], 0xe0
mov byte [ebp - 0x53], 0xc2
mov byte [ebp - 0x52], 0xd3
mov byte [ebp - 0x51], 0xf4
mov byte [ebp - 0x50], 0xde
mov byte [ebp - 0x4f], 0xd4
mov byte [ebp - 0x4e], 0xd3
mov byte [ebp - 0x4d], 0xc2
mov byte [ebp - 0x4c], 0xca
mov byte [ebp - 0x4b], 0xee
mov byte [ebp - 0x4a], 0xc9
mov byte [ebp - 0x49], 0xc1
mov byte [ebp - 0x48], 0xc8
mov byte [ebp - 0x47], 0xa7
call fcn.0045e928
nop
arpl cx, si
lea eax, [ebp - 0x58]
push eax
call fcn.0045e938
mov esi, dword [ebp + 0xc]
push eax
push esi
push dword [ebp + 8]
call fcn.0045e8ed
add esp, 0x10
lea ecx, [ebp - 0xb0]
push ecx
call eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xac]
xor edx, edx
div ecx
xor edx, edx
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 8]
div ecx
test edx, edx
je 0x45ec16
inc dword [ebp - 0x8c]
imul ecx, dword [ebp - 0x8c]
mov dword [ebp + 0xc], ecx
mov byte [ebp - 0x40], bl
mov byte [ebp - 0x3f], bl
mov byte [ebp - 0x3e], 0xec
mov byte [ebp - 0x3d], bl
mov byte [ebp - 0x3c], 0x45
mov byte [ebp - 0x3b], 0x7a
mov byte [ebp - 0x3a], 0x61
mov byte [ebp - 0x39], 0x67
mov byte [ebp - 0x38], 0x66
mov byte [ebp - 0x37], 0x72
mov byte [ebp - 0x36], 0x7f
mov byte [ebp - 0x35], 0x52
mov byte [ebp - 0x34], 0x7f
mov byte [ebp - 0x33], 0x7f
mov byte [ebp - 0x32], 0x7c
mov byte [ebp - 0x31], 0x70
mov byte [ebp - 0x30], 0x13
call fcn.0045e928
arpl ax, ax
retf 0x8d70