Function at 0x46d090
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x5293e8
mov eax, dword fs:[0]
push eax
sub esp, 0xf6c
mov eax, dword [0x581500]
xor eax, esp
mov dword [esp + 0xf68], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x581500]
xor eax, esp
push eax
lea eax, [esp + 0xf80]
mov dword fs:[0], eax
mov eax, dword [esp + 0xf90]
xor ebx, ebx
mov esi, ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], ebx
mov byte [esp + 0x18], bl
mov dword [esp + 0x14], ebx
mov dword [esp + 0xf88], ebx
lea ecx, [esp + 0x2c4]
mov dword [esp + 0x2a4], ebx
mov dword [esp + 0x2a8], ebx
mov dword [esp + 0x2ac], ebx
mov dword [esp + 0x2b0], ebx
mov dword [esp + 0x2b4], fcn.004faba2
mov dword [esp + 0x2b8], fcn.004fac96
mov dword [esp + 0x2bc], fcn.004faac5
call fcn.004114e0
mov dword [esp + 0x2c0], ebx
mov byte [esp + 0xf88], 1
mov ecx, dword [esi + 0xc]
push ecx
lea edx, [esp + 0x2a8]
push edx
lea edi, [esp + 0x1c]
call fcn.004a69c0
test al, al
je 0x46d672
mov eax, dword [esp + 0x2c0]
cmp eax, ebx
jle 0x46d672
xor ebp, ebp
cmp eax, ebx
mov dword [esp + 0x2c], ebp
jle 0x46d672
mov dword [esp + 0x28], ebx
jmp 0x46d190
lea esi, [esp + 0x63c]
call fcn.004a7860
cmp ebp, ebx
jl 0x46d2a4
cmp ebp, dword [esp + 0x2c0]
jge 0x46d2a4
mov eax, dword [esp + 0x2a4]
mov ecx, dword [esp + 0x28]
lea esi, [ecx + eax]
lea edi, [esp + 0x63c]
call fcn.004a7f70
mov dword [esp + 0x24], 2
lea eax, [esp + 0x648]
cmp byte [esp + 0x758], bl
jne 0x46d1ea
mov eax, dword [esp + 0x644]
lea edi, [eax + 4]
lea ecx, [esp + 0x17c]
mov dword [esp + 0x34], edi
call fcn.004114e0
cmp dword [esp + 0x29c], ebx
je 0x46d20d
mov dword [esp + 0x29c], ebx
mov ecx, 1
lea esi, [esp + 0x184]
mov dword [esp + 0x180], ebx
call fcn.00412590
lea eax, [esp + 0x188]
cmp byte [esp + 0x298], bl
jne 0x46d23c
mov eax, dword [esp + 0x184]
xor edx, edx
mov word [eax + 4], dx
mov esi, dword [esp + 0x1c]
mov byte [esp + 0xf88], 3
mov eax, dword [esi + 0xc]
push eax
push edi
lea ecx, [esp + 0x184]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00518d70
add esp, 0x10
test al, al
jne 0x46d555
cmp byte [esi + 1], bl
je 0x46d2b5
mov dword [esp + method.t_str.virtual_0], vtable.t_str.0
cmp byte [esp + 0x298], bl
jne 0x46d2a4
mov eax, dword [esp + 0x184]
lea ecx, [esp + 0x188]
cmp eax, ecx
je 0x46d2a4
push eax
call fcn.004faac5
add esp, 4
lea eax, [esp + 0x63c]
call fcn.0042f750
jmp 0x46d658
push edi
lea ecx, [esp + 0x518]
call fcn.00411610
cmp byte [esp + 0xf94], bl
je 0x46d2e8
lea ecx, [esi + 0x10]
call fcn.004a88a0
push eax
push 0x55d15c
lea edx, [esp + 0x51c]
call fcn.00411e80
add esp, 8
lea esi, [esp + 0x520]
cmp byte [esp + 0x630], bl
jne 0x46d2ff
mov esi, dword [esp + 0x51c]
lea ecx, [esp + 0x58]
call fcn.004114e0
lea ebp, [esi + 4]
cmp ebp, ebx
jne 0x46d314
mov ebp, 0x55922c
mov eax, ebp
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x46d320
sub eax, edx
sar eax, 1
lea edi, [eax + 1]
mov ecx, edi
lea esi, [esp + 0x60]
mov dword [esp + 0x5c], eax
call fcn.00412590
lea eax, [esp + 0x64]
cmp byte [esp + 0x174], bl
jne 0x46d352
mov eax, dword [esp + 0x60]
lea edx, [edi + edi]
push edx
add eax, 4
push ebp
push eax
call fcn.004ff740
add esp, 0xc
lea eax, [esp + 0x64]
cmp byte [esp + 0x174], bl
jne 0x46d374
mov eax, dword [esp + 0x60]
lea ebp, [eax + 4]
cmp ebp, ebx
jne 0x46d380
mov ebp, 0x55922c
mov eax, ebp
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x46d385
sub eax, edx
sar eax, 1
lea edi, [eax + 1]
mov ecx, edi
lea esi, [esp + 0x184]
mov dword [esp + 0x180], eax
call fcn.00412590
lea eax, [esp + 0x188]
cmp byte [esp + 0x298], bl
jne 0x46d3c3
mov eax, dword [esp + 0x184]
lea ecx, [edi + edi]
push ecx
add eax, 4
push ebp
push eax
call fcn.004ff740
add esp, 0xc
mov dword [esp + 0x58], vtable.t_str.0
cmp byte [esp + 0x174], bl
jne 0x46d3fa
mov eax, dword [esp + 0x60]
lea edx, [esp + 0x64]
cmp eax, edx
je 0x46d3fa
push eax
call fcn.004faac5
add esp, 4
lea ecx, [esp + 0x58]
call fcn.004114e0
mov ebp, str..png
xor eax, eax
cmp eax, ebp
jne 0x46d413
mov ebp, 0x55922c
mov eax, ebp
lea edx, [eax + 2]
jmp 0x46d420
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x46d420
sub eax, edx
sar eax, 1
lea edi, [eax + 1]
mov ecx, edi
lea esi, [esp + 0x60]
mov dword [esp + 0x5c], eax
call fcn.00412590
lea eax, [esp + 0x64]
cmp byte [esp + 0x174], bl
jne 0x46d452
mov eax, dword [esp + 0x60]
lea ecx, [edi + edi]
push ecx
add eax, 4
push ebp
push eax
call fcn.004ff740
add esp, 0xc
mov byte [esp + 0xf88], 4
lea eax, [esp + 0x64]
cmp byte [esp + 0x174], bl
jne 0x46d47c
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
lea esi, [eax + 4]
mov eax, dword [esp + 0x180]
cmp eax, ecx
jbe 0x46d4b9
lea edx, [esp + 0x188]
cmp byte [esp + 0x298], bl
jne 0x46d4a5
mov edx, dword [esp + 0x184]
sub eax, ecx
lea edx, [edx + eax*2 + 4]
push esi
push edx
call fcn.004fc550
add esp, 8
test eax, eax
je 0x46d4c6
push esi
lea eax, [esp + 0x180]
call fcn.004118e0
mov ebp, vtable.t_str.0
mov dword [esp + 0x58], ebp
cmp byte [esp + 0x174], bl
jne 0x46d4ed
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0x64]
cmp eax, ecx
je 0x46d4ed
push eax
call fcn.004faac5
add esp, 4
mov esi, dword [esp + 0x1c]
mov edx, dword [esi + 0xc]
push str.SkinPreview
push 1
push edx
lea eax, [esp + 0x188]
push eax
lea ecx, [esp + 0x24]
push 4
push ecx
call fcn.004bbfe0
add esp, 0x18
test al, al
je 0x46d51f
mov dword [esp + 0x24], 0x82
lea ecx, [esp + 0x14]
call fcn.004099e0
mov dword [esp + 0x514], ebp
cmp byte [esp + 0x630], bl
jne 0x46d562
mov eax, dword [esp + 0x51c]
lea edx, [esp + 0x520]
cmp eax, edx
je 0x46d562
push eax
call fcn.004faac5
add esp, 4
jmp 0x46d562
mov dword [esp + 0x24], 3
mov ebp, vtable.t_str.0
mov dword [esp + 0x17c], ebp
cmp byte [esp + 0x298], bl
jne 0x46d58d
mov eax, dword [esp + 0x184]
lea ecx, [esp + 0x188]
cmp eax, ecx
je 0x46d58d
push eax
call fcn.004faac5
add esp, 4
lea ecx, [esp + 0x3ec]
call fcn.004114e0
lea edi, [esp + 0x3ec]
lea ecx, [esp + 0x63c]
mov byte [esp + 0xf88], 7
call fcn.004a7ad0
cmp byte [esp + 0x508], bl
je 0x46d73c
lea ecx, [esp + 0x3f8]
mov eax, ecx
mov edx, dword [esp + 0x24]
add ecx, 4
add eax, 4
mov dword [esp + 0x3c], ecx
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xf78]
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 0x38]
mov dword [esp + 0x40], edx
mov edx, dword [esi + 0x14]
mov dword [esp + 0x48], eax
mov eax, dword [esi + 0x18]
push ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], eax
call fcn.0046cf00
inc dword [esp + 0x24]
add esp, 4
mov dword [esp + 0x3ec], ebp
cmp byte [esp + 0x508], bl
jne 0x46d648
mov eax, dword [esp + 0x3f4]
lea edx, [esp + 0x3f8]
cmp eax, edx
je 0x46d648
push eax
call fcn.004faac5
add esp, 4
lea eax, [esp + 0x63c]
call fcn.0042f750
mov ebp, dword [esp + 0x2c]
add dword [esp + 0x28], 0x940
inc ebp
cmp ebp, dword [esp + 0x2c0]
mov dword [esp + 0x2c], ebp
jl 0x46d190
lea ecx, [esp + 0x14]
call fcn.004099e0
mov byte [esp + 0xf88], bl
mov dword [esp + method.t_str.virtual_0], vtable.t_str.0
cmp byte [esp + 0x3e0], bl
jne 0x46d6b1
mov eax, dword [esp + 0x2cc]
lea ecx, [esp + 0x2d0]
cmp eax, ecx
je 0x46d6b1
push eax
call fcn.004faac5
add esp, 4
mov edi, dword [esp + 0x2a4]
cmp edi, ebx
je 0x46d6f9
xor esi, esi
cmp dword [esp + 0x2a8], ebx
mov ebp, edi
jle 0x46d6e7
lea esp, [esp]
mov eax, edi
call fcn.0042f750
inc esi
add edi, 0x940
cmp esi, dword [esp + 0x2a8]
jl 0x46d6d0
push ebp
call dword [esp + 0x2c0]
add esp, 4
mov dword [esp + 0x2a4], ebx
lea ecx, [esp + 0x14]
mov dword [esp + 0x2a8], ebx
mov dword [esp + 0x2ac], ebx
call fcn.00409930
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xf80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xf68]
xor ecx, esp
call fcn.004fa259
add esp, 0xf78
ret
mov eax, dword [esp + 0x3f4]
mov ecx, eax
jmp 0x46d5ca