Function at 0x40f050
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x5c5cd8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x6c
push ebx
push ebp
mov ebp, dword [esp + 0x84]
push esi
mov esi, ecx
push edi
push ebp
lea ecx, [esp + 0x90]
call fcn.0046ab70
mov eax, dword [eax]
xor ebx, ebx
push eax
push str.CImportAuthMgr::ImportAuth___s_
push str.CheckModule
push 0xf
push 0x654a04
mov dword [esp + 0x98], ebx
call fcn.00445f90
add esp, 0x14
lea ecx, [esp + 0x8c]
mov dword [esp + 0x84], 0xffffffff
call fcn.0046b3e0
xor edi, edi
cmp ebp, ebx
mov dword [esp + 0x10], ebx
je 0x40f4b8
push ebp
call fcn.00451ffc
add esp, 4
test eax, eax
je 0x40f4b8
cmp dword [esi + 0x40], ebx
je 0x40f475
push ebp
lea ecx, [esp + 0x2c]
call fcn.005ac5b7
xor ecx, ecx
mov dword [esp + 0x84], 1
mov dword [esp + 0x32], ecx
mov word [esp + 0x30], 0x54
mov dword [esp + 0x36], ecx
mov word [esp + 0x32], 0x65
mov dword [esp + 0x3a], ecx
mov word [esp + 0x34], 0x63
mov dword [esp + 0x3e], ecx
mov word [esp + 0x36], 0x6c
mov dword [esp + 0x42], ecx
mov word [esp + 0x38], 0x69
mov word [esp + 0x46], cx
lea ecx, [esp + 0x48]
mov word [esp + 0x3a], 0x6e
mov word [esp + 0x3c], 0x6b
mov word [esp + 0x3e], 0x32
mov word [esp + 0x40], 0x30
mov word [esp + 0x42], 0x31
mov word [esp + 0x44], 0x37
mov word [esp + 0x46], bx
call fcn.004b8f80
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x30]
push edx
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x8c], 2
call fcn.004b91b0
test eax, eax
je 0x40f47f
lea ecx, [esp + 0x48]
call fcn.004bb640
mov ebp, eax
cmp ebp, ebx
je 0x40f489
mov ecx, 0x64c240
call fcn.00410ba0
mov ecx, esi
mov dword [esi + 0x58], ebx
call fcn.0040f9e0
mov ecx, esi
call fcn.0040f900
lea ecx, [esi + 0x7c]
push ecx
mov ecx, 0x64c344
call fcn.0046b590
lea edx, [esi + 0x6c]
mov ecx, 0x64c318
push edx
call fcn.005ac68a
lea edi, [esi + 0x74]
mov ecx, 0x64c31c
push edi
call fcn.0046b590
mov eax, 1
push edi
mov dword [esi + 0x94], eax
mov ecx, 0x64c360
mov dword [0x64c32c], eax
call fcn.0046b590
lea eax, [esi + 0x60]
mov ecx, 0x64c35c
push eax
call fcn.0046b590
mov ecx, dword [0x62ed80]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x8c], ecx
mov bl, 3
xor edi, edi
test ebp, ebp
mov byte [esp + 0x84], bl
jle 0x40f433
lea ecx, [esp + 0x8c]
call fcn.005ac4cb
lea edx, [esp + 0x2c]
lea eax, [esp + 0x8c]
push edx
push eax
push edi
lea ecx, [esp + 0x54]
call fcn.004bb650
test eax, eax
je 0x40f42a
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x40f42a
mov edx, dword [esp + 0x8c]
lea ecx, [esp + 0x18]
push ecx
push edx
mov ecx, 0x64c350
mov dword [esp + 0x20], 0
call fcn.0042bb90
test eax, eax
je 0x40f2ef
lea ecx, [esp + 0x14]
call fcn.0047d160
mov ecx, dword [esp + 0x8c]
lea eax, [esp + 0x14]
push eax
push ecx
lea ecx, [esp + 0x50]
mov byte [esp + 0x8c], 4
call fcn.004ba790
test eax, eax
jne 0x40f2ce
mov byte [esp + 0x84], bl
lea ecx, [esp + 0x14]
jmp 0x40f425
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x14]
push edx
push eax
mov ecx, esi
call fcn.0040f6e0
mov byte [esp + 0x84], bl
lea ecx, [esp + 0x14]
jmp 0x40f425
mov edx, dword [esp + 0x8c]
lea ecx, [esp + 0x18]
push ecx
push edx
mov ecx, 0x64c350
call fcn.0042bc50
test eax, eax
je 0x40f366
lea ecx, [esp + 0x1c]
call fcn.0047d160
mov ecx, dword [esp + 0x8c]
lea eax, [esp + 0x1c]
push eax
push ecx
lea ecx, [esp + 0x50]
mov byte [esp + 0x8c], 5
call fcn.004ba790
test eax, eax
jne 0x40f345
mov byte [esp + 0x84], bl
lea ecx, [esp + 0x1c]
jmp 0x40f425
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x1c]
push edx
push eax
mov ecx, esi
call fcn.0040f710
mov byte [esp + 0x84], bl
lea ecx, [esp + 0x1c]
jmp 0x40f425
mov ecx, dword [esp + 0x8c]
push ecx
mov ecx, 0x64c350
call fcn.0042bd60
test eax, eax
je 0x40f3cd
lea ecx, [esp + 0x20]
call fcn.0047d160
mov eax, dword [esp + 0x8c]
lea edx, [esp + 0x20]
push edx
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x8c], 6
call fcn.004ba790
test eax, eax
jne 0x40f3b4
mov byte [esp + 0x84], bl
lea ecx, [esp + 0x20]
jmp 0x40f425
lea ecx, [esp + 0x20]
push ecx
mov ecx, esi
call fcn.0040f740
mov byte [esp + 0x84], bl
lea ecx, [esp + 0x20]
jmp 0x40f425
mov edx, dword [esp + 0x8c]
mov ecx, 0x64c350
push edx
call fcn.0042c800
test eax, eax
je 0x40f42a
lea ecx, [esp + 0x24]
call fcn.0047d160
mov ecx, dword [esp + 0x8c]
lea eax, [esp + 0x24]
push eax
push ecx
lea ecx, [esp + 0x50]
mov byte [esp + 0x8c], 7
call fcn.004ba790
test eax, eax
je 0x40f41a
lea edx, [esp + 0x24]
mov ecx, esi
push edx
call fcn.0040fde0
mov byte [esp + 0x84], bl
lea ecx, [esp + 0x24]
call fcn.0047d290
inc edi
cmp edi, ebp
jl 0x40f239
lea ecx, [esp + 0x8c]
mov edi, 1
mov byte [esp + 0x84], 2
call fcn.005ac543
lea ecx, [esp + 0x48]
mov byte [esp + 0x84], 1
call fcn.004b90a0
lea ecx, [esp + 0x28]
mov dword [esp + 0x84], 0xffffffff
call fcn.005ac543
xor ebx, ebx
jmp 0x40f4c0
mov dword [esp + 0x10], 1
jmp 0x40f4c0
mov dword [esp + 0x10], 5
jmp 0x40f491
mov dword [esp + 0x10], 6
lea ecx, [esp + 0x48]
mov byte [esp + 0x84], 1
call fcn.004b90a0
lea ecx, [esp + 0x28]
mov dword [esp + 0x84], 0xffffffff
call fcn.005ac543
jmp 0x40f4c0
mov dword [esp + 0x10], 2
push edi
push str.CImportAuthMgr::ImportAuth___lu__x1
push str.CheckModule
push 0xf
push 0x654a04
call fcn.00445f90
add esp, 0x14
cmp edi, ebx
je 0x40f59e
mov ecx, esi
call fcn.0040dd30
mov edi, eax
cmp edi, ebx
jne 0x40f4fc
mov dword [esp + 0x10], 4
jmp 0x40f59e
push 0x64bfd8
lea ecx, [esp + 0x28]
call fcn.005ac5b7
mov dword [esp + 0x84], 8
call fcn.00401080
push eax
lea eax, [esp + 0x28]
push str._s_tsafedoc
push eax
call fcn.005a91ab
add esp, 0xc
push 6
call fcn.00401080
push eax
call fcn.00401fd0
mov ecx, dword [esp + 0x2c]
push 6
push ecx
call fcn.00401fd0
add esp, 0x10
mov ecx, 0x64c010
call fcn.0040a640
push eax
mov ecx, 0x64c2d0
call fcn.00414d90
mov ecx, esi
call fcn.0040fa80
mov edi, eax
cmp edi, ebx
jne 0x40f575
mov dword [esp + 0x10], 0xd
jmp 0x40f58a
mov ecx, esi
call fcn.0040f990
mov edi, eax
cmp edi, ebx
jne 0x40f58a
mov dword [esp + 0x10], 0xe
lea ecx, [esp + 0x24]
mov dword [esp + 0x84], 0xffffffff
call fcn.005ac543
mov eax, dword [esp + 0x10]
push edi
push eax
push str.CImportAuthMgr::ImportAuth_err_0x_x__ret__lu_
push str.CheckModule
push 0xf
push 0x654a04
mov dword [esi + 0x5c], eax
call fcn.00445f90
mov ecx, dword [esp + 0x94]
add esp, 0x18
mov eax, edi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x78
ret 4