Function at 0x466ca0
Capabilities:
Check if file exists
Enumerate files on windows
Extract resource via kernel32 functions
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e0031
mov eax, dword fs:[0]
push eax
sub esp, 0x304
mov eax, dword [0x526f10]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov ebx, edx
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x2ac], ecx
mov dword [ebp - 0x2c8], ebx
xor esi, esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x264], esi
call fcn.004ad3ae
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x466d0a
push 0x80004005
call fcn.00422000
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x2a0], eax
mov ecx, 0x4eda54
mov byte [ebp - 4], 1
test ecx, 0xffff0000
jne 0x466d4b
mov edx, ecx
movzx edi, dx
push edi
call fcn.004b5332
cmp eax, esi
je 0x466d69
push edi
push eax
lea ecx, [ebp - 0x2a0]
call fcn.00424e51
jmp 0x466d69
push 0x4eda54
call fcn.004bbaea
add esp, 4
push eax
push 0x4eda54
lea ecx, [ebp - 0x2a0]
call fcn.004253d4
lea eax, [ebp - 0x2e0]
push eax
mov byte [ebp - 4], 2
call fcn.004691f0
push 3
mov byte [ebp - 4], 3
mov ecx, dword [ebp + 0xc]
push esi
push ecx
mov dword [ebx], esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
mov dword [ebp - 0x270], edi
cmp edi, esi
jne 0x466dfb
lea edx, [ebp - 0x2e0]
push edx
mov byte [ebp - 4], 2
call fcn.00469250
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2a0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x466dce
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
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 0x466df4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
jmp 0x46873d
lea ecx, [ebp - 0x2f8]
push ecx
call fcn.004691f0
lea edx, [ebp - 0x2f8]
push edx
push 0x472c20
push 0x18
push edi
mov byte [ebp - 4], 4
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
mov edi, dword [ebp - 0x2ec]
mov eax, dword [ebp - 0x2e8]
cmp edi, eax
jbe 0x466e3b
call fcn.004bbc61
mov eax, dword [ebp - 0x2e8]
mov ebx, dword [ebp - 0x2f8]
mov dword [ebp - 0x298], ebx
mov esi, edi
lea esp, [esp]
mov edi, eax
cmp dword [ebp - 0x2ec], eax
jbe 0x466e5f
call fcn.004bbc61
test ebx, ebx
je 0x466e6b
cmp ebx, dword [ebp - 0x2f8]
je 0x466e70
call fcn.004bbc61
cmp esi, edi
je 0x466ffe
test ebx, ebx
jne 0x466fe4
call fcn.004bbc61
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x466e91
call fcn.004bbc61
test ebx, ebx
jne 0x466feb
call fcn.004bbc61
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x466eaa
call fcn.004bbc61
mov eax, dword [esi]
mov edi, dword [ebp - 0x270]
push 0x18
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov ebx, eax
test ebx, ebx
je 0x466f78
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x466f78
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ecx, dword [ebp - 0x270]
push ebx
push ecx
mov edi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
test edi, edi
je 0x466f78
push eax
lea edx, [ebp - 0x268]
push edx
mov ecx, edi
call fcn.0046df30
mov byte [ebp - 4], 5
mov eax, dword [ebp + 0xc]
add esp, 4
add eax, 0xfffffff0
mov dword [ebp - 0x2a4], esp
mov edi, esp
push eax
call fcn.00425445
add eax, 0x10
add esp, 4
mov dword [edi], eax
lea eax, [ebp - 0x2e0]
mov byte [ebp - 4], 6
mov edi, dword [ebp - 0x268]
push eax
push ecx
add edi, 0xfffffff0
mov dword [ebp - 0x2a8], esp
mov ebx, esp
push edi
call fcn.00425445
add eax, 0x10
mov dword [ebx], eax
add esp, 4
mov byte [ebp - 4], 5
call fcn.00466130
mov byte [ebp - 4], 4
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x466f78
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov edi, dword [ebp - 0x298]
test edi, edi
jne 0x466ff2
call fcn.004bbc61
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x466f93
call fcn.004bbc61
test dword [esi], 0xffff0000
je 0x466fbb
test edi, edi
jne 0x466ff6
call fcn.004bbc61
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x466fb0
call fcn.004bbc61
mov eax, dword [esi]
push eax
call fcn.004bc235
add esp, 4
test edi, edi
jne 0x466ffa
call fcn.004bbc61
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x466fd0
call fcn.004bbc61
mov eax, dword [ebp - 0x2e8]
mov ebx, dword [ebp - 0x298]
add esi, 4
jmp 0x466e50
mov eax, dword [ebx]
jmp 0x466e87
mov eax, dword [ebx]
jmp 0x466ea0
mov eax, dword [edi]
jmp 0x466f89
mov eax, dword [edi]
jmp 0x466fa6
mov eax, dword [edi]
jmp 0x466fc6
mov ecx, dword [ebp - 0x270]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0x4f5720
lea edx, [ebp + 0xc]
push edx
lea eax, [ebp - 0x270]
push eax
call fcn.00424a3b
mov ecx, dword [ebp - 0x270]
add esp, 0xc
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
xor edx, edx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x270]
setne dl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edi, edx
mov edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46705e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test edi, edi
je 0x46714a
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2a4], esp
push 0x4f5720
lea edx, [ebp + 0xc]
push edx
push ecx
mov dword [ebp - 0x270], 0
lea ebx, [ebp - 0x270]
lea edi, [ebp - 0x268]
call fcn.00424a3b
add esp, 0xc
call fcn.0046e1d0
add esp, 8
cmp eax, 0xffffffff
je 0x46714a
mov eax, dword [ebp - 0x270]
mov esi, dword [ebp - 0x268]
test eax, eax
jbe 0x467141
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
call fcn.0046df30
mov byte [ebp - 4], 7
mov eax, dword [ebp + 0xc]
add esp, 4
add eax, 0xfffffff0
mov dword [ebp - 0x2a4], esp
mov edi, esp
push eax
call fcn.00425445
add eax, 0x10
add esp, 4
mov dword [edi], eax
lea ecx, [ebp - 0x2e0]
mov byte [ebp - 4], 8
mov edi, dword [ebp - 0x268]
push ecx
push ecx
add edi, 0xfffffff0
mov dword [ebp - 0x2a8], esp
mov ebx, esp
push edi
call fcn.00425445
add eax, 0x10
mov dword [ebx], eax
add esp, 4
mov byte [ebp - 4], 7
call fcn.00466130
mov byte [ebp - 4], 4
lea edx, [edi + 0xc]
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
test eax, eax
jg 0x467141
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
push esi
call fcn.004bc235
add esp, 4
mov esi, dword [ebp - 0x2ac]
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x268], eax
cmp dword [esi + 0xc], eax
jbe 0x467163
call fcn.004bbc61
mov edi, dword [esi + 0xc]
mov ebx, dword [esi]
cmp edi, dword [esi + 0x10]
jbe 0x467172
call fcn.004bbc61
mov ecx, dword [ebp - 0x268]
mov eax, dword [esi]
push ecx
push ebx
push edi
push eax
lea edx, [ebp - 0x298]
push edx
call fcn.00459700
mov esi, dword [ebp - 0x2d4]
mov ebx, dword [ebp - 0x2d0]
cmp esi, ebx
jbe 0x4671a5
call fcn.004bbc61
mov ebx, dword [ebp - 0x2d0]
mov edi, dword [ebp - 0x2e0]
mov dword [ebp - 0x288], edi
mov dword [ebp - 0x284], esi
cmp dword [ebp - 0x2d4], ebx
jbe 0x4671c4
call fcn.004bbc61
xor esi, esi
cmp edi, esi
je 0x4671d2
cmp edi, dword [ebp - 0x2e0]
je 0x4671d7
call fcn.004bbc61
cmp dword [ebp - 0x284], ebx
je 0x468537
mov dword [ebp - 0x26c], esi
lea esp, [esp]
mov eax, dword [ebp - 0x288]
test eax, eax
jne 0x46723b
call fcn.004bbc61
xor eax, eax
mov esi, dword [ebp - 0x284]
cmp esi, dword [eax + 0x10]
jb 0x467211
call fcn.004bbc61
mov edi, dword [esi + 8]
mov ecx, dword [edi - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
sub edi, 0x10
call edx
cmp dword [edi + 0xc], 0
lea ecx, [edi + 0xc]
jl 0x46723f
cmp eax, dword [edi]
jne 0x46723f
mov ebx, edi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x46727a
mov eax, dword [eax]
jmp 0x467201
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 0x46851e
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.004bb571
add esp, 0x10
add ebx, 0x10
mov dword [ebp - 0x29c], ebx
mov byte [ebp - 4], 9
mov edi, dword [ebx - 0xc]
mov eax, dword [ebx - 8]
mov ecx, 1
sub ecx, dword [ebx - 4]
sub eax, edi
or eax, ecx
jge 0x4672ad
push edi
lea ecx, [ebp - 0x29c]
call fcn.0042251a
mov ebx, dword [ebp - 0x29c]
lea ecx, [edi + 1]
push ecx
push ebx
call fcn.004be9e5
add esp, 8
test edi, edi
jl 0x46852d
cmp edi, dword [ebx - 8]
jg 0x46852d
mov dword [ebx - 0xc], edi
xor edx, edx
mov word [ebx + edi*2], dx
mov edi, dword [ebp - 0x28c]
lea eax, [ebp - 0x29c]
push eax
add edi, 0xcc
call fcn.00469080
lea ecx, [ebp - 0x310]
push ecx
mov ecx, eax
call fcn.00459230
mov byte [ebp - 4], 0xa
mov ebx, dword [ebp - 0x304]
mov eax, dword [ebp - 0x300]
cmp ebx, eax
jbe 0x467319
call fcn.004bbc61
mov eax, dword [ebp - 0x300]
mov edi, dword [ebp - 0x310]
mov esi, ebx
mov dword [ebp - 0x27c], edi
mov dword [ebp - 0x278], esi
lea ecx, [ecx]
mov ebx, eax
cmp dword [ebp - 0x304], eax
jbe 0x46733f
call fcn.004bbc61
test edi, edi
je 0x46734b
cmp edi, dword [ebp - 0x310]
je 0x467350
call fcn.004bbc61
cmp esi, ebx
je 0x4673ec
test edi, edi
jne 0x4673e0
call fcn.004bbc61
cmp esi, dword [edi + 0x10]
jb 0x46736f
call fcn.004bbc61
mov eax, dword [ebp - 0x288]
test eax, eax
jne 0x4673e4
call fcn.004bbc61
xor eax, eax
mov edx, dword [ebp - 0x284]
cmp edx, dword [eax + 0x10]
jb 0x467390
call fcn.004bbc61
mov esi, dword [ebp - 0x278]
mov edi, dword [esi]
mov ebx, dword [ebp - 0x284]
call fcn.00468ac0
test eax, eax
jne 0x467914
mov eax, dword [ebp - 0x27c]
test eax, eax
jne 0x4673e8
call fcn.004bbc61
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x4673c6
call fcn.004bbc61
mov eax, dword [ebp - 0x300]
mov edi, dword [ebp - 0x27c]
add esi, 4
mov dword [ebp - 0x278], esi
jmp 0x467330
mov edi, dword [edi]
jmp 0x467365
mov eax, dword [eax]
jmp 0x467380
mov eax, dword [eax]
jmp 0x4673bc
cmp dword [ebp - 0x26c], 0
jne 0x468450
mov eax, dword [ebp - 0x288]
test eax, eax
jne 0x46753f
call fcn.004bbc61
xor eax, eax
mov ecx, dword [ebp - 0x284]
cmp ecx, dword [eax + 0x10]
jb 0x46741e
call fcn.004bbc61
mov esi, dword [ebp - 0x284]
mov eax, dword [esi + 8]
push str.Microsoft.Windows.Common_Controls
push eax
call fcn.004bb834
add esp, 8
test eax, eax
je 0x468450
mov edi, dword [ebp - 0x288]
test edi, edi
jne 0x467546
call fcn.004bbc61
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x46745c
call fcn.004bbc61
test edi, edi
jne 0x46754d
call fcn.004bbc61
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x467475
call fcn.004bbc61
test edi, edi
jne 0x467554
call fcn.004bbc61
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x46748e
call fcn.004bbc61
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x10]
push edx
push eax
push ecx
lea edx, [ebp - 0x270]
push str._s__s__s_
push edx
call fcn.0046da40
add esp, 0x14
push 0x24c
lea eax, [ebp - 0x25c]
push 0
mov byte [ebp - 4], 0x14
push eax
mov dword [ebp - 0x260], 0
call fcn.004bc420
add esp, 0xc
push 0
push 0
push 0
lea ecx, [ebp - 0x260]
push ecx
push 0
push ecx
mov edi, esp
mov dword [ebp - 0x268], esp
mov dword [ebp - 0x26c], edi
call fcn.004ad3ae
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x466d00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi], eax
mov esi, 0x4ebfa0
shr esi, 0x10
mov byte [ebp - 4], 0x15
test esi, esi
jne 0x46755b
mov ecx, 0x4ebfa0
movzx ebx, cx
push ebx
call fcn.004b5332
test eax, eax
je 0x467575
push ebx
push eax
mov ecx, edi
call fcn.00424e51
jmp 0x467575
mov eax, dword [eax]
jmp 0x46740e
mov eax, dword [edi]
jmp 0x467452
mov eax, dword [edi]
jmp 0x46746b
mov eax, dword [edi]
jmp 0x467484
push 0x4ebfa0
call fcn.004bbaea
add esp, 4
push eax
push 0x4ebfa0
mov ecx, edi
call fcn.004253d4
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x270]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x26c], esp
mov edi, esp
push eax
call fcn.00425445
add eax, 0x10
mov dword [edi], eax
mov edx, dword [ebp - 0x28c]
mov byte [ebp - 4], 0x17
mov eax, dword [edx]
sub eax, 0x10
mov dword [ebp - 0x274], esp
mov edi, esp
push eax
call fcn.00425445
add eax, 0x10
mov dword [edi], eax
add esp, 4
lea edi, [ebp - 0x2a8]
mov byte [ebp - 4], 0x14
call fcn.0046d300
mov eax, dword [eax]
add esp, 0xc
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileExW]
mov edi, eax
mov eax, dword [ebp - 0x2a8]
add eax, 0xfffffff0
mov dword [ebp - 0x274], edi
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x467600
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push edi
push ecx
mov edi, esp
mov dword [ebp - 0x268], esp
mov dword [ebp - 0x26c], edi
call fcn.004ad3ae
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x466d00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x18
test esi, esi
jne 0x467657
mov ecx, 0x4ebfa0
movzx ebx, cx
push ebx
call fcn.004b5332
test eax, eax
je 0x467671
push ebx
push eax
mov ecx, edi
call fcn.00424e51
jmp 0x467671
push 0x4ebfa0
call fcn.004bbaea
add esp, 4
push eax
push 0x4ebfa0
mov ecx, edi
call fcn.004253d4
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x270]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x26c], esp
mov edi, esp
push eax
call fcn.00425445
add eax, 0x10
mov dword [edi], eax
mov edx, dword [ebp - 0x28c]
mov byte [ebp - 4], 0x1a
mov eax, dword [edx]
sub eax, 0x10
mov dword [ebp - 0x280], esp
mov edi, esp
push eax
call fcn.00425445
add eax, 0x10
mov dword [edi], eax
add esp, 4
lea edi, [ebp - 0x2a4]
mov byte [ebp - 4], 0x14
call fcn.0046d300
add esp, 0xc
mov byte [ebp - 4], 0x1b
mov eax, dword [eax]
push eax
push ecx
mov edi, esp
mov dword [ebp - 0x280], esp
mov dword [ebp - 0x268], edi
call fcn.004ad3ae
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x466d00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi], eax
mov ecx, str.Searching_for_deferred_assembly:__s0x_x
mov byte [ebp - 4], 0x1c
test ecx, 0xffff0000
jne 0x46772c
mov edx, ecx
movzx ebx, dx
push ebx
call fcn.004b5332
test eax, eax
je 0x467746
push ebx
push eax
mov ecx, edi
call fcn.00424e51
jmp 0x467746
push str.Searching_for_deferred_assembly:__s0x_x
call fcn.004bbaea
add esp, 4
push eax
push str.Searching_for_deferred_assembly:__s0x_x
mov ecx, edi
call fcn.004253d4
push ecx
mov byte [ebp - 4], 0x1d
mov edi, esp
mov dword [ebp - 0x268], esp
mov dword [ebp - 0x268], edi
call fcn.004ad3ae
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x466d00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi], eax
mov ecx, str.General
mov byte [ebp - 4], 0x1e
test ecx, 0xffff0000
jne 0x4677a6
mov edx, ecx
movzx ebx, dx
push ebx
call fcn.004b5332
test eax, eax
je 0x4677c0
push ebx
push eax
mov ecx, edi
call fcn.00424e51
jmp 0x4677c0
push str.General
call fcn.004bbaea
add esp, 4
push eax
push str.General
mov ecx, edi
call fcn.004253d4
mov byte [ebp - 4], 0x1d
push 1
mov byte [ebp - 4], 0x1b
call fcn.00472780
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x2a4]
add eax, 0xfffffff0
add esp, 0x14
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4677f8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebp - 0x274], 0xffffffff
je 0x46842a
mov esi, dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov dword [ebp - 0x26c], 1
push 2
push ecx
mov dword [ebp - 0x280], esp
mov edi, esp
push ecx
mov ecx, esp
mov dword [ebp - 0x280], esp
push 0x4ebfa0
call fcn.004247ec
push ecx
mov byte [ebp - 4], 0x1f
lea edx, [ebp - 0x234]
mov ecx, esp
mov dword [ebp - 0x268], esp
push edx
call fcn.004247ec
mov eax, dword [ebp - 0x28c]
mov byte [ebp - 4], 0x20
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [ebp - 0x290], esp
mov ebx, esp
push eax
call fcn.00425445
add eax, 0x10
mov dword [ebx], eax
add esp, 4
mov byte [ebp - 4], 0x14
call fcn.0046d300
mov ecx, dword [ebp - 0x28c]
add esp, 0xc
push ecx
call fcn.004658f0
mov eax, dword [ebp - 0x274]
lea edx, [ebp - 0x260]
push edx
push eax
call esi
test eax, eax
jne 0x467815
mov ecx, dword [ebp - 0x274]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x270]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4678d5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x310]
push ecx
mov byte [ebp - 4], 9
call fcn.00459320
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x29c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4671f0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x4671f0
mov edi, dword [ebp - 0x27c]
test edi, edi
jne 0x467aaf
call fcn.004bbc61
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x467933
call fcn.004bbc61
mov eax, dword [esi]
mov ecx, dword [eax + 0x68]
sub ecx, dword [eax + 0x64]
add eax, 0x58
sar ecx, 2
push ecx
test edi, edi
jne 0x467ab6
call fcn.004bbc61
cmp esi, dword [edi + 0x10]
jb 0x467959
call fcn.004bbc61
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, dword [ebp + 0xc]
push eax
push ecx
push ecx
mov esi, esp
mov dword [ebp - 0x290], esp
mov dword [ebp - 0x274], esi
call fcn.004ad3ae
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x466d00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
mov ecx, str.DetermineAssembliesToCreate_SxS_:__s_requires_products_assembly___s_._This_assembly_has__d_redirects:
mov byte [ebp - 4], 0xb
test ecx, 0xffff0000
jne 0x467abd
mov edx, ecx
movzx ebx, dx
push ebx
call fcn.004b5332
mov esi, eax
test esi, esi
je 0x467bb3
mov eax, ebx
shr eax, 4
inc eax
movzx ecx, ax
push 6
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [ebp - 0x264], eax
test eax, eax
je 0x467bb3
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x467bb3
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edi, eax
test edi, edi
je 0x467bb3
mov edx, dword [ebp - 0x264]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
add eax, edi
and ebx, 0xf
jbe 0x467a29
cmp edi, eax
jae 0x467bb3
sub ebx, 1
movzx ecx, word [edi]
lea edi, [edi + ecx*2 + 2]
jne 0x467a15
cmp edi, eax
jae 0x467bb3
movzx eax, word [edi]
test ax, ax
je 0x467bb3
mov esi, dword [ebp - 0x274]
movzx ebx, ax
mov eax, dword [esi]
sub eax, 0x10
mov ecx, 1
sub ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
sub eax, ebx
or eax, ecx
jge 0x467a64
push ebx
mov ecx, esi
call fcn.0042251a
movzx eax, word [edi]
mov edx, dword [esi]
add edi, 2
mov dword [ebp - 0x264], edx
cmp eax, 0xffffffff
jne 0x467a81
push edi
call fcn.004bbaea
add esp, 4
inc eax
mov ecx, dword [ebp - 0x264]
add eax, eax
push eax
push edi
lea esi, [ebx + ebx]
push esi
push ecx
call fcn.004bb571
add esp, 0x10
cmp eax, 0x50
ja case.0x4681b9.1
movzx edx, byte [eax + 0x46876c]
jmp dword [edx*4 + 0x46875c]
mov eax, dword [edi]
jmp 0x467929
mov edi, dword [edi]
jmp 0x46794f
push str.DetermineAssembliesToCreate_SxS_:__s_requires_products_assembly___s_._This_assembly_has__d_redirects:
call fcn.004bbaea
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x467b2a
mov ecx, dword [esi]
mov edi, dword [ecx - 0x10]
cmp dword [ecx - 0xc], ebx
lea eax, [ecx - 0x10]
je 0x467bb3
cmp dword [eax + 0xc], ebx
lea edx, [eax + 0xc]
jge 0x467b01
cmp dword [ecx - 8], ebx
jl 0x46852d
mov dword [ecx - 0xc], ebx
mov edx, dword [esi]
xor eax, eax
mov word [edx], ax
jmp 0x467bb3
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x467b17
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
add eax, 0x10
mov dword [esi], eax
jmp 0x467bb3
mov esi, dword [ebp - 0x274]
mov eax, dword [esi]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x264], ecx
mov edi, str.DetermineAssembliesToCreate_SxS_:__s_requires_products_assembly___s_._This_assembly_has__d_redirects:
sub edi, eax
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, ebx
sar edi, 1
or eax, ecx
jge 0x467b5d
push ebx
mov ecx, esi
call fcn.0042251a
mov eax, dword [esi]
mov ecx, dword [eax - 8]
lea esi, [ebx + ebx]
push esi
cmp edi, dword [ebp - 0x264]
ja 0x467b7d
lea edx, [eax + edi*2]
push edx
add ecx, ecx
push ecx
push eax
call fcn.004bb63f
jmp 0x467b8c
push str.DetermineAssembliesToCreate_SxS_:__s_requires_products_assembly___s_._This_assembly_has__d_redirects:
lea edx, [ecx + ecx]
push edx
push eax
call fcn.004bb571
add esp, 0x10
test ebx, ebx
jl 0x46852d
mov ecx, dword [ebp - 0x274]
mov eax, dword [ecx]
cmp ebx, dword [eax - 8]
jg 0x46852d
mov dword [eax - 0xc], ebx
mov eax, dword [ecx]
xor ecx, ecx
mov word [esi + eax], cx
push ecx
mov byte [ebp - 4], 0xc
mov esi, esp
mov dword [ebp - 0x280], esp
mov dword [ebp - 0x280], esi
call fcn.004ad3ae
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x466d00
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], 0xd
mov dword [ebp - 0x268], eax
test eax, eax
jne 0x467d43
mov ecx, str.General
movzx ebx, cx
push ebx
call fcn.004b5332
mov edi, eax
mov dword [ebp - 0x26c], edi
test edi, edi
je 0x467e3f
mov edx, ebx
shr edx, 4
inc edx
movzx eax, dx
push 6
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [ebp - 0x264], eax
test eax, eax
je 0x467e3f
push eax
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x467e3f
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edi, eax
test edi, edi
je 0x467e3f
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x26c]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
add eax, edi
and ebx, 0xf
jbe 0x467c94
lea ecx, [ecx]
cmp edi, eax
jae 0x467e3f
sub ebx, 1
movzx ecx, word [edi]
lea edi, [edi + ecx*2 + 2]
jne 0x467c80
cmp edi, eax
jae 0x467e3f
movzx eax, word [edi]
test ax, ax
je 0x467e3f
movzx ebx, ax
mov eax, dword [esi]
sub eax, 0x10
mov ecx, 1
sub ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
sub eax, ebx
or eax, ecx
jge 0x467cc9
push ebx
mov ecx, esi
call fcn.0042251a
movzx eax, word [edi]
mov edx, dword [esi]
add edi, 2
mov dword [ebp - 0x264], edx
cmp eax, 0xffffffff
jne 0x467ce6
push edi
call fcn.004bbaea
add esp, 4
inc eax
add eax, eax
push eax
lea ecx, [ebx + ebx]
push edi
push ecx
mov dword [ebp - 0x26c], ecx
mov ecx, dword [ebp - 0x264]
push ecx
call fcn.004bb571
add esp, 0x10
cmp eax, 0x50
ja case.0x4681b9.1
movzx edx, byte [eax + 0x4687d0]
jmp dword [edx*4 + 0x4687c0]
test ebx, ebx
jl 0x46852d
mov eax, dword [esi]
cmp ebx, dword [eax - 8]
jg 0x46852d
mov edx, dword [ebp - 0x26c]
mov dword [eax - 0xc], ebx
mov eax, dword [esi]
xor ecx, ecx
mov word [edx + eax], cx
jmp 0x467e3f
push str.General
call fcn.004bbaea
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x467db0
mov ecx, dword [esi]
mov edi, dword [ecx - 0x10]
cmp dword [ecx - 0xc], ebx
lea eax, [ecx - 0x10]
je 0x467e3f
cmp dword [eax + 0xc], ebx
lea edx, [eax + 0xc]
jge 0x467d87
cmp dword [ecx - 8], ebx
jl 0x46852d
mov dword [ecx - 0xc], ebx
mov eax, dword [esi]
xor ecx, ecx
mov word [eax], cx
jmp 0x467e3f
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x467d9d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
add eax, 0x10
mov dword [esi], eax
jmp 0x467e3f
mov eax, dword [esi]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x264], ecx
mov edi, str.General
sub edi, eax
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, ebx
sar edi, 1
or eax, ecx
jge 0x467ddd
push ebx
mov ecx, esi
call fcn.0042251a
mov eax, dword [esi]
cmp edi, dword [ebp - 0x264]
ja 0x467e09
mov edx, dword [eax - 8]
lea ecx, [ebx + ebx]
push ecx
mov dword [ebp - 0x264], ecx
lea ecx, [eax + edi*2]
push ecx
add edx, edx
push edx
push eax
call fcn.004bb63f
mov edi, dword [ebp - 0x264]
jmp 0x467e1e
mov ecx, dword [eax - 8]
lea edi, [ebx + ebx]
push edi
push str.General
add ecx, ecx
push ecx
push eax
call fcn.004bb571
add esp, 0x10
test ebx, ebx
jl 0x46852d
mov eax, dword [esi]
cmp ebx, dword [eax - 8]
jg 0x46852d
mov dword [eax - 0xc], ebx
mov edx, dword [esi]
xor eax, eax
mov word [edi + edx], ax
mov byte [ebp - 4], 0xc
push 1
mov byte [ebp - 4], 0xa
call fcn.00472780
mov eax, dword [ebp - 0x27c]
add esp, 0x18
test eax, eax
jne 0x46806a
call fcn.004bbc61
xor eax, eax
mov esi, dword [ebp - 0x278]
cmp esi, dword [eax + 0x10]
jb 0x467e76
call fcn.004bbc61
mov esi, dword [esi]
mov edi, dword [esi + 0x64]
add esi, 0x58
cmp edi, dword [esi + 0x10]
jbe 0x467e88
call fcn.004bbc61
mov ebx, dword [esi]
mov dword [ebp - 0x298], ebx
mov dword [ebp - 0x294], edi
mov eax, dword [ebp - 0x27c]
test eax, eax
jne 0x468071
call fcn.004bbc61
xor eax, eax
mov ecx, dword [ebp - 0x278]
cmp ecx, dword [eax + 0x10]
jb 0x467ebb
call fcn.004bbc61
mov edx, dword [ebp - 0x278]
mov edi, dword [edx]
mov esi, dword [edi + 0x68]
add edi, 0x58
cmp dword [edi + 0xc], esi
jbe 0x467ed3
call fcn.004bbc61
mov edi, dword [edi]
test ebx, ebx
je 0x467edd
cmp ebx, edi
je 0x467ee2
call fcn.004bbc61
cmp dword [ebp - 0x294], esi
je 0x468249
test ebx, ebx
jne 0x468078
call fcn.004bbc61
xor eax, eax
mov ecx, dword [ebp - 0x294]
cmp ecx, dword [eax + 0x10]
jb 0x467f0d
call fcn.004bbc61
mov edx, dword [ebp - 0x294]
mov eax, dword [edx]
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x290], esp
mov dword [ebp - 0x274], esi
call fcn.004ad3ae
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x466d00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
mov ecx, str.___bindingRedirect:__s
mov byte [ebp - 4], 0xe
test ecx, 0xffff0000
jne 0x4680a5
mov edx, ecx
movzx ebx, dx
push ebx
call fcn.004b5332
mov esi, eax
test esi, esi
je 0x4680bf
mov eax, ebx
shr eax, 4
inc eax
movzx ecx, ax
push 6
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [ebp - 0x26c], eax
test eax, eax
je 0x4680bf
mov edx, eax
push edx
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x4680bf
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edi, eax
test edi, edi
je 0x4680bf
mov eax, dword [ebp - 0x26c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
add eax, edi
and ebx, 0xf
jbe 0x467fe4
lea ebx, [ebx]
cmp edi, eax
jae 0x4680bf
sub ebx, 1
movzx ecx, word [edi]
lea edi, [edi + ecx*2 + 2]
jne 0x467fd0
cmp edi, eax
jae 0x4680bf
movzx eax, word [edi]
test ax, ax
je 0x4680bf
mov esi, dword [ebp - 0x274]
movzx ebx, ax
mov eax, dword [esi]
sub eax, 0x10
mov ecx, 1
sub ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
sub eax, ebx
or eax, ecx
jge 0x46801f
push ebx
mov ecx, esi
call fcn.0042251a
movzx eax, word [edi]
mov edx, dword [esi]
add edi, 2
mov dword [ebp - 0x264], edx
cmp eax, 0xffffffff
jne 0x46803c
push edi
call fcn.004bbaea
add esp, 4
inc eax
mov ecx, dword [ebp - 0x264]
add eax, eax
push eax
push edi
lea esi, [ebx + ebx]
push esi
push ecx
call fcn.004bb571
add esp, 0x10
cmp eax, 0x50
ja case.0x4681b9.1
movzx edx, byte [eax + 0x468834]
jmp dword [edx*4 + 0x468824]
mov eax, dword [eax]
jmp 0x467e66
mov eax, dword [eax]
jmp 0x467eab
mov eax, dword [ebx]
jmp 0x467efd
test ebx, ebx
jl 0x46852d
mov ecx, dword [ebp - 0x274]
mov eax, dword [ecx]
cmp ebx, dword [eax - 8]
jg 0x46852d
mov dword [eax - 0xc], ebx
mov eax, dword [ecx]
xor ecx, ecx
mov word [esi + eax], cx
jmp 0x4680bf
push str.___bindingRedirect:__s
call fcn.004bbaea
add esp, 4
push eax
push str.___bindingRedirect:__s
mov ecx, esi
call fcn.004253d4
push ecx
mov byte [ebp - 4], 0xf
mov esi, esp
mov dword [ebp - 0x280], esp
mov dword [ebp - 0x280], esi
call fcn.004ad3ae
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x466d00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x268], 0
jne 0x4681e6
mov ecx, str.General
movzx edi, cx
push edi
call fcn.004b5332
mov ebx, eax
test ebx, ebx
je 0x468200
mov edx, edi
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 0x468200
push edi
push eax
push ebx
call fcn.004226f0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x468200
mov eax, dword [esi]
movzx edi, word [ebx]
sub eax, 0x10
mov ecx, 1
sub ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
sub eax, edi
or eax, ecx
jge 0x46816e
push edi
mov ecx, esi
call fcn.0042251a
movzx eax, word [ebx]
mov ecx, dword [esi]
add ebx, 2
mov dword [ebp - 0x264], ecx
cmp eax, 0xffffffff
jne 0x46818b
push ebx
call fcn.004bbaea
add esp, 4
inc eax
lea edx, [eax + eax]
mov eax, dword [ebp - 0x264]
push edx
lea ecx, [edi + edi]
push ebx
push ecx
push eax
mov dword [ebp - 0x26c], ecx
call fcn.004bb571
add esp, 0x10
cmp eax, 0x50
ja case.0x4681b9.1
movzx ecx, byte [eax + 0x468898]
jmp dword [ecx*4 + 0x468888]
test edi, edi
jl 0x46852d
mov eax, dword [esi]
cmp edi, dword [eax - 8]
jg 0x46852d
mov ecx, dword [ebp - 0x26c]
mov dword [eax - 0xc], edi
mov edx, dword [esi]
xor eax, eax
mov word [ecx + edx], ax
jmp 0x468200
push str.General
call fcn.004bbaea
add esp, 4
push eax
push str.General
mov ecx, esi
call fcn.004253d4
mov byte [ebp - 4], 0xf
push 1
mov byte [ebp - 4], 0xa
call fcn.00472780
mov eax, dword [ebp - 0x298]
add esp, 0x10
test eax, eax
jne 0x468245
call fcn.004bbc61
xor eax, eax
mov edx, dword [ebp - 0x294]
cmp edx, dword [eax + 0x10]
jb 0x468233
call fcn.004bbc61
add dword [ebp - 0x294], 4
mov ebx, dword [ebp - 0x298]
jmp 0x467e96
mov eax, dword [eax]
jmp 0x468223
mov esi, dword [ebp - 0x27c]
test esi, esi
jne 0x4683d3
call fcn.004bbc61
xor eax, eax
mov ecx, dword [ebp - 0x278]
cmp ecx, dword [eax + 0x10]
jb 0x46826e
call fcn.004bbc61
mov ebx, dword [ebp - 0x278]
mov edi, dword [ebp - 0x2ac]
call fcn.00469020
mov dword [ebp - 0x264], 1
test esi, esi
jne 0x4683da
call fcn.004bbc61
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4682a2
call fcn.004bbc61
mov edx, dword [ebx]
cmp dword [edx + 0x24], 2
jne 0x4684a4
test esi, esi
jne 0x4683e1
call fcn.004bbc61
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4682c7
call fcn.004bbc61
mov eax, dword [ebx]
mov ecx, dword [eax + 8]
push ecx
push ecx
mov edi, esp
mov dword [ebp - 0x290], esp
mov dword [ebp - 0x280], edi
call fcn.004ad3ae
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x466d00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi], eax
mov ecx, str.DetermineAssembliesToCreate_SxS_:_turning_assembly__s_from_gatDeferredCandidate_to_gatDeferred
mov byte [ebp - 4], 0x11
test ecx, 0xffff0000
jne 0x4683e8
mov edx, ecx
movzx esi, dx
push esi
call fcn.004b5332
test eax, eax
je 0x46832b
push esi
push eax
mov ecx, edi
call fcn.00424e51
mov esi, dword [ebp - 0x27c]
push ecx
mov bl, 0x12
mov byte [ebp - 4], bl
mov edi, esp
mov dword [ebp - 0x280], esp
mov dword [ebp - 0x280], edi
call fcn.004ad3ae
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x466d00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x13
cmp dword [ebp - 0x268], 0
jne 0x468407
mov ecx, str.General
movzx esi, cx
push esi
call fcn.004b5332
test eax, eax
je 0x468393
push esi
push eax
mov ecx, edi
call fcn.00424e51
mov esi, dword [ebp - 0x27c]
mov byte [ebp - 4], bl
push 1
mov byte [ebp - 4], 0xa
call fcn.00472780
add esp, 0x10
test esi, esi
jne 0x468426
call fcn.004bbc61
xor eax, eax
mov esi, dword [ebp - 0x278]
cmp esi, dword [eax + 0x10]
jb 0x4683c5
call fcn.004bbc61
mov edx, dword [esi]
mov dword [edx + 0x24], 1
jmp 0x4684a4
mov eax, dword [esi]
jmp 0x46825e
mov eax, dword [esi]
jmp 0x468298
mov eax, dword [esi]
jmp 0x4682bd
push str.DetermineAssembliesToCreate_SxS_:_turning_assembly__s_from_gatDeferredCandidate_to_gatDeferred
call fcn.004bbaea
add esp, 4
push eax
push str.DetermineAssembliesToCreate_SxS_:_turning_assembly__s_from_gatDeferredCandidate_to_gatDeferred
mov ecx, edi
call fcn.004253d4
jmp 0x468331
push str.General
call fcn.004bbaea
add esp, 4
push eax
push str.General
mov ecx, edi
call fcn.004253d4
jmp 0x468399
mov eax, dword [esi]
jmp 0x4683b5
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x270]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x468450
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x2c8]
push ecx
test eax, eax
jne 0x468513
call fcn.004bbc61
xor eax, eax
mov edi, dword [ebp - 0x284]
cmp edi, dword [eax + 0x10]
jb 0x46847c
call fcn.004bbc61
mov eax, dword [edi + 8]
push ecx
sub eax, 0x10
mov dword [ebp - 0x290], esp
mov esi, esp
push eax
call fcn.00425445
mov ecx, dword [ebp - 0x28c]
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.00466030
lea edx, [ebp - 0x310]
push edx
mov byte [ebp - 4], 9
call fcn.00459320
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x29c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4684da
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x288]
test eax, eax
jne 0x46851a
call fcn.004bbc61
xor eax, eax
mov ecx, dword [ebp - 0x284]
cmp ecx, dword [eax + 0x10]
jb 0x4684fb
call fcn.004bbc61
add dword [ebp - 0x284], 0x74
mov ebx, dword [ebp - 0x2d0]
mov edi, dword [ebp - 0x288]
jmp 0x4671b7
mov eax, dword [eax]
jmp 0x46846c
mov eax, dword [eax]
jmp 0x4684eb
call fcn.00426483
call fcn.004ad916
call fcn.004ad94e
push 0x80070057
call fcn.00422000
push 4
call fcn.004acca2
add esp, 4
cmp eax, esi
je 0x46854f
lea edx, [ebp - 0x2c4]
mov dword [eax], edx
jmp 0x468551
xor eax, eax
mov dword [ebp - 0x2c4], eax
mov dword [ebp - 0x2b8], esi
mov dword [ebp - 0x2b4], esi
mov dword [ebp - 0x2b0], esi
lea eax, [ebp - 0x2c4]
push eax
mov byte [ebp - 4], 0x22
mov eax, dword [ebp + 0xc]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x290], esp
mov edi, esp
push eax
call fcn.00425445
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.0048fa00
add esp, 8
cmp eax, esi
je 0x468652
mov edi, dword [ebp - 0x2b8]
cmp edi, dword [ebp - 0x2b4]
jbe 0x4685b4
call fcn.004bbc61
mov ebx, dword [ebp - 0x2c4]
lea ebx, [ebx]
mov esi, dword [ebp - 0x2b4]
cmp dword [ebp - 0x2b8], esi
jbe 0x4685d3
call fcn.004bbc61
test ebx, ebx
je 0x4685df
cmp ebx, dword [ebp - 0x2c4]
je 0x4685e4
call fcn.004bbc61
cmp edi, esi
je 0x468650
mov ecx, dword [ebp - 0x2c8]
push ecx
test ebx, ebx
jne 0x468648
call fcn.004bbc61
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x468604
call fcn.004bbc61
mov eax, dword [edi]
push ecx
sub eax, 0x10
mov dword [ebp - 0x290], esp
mov esi, esp
push eax
call fcn.00425445
mov ecx, dword [ebp - 0x28c]
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.00466030
test ebx, ebx
jne 0x46864c
call fcn.004bbc61
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x468640
call fcn.004bbc61
add edi, 4
jmp 0x4685c0
mov eax, dword [ebx]
jmp 0x4685fa
mov eax, dword [ebx]
jmp 0x468636
xor esi, esi
mov byte [ebp - 4], 0x23
mov eax, dword [ebp - 0x2b8]
cmp eax, esi
je 0x4686a6
mov edi, dword [ebp - 0x2b4]
mov esi, eax
cmp eax, edi
je 0x468695
lea esp, [esp]
mov eax, dword [esi]
sub eax, 0x10
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x46868e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add esi, 4
cmp esi, edi
jne 0x468670
mov ecx, dword [ebp - 0x2b8]
push ecx
call fcn.004accd1
add esp, 4
xor esi, esi
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x2c4]
push edx
mov dword [ebp - 0x2b8], esi
mov dword [ebp - 0x2b4], esi
mov dword [ebp - 0x2b0], esi
call fcn.004accd1
add esp, 4
lea eax, [ebp - 0x2f8]
push eax
mov byte [ebp - 4], 3
call fcn.00459320
lea ecx, [ebp - 0x2e0]
push ecx
mov byte [ebp - 4], 2
call fcn.00469250
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2a0]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x468711
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
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 0x468737
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x264]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004bb182
mov esp, ebp
pop ebp
ret 8