Function at 0x503570
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x310
mov esi, esp
mov dword [esi + 0x2f8], ebp
mov dword [esi + 0x30], ecx
lea edi, [esi + 0x300]
mov dword [edi - 4], esp
xor ebx, ebx
dec ebx
mov dword [edi + 8], ebx
mov dword [edi + 4], 0x506270
mov eax, dword fs:[0]
mov dword [edi], eax
mov dword fs:[0], edi
sub esp, 0x78
movdqu xmm0, xmmword [0x7a9568]
movdqu xmmword [esp + 0x68], xmm0
movdqu xmmword [esp + 0x58], xmm0
movdqu xmmword [esp + 0x48], xmm0
movdqu xmmword [esp + 0x38], xmm0
movdqu xmmword [esp + 0x28], xmm0
movdqu xmmword [esp + 0x18], xmm0
mov dword [esp + 0x14], str.ApplyCommand_start
mov dword [esp + 0x10], str.XPluginCommandMgr
mov dword [esp + 0xc], str.ApplyCommand
mov dword [esp + 8], 0x154
mov dword [esp + 4], str..._.._applet_third_party_xplugin_src_CommandMgr.cpp
mov dword [esp], 2
call fcn.004ee380
add esp, 0x78
lea ecx, [esi + 0x100]
mov dword [ecx + 0x10], ebx
pcmpeqd xmm0, xmm0
movdqa xmmword [ecx], xmm0
mov eax, 0x6fa356
push ebx
push eax
call fcn.004aea40
lea ecx, [esi + 0xe0]
mov dword [ecx + 0x10], ebx
pcmpeqd xmm0, xmm0
movdqa xmmword [ecx], xmm0
mov dword [edi + 8], 0
push ebx
mov eax, 0x6fa356
push eax
call fcn.004aea40
lea ecx, [esi + 0xc0]
xor eax, eax
dec eax
mov dword [ecx + 0x10], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [ecx], xmm0
mov dword [esi + 0x308], 1
push eax
push 0x6fa356
call fcn.004aea40
lea ecx, [esi + 0xb8]
xor eax, eax
dec eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [esi + 0x308], 2
push dword [esi + 0x30]
call fcn.004ed9ce
mov eax, dword [esi + 0x30]
lea ecx, [eax + 0x18]
mov dword [esi + 0x308], 5
push dword [ebp + 0xc]
call fcn.004af162
mov ebx, dword [esi + 0x30]
lea ecx, [ebx + 0x30]
lea edi, [ebx + 0x34]
mov dword [esi + 0x34], ecx
push dword [ebx + 0x34]
call fcn.004a7d38
xor eax, eax
mov dword [ebx + 0x38], eax
mov dword [esi + 0xac], edi
mov dword [ebx + 0x30], edi
mov dword [ebx + 0x34], eax
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x9c], eax
mov dword [esi + 0x308], 5
cmp edi, dword [esi + 0x9c]
je 0x503db3
push 0x110
push 0xff
lea ebx, [esi + 0x120]
push ebx
call fcn.006ccfc0
add esp, 0xc
mov ecx, ebx
push edi
mov dword [esi + 0x2c], edi
call fcn.004aeac0
mov eax, dword [esi + 0x2c]
add eax, 0x14
mov dword [esi + 0x308], 6
lea ecx, [esi + 0x134]
push eax
call fcn.004aeac0
mov eax, dword [esi + 0x2c]
add eax, 0x28
mov dword [esi + 0x308], 7
lea ecx, [esi + 0x148]
push eax
call fcn.004aeac0
mov eax, dword [esi + 0x2c]
add eax, 0x40
mov dword [esi + 0x308], 8
lea ecx, [esi + 0x160]
push eax
call fcn.00505b10
mov dword [esi + 0x308], 0x12
lea ecx, [esi + 0x160]
xor eax, eax
push eax
push eax
call fcn.00508350
test al, al
je 0x503c50
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0x10], xmm0
mov dword [esi + 0x20], 0xffffffff
lea ecx, [esi + 0x10]
call fcn.004ae9bc
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0x60], xmm0
mov dword [esi + 0x70], 0xffffffff
mov dword [esi + 0x308], 0x13
lea ecx, [esi + 0x60]
call fcn.004ae9bc
mov dword [esi + 0x308], 0x14
lea ecx, [esi + 0x40]
push 0xffffffffffffffff
push str.executeCommand
call fcn.004aea40
mov dword [esi + 0x308], 0x1a
lea ecx, [esi + 0x120]
lea eax, [esi + 0x40]
push eax
call fcn.004af262
mov ebx, eax
lea ecx, [esi + 0x40]
call fcn.004aeec0
test bl, bl
je 0x5038bf
mov dword [esi + 0x308], 0x14
lea ecx, [esi + 0x134]
push 0
push 0x3a
call fcn.004af6b4
test eax, eax
jle 0x5038e7
lea ecx, [esi + 0x134]
mov dword [esi + 8], eax
call fcn.004aef30
mov edx, dword [esi + 8]
dec eax
cmp edx, eax
jge 0x5038e7
lea ecx, [esi + 0x134]
push edx
push 0
lea eax, [esi + 0x40]
push eax
call fcn.004af4b4
mov dword [esi + 0x308], 0x18
lea ecx, [esi + 0x10]
lea eax, [esi + 0x40]
push eax
call fcn.004af61c
lea edi, [esi + 0x40]
mov ecx, edi
call fcn.004aeec0
mov eax, dword [esi + 8]
inc eax
mov dword [esi + 0x308], 0x14
lea ecx, [esi + 0x134]
push eax
push edi
call fcn.004af484
mov dword [esi + 0x308], 0x19
lea ecx, [esi + 0x60]
lea eax, [esi + 0x40]
push eax
call fcn.004af61c
lea ecx, [esi + 0x40]
call fcn.004aeec0
jmp 0x5038e7
mov dword [esi + 0x308], 0x14
lea ecx, [esi + 0x10]
lea eax, [esi + 0x120]
push eax
call fcn.004af162
lea ecx, [esi + 0x60]
lea eax, [esi + 0x134]
push eax
call fcn.004af162
mov dword [esi + 0x308], 0x14
lea ecx, [esi + 0x10]
push 1
call fcn.004aef38
test al, al
jne 0x503c40
lea ecx, [esi + 0x60]
push 1
call fcn.004aef38
test al, al
jne 0x503c40
movdqu xmm0, xmmword [0x7a9568]
movdqa xmmword [esi + 0x2e0], xmm0
movdqa xmmword [esi + 0x2d0], xmm0
movdqa xmmword [esi + 0x2c0], xmm0
movdqa xmmword [esi + 0x2b0], xmm0
lea ecx, [esi + 0x60]
call fcn.004af144
mov byte [esi + 0x250], 3
mov dword [esi + 0x258], eax
lea ecx, [esi + 0x10]
call fcn.004af144
mov byte [esi + 0x240], 3
mov dword [esi + 0x248], eax
sub esp, 0x78
movaps xmm0, xmmword [esi + 0x2e0]
movups xmmword [esp + 0x68], xmm0
movaps xmm0, xmmword [esi + 0x2d0]
movups xmmword [esp + 0x58], xmm0
movaps xmm0, xmmword [esi + 0x2c0]
movups xmmword [esp + 0x48], xmm0
movaps xmm0, xmmword [esi + 0x2b0]
movups xmmword [esp + 0x38], xmm0
movups xmm0, xmmword [esi + 0x250]
movups xmmword [esp + 0x28], xmm0
movdqu xmm0, xmmword [esi + 0x240]
movdqu xmmword [esp + 0x18], xmm0
mov dword [esp + 0x14], str.ApplyCommand__s__s
mov dword [esp + 0x10], str.XPluginCommandMgr
mov dword [esp + 0xc], str.ApplyCommand
mov dword [esp + 8], 0x173
mov dword [esp + 4], str..._.._applet_third_party_xplugin_src_CommandMgr.cpp
mov dword [esp], 2
call fcn.004ee380
add esp, 0x78
lea ecx, [esi + 0x40]
push 0xffffffffffffffff
push str.revertToVersion
call fcn.004aea40
mov dword [esi + 0x308], 0x17
lea ecx, [esi + 0x10]
lea eax, [esi + 0x40]
push eax
call fcn.004af262
mov ebx, eax
lea edi, [esi + 0x40]
mov ecx, edi
call fcn.004aeec0
test bl, bl
je 0x503a3e
mov dword [esi + 0x308], 0x14
lea ecx, [esi + 0x100]
lea eax, [esi + 0x60]
push eax
call fcn.004af162
jmp 0x503c40
mov dword [esi + 0x308], 0x14
mov ecx, edi
push 0xffffffffffffffff
push str.killRunningVersion
call fcn.004aea40
mov dword [esi + 0x308], 0x16
lea ecx, [esi + 0x10]
lea eax, [esi + 0x40]
push eax
call fcn.004af262
mov ebx, eax
lea edi, [esi + 0x40]
mov ecx, edi
call fcn.004aeec0
test bl, bl
je 0x503a9a
mov dword [esi + 0x308], 0x14
lea ecx, [esi + 0xe0]
lea eax, [esi + 0x60]
push eax
call fcn.004af162
jmp 0x503c40
mov dword [esi + 0x308], 0x14
mov ecx, edi
push 0xffffffffffffffff
push str.setwebtype_immediate
call fcn.004aea40
mov dword [esi + 0x308], 0x15
lea ecx, [esi + 0x10]
lea eax, [esi + 0x40]
push eax
call fcn.004af262
mov ebx, eax
lea ecx, [esi + 0x40]
call fcn.004aeec0
test bl, bl
je 0x503aef
mov dword [esi + 0x308], 0x14
lea ecx, [esi + 0xc0]
lea eax, [esi + 0x60]
push eax
call fcn.004af162
xor eax, eax
mov dword [esi + 0xa0], eax
mov dword [esi + 0xa4], eax
mov dword [esi + 0xa8], eax
xor eax, eax
dec eax
mov dword [esi + 0x50], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0x40], xmm0
mov dword [esi + 0x308], 0x1b
lea ecx, [esi + 0x40]
push eax
push 0x7439b2
call fcn.004aea40
mov dword [esi + 0x308], 0x1c
lea eax, [esi + 0xa0]
push eax
lea eax, [esi + 0x40]
push eax
lea eax, [esi + 0x148]
push eax
call fcn.004eff70
add esp, 0xc
mov eax, dword [esi + 0xa0]
cmp eax, dword [esi + 0xa4]
lea eax, [esi + 0x10]
je 0x503c2d
mov ecx, dword [esi + 0x34]
push eax
lea eax, [esi + 0x80]
push eax
call fcn.00407ce2
mov eax, dword [esi + 0xac]
cmp dword [esi + 0x80], eax
jne 0x503ce8
xor eax, eax
mov dword [esi + 0x84], eax
mov dword [esi + 0x88], eax
lea eax, [esi + 0x84]
mov dword [esi + 0x80], eax
lea eax, [esi + 0x10]
mov dword [esi + 0x3c], eax
mov dword [esi + 0x308], 0x1e
mov ecx, dword [esi + 0x34]
lea edx, [esi + 0xc]
push edx
lea edx, [esi + 0x3c]
push edx
push 0x743f60
push eax
lea eax, [esi + 0xb0]
push eax
call fcn.00505e90
mov ebx, dword [esi + 0xb0]
lea edi, [ebx + 0x24]
lea eax, [ebx + 0x28]
mov dword [esi + 8], eax
mov ecx, edi
push dword [ebx + 0x28]
call fcn.00406bb2
mov eax, dword [esi + 0x80]
mov dword [ebx + 0x24], eax
mov eax, dword [esi + 0x84]
mov dword [ebx + 0x28], eax
mov ecx, dword [esi + 0x88]
mov dword [ebx + 0x2c], ecx
test ecx, ecx
je 0x503cd7
mov ecx, dword [esi + 8]
mov dword [eax + 8], ecx
lea eax, [esi + 0x84]
mov dword [esi + 0x80], eax
xor eax, eax
mov dword [esi + 0x84], eax
mov dword [esi + 0x88], eax
jmp 0x503cdc
lea ecx, [esi + 0x40]
call fcn.004aeec0
lea ecx, [esi + 0xa0]
call fcn.004a80fe
lea ecx, [esi + 0x60]
call fcn.004aeec0
lea ecx, [esi + 0x10]
call fcn.004aeec0
lea ecx, [esi + 0x204]
call fcn.004aeec0
lea ecx, [esi + 0x1f0]
call fcn.004aeec0
lea ecx, [esi + 0x1dc]
call fcn.004aeec0
lea ecx, [esi + 0x1c8]
call fcn.004aeec0
lea ecx, [esi + 0x1b4]
call fcn.004aeec0
lea ecx, [esi + 0x1a0]
call fcn.004aeec0
lea ecx, [esi + 0x18c]
call fcn.004aeec0
lea ecx, [esi + 0x160]
call fcn.004aeec0
lea ecx, [esi + 0x148]
call fcn.004aeec0
lea ecx, [esi + 0x134]
call fcn.004aeec0
lea ecx, [esi + 0x120]
call fcn.004aeec0
mov edi, dword [esi + 0x2c]
add edi, 0x110
jmp 0x5036ea
mov ecx, dword [esi + 8]
mov dword [edi], ecx
lea ecx, [esi + 0x80]
push eax
call fcn.00406bb2
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0xa4]
mov dword [esi + 0x38], ecx
lea ecx, [esi + 0x40]
cmp eax, dword [esi + 0x38]
je 0x503c30
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0x80], xmm0
mov dword [esi + 0x90], 0xffffffff
mov dword [esi + 0x308], 0x1c
lea ecx, [esi + 0x80]
mov dword [esi + 8], eax
push eax
call fcn.004aeac0
lea eax, [esi + 0x10]
mov dword [esi + 0x3c], eax
mov dword [esi + 0x308], 0x1d
mov ecx, dword [esi + 0x34]
lea edx, [esi + 0xc]
push edx
lea edx, [esi + 0x3c]
push edx
push 0x743f60
push eax
lea eax, [esi + 0xb0]
push eax
call fcn.00505e90
mov ecx, dword [esi + 0xb0]
add ecx, 0x24
lea eax, [esi + 0x80]
mov dword [esi + 0x3c], eax
lea edx, [esi + 0xc]
push edx
lea edx, [esi + 0x3c]
push edx
push 0x743f60
push eax
lea eax, [esi + 0xb0]
push eax
call fcn.00506014
mov ecx, dword [esi + 0xb0]
add ecx, 0x24
lea eax, [esi + 0x60]
push eax
call fcn.004af162
lea ecx, [esi + 0x80]
call fcn.004aeec0
mov eax, dword [esi + 8]
add eax, 0x14
jmp 0x503cf7
lea ecx, [esi + 0x120]
push str.plugin_command_info
call fcn.004037b8
mov dword [esi + 0x308], 9
lea eax, [esi + 0x120]
push eax
call fcn.004f27a0
add esp, 4
mov edi, eax
cmp byte [esi + 0x12b], 0
jns 0x503df5
push dword [esi + 0x120]
call fcn.006c90e6
add esp, 4
test edi, edi
je 0x5040c3
mov dword [esi + 0x308], 5
mov dword [esi + 0x38], edi
mov ecx, edi
call fcn.005c8840
lea ecx, [esi + 0x120]
push 0xffffffffffffffff
push str.cStrTAGConfigVer
call fcn.004aea40
mov dword [esi + 0x308], 0xa
lea ecx, [esi + 0x120]
lea eax, [esi + 0x10]
push eax
call fcn.004af9f0
mov dword [esi + 0x308], 0xb
mov ecx, dword [ebp + 0xc]
lea eax, [esi + 0x60]
push eax
call fcn.004af9f0
mov dword [esi + 0x308], 0xc
mov ecx, dword [esi + 0x38]
lea eax, [esi + 0x10]
push eax
lea eax, [esi + 0x60]
push eax
call fcn.004fcde0
cmp byte [esi + 0x6b], 0
jns 0x503e7d
push dword [esi + 0x60]
call fcn.006c90e6
add esp, 4
cmp byte [esi + 0x1b], 0
jns 0x503e8e
push dword [esi + 0x10]
call fcn.006c90e6
add esp, 4
lea ecx, [esi + 0x120]
call fcn.004aeec0
mov dword [esi + 0x308], 5
lea ecx, [esi + 0x120]
push 0xffffffffffffffff
push str.cStrTAGConfigSdkVer
call fcn.004aea40
mov dword [esi + 0x308], 0xd
lea ecx, [esi + 0x120]
lea eax, [esi + 0x10]
push eax
call fcn.004af9f0
mov dword [esi + 0x308], 0xe
mov ecx, dword [esi + 0x38]
lea eax, [esi + 0x10]
push eax
push 0x35dba
call fcn.004fca20
cmp byte [esi + 0x1b], 0
jns 0x503efa
push dword [esi + 0x10]
call fcn.006c90e6
add esp, 4
lea ecx, [esi + 0x120]
call fcn.004aeec0
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov dword [esi + 0x98], eax
cmp eax, dword [esi + 0xac]
je 0x504144
mov eax, dword [esi + 0x98]
lea ecx, [eax + 0x10]
mov dword [esi + 0x308], 5
mov dword [esi + 0x34], ecx
push 1
call fcn.004aef38
test al, al
je 0x503f58
mov edx, dword [esi + 0x98]
mov ecx, dword [edx + 4]
test ecx, ecx
je 0x5040a0
mov eax, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x503f4e
jmp 0x503f0a
mov ecx, dword [esi + 0x98]
mov eax, dword [ecx + 0x24]
add ecx, 0x28
mov dword [esi + 0x9c], ecx
cmp eax, dword [esi + 0x9c]
je 0x503f3d
mov dword [esi + 0x2c], eax
lea ecx, [eax + 0x10]
mov dword [esi + 0x308], 5
mov dword [esi + 8], ecx
push 1
call fcn.004aef38
test al, al
jne 0x50406a
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0x120], xmm0
mov dword [esi + 0x130], 0xffffffff
lea ecx, [esi + 0x120]
call fcn.004ae9bc
mov dword [esi + 0x308], 0xf
mov ecx, dword [esi + 8]
call fcn.004af144
mov dword [esi + 8], eax
mov ecx, dword [esi + 0x34]
call fcn.004af144
push dword [esi + 8]
push eax
push 0x743baa
lea eax, [esi + 0x120]
push eax
call fcn.004af4fe
add esp, 0x10
lea ecx, [esi + 0x120]
push 1
call fcn.004aef38
test al, al
jne 0x50405f
lea ecx, [esi + 0x120]
lea eax, [esi + 0x10]
push eax
call fcn.004af9f0
mov eax, dword [esi + 0x2c]
lea ecx, [eax + 0x24]
mov dword [esi + 0x308], 0x10
lea eax, [esi + 0x60]
push eax
call fcn.004af9f0
mov dword [esi + 0x308], 0x11
mov ecx, dword [esi + 0x38]
lea eax, [esi + 0x10]
push eax
lea eax, [esi + 0x60]
push eax
call fcn.004fcde0
cmp byte [esi + 0x6b], 0
jns 0x50404e
push dword [esi + 0x60]
call fcn.006c90e6
add esp, 4
cmp byte [esi + 0x1b], 0
jns 0x50405f
push dword [esi + 0x10]
call fcn.006c90e6
add esp, 4
lea ecx, [esi + 0x120]
call fcn.004aeec0
mov edx, dword [esi + 0x2c]
mov ecx, dword [edx + 4]
test ecx, ecx
je 0x504081
mov eax, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x504074
jmp 0x503f6a
mov eax, dword [edx + 8]
cmp dword [eax], edx
je 0x503f6a
add edx, 8
mov ecx, dword [edx]
lea edx, [ecx + 8]
mov eax, dword [ecx + 8]
cmp dword [eax], ecx
jne 0x50408f
jmp 0x503f6a
mov eax, dword [edx + 8]
cmp dword [eax], edx
je 0x503f0a
mov ecx, edx
add ecx, 8
mov ecx, dword [ecx]
lea edx, [ecx + 8]
mov eax, dword [ecx + 8]
cmp dword [eax], ecx
mov ecx, edx
jne 0x5040b0
jmp 0x503f0a
mov dword [esi + 0x308], 5
sub esp, 0x78
movdqu xmm0, xmmword [0x7a9568]
movdqu xmmword [esp + 0x68], xmm0
movdqu xmmword [esp + 0x58], xmm0
movdqu xmmword [esp + 0x48], xmm0
movdqu xmmword [esp + 0x38], xmm0
movdqu xmmword [esp + 0x28], xmm0
movdqu xmmword [esp + 0x18], xmm0
mov dword [esp + 0x14], str.ApplyCommand_save_failed__mmkv_is_null
mov dword [esp + 0x10], str.XPluginCommandMgr
mov dword [esp + 0xc], str.ApplyCommand
mov dword [esp + 8], 0x195
mov dword [esp + 4], str..._.._applet_third_party_xplugin_src_CommandMgr.cpp
mov dword [esp], 4
call fcn.004ee380
add esp, 0x78
push 1
push 2
push 0x69a
call fcn.00506400
add esp, 0xc
lea ecx, [esi + 0xb8]
call fcn.004ed9ee
xor eax, eax
dec eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x308], 2
mov ecx, dword [esi + 0x30]
lea eax, [esi + 0x10]
push eax
call fcn.005031b0
mov eax, dword [esi + 0x30]
lea ecx, [eax + 0x3c]
mov dword [esi + 0x308], 3
lea eax, [esi + 0x10]
push eax
call fcn.00501d30
pcmpeqd xmm0, xmm0
lea ecx, [esi + 0x120]
movdqa xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0xffffffff
call fcn.004ae9bc
mov dword [esi + 0x308], 4
mov ecx, dword [esi + 0x30]
lea eax, [esi + 0x120]
push eax
call fcn.005047e0
movdqu xmm0, xmmword [0x7a9568]
movdqa xmmword [esi + 0x2a0], xmm0
movdqa xmmword [esi + 0x290], xmm0
movdqa xmmword [esi + 0x280], xmm0
movdqa xmmword [esi + 0x270], xmm0
movdqa xmmword [esi + 0x260], xmm0
lea ecx, [esi + 0x120]
call fcn.004af144
mov byte [esi + 0x230], 3
mov dword [esi + 0x238], eax
sub esp, 0x78
movaps xmm0, xmmword [esi + 0x2a0]
movups xmmword [esp + 0x68], xmm0
movaps xmm0, xmmword [esi + 0x290]
movups xmmword [esp + 0x58], xmm0
movaps xmm0, xmmword [esi + 0x280]
movups xmmword [esp + 0x48], xmm0
movaps xmm0, xmmword [esi + 0x270]
movups xmmword [esp + 0x38], xmm0
movaps xmm0, xmmword [esi + 0x260]
movups xmmword [esp + 0x28], xmm0
movdqu xmm0, xmmword [esi + 0x230]
movdqu xmmword [esp + 0x18], xmm0
mov dword [esp + 0x14], str.ApplyCommand_finish__dump_commands:__s
mov dword [esp + 0x10], str.XPluginCommandMgr
mov dword [esp + 0xc], str.ApplyCommand
mov dword [esp + 8], 0x1bc
mov dword [esp + 4], str..._.._applet_third_party_xplugin_src_CommandMgr.cpp
mov dword [esp], 2
call fcn.004ee380
add esp, 0x78
cmp byte [ebp + 0x10], 0
jne 0x5042e6
lea ecx, [esi + 0x100]
push 1
call fcn.004aef38
test al, al
jne 0x5042ac
lea eax, [esi + 0x100]
push eax
call fcn.00504a50
lea ecx, [esi + 0xe0]
push 1
call fcn.004aef38
test al, al
jne 0x5042c9
lea eax, [esi + 0xe0]
push eax
call fcn.00504d40
lea ecx, [esi + 0xc0]
push 1
call fcn.004aef38
test al, al
jne 0x5042e6
lea eax, [esi + 0xc0]
push eax
call fcn.00505030
lea ecx, [esi + 0x120]
call fcn.004aeec0
lea ecx, [esi + 0x10]
push dword [ecx + 4]
call fcn.004a7d38
lea ecx, [esi + 0xc0]
call fcn.004aeec0
lea ecx, [esi + 0xe0]
call fcn.004aeec0
lea ecx, [esi + 0x100]
call fcn.004aeec0
mov eax, dword [esi + 0x300]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc