Function at 0x40f8a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x5291be
mov eax, dword fs:[0]
push eax
sub esp, 0x88c
mov eax, dword [0x58057c]
xor eax, esp
mov dword [esp + 0x888], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x58057c]
xor eax, esp
push eax
lea eax, [esp + 0x8a0]
mov dword fs:[0], eax
mov eax, dword [esp + 0x8b0]
mov ebp, dword [esp + 0x8b8]
mov ebx, dword [esp + 0x8bc]
mov esi, ecx
mov edi, edx
lea ecx, [esp + 0x2dc]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x2c], ebx
call fcn.00418990
lea ecx, [esp + 0x40]
push ecx
mov dword [esp + 0x8ac], 0
call fcn.00445a70
xor eax, eax
mov dword [esp + 0x5c], fcn.004fe6e3
mov dword [esp + 0x60], fcn.004ff2b3
mov dword [esp + 0x64], fcn.004fe606
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], 0x1fff8
mov dword [esp + 0x58], vtable.t_heap.0
mov dword [esp + 0x70], 1
mov byte [esp + 0x8a8], 1
mov dword [esp + 0x24], eax
mov byte [esp + 0x28], al
mov byte [ebx], al
call fcn.00412b80
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x48]
push ecx
push edi
push esi
call fcn.004b3890
add esp, 0x14
test al, al
jne 0x40f9f6
mov ecx, esi
call fcn.00417c00
push 0x55ae1c
push 0x55e008
mov edx, eax
call fcn.00419360
add esp, 8
lea ecx, [esp + 0x40]
mov byte [esp + 0x8a8], 0
call fcn.00444490
mov dword [esp + method.t_str.virtual_0], vtable.t_str.0
cmp byte [esp + 0x3f8], 0
jne 0x40f9ef
mov eax, dword [esp + 0x2e4]
lea edx, [esp + 0x2e8]
cmp eax, edx
je 0x40f9ef
push eax
call fcn.004fe606
add esp, 4
xor al, al
jmp 0x41017e
mov ecx, dword [esp + 0x50]
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0
test eax, eax
je 0x40fa18
mov eax, ecx
neg eax
sbb eax, eax
and eax, dword [esp + 0x54]
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x18]
mov dword [esp + 0x34], ecx
test edx, edx
je 0x410131
test ecx, ecx
je 0x410131
xor eax, eax
mov byte [esp + 0x17], 0
mov dword [esp + 0x20], eax
test edx, edx
jle 0x4100ee
mov ecx, dword [esp + 0x34]
mov esi, dword [ecx + eax*4]
test esi, esi
je 0x40fc30
mov edx, dword [esi + 4]
mov eax, dword [edx + 4]
lea edi, [esi + 4]
push 0
mov ecx, edi
call eax
mov ebx, dword [eax]
lea ecx, [esp + 0x8c]
call fcn.00418990
mov eax, ebx
lea edx, [esp + 0x8c]
call fcn.00418b90
push str..swf
lea ecx, [esp + 0x90]
mov byte [esp + 0x8ac], 3
call fcn.00420d00
push eax
call fcn.004fddd2
add esp, 8
test eax, eax
jne 0x40fbf8
lea ecx, [esp + 0x74]
xor ebp, ebp
test ecx, ecx
je 0x40fab4
mov ebp, dword [esi + 0x14]
mov ebx, dword [esi + 0x10]
xor eax, eax
cmp ebx, eax
jne 0x40fad6
lea ecx, [esp + 0x8c]
mov byte [esp + 0x8a8], 1
call fcn.00418b30
jmp 0x40fc30
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
push ebp
push ebx
lea eax, [esp + 0x84]
call fcn.00431460
add esp, 8
call fcn.00481cb0
mov edx, dword [eax]
push ebp
mov ecx, eax
mov eax, dword [edx + 8]
push ebx
call eax
mov esi, eax
test esi, esi
je 0x40fb2f
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
mov edx, dword [esi]
mov dword [esp + 0x78], eax
mov eax, dword [edx]
mov ecx, esi
call eax
lea esi, [esp + 0x52c]
call fcn.00406830
lea edx, [esp + 0x7c]
mov byte [esp + 0x8a8], 4
mov ecx, dword [esp + 0x78]
push edx
lea eax, [esp + 0x534]
push eax
mov dword [esp + 0x534], ecx
call fcn.00427b20
mov ecx, dword [esp + 0x40]
add esp, 8
push ecx
mov eax, esi
call fcn.004068e0
test al, al
jne 0x40fb93
mov eax, esi
call fcn.00406c90
lea ecx, [esp + 0x8c]
mov byte [esp + 0x8a8], 1
call fcn.00418b30
jmp 0x40fc30
cmp dword [esp + 0x77c], 0
je 0x40fbd0
cmp dword [esp + 0x658], 0
je 0x40fbd0
mov edx, dword [edi]
mov eax, dword [edx + 4]
push 0
mov ecx, edi
call eax
mov eax, dword [eax]
push eax
push 1
lea ecx, [esp + 0x780]
call fcn.004191b0
mov ecx, eax
lea ebx, [esp + 0x48]
call fcn.00444960
jmp 0x40fbe7
call fcn.00481cb0
mov edx, dword [eax]
push ebp
mov ecx, eax
mov eax, dword [edx + 0xc]
push ebx
call eax
mov ecx, dword [esp + 0x2c]
mov byte [ecx], 1
lea eax, [esp + 0x52c]
mov byte [esp + 0x17], 1
call fcn.00406c90
mov byte [esp + 0x8a8], 1
cmp byte [esp + 0x1a8], 0
mov dword [esp + 0x8c], vtable.t_str.0
jne 0x40fc30
mov eax, dword [esp + 0x94]
lea edx, [esp + 0x98]
cmp eax, edx
je 0x40fc30
push eax
call fcn.004fe606
add esp, 4
mov eax, dword [esp + 0x20]
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x20], eax
jl 0x40fa43
cmp byte [esp + 0x17], 0
je 0x4100ea
mov eax, dword [esp + 0x1c]
lea esi, [esp + 0x40]
mov ebx, esi
mov dword [eax + 0x248], 4
call fcn.00445630
mov ecx, dword [esp + 0x30]
call fcn.00420cb0
lea ecx, [esp + 0x1b4]
mov esi, eax
call fcn.0041ee30
lea ecx, [esp + 0x8b4]
push ecx
lea edx, [esp + 0x1b8]
push edx
push str.UserManager
mov byte [esp + 0x8b4], 5
call fcn.00405910
add esp, 4
mov ecx, eax
call fcn.004b5de0
lea ecx, [esp + 0x8c]
call fcn.00418990
mov eax, str.AllSkin
lea edx, [esp + 0x8c]
call fcn.00418b90
mov byte [esp + 0x8a8], 5
cmp byte [esp + 0x1a8], 0
lea eax, [esp + 0x98]
jne 0x40fce7
mov eax, dword [esp + 0x94]
mov ebx, 0x2e
cmp word [eax + 4], bx
jne 0x40fd08
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x1b8]
call fcn.004203e0
jmp 0x40fd1c
lea ecx, [esp + 0x8c]
push ecx
lea ecx, [esp + 0x1b8]
call fcn.0041f520
cmp byte [esp + 0x1a8], 0
mov edi, vtable.t_str.0
mov dword [esp + 0x8c], edi
jne 0x40fd4d
mov eax, dword [esp + 0x94]
lea edx, [esp + 0x98]
cmp eax, edx
je 0x40fd4d
push eax
call fcn.004fe606
add esp, 4
mov ebp, dword [esp + 0x3c]
push 0
push ebp
lea ecx, [esp + 0x1bc]
call fcn.004204e0
lea ecx, [esp + 0x8c]
call fcn.00418990
mov eax, esi
lea edx, [esp + 0x8c]
call fcn.00418b90
mov byte [esp + 0x8a8], 5
cmp byte [esp + 0x1a8], 0
lea eax, [esp + 0x98]
jne 0x40fd9a
mov eax, dword [esp + 0x94]
cmp word [eax + 4], bx
jne 0x40fdb6
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x1b8]
call fcn.004203e0
jmp 0x40fdca
lea ecx, [esp + 0x8c]
push ecx
lea ecx, [esp + 0x1b8]
call fcn.0041f520
cmp byte [esp + 0x1a8], 0
mov dword [esp + 0x8c], edi
jne 0x40fdf6
mov eax, dword [esp + 0x94]
lea edx, [esp + 0x98]
cmp eax, edx
je 0x40fdf6
push eax
call fcn.004fe606
add esp, 4
mov eax, dword [esp + 0x28]
push eax
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x1c0]
push eax
push ebp
call fcn.00412b80
mov ecx, eax
call fcn.004b3960
test al, al
jne 0x40fe82
mov ecx, ebp
call fcn.00417c00
push 0x55ae1c
push 0x55e008
mov edx, eax
call fcn.00419360
add esp, 8
cmp byte [esp + 0x2d0], 0
mov dword [esp + 0x1b4], edi
jne 0x40fe65
mov eax, dword [esp + 0x1bc]
lea ecx, [esp + 0x1c0]
cmp eax, ecx
je 0x40fe65
push eax
call fcn.004fe606
add esp, 4
lea ecx, [esp + 0x40]
mov byte [esp + 0x8a8], 0
call fcn.00444490
mov dword [esp + 0x2dc], edi
jmp 0x40f9ca
mov eax, dword [esp + 0x2c]
cmp byte [eax], 0
mov ebx, dword [esp + 0x1c]
jne 0x41007a
cmp byte [esp + 0x2d0], 0
mov dword [ebx + 0x248], 5
lea eax, [esp + 0x1c0]
jne 0x40feb5
mov eax, dword [esp + 0x1bc]
mov edi, dword [esp + 0x8b4]
lea ecx, [eax + 4]
call fcn.00409a40
test al, al
je 0x4100b2
push str.UserManager
call fcn.00405910
add esp, 4
push 0
push 0
push 0
push 0
push str.SkinReg.exe
add eax, 0x868
push eax
lea ecx, [esp + 0x41c]
call fcn.0041ee90
lea ecx, [esp + 0x8c]
call fcn.00418990
mov byte [esp + 0x8a8], 9
cmp byte [esp + 0x2d0], 0
lea esi, [esp + 0x1c0]
jne 0x40ff24
mov esi, dword [esp + 0x1bc]
push str._install
push 0x55e008
lea edx, [esp + 0x94]
call fcn.00419360
push 0x55aa10
push 0x55e008
lea edx, [esp + 0x9c]
call fcn.00419360
add esi, 4
push esi
push 0x55e008
lea edx, [esp + 0xa4]
call fcn.00419360
push 0x55aa10
push 0x55e008
lea edx, [esp + 0xac]
call fcn.00419360
push str.__q__c__n__na__ef__active
push 0x55e008
lea edx, [esp + 0xb4]
call fcn.00419360
push 0xa
push 0x559064
lea edx, [esp + 0xbc]
call fcn.00419360
push 0x55af84
push 0x55e008
lea edx, [esp + 0xc4]
call fcn.00419360
mov ecx, dword [esp + 0x8ec]
push ecx
push 0x559064
lea edx, [esp + 0xcc]
call fcn.00419360
add esp, 0x40
cmp byte [esp + 0x1a8], 0
lea eax, [esp + 0x98]
jne 0x40ffee
mov eax, dword [esp + 0x94]
push 5
push 0x559058
lea ecx, [eax + 4]
push ebp
lea edx, [esp + 0x410]
call fcn.00420f80
test al, al
jne 0x41005d
push 0x55afe8
mov ecx, ebp
call fcn.004014b0
lea ecx, [esp + 0x8c]
call fcn.00418b30
lea ecx, [esp + 0x404]
call fcn.00418b30
lea ecx, [esp + 0x1b4]
call fcn.00418b30
lea ecx, [esp + 0x40]
mov byte [esp + 0x8a8], 0
call fcn.00444490
lea ecx, [esp + 0x2dc]
call fcn.00418b30
xor al, al
jmp 0x41017e
lea ecx, [esp + 0x8c]
call fcn.00418b30
lea ecx, [esp + 0x404]
call fcn.00418b30
mov edi, vtable.t_str.0
cmp byte [esp + 0x2d0], 0
mov dword [ebx + 0x248], 6
mov dword [esp + 0x1b4], edi
jne 0x4100fd
mov eax, dword [esp + 0x1bc]
lea edx, [esp + 0x1c0]
cmp eax, edx
je 0x4100fd
push eax
call fcn.004fe606
add esp, 4
jmp 0x4100fd
lea ecx, [esp + 0x1b4]
mov dword [ebx + 0x248], 8
call fcn.00418b30
lea ecx, [esp + 0x40]
mov byte [esp + 0x8a8], 0
call fcn.00444490
lea ecx, [esp + 0x2dc]
call fcn.00418b30
jmp 0x41017c
mov ebp, dword [esp + 0x1c]
mov dword [ebp + 0x248], 7
mov edi, vtable.t_str.0
lea ecx, [esp + 0x40]
mov byte [esp + 0x8a8], 0
call fcn.00444490
cmp byte [esp + 0x3f8], 0
mov dword [esp + 0x2dc], edi
jne 0x41017c
mov eax, dword [esp + 0x2e4]
lea ecx, [esp + 0x2e8]
cmp eax, ecx
jmp 0x410171
lea ecx, [esp + 0x40]
mov dword [ebp + 0x248], 7
mov byte [esp + 0x8a8], 0
call fcn.00444490
cmp byte [esp + 0x3f8], 0
mov dword [esp + method.t_str.virtual_0], vtable.t_str.0
jne 0x41017c
mov eax, dword [esp + 0x2e4]
lea edx, [esp + 0x2e8]
cmp eax, edx
je 0x41017c
push eax
call fcn.004fe606
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x8a0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x888]
xor ecx, esp
call fcn.004fdc2b
add esp, 0x898
ret