Function at 0x461d10
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 0x4d2b9f
mov eax, dword fs:[0]
push eax
sub esp, 0x2ec
mov eax, dword [0x50cc94]
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 dword [ebp - 0x278], eax
mov dword [ebp - 0x2a8], ecx
mov dword [ebp - 0x2a4], edx
xor esi, esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x274], esi
call fcn.004a1286
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x461d78
push 0x80004005
call fcn.00421000
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x29c], esi
mov ecx, 0x4e0608
mov byte [ebp - 4], 1
test ecx, 0xffff0000
jne 0x461e78
mov edx, ecx
movzx edi, dx
push edi
call fcn.004a91be
mov ebx, eax
test ebx, ebx
je 0x461e9c
mov eax, edi
shr eax, 4
inc eax
movzx ecx, ax
push 6
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
test eax, eax
je 0x461e9c
push edi
push eax
push ebx
call fcn.00421708
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x461e9c
movzx edi, word [ebx]
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edi
or eax, ecx
jge 0x461e0a
push edi
lea ecx, [ebp - 0x29c]
call fcn.00421527
mov esi, dword [ebp - 0x29c]
movzx eax, word [ebx]
add ebx, 2
mov dword [ebp - 0x268], ebx
cmp eax, 0xffffffff
jne 0x461e25
push ebx
call fcn.004af97a
add esp, 4
inc eax
lea edx, [eax + eax]
mov eax, dword [ebp - 0x268]
push edx
push eax
lea ebx, [edi + edi]
push ebx
push esi
call fcn.004af400
add esp, 0x10
cmp eax, 0x50
ja case.0x461e49.1
movzx ecx, byte [eax + 0x46397c]
jmp dword [ecx*4 + 0x46396c]
call fcn.004a17ee
call fcn.004a1826
test edi, edi
jl 0x461e6e
cmp edi, dword [esi - 8]
jg 0x461e6e
xor edx, edx
mov dword [esi - 0xc], edi
mov word [ebx + esi], dx
jmp 0x461e9c
push 0x80070057
call fcn.00421000
push 0x4e0608
call fcn.004af97a
add esp, 4
push eax
push 0x4e0608
lea ecx, [ebp - 0x29c]
call fcn.0042423a
mov esi, dword [ebp - 0x29c]
lea eax, [ebp - 0x2dc]
push eax
mov byte [ebp - 4], 2
call fcn.00464610
mov ecx, dword [ebp - 0x2a4]
push 3
mov byte [ebp - 4], 3
mov edx, dword [ebp + 0xc]
push 0
push edx
mov dword [ecx], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov ebx, eax
mov dword [ebp - 0x288], ebx
test ebx, ebx
jne 0x461f32
lea eax, [ebp - 0x2dc]
push eax
mov byte [ebp - 4], 2
call fcn.00464670
add esi, 0xfffffff0
mov byte [ebp - 4], bl
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x461f05
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
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 0x461f2b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
jmp 0x46394b
lea ecx, [ebp - 0x2f4]
push ecx
call fcn.00464610
lea edx, [ebp - 0x2f4]
push edx
push 0x46ede0
push 0x18
push ebx
mov byte [ebp - 4], 4
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
mov edi, dword [ebp - 0x2e8]
mov eax, dword [ebp - 0x2e4]
cmp edi, eax
jbe 0x461f72
call fcn.004afaf1
mov eax, dword [ebp - 0x2e4]
mov ecx, dword [ebp - 0x2f4]
mov dword [ebp - 0x284], ecx
mov esi, edi
mov edi, eax
cmp dword [ebp - 0x2e8], eax
jbe 0x461f95
call fcn.004afaf1
mov ecx, dword [ebp - 0x284]
test ecx, ecx
je 0x461fa1
cmp ecx, dword [ebp - 0x2f4]
je 0x461fac
call fcn.004afaf1
mov ecx, dword [ebp - 0x284]
cmp esi, edi
je 0x46214c
test ecx, ecx
jne 0x462132
call fcn.004afaf1
mov ecx, dword [ebp - 0x284]
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x461fd9
call fcn.004afaf1
mov ecx, dword [ebp - 0x284]
test ecx, ecx
jne 0x462139
call fcn.004afaf1
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x461ff2
call fcn.004afaf1
mov eax, dword [esi]
push 0x18
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov ebx, eax
test ebx, ebx
je 0x4620c0
mov ecx, dword [ebp - 0x288]
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x4620c0
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edx, dword [ebp - 0x288]
push ebx
push edx
mov edi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
test edi, edi
je 0x4620c0
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, edi
call fcn.004693f0
mov byte [ebp - 4], 5
mov eax, dword [ebp + 0xc]
add esp, 4
add eax, 0xfffffff0
mov dword [ebp - 0x264], esp
mov edi, esp
push eax
call fcn.004242ab
add eax, 0x10
add esp, 4
mov dword [edi], eax
lea ecx, [ebp - 0x2dc]
mov byte [ebp - 4], 6
mov edi, dword [ebp - 0x268]
push ecx
push ecx
add edi, 0xfffffff0
mov dword [ebp - 0x2a0], esp
mov ebx, esp
push edi
call fcn.004242ab
add eax, 0x10
mov dword [ebx], eax
add esp, 4
mov byte [ebp - 4], 5
call fcn.00460b00
mov byte [ebp - 4], 4
lea edx, [edi + 0xc]
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
test eax, eax
jg 0x4620c0
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
mov edi, dword [ebp - 0x284]
test edi, edi
jne 0x462140
call fcn.004afaf1
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x4620db
call fcn.004afaf1
test dword [esi], 0xffff0000
je 0x462103
test edi, edi
jne 0x462144
call fcn.004afaf1
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x4620f8
call fcn.004afaf1
mov ecx, dword [esi]
push ecx
call fcn.004b00c5
add esp, 4
test edi, edi
jne 0x462148
call fcn.004afaf1
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x462118
call fcn.004afaf1
mov eax, dword [ebp - 0x2e4]
mov ebx, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x284]
add esi, 4
jmp 0x461f80
mov eax, dword [ecx]
jmp 0x461fc9
mov eax, dword [ecx]
jmp 0x461fe8
mov eax, dword [edi]
jmp 0x4620d1
mov eax, dword [edi]
jmp 0x4620ee
mov eax, dword [edi]
jmp 0x46210e
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0x4e585c
lea edx, [ebp + 0xc]
push edx
lea eax, [ebp - 0x26c]
push eax
call fcn.00423841
mov ecx, dword [ebp - 0x26c]
add esp, 0xc
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
xor edx, edx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x26c]
setne dl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov esi, edx
mov edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4621a6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test esi, esi
je 0x462292
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x264], esp
push 0x4e585c
lea edx, [ebp + 0xc]
push edx
push ecx
mov dword [ebp - 0x26c], 0
lea ebx, [ebp - 0x26c]
lea edi, [ebp - 0x268]
call fcn.00423841
add esp, 0xc
call fcn.00469690
add esp, 8
cmp eax, 0xffffffff
je 0x462292
mov eax, dword [ebp - 0x26c]
mov esi, dword [ebp - 0x268]
test eax, eax
jbe 0x462289
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
call fcn.004693f0
mov byte [ebp - 4], 7
mov eax, dword [ebp + 0xc]
add esp, 4
add eax, 0xfffffff0
mov dword [ebp - 0x264], esp
mov edi, esp
push eax
call fcn.004242ab
add eax, 0x10
add esp, 4
mov dword [edi], eax
lea ecx, [ebp - 0x2dc]
mov byte [ebp - 4], 8
mov edi, dword [ebp - 0x268]
push ecx
push ecx
add edi, 0xfffffff0
mov dword [ebp - 0x2a0], esp
mov ebx, esp
push edi
call fcn.004242ab
add eax, 0x10
mov dword [ebx], eax
add esp, 4
mov byte [ebp - 4], 7
call fcn.00460b00
mov byte [ebp - 4], 4
lea edx, [edi + 0xc]
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
test eax, eax
jg 0x462289
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
push esi
call fcn.004b00c5
add esp, 4
mov esi, dword [ebp - 0x2a8]
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x268], eax
cmp dword [esi + 0xc], eax
jbe 0x4622ab
call fcn.004afaf1
mov edi, dword [esi + 0xc]
mov ebx, dword [esi]
cmp edi, dword [esi + 0x10]
jbe 0x4622ba
call fcn.004afaf1
mov ecx, dword [ebp - 0x268]
mov eax, dword [esi]
push ecx
push ebx
push edi
push eax
lea edx, [ebp - 0x284]
push edx
call fcn.00450ee0
mov esi, dword [ebp - 0x2d0]
mov eax, dword [ebp - 0x2cc]
cmp esi, eax
jbe 0x4622ed
call fcn.004afaf1
mov eax, dword [ebp - 0x2cc]
mov edi, dword [ebp - 0x2dc]
mov dword [ebp - 0x290], edi
mov dword [ebp - 0x28c], esi
nop
mov esi, eax
cmp dword [ebp - 0x2d0], eax
jbe 0x46230f
call fcn.004afaf1
xor ebx, ebx
cmp edi, ebx
je 0x46231d
cmp edi, dword [ebp - 0x2dc]
je 0x462322
call fcn.004afaf1
cmp dword [ebp - 0x28c], esi
je 0x463743
mov dword [ebp - 0x268], ebx
mov eax, dword [ebp - 0x278]
mov edi, dword [eax + 0xc0]
cmp edi, dword [eax + 0xc4]
jbe 0x46234d
call fcn.004afaf1
mov eax, dword [ebp - 0x278]
mov esi, dword [eax + 0xb4]
mov dword [ebp - 0x298], esi
mov ebx, edi
mov edi, dword [eax + 0xc4]
mov dword [ebp - 0x294], ebx
cmp dword [eax + 0xc0], edi
jbe 0x462380
call fcn.004afaf1
mov eax, dword [ebp - 0x278]
mov eax, dword [eax + 0xb4]
test esi, esi
je 0x46238e
cmp esi, eax
je 0x462393
call fcn.004afaf1
cmp ebx, edi
je 0x462416
test esi, esi
jne 0x46240a
call fcn.004afaf1
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4623ac
call fcn.004afaf1
mov eax, dword [ebp - 0x290]
test eax, eax
jne 0x46240e
call fcn.004afaf1
xor eax, eax
mov ecx, dword [ebp - 0x28c]
cmp ecx, dword [eax + 0x10]
jb 0x4623cd
call fcn.004afaf1
mov edx, dword [ebx]
mov eax, dword [ebp - 0x28c]
push edx
push eax
call fcn.00463e00
add esp, 8
test eax, eax
jne 0x4629d6
test esi, esi
jne 0x462412
call fcn.004afaf1
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4623fc
call fcn.004afaf1
mov eax, dword [ebp - 0x278]
add ebx, 4
jmp 0x462361
mov eax, dword [esi]
jmp 0x4623a2
mov eax, dword [eax]
jmp 0x4623bd
mov eax, dword [esi]
jmp 0x4623f2
cmp dword [ebp - 0x268], 0
jne 0x4636b2
mov eax, dword [ebp - 0x290]
test eax, eax
jne 0x46256f
call fcn.004afaf1
xor eax, eax
mov ecx, dword [ebp - 0x28c]
cmp ecx, dword [eax + 0x10]
jb 0x462448
call fcn.004afaf1
mov esi, dword [ebp - 0x28c]
mov eax, dword [esi + 8]
push str.Microsoft.Windows.Common_Controls
push eax
call fcn.004af6c3
add esp, 8
test eax, eax
je 0x4636b2
mov edi, dword [ebp - 0x290]
test edi, edi
jne 0x462576
call fcn.004afaf1
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x462486
call fcn.004afaf1
test edi, edi
jne 0x46257d
call fcn.004afaf1
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x46249f
call fcn.004afaf1
test edi, edi
jne 0x462584
call fcn.004afaf1
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x4624b8
call fcn.004afaf1
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x10]
push edx
push eax
push ecx
lea edx, [ebp - 0x288]
push str._s__s__s_
push edx
call fcn.00468c80
add esp, 0x14
push 0x24c
lea eax, [ebp - 0x25c]
push 0
mov byte [ebp - 4], 0x12
push eax
mov dword [ebp - 0x260], 0
call fcn.004b02b0
add esp, 0xc
push 0
push 0
push 0
lea ecx, [ebp - 0x260]
push ecx
push 0
push ecx
mov esi, esp
mov dword [ebp - 0x268], esp
mov dword [ebp - 0x26c], esi
call fcn.004a1286
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x461d6e
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
mov ebx, 0x4dec30
shr ebx, 0x10
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x264], ebx
test ebx, ebx
jne 0x46258b
mov ecx, 0x4dec30
movzx edi, cx
push edi
call fcn.004a91be
test eax, eax
je 0x4625a5
push edi
push eax
mov ecx, esi
call fcn.00423cb7
jmp 0x4625a5
mov eax, dword [eax]
jmp 0x462438
mov eax, dword [edi]
jmp 0x46247c
mov eax, dword [edi]
jmp 0x462495
mov eax, dword [edi]
jmp 0x4624ae
push 0x4dec30
call fcn.004af97a
add esp, 4
push eax
push 0x4dec30
mov ecx, esi
call fcn.0042423a
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x288]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x26c], esp
mov edi, esp
push eax
call fcn.004242ab
add eax, 0x10
mov dword [edi], eax
mov edx, dword [ebp - 0x278]
mov byte [ebp - 4], 0x15
mov eax, dword [edx]
sub eax, 0x10
mov dword [ebp - 0x270], esp
mov edi, esp
push eax
call fcn.004242ab
add eax, 0x10
mov dword [edi], eax
add esp, 4
lea edi, [ebp - 0x2c4]
mov byte [ebp - 4], 0x12
call fcn.004687d0
mov eax, dword [eax]
add esp, 0xc
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileExW]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x2c4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46262e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x26c]
push ecx
push ecx
mov esi, esp
mov dword [ebp - 0x270], esp
mov dword [ebp - 0x268], esi
call fcn.004a1286
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x461d6e
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], 0x16
test ebx, ebx
jne 0x46268b
mov ecx, 0x4dec30
movzx edi, cx
push edi
call fcn.004a91be
test eax, eax
je 0x4626a5
push edi
push eax
mov ecx, esi
call fcn.00423cb7
jmp 0x4626a5
push 0x4dec30
call fcn.004af97a
add esp, 4
push eax
push 0x4dec30
mov ecx, esi
call fcn.0042423a
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x288]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x268], esp
mov edi, esp
push eax
call fcn.004242ab
add eax, 0x10
mov dword [edi], eax
mov edx, dword [ebp - 0x278]
mov byte [ebp - 4], 0x18
mov eax, dword [edx]
sub eax, 0x10
mov dword [ebp - 0x27c], esp
mov edi, esp
push eax
call fcn.004242ab
add eax, 0x10
mov dword [edi], eax
add esp, 4
lea edi, [ebp - 0x2a0]
mov byte [ebp - 4], 0x12
call fcn.004687d0
add esp, 0xc
mov byte [ebp - 4], 0x19
mov eax, dword [eax]
push eax
push ecx
mov edi, esp
mov dword [ebp - 0x27c], esp
mov dword [ebp - 0x270], edi
call fcn.004a1286
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x461d6e
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], 0x1a
test ecx, 0xffff0000
jne 0x462760
mov edx, ecx
movzx esi, dx
push esi
call fcn.004a91be
test eax, eax
je 0x46277a
push esi
push eax
mov ecx, edi
call fcn.00423cb7
jmp 0x46277a
push str.Searching_for_deferred_assembly:__s0x_x
call fcn.004af97a
add esp, 4
push eax
push str.Searching_for_deferred_assembly:__s0x_x
mov ecx, edi
call fcn.0042423a
push ecx
mov bl, 0x1b
mov byte [ebp - 4], bl
mov esi, esp
mov dword [ebp - 0x270], esp
mov dword [ebp - 0x270], esi
call fcn.004a1286
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x461d6e
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
mov ecx, str.General
mov byte [ebp - 4], 0x1c
test ecx, 0xffff0000
jne 0x4627db
mov edx, ecx
movzx edi, dx
push edi
call fcn.004a91be
test eax, eax
je 0x4627f5
push edi
push eax
mov ecx, esi
call fcn.00423cb7
jmp 0x4627f5
push str.General
call fcn.004af97a
add esp, 4
push eax
push str.General
mov ecx, esi
call fcn.0042423a
mov byte [ebp - 4], bl
push 1
mov byte [ebp - 4], 0x19
call fcn.0046e660
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x2a0]
add eax, 0xfffffff0
add esp, 0x14
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46282c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebp - 0x26c], 0xffffffff
je 0x46368c
lea esp, [esp]
push 2
push ecx
mov dword [ebp - 0x27c], esp
mov ebx, esp
push ecx
mov edi, esp
mov dword [ebp - 0x27c], esp
mov dword [ebp - 0x270], edi
call fcn.004a1286
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x461d6e
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], 0x1d
cmp dword [ebp - 0x264], 0
jne 0x4628a6
mov ecx, 0x4dec30
movzx esi, cx
push esi
call fcn.004a91be
test eax, eax
je 0x4628c0
push esi
push eax
mov ecx, edi
call fcn.00423cb7
jmp 0x4628c0
push 0x4dec30
call fcn.004af97a
add esp, 4
push eax
push 0x4dec30
mov ecx, edi
call fcn.0042423a
push ecx
mov byte [ebp - 4], 0x1e
mov esi, esp
mov dword [ebp - 0x270], esp
mov dword [ebp - 0x268], esi
call fcn.004a1286
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x461d6e
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0x1f
test ecx, 0xffff0000
jne 0x462921
mov edx, ecx
movzx edi, dx
push edi
call fcn.004a91be
test eax, eax
je 0x46293f
push edi
push eax
mov ecx, esi
call fcn.00423cb7
jmp 0x46293f
lea eax, [ebp - 0x234]
push eax
call fcn.004af97a
add esp, 4
push eax
lea ecx, [ebp - 0x234]
push ecx
mov ecx, esi
call fcn.0042423a
mov esi, dword [ebp - 0x278]
mov byte [ebp - 4], 0x20
mov eax, dword [esi]
push ecx
sub eax, 0x10
mov dword [ebp - 0x268], esp
mov edi, esp
push eax
call fcn.004242ab
add eax, 0x10
mov dword [edi], eax
add esp, 4
mov edi, ebx
mov byte [ebp - 4], 0x12
call fcn.004687d0
add esp, 0xc
mov ecx, esi
call fcn.0045ffb0
mov esi, dword [ebp - 0x26c]
lea edx, [ebp - 0x260]
push edx
push esi
mov dword [ebp - 0x268], 1
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x462840
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x288]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x462334
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x462334
test esi, esi
jne 0x462b6b
call fcn.004afaf1
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4629ef
call fcn.004afaf1
mov eax, dword [ebx]
mov ecx, dword [eax + 0x68]
sub ecx, dword [eax + 0x64]
add eax, 0x58
sar ecx, 2
push ecx
test esi, esi
jne 0x462b72
call fcn.004afaf1
cmp ebx, dword [esi + 0x10]
jb 0x462a15
call fcn.004afaf1
mov edx, dword [ebx]
mov eax, dword [edx + 8]
mov ecx, dword [ebp + 0xc]
push eax
push ecx
push ecx
mov ebx, esp
mov dword [ebp - 0x27c], esp
mov dword [ebp - 0x268], ebx
call fcn.004a1286
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x461d6e
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebx], eax
mov ecx, str.DetermineAssembliesToCreate_SxS_:__s_requires_products_assembly___s_._This_assembly_has__d_redirects:
mov byte [ebp - 4], 9
test ecx, 0xffff0000
jne 0x462ba2
mov edx, ecx
movzx edi, dx
push edi
call fcn.004a91be
mov ebx, eax
test ebx, ebx
je 0x462c9e
mov eax, edi
shr eax, 4
inc eax
movzx ecx, ax
push 6
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [ebp - 0x264], eax
test eax, eax
je 0x462c9e
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x462c9e
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov esi, eax
test esi, esi
je 0x462c9e
mov edx, dword [ebp - 0x264]
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
add eax, esi
and edi, 0xf
jbe 0x462ae5
cmp esi, eax
jae 0x462c9e
sub edi, 1
movzx ecx, word [esi]
lea esi, [esi + ecx*2 + 2]
jne 0x462ad1
cmp esi, eax
jae 0x462c9e
movzx eax, word [esi]
test ax, ax
je 0x462c9e
mov ebx, dword [ebp - 0x268]
movzx edi, ax
mov eax, dword [ebx]
sub eax, 0x10
mov ecx, 1
sub ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
sub eax, edi
or eax, ecx
jge 0x462b20
push edi
mov ecx, ebx
call fcn.00421527
movzx eax, word [esi]
mov edx, dword [ebx]
add esi, 2
mov dword [ebp - 0x264], edx
cmp eax, 0xffffffff
jne 0x462b3d
push esi
call fcn.004af97a
add esp, 4
inc eax
mov ecx, dword [ebp - 0x264]
add eax, eax
push eax
push esi
lea ebx, [edi + edi]
push ebx
push ecx
call fcn.004af400
add esp, 0x10
cmp eax, 0x50
ja case.0x461e49.1
movzx edx, byte [eax + 0x4639e0]
jmp dword [edx*4 + 0x4639d0]
mov eax, dword [esi]
jmp 0x4629e5
mov esi, dword [esi]
jmp 0x462a0b
test edi, edi
jl 0x461e6e
mov ecx, dword [ebp - 0x268]
mov eax, dword [ecx]
cmp edi, dword [eax - 8]
jg 0x461e6e
mov dword [eax - 0xc], edi
mov eax, dword [ecx]
xor ecx, ecx
mov word [ebx + eax], cx
jmp 0x462c9e
push str.DetermineAssembliesToCreate_SxS_:__s_requires_products_assembly___s_._This_assembly_has__d_redirects:
call fcn.004af97a
mov edi, eax
add esp, 4
test edi, edi
jne 0x462c0f
mov ecx, dword [ebx]
mov esi, dword [ecx - 0x10]
cmp dword [ecx - 0xc], edi
lea eax, [ecx - 0x10]
je 0x462c9e
cmp dword [eax + 0xc], edi
lea edx, [eax + 0xc]
jge 0x462be6
cmp dword [ecx - 8], edi
jl 0x461e6e
mov dword [ecx - 0xc], edi
mov edx, dword [ebx]
xor eax, eax
mov word [edx], ax
jmp 0x462c9e
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x462bfc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
add eax, 0x10
mov dword [ebx], eax
jmp 0x462c9e
mov eax, dword [ebx]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x264], ecx
mov esi, str.DetermineAssembliesToCreate_SxS_:__s_requires_products_assembly___s_._This_assembly_has__d_redirects:
sub esi, eax
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, edi
sar esi, 1
or eax, ecx
jge 0x462c3c
push edi
mov ecx, ebx
call fcn.00421527
mov eax, dword [ebx]
cmp esi, dword [ebp - 0x264]
ja 0x462c68
mov edx, dword [eax - 8]
lea ecx, [edi + edi]
push ecx
mov dword [ebp - 0x264], ecx
lea ecx, [eax + esi*2]
push ecx
add edx, edx
push edx
push eax
call fcn.004af4ce
mov esi, dword [ebp - 0x264]
jmp 0x462c7d
mov ecx, dword [eax - 8]
lea esi, [edi + edi]
push esi
push str.DetermineAssembliesToCreate_SxS_:__s_requires_products_assembly___s_._This_assembly_has__d_redirects:
add ecx, ecx
push ecx
push eax
call fcn.004af400
add esp, 0x10
test edi, edi
jl 0x461e6e
mov eax, dword [ebx]
cmp edi, dword [eax - 8]
jg 0x461e6e
mov dword [eax - 0xc], edi
mov edx, dword [ebx]
xor eax, eax
mov word [esi + edx], ax
push ecx
mov byte [ebp - 4], 0xa
mov ebx, esp
mov dword [ebp - 0x270], esp
mov dword [ebp - 0x270], ebx
call fcn.004a1286
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x461d6e
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebx], eax
mov eax, str.General
shr eax, 0x10
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x268], eax
test eax, eax
jne 0x462e2b
mov ecx, str.General
movzx edi, cx
push edi
call fcn.004a91be
mov esi, eax
mov dword [ebp - 0x274], esi
test esi, esi
je 0x462f27
mov edx, edi
shr edx, 4
inc edx
movzx eax, dx
push 6
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [ebp - 0x264], eax
test eax, eax
je 0x462f27
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x462f27
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov esi, eax
test esi, esi
je 0x462f27
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x274]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
add eax, esi
and edi, 0xf
jbe 0x462d7c
cmp esi, eax
jae 0x462f27
sub edi, 1
movzx ecx, word [esi]
lea esi, [esi + ecx*2 + 2]
jne 0x462d68
cmp esi, eax
jae 0x462f27
movzx eax, word [esi]
test ax, ax
je 0x462f27
movzx edi, ax
mov eax, dword [ebx]
sub eax, 0x10
mov ecx, 1
sub ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
sub eax, edi
or eax, ecx
jge 0x462db1
push edi
mov ecx, ebx
call fcn.00421527
movzx eax, word [esi]
mov edx, dword [ebx]
add esi, 2
mov dword [ebp - 0x264], edx
cmp eax, 0xffffffff
jne 0x462dce
push esi
call fcn.004af97a
add esp, 4
inc eax
add eax, eax
push eax
lea ecx, [edi + edi]
push esi
push ecx
mov dword [ebp - 0x274], ecx
mov ecx, dword [ebp - 0x264]
push ecx
call fcn.004af400
add esp, 0x10
cmp eax, 0x50
ja case.0x461e49.1
movzx edx, byte [eax + 0x463a44]
jmp dword [edx*4 + 0x463a34]
test edi, edi
jl 0x461e6e
mov eax, dword [ebx]
cmp edi, dword [eax - 8]
jg 0x461e6e
mov edx, dword [ebp - 0x274]
mov dword [eax - 0xc], edi
mov eax, dword [ebx]
xor ecx, ecx
mov word [edx + eax], cx
jmp 0x462f27
push str.General
call fcn.004af97a
mov edi, eax
add esp, 4
test edi, edi
jne 0x462e98
mov ecx, dword [ebx]
mov esi, dword [ecx - 0x10]
cmp dword [ecx - 0xc], edi
lea eax, [ecx - 0x10]
je 0x462f27
cmp dword [eax + 0xc], edi
lea edx, [eax + 0xc]
jge 0x462e6f
cmp dword [ecx - 8], edi
jl 0x461e6e
mov dword [ecx - 0xc], edi
mov eax, dword [ebx]
xor ecx, ecx
mov word [eax], cx
jmp 0x462f27
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x462e85
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
add eax, 0x10
mov dword [ebx], eax
jmp 0x462f27
mov eax, dword [ebx]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x264], ecx
mov esi, str.General
sub esi, eax
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, edi
sar esi, 1
or eax, ecx
jge 0x462ec5
push edi
mov ecx, ebx
call fcn.00421527
mov eax, dword [ebx]
cmp esi, dword [ebp - 0x264]
ja 0x462ef1
mov edx, dword [eax - 8]
lea ecx, [edi + edi]
push ecx
mov dword [ebp - 0x264], ecx
lea ecx, [eax + esi*2]
push ecx
add edx, edx
push edx
push eax
call fcn.004af4ce
mov esi, dword [ebp - 0x264]
jmp 0x462f06
mov ecx, dword [eax - 8]
lea esi, [edi + edi]
push esi
push str.General
add ecx, ecx
push ecx
push eax
call fcn.004af400
add esp, 0x10
test edi, edi
jl 0x461e6e
mov eax, dword [ebx]
cmp edi, dword [eax - 8]
jg 0x461e6e
mov dword [eax - 0xc], edi
mov edx, dword [ebx]
xor eax, eax
mov word [esi + edx], ax
mov byte [ebp - 4], 0xa
push 1
mov byte [ebp - 4], 4
call fcn.0046e660
mov eax, dword [ebp - 0x298]
add esp, 0x18
test eax, eax
jne 0x463150
call fcn.004afaf1
xor eax, eax
mov esi, dword [ebp - 0x294]
cmp esi, dword [eax + 0x10]
jb 0x462f5e
call fcn.004afaf1
mov esi, dword [esi]
mov edi, dword [esi + 0x64]
add esi, 0x58
cmp edi, dword [esi + 0x10]
jbe 0x462f70
call fcn.004afaf1
mov ebx, dword [esi]
mov dword [ebp - 0x284], ebx
mov dword [ebp - 0x280], edi
mov eax, dword [ebp - 0x298]
test eax, eax
jne 0x463157
call fcn.004afaf1
xor eax, eax
mov ecx, dword [ebp - 0x294]
cmp ecx, dword [eax + 0x10]
jb 0x462fa3
call fcn.004afaf1
mov edx, dword [ebp - 0x294]
mov esi, dword [edx]
mov edi, dword [esi + 0x68]
add esi, 0x58
cmp dword [esi + 0xc], edi
jbe 0x462fbb
call fcn.004afaf1
mov esi, dword [esi]
test ebx, ebx
je 0x462fc5
cmp ebx, esi
je 0x462fca
call fcn.004afaf1
cmp dword [ebp - 0x280], edi
je 0x46332f
test ebx, ebx
jne 0x46315e
call fcn.004afaf1
xor eax, eax
mov ecx, dword [ebp - 0x280]
cmp ecx, dword [eax + 0x10]
jb 0x462ff5
call fcn.004afaf1
mov edx, dword [ebp - 0x280]
mov eax, dword [edx]
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x27c], esp
mov dword [ebp - 0x274], esi
call fcn.004a1286
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x461d6e
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], 0xc
test ecx, 0xffff0000
jne 0x46318b
mov edx, ecx
movzx ebx, dx
push ebx
call fcn.004a91be
mov esi, eax
test esi, esi
je 0x4631a5
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 0x4631a5
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x4631a5
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edi, eax
test edi, edi
je 0x4631a5
mov edx, dword [ebp - 0x264]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
add eax, edi
and ebx, 0xf
jbe 0x4630c4
cmp edi, eax
jae 0x4631a5
sub ebx, 1
movzx ecx, word [edi]
lea edi, [edi + ecx*2 + 2]
jne 0x4630b0
cmp edi, eax
jae 0x4631a5
movzx eax, word [edi]
test ax, ax
je 0x4631a5
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 0x4630ff
push ebx
mov ecx, esi
call fcn.00421527
movzx eax, word [edi]
mov edx, dword [esi]
add edi, 2
mov dword [ebp - 0x264], edx
cmp eax, 0xffffffff
jne 0x46311c
push edi
call fcn.004af97a
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.004af400
add esp, 0x10
cmp eax, 0x50
ja case.0x461e49.1
movzx edx, byte [eax + 0x463aa8]
jmp dword [edx*4 + 0x463a98]
mov eax, dword [eax]
jmp 0x462f4e
mov eax, dword [eax]
jmp 0x462f93
mov eax, dword [ebx]
jmp 0x462fe5
test ebx, ebx
jl 0x461e6e
mov eax, dword [esi]
cmp ebx, dword [eax - 8]
jg 0x461e6e
mov edx, dword [ebp - 0x26c]
mov dword [eax - 0xc], ebx
mov eax, dword [esi]
xor ecx, ecx
mov word [edx + eax], cx
jmp 0x4631a5
push str.___bindingRedirect:__s
call fcn.004af97a
add esp, 4
push eax
push str.___bindingRedirect:__s
mov ecx, esi
call fcn.0042423a
push ecx
mov byte [ebp - 4], 0xd
mov esi, esp
mov dword [ebp - 0x270], esp
mov dword [ebp - 0x270], esi
call fcn.004a1286
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x461d6e
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], 0xe
cmp dword [ebp - 0x268], 0
jne 0x4632cc
mov ecx, str.General
movzx edi, cx
push edi
call fcn.004a91be
mov ebx, eax
test ebx, ebx
je 0x4632e6
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 0x4632e6
push edi
push eax
push ebx
call fcn.00421708
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x4632e6
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 0x463254
push edi
mov ecx, esi
call fcn.00421527
movzx eax, word [ebx]
mov ecx, dword [esi]
add ebx, 2
mov dword [ebp - 0x264], ecx
cmp eax, 0xffffffff
jne 0x463271
push ebx
call fcn.004af97a
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 - 0x274], ecx
call fcn.004af400
add esp, 0x10
cmp eax, 0x50
ja case.0x461e49.1
movzx ecx, byte [eax + 0x463b0c]
jmp dword [ecx*4 + 0x463afc]
test edi, edi
jl 0x461e6e
mov eax, dword [esi]
cmp edi, dword [eax - 8]
jg 0x461e6e
mov ecx, dword [ebp - 0x274]
mov dword [eax - 0xc], edi
mov edx, dword [esi]
xor eax, eax
mov word [ecx + edx], ax
jmp 0x4632e6
push str.General
call fcn.004af97a
add esp, 4
push eax
push str.General
mov ecx, esi
call fcn.0042423a
mov byte [ebp - 4], 0xd
push 1
mov byte [ebp - 4], 4
call fcn.0046e660
mov eax, dword [ebp - 0x284]
add esp, 0x10
test eax, eax
jne 0x46332b
call fcn.004afaf1
xor eax, eax
mov edx, dword [ebp - 0x280]
cmp edx, dword [eax + 0x10]
jb 0x463319
call fcn.004afaf1
add dword [ebp - 0x280], 4
mov ebx, dword [ebp - 0x284]
jmp 0x462f7e
mov eax, dword [eax]
jmp 0x463309
mov eax, dword [ebp - 0x298]
test eax, eax
jne 0x4634b4
call fcn.004afaf1
xor eax, eax
mov ecx, dword [ebp - 0x294]
cmp ecx, dword [eax + 0x10]
jb 0x463354
call fcn.004afaf1
mov ebx, dword [ebp - 0x294]
mov edi, dword [ebp - 0x2a8]
call fcn.004645b0
mov esi, dword [ebp - 0x298]
mov dword [ebp - 0x274], 1
test esi, esi
jne 0x4634bb
call fcn.004afaf1
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x46338e
call fcn.004afaf1
mov edx, dword [ebx]
cmp dword [edx + 0x24], 2
jne 0x463702
test esi, esi
jne 0x4634c2
call fcn.004afaf1
cmp ebx, dword [esi + 0x10]
jb 0x4633b1
call fcn.004afaf1
mov eax, dword [ebx]
mov ecx, dword [eax + 8]
push ecx
push ecx
mov ebx, esp
mov dword [ebp - 0x27c], esp
mov dword [ebp - 0x270], ebx
call fcn.004a1286
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x461d6e
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebx], eax
mov ecx, str.DetermineAssembliesToCreate_SxS_:_turning_assembly__s_from_gatDeferredCandidate_to_gatDeferred
mov byte [ebp - 4], 0xf
test ecx, 0xffff0000
jne 0x4634ef
mov edx, ecx
movzx esi, dx
push esi
call fcn.004a91be
mov edi, eax
test edi, edi
je 0x463509
mov eax, esi
shr eax, 4
inc eax
movzx ecx, ax
push 6
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
test eax, eax
je 0x463509
push esi
push eax
push edi
call fcn.00421708
mov edi, eax
add esp, 0xc
test edi, edi
je 0x463509
mov eax, dword [ebx]
movzx esi, word [edi]
sub eax, 0x10
mov ecx, 1
sub ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
sub eax, esi
or eax, ecx
jge 0x463463
push esi
mov ecx, ebx
call fcn.00421527
movzx eax, word [edi]
mov edx, dword [ebx]
add edi, 2
mov dword [ebp - 0x264], edx
cmp eax, 0xffffffff
jne 0x463480
push edi
call fcn.004af97a
add esp, 4
inc eax
add eax, eax
push eax
lea ecx, [esi + esi]
push edi
push ecx
mov dword [ebp - 0x26c], ecx
mov ecx, dword [ebp - 0x264]
push ecx
call fcn.004af400
add esp, 0x10
cmp eax, 0x50
ja case.0x461e49.1
movzx edx, byte [eax + 0x463b70]
jmp dword [edx*4 + 0x463b60]
mov eax, dword [eax]
jmp 0x463344
mov eax, dword [esi]
jmp 0x463384
mov esi, dword [esi]
jmp 0x4633a7
test esi, esi
jl 0x461e6e
mov eax, dword [ebx]
cmp esi, dword [eax - 8]
jg 0x461e6e
mov edx, dword [ebp - 0x26c]
mov dword [eax - 0xc], esi
mov eax, dword [ebx]
xor ecx, ecx
mov word [edx + eax], cx
jmp 0x463509
push str.DetermineAssembliesToCreate_SxS_:_turning_assembly__s_from_gatDeferredCandidate_to_gatDeferred
call fcn.004af97a
add esp, 4
push eax
push str.DetermineAssembliesToCreate_SxS_:_turning_assembly__s_from_gatDeferredCandidate_to_gatDeferred
mov ecx, ebx
call fcn.0042423a
push ecx
mov byte [ebp - 4], 0x10
mov ebx, esp
mov dword [ebp - 0x270], esp
mov dword [ebp - 0x270], ebx
call fcn.004a1286
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x461d6e
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebx], eax
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x268], 0
jne 0x463630
mov ecx, str.General
movzx esi, cx
push esi
call fcn.004a91be
mov edi, eax
test edi, edi
je 0x46364a
mov edx, esi
shr edx, 4
inc edx
movzx eax, dx
push 6
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
test eax, eax
je 0x46364a
push esi
push eax
push edi
call fcn.00421708
mov edi, eax
add esp, 0xc
test edi, edi
je 0x46364a
mov eax, dword [ebx]
movzx esi, word [edi]
sub eax, 0x10
mov ecx, 1
sub ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
sub eax, esi
or eax, ecx
jge 0x4635b8
push esi
mov ecx, ebx
call fcn.00421527
movzx eax, word [edi]
mov ecx, dword [ebx]
add edi, 2
mov dword [ebp - 0x264], ecx
cmp eax, 0xffffffff
jne 0x4635d5
push edi
call fcn.004af97a
add esp, 4
inc eax
lea edx, [eax + eax]
mov eax, dword [ebp - 0x264]
push edx
lea ecx, [esi + esi]
push edi
push ecx
push eax
mov dword [ebp - 0x268], ecx
call fcn.004af400
add esp, 0x10
cmp eax, 0x50
ja case.0x461e49.1
movzx ecx, byte [eax + 0x463bd4]
jmp dword [ecx*4 + 0x463bc4]
test esi, esi
jl 0x461e6e
mov eax, dword [ebx]
cmp esi, dword [eax - 8]
jg 0x461e6e
mov ecx, dword [ebp - 0x268]
mov dword [eax - 0xc], esi
mov edx, dword [ebx]
xor eax, eax
mov word [ecx + edx], ax
jmp 0x46364a
push str.General
call fcn.004af97a
add esp, 4
push eax
push str.General
mov ecx, ebx
call fcn.0042423a
mov byte [ebp - 4], 0x10
push 1
mov byte [ebp - 4], 4
call fcn.0046e660
mov eax, dword [ebp - 0x298]
add esp, 0x10
test eax, eax
jne 0x463688
call fcn.004afaf1
xor eax, eax
mov esi, dword [ebp - 0x294]
cmp esi, dword [eax + 0x10]
jb 0x46367d
call fcn.004afaf1
mov edx, dword [esi]
mov dword [edx + 0x24], 1
jmp 0x463702
mov eax, dword [eax]
jmp 0x46366d
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x288]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4636b2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x2a4]
push ecx
test eax, eax
jne 0x46373b
call fcn.004afaf1
xor eax, eax
mov edi, dword [ebp - 0x28c]
cmp edi, dword [eax + 0x10]
jb 0x4636da
call fcn.004afaf1
mov eax, dword [edi + 8]
push ecx
sub eax, 0x10
mov dword [ebp - 0x27c], esp
mov esi, esp
push eax
call fcn.004242ab
mov ecx, dword [ebp - 0x278]
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.00460a00
mov eax, dword [ebp - 0x290]
test eax, eax
jne 0x46373f
call fcn.004afaf1
xor eax, eax
mov edx, dword [ebp - 0x28c]
cmp edx, dword [eax + 0x10]
jb 0x463723
call fcn.004afaf1
add dword [ebp - 0x28c], 0x74
mov eax, dword [ebp - 0x2cc]
mov edi, dword [ebp - 0x290]
jmp 0x462300
mov eax, dword [eax]
jmp 0x4636ca
mov eax, dword [eax]
jmp 0x463713
push 4
call fcn.004a0b7a
add esp, 4
cmp eax, ebx
je 0x46375b
lea ecx, [ebp - 0x2c0]
mov dword [eax], ecx
jmp 0x46375d
xor eax, eax
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2b4], ebx
mov dword [ebp - 0x2b0], ebx
mov dword [ebp - 0x2ac], ebx
lea edx, [ebp - 0x2c0]
mov byte [ebp - 4], 0x22
mov eax, dword [ebp + 0xc]
push edx
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x27c], esp
mov esi, esp
push eax
call fcn.004242ab
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.0048b0f0
add esp, 8
cmp eax, ebx
je 0x463860
mov edi, dword [ebp - 0x2b4]
cmp edi, dword [ebp - 0x2b0]
jbe 0x4637c0
call fcn.004afaf1
mov ebx, dword [ebp - 0x2c0]
jmp 0x4637d0
mov esi, dword [ebp - 0x2b0]
cmp dword [ebp - 0x2b4], esi
jbe 0x4637e3
call fcn.004afaf1
test ebx, ebx
je 0x4637ef
cmp ebx, dword [ebp - 0x2c0]
je 0x4637f4
call fcn.004afaf1
cmp edi, esi
je 0x463860
mov eax, dword [ebp - 0x2a4]
push eax
test ebx, ebx
jne 0x463858
call fcn.004afaf1
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x463814
call fcn.004afaf1
mov eax, dword [edi]
push ecx
sub eax, 0x10
mov dword [ebp - 0x27c], esp
mov esi, esp
push eax
call fcn.004242ab
mov ecx, dword [ebp - 0x278]
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.00460a00
test ebx, ebx
jne 0x46385c
call fcn.004afaf1
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x463850
call fcn.004afaf1
add edi, 4
jmp 0x4637d0
mov eax, dword [ebx]
jmp 0x46380a
mov eax, dword [ebx]
jmp 0x463846
mov byte [ebp - 4], 0x23
mov esi, dword [ebp - 0x2b4]
xor ebx, ebx
cmp esi, ebx
je 0x4638b4
mov edi, dword [ebp - 0x2b0]
cmp esi, edi
je 0x4638a5
lea ebx, [ebx]
mov eax, dword [esi]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46389e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add esi, 4
cmp esi, edi
jne 0x463880
mov ecx, dword [ebp - 0x2b4]
push ecx
call fcn.004a0ba9
add esp, 4
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x2c0]
push edx
mov dword [ebp - 0x2b4], ebx
mov dword [ebp - 0x2b0], ebx
mov dword [ebp - 0x2ac], ebx
call fcn.004a0ba9
add esp, 4
lea eax, [ebp - 0x2f4]
push eax
mov byte [ebp - 4], 3
call fcn.004647a0
lea ecx, [ebp - 0x2dc]
push ecx
mov byte [ebp - 4], 2
call fcn.00464670
mov byte [ebp - 4], 0
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 0x46391f
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 0x463945
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x274]
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.004af011
mov esp, ebp
pop ebp
ret 8