Function at 0x460760
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d9a88
mov eax, dword fs:[0]
push eax
sub esp, 0x44
push ebx
push esi
push edi
mov eax, dword [0x522f10]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
call fcn.004aa2e3
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4607a9
push 0x80004005
call fcn.00422000
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x20], esi
mov byte [ebp - 4], 1
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
push eax
call fcn.00425484
add esp, 4
lea edi, [eax + 0x10]
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
xor ebx, ebx
cmp eax, 0xffffffff
lea eax, [edi - 0x10]
setne bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4607f9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test ebx, ebx
jne 0x460856
lea eax, [esi - 0x10]
mov byte [ebp - 4], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46081c
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x460842
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp + 0xc]
push ecx
push ecx
mov esi, esp
mov dword [ebp - 0x44], esp
mov dword [ebp - 0x40], esi
call fcn.004aa2e3
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x46087d
push 0x80004005
call fcn.00422000
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
mov ecx, str.LoadBindingRedirects_SxS_:_assembly_policy_file_s
mov byte [ebp - 4], 2
test ecx, 0xffff0000
jne 0x4608b6
mov edx, ecx
movzx edi, dx
push edi
call fcn.004b2260
test eax, eax
je 0x4608d0
push edi
push eax
mov ecx, esi
call fcn.00424e90
jmp 0x4608d0
push str.LoadBindingRedirects_SxS_:_assembly_policy_file_s
call fcn.004b8a1a
add esp, 4
push eax
push str.LoadBindingRedirects_SxS_:_assembly_policy_file_s
mov ecx, esi
call fcn.00425413
push ecx
mov bl, 3
mov byte [ebp - 4], bl
mov esi, esp
mov dword [ebp - 0x40], esp
mov dword [ebp - 0x40], esi
call fcn.004aa2e3
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4608f8
push 0x80004005
call fcn.00422000
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
mov eax, str.General
shr eax, 0x10
mov byte [ebp - 4], 4
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x460936
mov ecx, str.General
movzx edi, cx
push edi
call fcn.004b2260
test eax, eax
je 0x460950
push edi
push eax
mov ecx, esi
call fcn.00424e90
jmp 0x460950
push str.General
call fcn.004b8a1a
add esp, 4
push eax
push str.General
mov ecx, esi
call fcn.00425413
mov byte [ebp - 4], bl
push 1
mov byte [ebp - 4], 1
call fcn.0046f830
mov eax, dword [ebp + 0xc]
add esp, 0x10
push 1
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x44], esp
mov esi, esp
push eax
mov dword [ebp - 0x28], 0
lea ebx, [ebp - 0x28]
lea edi, [ebp - 0x24]
call fcn.00425484
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.0046b280
or esi, 0xffffffff
add esp, 8
cmp eax, esi
jne 0x4609d3
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4609bb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], esi
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
lock xadd dword [ecx], esi
dec esi
test esi, esi
jmp 0x460836
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x4609e8
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.004b9165
add esp, 4
jmp 0x460999
push eax
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x24]
call fcn.0046afe0
add esp, 8
push eax
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 5
call fcn.00424f1e
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
lock xadd dword [edx], esi
dec esi
test esi, esi
jg 0x460a30
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x460a30
mov esi, dword [ebp - 0x20]
cmp dword [esi - 0xc], 0
jl 0x4618b1
push str._dependentAssembly_
push esi
call fcn.004b8ba1
add esp, 8
test eax, eax
je 0x4618b1
sub eax, esi
sar eax, 1
cmp eax, 0xffffffff
je 0x4618b1
lea edi, [eax + 0x13]
test edi, edi
jge 0x460a69
xor edi, edi
mov ebx, dword [esi - 0xc]
mov ecx, SysReAllocString
sub ecx, edi
js 0x461917
cmp edi, ebx
jle 0x460a7f
mov edi, ebx
test edi, edi
jle 0x460ade
sub ebx, edi
cmp dword [esi - 4], 1
jle 0x460a9a
mov edx, dword [esi - 0xc]
push edx
lea ecx, [ebp - 0x20]
call fcn.0042257b
mov esi, dword [ebp - 0x20]
lea eax, [ebx + ebx + 2]
push eax
lea ecx, [esi + edi*2]
push ecx
push eax
push esi
call fcn.004b856c
add esp, 0x10
cmp eax, 0x50
ja case.0x4611a6.1
movzx edx, byte [eax + 0x461940]
jmp dword [edx*4 + 0x461930]
test ebx, ebx
jl 0x461917
cmp ebx, dword [esi - 8]
jg 0x461917
xor eax, eax
mov dword [esi - 0xc], ebx
mov word [esi + ebx*2], ax
cmp dword [esi - 0xc], 0
jl 0x460a30
push str.__dependentAssembly_
push esi
call fcn.004b8ba1
add esp, 8
test eax, eax
je 0x460b06
sub eax, esi
sar eax, 1
mov dword [ebp - 0x2c], eax
cmp eax, 0xffffffff
jne 0x460b36
cmp dword [esi - 0xc], 0
jl 0x460a30
push 0x4ffc6c
push esi
call fcn.004b8ba1
add esp, 8
test eax, eax
je 0x460a30
sub eax, esi
sar eax, 1
mov dword [ebp - 0x2c], eax
cmp eax, 0xffffffff
je 0x460a30
call fcn.004aa2e3
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x46079f
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [ebp - 0x1c], edi
mov eax, 0x4eaa5c
shr eax, 0x10
mov byte [ebp - 4], 6
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x460c3a
mov ecx, 0x4eaa5c
movzx esi, cx
push esi
call fcn.004b2260
mov ebx, eax
test ebx, ebx
je 0x460c55
mov edx, esi
shr edx, 4
inc edx
movzx eax, dx
push 6
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
test eax, eax
je 0x460c55
push esi
push eax
push ebx
call fcn.00422705
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x460c55
movzx esi, word [ebx]
mov eax, dword [edi - 8]
mov ecx, 1
sub ecx, dword [edi - 4]
sub eax, esi
or eax, ecx
jge 0x460bd8
push esi
lea ecx, [ebp - 0x1c]
call fcn.00422524
mov edi, dword [ebp - 0x1c]
movzx eax, word [ebx]
add ebx, 2
mov dword [ebp - 0x28], ebx
cmp eax, 0xffffffff
jne 0x460bf2
mov ecx, ebx
push ecx
call fcn.004b8a1a
add esp, 4
inc eax
lea edx, [eax + eax]
mov eax, dword [ebp - 0x28]
push edx
push eax
lea ebx, [esi + esi]
push ebx
push edi
call fcn.004b849e
add esp, 0x10
cmp eax, 0x50
ja case.0x4611a6.1
movzx ecx, byte [eax + 0x4619a4]
jmp dword [ecx*4 + 0x461994]
test esi, esi
jl 0x461917
cmp esi, dword [edi - 8]
jg 0x461917
xor edx, edx
mov dword [edi - 0xc], esi
mov word [ebx + edi], dx
jmp 0x460c55
push 0x4eaa5c
call fcn.004b8a1a
add esp, 4
push eax
push 0x4eaa5c
lea ecx, [ebp - 0x1c]
call fcn.00425413
mov byte [ebp - 4], 7
call fcn.004aa2e3
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x46079f
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 8
cmp dword [ebp - 0x34], 0
jne 0x460d52
mov ecx, 0x4eaa5c
movzx esi, cx
push esi
call fcn.004b2260
mov ebx, eax
test ebx, ebx
je 0x460d6d
mov edx, esi
shr edx, 4
inc edx
movzx eax, dx
push 6
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
test eax, eax
je 0x460d6d
push esi
push eax
push ebx
call fcn.00422705
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x460d6d
mov eax, dword [ebp - 0x14]
movzx esi, word [ebx]
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, esi
or eax, ecx
jge 0x460cf2
push esi
lea ecx, [ebp - 0x14]
call fcn.00422524
movzx eax, word [ebx]
lea edi, [ebx + 2]
cmp eax, 0xffffffff
jne 0x460d07
push edi
call fcn.004b8a1a
add esp, 4
inc eax
mov edx, dword [ebp - 0x14]
lea ecx, [eax + eax]
push ecx
push edi
lea ebx, [esi + esi]
push ebx
push edx
call fcn.004b849e
add esp, 0x10
cmp eax, 0x50
ja case.0x4611a6.1
movzx eax, byte [eax + 0x461a08]
jmp dword [eax*4 + 0x4619f8]
test esi, esi
jl 0x461917
mov eax, dword [ebp - 0x14]
cmp esi, dword [eax - 8]
jg 0x461917
xor ecx, ecx
mov dword [eax - 0xc], esi
mov word [ebx + eax], cx
jmp 0x460d6d
push 0x4eaa5c
call fcn.004b8a1a
add esp, 4
push eax
push 0x4eaa5c
lea ecx, [ebp - 0x14]
call fcn.00425413
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x2c]
push edx
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x20]
call fcn.004249e2
mov byte [ebp - 4], 0xa
mov ebx, dword [ebp - 0x24]
cmp dword [ebx - 0xc], 0
jl 0x461852
push str._bindingRedirect
push ebx
call fcn.004b8ba1
add esp, 8
test eax, eax
je 0x461852
sub eax, ebx
sar eax, 1
mov dword [ebp - 0x34], eax
cmp eax, 0xffffffff
je 0x461852
lea edi, [eax + 0x11]
test edi, edi
jge 0x460dc1
xor edi, edi
mov esi, dword [ebp - 0x20]
mov ecx, dword [esi - 0xc]
mov edx, SysReAllocString
sub edx, edi
js 0x461917
cmp edi, ecx
jle 0x460dda
mov edi, ecx
test edi, edi
jle 0x460e40
mov ebx, ecx
sub ebx, edi
cmp dword [esi - 4], 1
jle 0x460df6
mov eax, ecx
push eax
lea ecx, [ebp - 0x20]
call fcn.0042257b
mov esi, dword [ebp - 0x20]
lea eax, [ebx + ebx + 2]
push eax
lea ecx, [esi + edi*2]
push ecx
push eax
push esi
call fcn.004b856c
add esp, 0x10
cmp eax, 0x50
ja case.0x4611a6.1
movzx edx, byte [eax + 0x461a6c]
jmp dword [edx*4 + 0x461a5c]
test ebx, ebx
jl 0x461917
cmp ebx, dword [esi - 8]
jg 0x461917
xor eax, eax
mov dword [esi - 0xc], ebx
mov word [esi + ebx*2], ax
mov eax, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x24]
lea edi, [eax + 0x10]
test edi, edi
jge 0x460e49
xor edi, edi
mov esi, dword [ebx - 0xc]
mov ecx, SysReAllocString
sub ecx, edi
js 0x461917
cmp edi, esi
jle 0x460e5f
mov edi, esi
test edi, edi
jle 0x460ebe
sub esi, edi
cmp dword [ebx - 4], 1
jle 0x460e7a
mov edx, dword [ebx - 0xc]
push edx
lea ecx, [ebp - 0x24]
call fcn.0042257b
mov ebx, dword [ebp - 0x24]
lea eax, [esi + esi + 2]
push eax
lea ecx, [ebx + edi*2]
push ecx
push eax
push ebx
call fcn.004b856c
add esp, 0x10
cmp eax, 0x50
ja case.0x4611a6.1
movzx edx, byte [eax + 0x461ad0]
jmp dword [edx*4 + 0x461ac0]
test esi, esi
jl 0x461917
cmp esi, dword [ebx - 8]
jg 0x461917
xor eax, eax
mov dword [ebx - 0xc], esi
mov word [ebx + esi*2], ax
mov ecx, dword [ebp + 0xc]
push ecx
push ecx
mov esi, esp
mov dword [ebp - 0x34], esp
mov dword [ebp - 0x28], esi
call fcn.004aa2e3
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x46079f
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
mov ecx, str.LoadBindingRedirects_SxS_:_bindingRedirect_found_in_Policy_file__s
mov byte [ebp - 4], 0xb
test ecx, 0xffff0000
jne 0x460f18
mov edx, ecx
movzx edi, dx
push edi
call fcn.004b2260
test eax, eax
je 0x460f32
push edi
push eax
mov ecx, esi
call fcn.00424e90
jmp 0x460f32
push str.LoadBindingRedirects_SxS_:_bindingRedirect_found_in_Policy_file__s
call fcn.004b8a1a
add esp, 4
push eax
push str.LoadBindingRedirects_SxS_:_bindingRedirect_found_in_Policy_file__s
mov ecx, esi
call fcn.00425413
push ecx
mov byte [ebp - 4], 0xc
mov esi, esp
mov dword [ebp - 0x28], esp
mov dword [ebp - 0x28], esi
call fcn.004aa2e3
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x46079f
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
cmp dword [ebp - 0x30], 0
mov byte [ebp - 4], 0xd
jne 0x460f88
mov ecx, str.General
movzx edi, cx
push edi
call fcn.004b2260
test eax, eax
je 0x460fa2
push edi
push eax
mov ecx, esi
call fcn.00424e90
jmp 0x460fa2
push str.General
call fcn.004b8a1a
add esp, 4
push eax
push str.General
mov ecx, esi
call fcn.00425413
mov byte [ebp - 4], 0xc
push 1
mov byte [ebp - 4], 0xa
call fcn.0046f830
push 0x4eaa5c
call fcn.004b8a1a
add esp, 0x14
push eax
push 0x4eaa5c
lea ecx, [ebp - 0x14]
call fcn.00425413
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x461021
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x461014
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x461014
push eax
call fcn.00425484
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x46100c
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x1c], ebx
jmp 0x461021
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00425413
mov edi, dword [ebp - 0x1c]
cmp dword [edi - 0xc], 0
je 0x461037
mov ecx, dword [ebp - 0x14]
cmp dword [ecx - 0xc], 0
jne 0x461613
mov ebx, dword [ebp - 0x24]
cmp dword [ebx - 0xc], 0
jle 0x461613
push 0x3d
push ebx
call fcn.004b94c8
add esp, 8
test eax, eax
je 0x461613
sub eax, ebx
sar eax, 1
mov esi, eax
cmp esi, 0xffffffff
je 0x461613
push esi
lea edx, [ebp - 0x18]
push edx
lea ecx, [ebp - 0x24]
call fcn.004249e2
inc esi
push esi
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xe
call fcn.0042b6fd
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x10]
push str.__t_r_n_
push ecx
call fcn.004bcbbc
add esp, 8
test eax, eax
je 0x46113c
sub eax, dword [ebp - 0x10]
sar eax, 1
cmp eax, 0xffffffff
je 0x46113c
push eax
lea edx, [ebp - 0x38]
push edx
lea ecx, [ebp - 0x10]
call fcn.004249e2
mov byte [ebp - 4], 0x10
mov ecx, dword [eax]
mov esi, dword [ebp - 0x10]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x461119
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x46110c
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x46110c
push eax
call fcn.00425484
mov dword [ebp - 0x34], eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x461101
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 0x34]
add ecx, 0x10
mov dword [ebp - 0x10], ecx
jmp 0x461119
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0x10]
call fcn.00425413
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x46113c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx - 0xc]
mov esi, dword [edx - 0xc]
lea esi, [esi + eax + 1]
test esi, esi
jge 0x461152
xor esi, esi
mov edi, dword [ebx - 0xc]
mov eax, SysReAllocString
sub eax, esi
js 0x461917
cmp esi, edi
jle 0x461168
mov esi, edi
test esi, esi
jle 0x4611c7
sub edi, esi
cmp dword [ebx - 4], 1
jle 0x461183
mov ecx, dword [ebx - 0xc]
push ecx
lea ecx, [ebp - 0x24]
call fcn.0042257b
mov ebx, dword [ebp - 0x24]
lea eax, [edi + edi + 2]
push eax
lea edx, [ebx + esi*2]
push edx
push eax
push ebx
call fcn.004b856c
add esp, 0x10
cmp eax, 0x50
ja case.0x4611a6.1
movzx eax, byte [eax + 0x461b34]
jmp dword [eax*4 + 0x461b24]
test edi, edi
jl 0x461917
cmp edi, dword [ebx - 8]
jg 0x461917
xor ecx, ecx
mov dword [ebx - 0xc], edi
mov word [ebx + edi*2], cx
push str.___t__r_n
lea eax, [ebp - 0x18]
call fcn.0043d85f
mov eax, dword [eax]
mov edx, dword [ebp - 0x18]
lea edi, [eax - 0x10]
lea esi, [edx - 0x10]
mov dword [ebp - 0x28], eax
cmp edi, esi
je 0x461356
cmp dword [esi + 0xc], 0
jl 0x46127e
mov ecx, dword [edi]
cmp ecx, dword [esi]
jne 0x46127e
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [edi + 0xc], 0
lea ecx, [edi + 0xc]
jl 0x46121f
cmp eax, dword [edi]
jne 0x46121f
mov ebx, edi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x46125a
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x46192b
mov eax, dword [edi + 4]
mov dword [ebx + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [ebx + 0x10]
push eax
call fcn.004b849e
add esp, 0x10
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x461273
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x18], ebx
jmp 0x461356
mov eax, dword [ebp - 0x28]
mov ebx, dword [eax - 0xc]
test ebx, ebx
jne 0x4612db
mov edi, dword [esi]
cmp dword [esi + 4], ebx
je 0x461356
cmp dword [esi + 0xc], ebx
lea eax, [esi + 0xc]
jge 0x4612b4
cmp dword [edx - 8], ebx
jl 0x461917
mov dword [edx - 0xc], ebx
mov edx, dword [ebp - 0x18]
xor ecx, ecx
mov word [edx], cx
jmp 0x461356
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4612ca
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
add eax, 0x10
mov dword [ebp - 0x18], eax
jmp 0x461356
test eax, eax
je 0x461917
mov ecx, dword [edx - 0xc]
mov edi, dword [ebp - 0x28]
mov eax, dword [esi + 8]
mov dword [ebp - 0x34], ecx
mov ecx, 1
sub ecx, dword [esi + 0xc]
sub edi, edx
sub eax, ebx
sar edi, 1
or eax, ecx
jge 0x46130d
push ebx
lea ecx, [ebp - 0x18]
call fcn.00422524
mov edx, dword [ebp - 0x18]
mov eax, dword [edx - 8]
lea esi, [ebx + ebx]
add eax, eax
push esi
cmp edi, dword [ebp - 0x34]
ja 0x461328
lea ecx, [edx + edi*2]
push ecx
push eax
push edx
call fcn.004b856c
jmp 0x461333
mov ecx, dword [ebp - 0x28]
push ecx
push eax
push edx
call fcn.004b849e
add esp, 0x10
test ebx, ebx
jl 0x461917
mov eax, dword [ebp - 0x18]
cmp ebx, dword [eax - 8]
jg 0x461917
mov dword [eax - 0xc], ebx
mov edx, dword [ebp - 0x18]
xor ecx, ecx
mov word [esi + edx], cx
push str.___t__r_n
lea eax, [ebp - 0x10]
call fcn.0043d85f
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
lea edi, [eax - 0x10]
lea esi, [edx - 0x10]
mov dword [ebp - 0x28], eax
cmp edi, esi
je 0x4614e5
cmp dword [esi + 0xc], 0
jl 0x46140d
mov ecx, dword [edi]
cmp ecx, dword [esi]
jne 0x46140d
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [edi + 0xc], 0
lea ecx, [edi + 0xc]
jl 0x4613ae
cmp eax, dword [edi]
jne 0x4613ae
mov ebx, edi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x4613e9
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x46192b
mov eax, dword [edi + 4]
mov dword [ebx + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [ebx + 0x10]
push eax
call fcn.004b849e
add esp, 0x10
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x461402
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x10], ebx
jmp 0x4614e5
mov eax, dword [ebp - 0x28]
mov ebx, dword [eax - 0xc]
test ebx, ebx
jne 0x46146a
mov edi, dword [esi]
cmp dword [esi + 4], ebx
je 0x4614e5
cmp dword [esi + 0xc], ebx
lea eax, [esi + 0xc]
jge 0x461443
cmp dword [edx - 8], ebx
jl 0x461917
mov dword [edx - 0xc], ebx
mov edx, dword [ebp - 0x10]
xor ecx, ecx
mov word [edx], cx
jmp 0x4614e5
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x461459
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
add eax, 0x10
mov dword [ebp - 0x10], eax
jmp 0x4614e5
test eax, eax
je 0x461917
mov ecx, dword [edx - 0xc]
mov edi, dword [ebp - 0x28]
mov eax, dword [esi + 8]
mov dword [ebp - 0x34], ecx
mov ecx, 1
sub ecx, dword [esi + 0xc]
sub edi, edx
sub eax, ebx
sar edi, 1
or eax, ecx
jge 0x46149c
push ebx
lea ecx, [ebp - 0x10]
call fcn.00422524
mov edx, dword [ebp - 0x10]
mov eax, dword [edx - 8]
lea esi, [ebx + ebx]
add eax, eax
push esi
cmp edi, dword [ebp - 0x34]
ja 0x4614b7
lea ecx, [edx + edi*2]
push ecx
push eax
push edx
call fcn.004b856c
jmp 0x4614c2
mov ecx, dword [ebp - 0x28]
push ecx
push eax
push edx
call fcn.004b849e
add esp, 0x10
test ebx, ebx
jl 0x461917
mov eax, dword [ebp - 0x10]
cmp ebx, dword [eax - 8]
jg 0x461917
mov dword [eax - 0xc], ebx
mov edx, dword [ebp - 0x10]
xor ecx, ecx
mov word [esi + edx], cx
mov eax, dword [ebp - 0x18]
push str.oldVersion
push eax
call fcn.004b8c60
add esp, 8
test eax, eax
sete al
test al, al
je 0x461555
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x1c]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x4615c4
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x46154b
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x46154b
push eax
call fcn.00425484
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x461543
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x1c], ebx
jmp 0x4615c4
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0x1c]
jmp 0x4615bf
mov ecx, dword [ebp - 0x18]
push str.newVersion
push ecx
call fcn.004b8c60
add esp, 8
test eax, eax
sete al
test al, al
je 0x4615c4
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x14]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x4615c4
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x4615b7
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x4615b7
push eax
call fcn.00425484
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x4615af
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x14], ebx
jmp 0x4615c4
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0x14]
call fcn.00425413
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4615e7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x461021
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x461021
mov ecx, dword [ebp - 0x14]
push ecx
push edi
push ecx
mov esi, esp
mov dword [ebp - 0x34], esp
mov dword [ebp - 0x28], esi
call fcn.004aa2e3
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x46079f
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
mov ecx, str.LoadBindingRedirects_SxS_:_bindingRedirect_found:__s___s
mov byte [ebp - 4], 0x11
test ecx, 0xffff0000
jne 0x46166e
mov edx, ecx
movzx edi, dx
push edi
call fcn.004b2260
test eax, eax
je 0x461688
push edi
push eax
mov ecx, esi
call fcn.00424e90
jmp 0x461688
push str.LoadBindingRedirects_SxS_:_bindingRedirect_found:__s___s
call fcn.004b8a1a
add esp, 4
push eax
push str.LoadBindingRedirects_SxS_:_bindingRedirect_found:__s___s
mov ecx, esi
call fcn.00425413
push ecx
mov byte [ebp - 4], 0x12
mov esi, esp
mov dword [ebp - 0x28], esp
mov dword [ebp - 0x28], esi
call fcn.004aa2e3
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x46079f
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
cmp dword [ebp - 0x30], 0
mov byte [ebp - 4], 0x13
jne 0x4616de
mov ecx, str.General
movzx edi, cx
push edi
call fcn.004b2260
test eax, eax
je 0x4616f8
push edi
push eax
mov ecx, esi
call fcn.00424e90
jmp 0x4616f8
push str.General
call fcn.004b8a1a
add esp, 4
push eax
push str.General
mov ecx, esi
call fcn.00425413
mov byte [ebp - 4], 0x12
push 1
mov byte [ebp - 4], 0xa
call fcn.0046f830
add esp, 0x14
push 0x4ec2d4
lea edx, [ebp - 0x1c]
push edx
lea eax, [ebp - 0x44]
push eax
call fcn.00424a42
add esp, 0xc
lea ecx, [ebp - 0x14]
push ecx
push eax
lea edx, [ebp - 0x40]
push edx
mov byte [ebp - 4], 0x14
call fcn.0042c68a
add esp, 0xc
mov ebx, eax
mov byte [ebp - 4], 0x15
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x64]
add edi, 0x58
test eax, eax
jne 0x46174b
xor ecx, ecx
jmp 0x461753
mov ecx, dword [edi + 0x14]
sub ecx, eax
sar ecx, 2
mov esi, dword [edi + 0x10]
mov edx, esi
sub edx, eax
sar edx, 2
cmp edx, ecx
jae 0x461781
mov ecx, dword [ebp + 0xc]
mov byte [ebp - 0x3c], 0
mov eax, dword [ebp - 0x3c]
push eax
push ecx
push ebx
push 1
push esi
call fcn.00425ef5
add esp, 0x14
add esi, 4
mov dword [edi + 0x10], esi
jmp 0x46179a
cmp eax, esi
jbe 0x46178a
call fcn.004b8b91
mov eax, dword [edi]
push esi
push eax
push ebx
lea edx, [ebp - 0x4c]
push edx
mov eax, edi
call fcn.004250ea
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4617bd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x44]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4617e0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x461803
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x461826
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x460b36
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x460b36
add ebx, 0xfffffff0
mov byte [ebp - 4], 9
lea ecx, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x461872
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x461895
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x460a19
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x68]
sub ecx, dword [eax + 0x64]
mov edx, dword [eax + 8]
sar ecx, 2
push ecx
push eax
push edx
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push str.LoadBindingRedirects_SxS_:_BindingRedirects__s__p_.size_d
call fcn.004247f3
push ecx
mov byte [ebp - 4], 0x16
mov ecx, esp
mov dword [ebp - 0x3c], esp
push str.General
call fcn.004247f3
push 1
mov byte [ebp - 4], 1
call fcn.0046f830
add esi, 0xfffffff0
add esp, 0x18
mov byte [ebp - 4], 0
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x46081c
mov ecx, dword [esi]
push esi
jmp 0x460815
push 0x80070057
call fcn.00422000
call fcn.004aa84b
call fcn.004aa883
call fcn.00422570
les ecx, [edx]
inc esi
add byte [ecx], ah
sbb dword [esi], eax
sbb dword es:[esi], eax
sbb dword es:[esi], eax
add byte [ebx], al
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add dword [ebx], eax
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add byte [ebp + 203292745], cl
inc esi
add byte [ecx], ah
sbb dword [esi], eax
sbb dword es:[esi], eax
sbb dword es:[esi], eax
add byte [ebx], al
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add dword [ebx], eax
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add byte [ebp + 221446217], cl
inc esi
add byte [ecx], ah
sbb dword [esi], eax
sbb dword es:[esi], eax
sbb dword es:[esi], eax
add byte [ebx], al
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add dword [ebx], eax
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add byte [ebp + 236978249], cl
inc esi
add byte [ecx], ah
sbb dword [esi], eax
sbb dword es:[esi], eax
sbb dword es:[esi], eax
add byte [ebx], al
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add dword [ebx], eax
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add byte [ebp + 245629001], cl
inc esi
add byte [ecx], ah
sbb dword [esi], eax
sbb dword es:[esi], eax
sbb dword es:[esi], eax
add byte [ebx], al
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add dword [ebx], eax
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add byte [ebp + 296550473], cl
inc esi
add byte [ecx], ah
sbb dword [esi], eax
sbb dword es:[esi], eax
sbb dword es:[esi], eax
add byte [ebx], al
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add dword [ebx], eax
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add ah, cl
int3