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

Disassembly:
mov eax, 0x17f4
call fcn.004ade10
mov eax, dword [0x5770a4]
xor eax, esp
mov dword [esp + 0x17f0], eax
push ebx
mov ebx, dword [esp + 0x1804]
push ebp
mov ebp, dword [esp + 0x1804]
push edi
mov edi, dword [esp + 0x1804]
mov dword [esp + 0x50], edi
mov dword [esp + 0x64], ebp
mov dword [esp + 0x54], ebx
mov dword [esp + 0x1c], 0
call fcn.00508350
mov byte [eax], 0
test edi, edi
je 0x50727a
cmp dword [edi + 0x10], 0
je 0x50727a
test ebx, ebx
je 0x50727a
test ebp, ebp
je 0x50727a
mov eax, dword [ebx]
test eax, eax
je 0x50723b
cmp dword [ebx + 4], 0
jbe 0x50723b
cmp dword [ebp], 0
je 0x50723b
cmp dword [ebp + 4], 0
jbe 0x50723b
push esi
push edi
call fcn.00502880
mov esi, dword [esp + 0x1818]
lea ebx, [edi + 0xc]
add esp, 4
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 4]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x30], ebx
test esi, esi
je 0x505db9
mov eax, dword [ebx]
mov ecx, eax
mov dword [esp + 0x34], eax
cmp esi, eax
jle 0x505dce
mov eax, dword [ebx]
mov esi, eax
mov dword [esp + 0x34], eax
mov ecx, eax
mov dword [esp + 0x1814], esi
mov dword [esp + 0x30], ebx
cmp dword [edi + 8], esi
jg 0x5071f7
cmp esi, ecx
jg 0x5071f7
mov ecx, dword [edi + 0x74]
test ecx, ecx
je 0x505e16
cmp dword [edi + 0x58], esi
jle 0x505e16
push edi
call fcn.00502860
add esp, 4
push eax
push dword [edi + 0x58]
push esi
push str.__invalid_parameter:_expect_a_iVersion__d__NOT_less_than_min_ver__d__of_meta__s_s_versionindicator
push 0x400
call fcn.00508350
push eax
call fcn.00486c20
add esp, 0x18
jmp 0x50721f
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x80], edx
mov ebx, dword [eax]
mov eax, dword [eax + 4]
add eax, ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x3c], eax
mov eax, edi
sub eax, dword [edi + 0x3c]
lea edi, [esp + 0x80]
mov dword [esp + 0x64], eax
mov eax, ebp
mov dword [esp + 0x44], edi
mov dword [esp + 0x8c], 1
mov dword [esp + 0x90], 0
mov eax, dword [eax]
mov dword [esp + 0xa8], eax
add eax, dword [esp + 0x6c]
mov dword [esp + 0xac], eax
mov eax, dword [edx + 0x64]
mov dword [esp + 0xb0], ebx
test eax, eax
je 0x505eb0
cmp dword [edx + 0x68], 0xffffffff
mov dword [esp + 0x94], eax
je 0x505ea2
mov dword [esp + 0xb4], ebx
add ebx, eax
mov dword [esp + 0x18], ebx
jmp 0x505ed1
mov eax, dword [edx + 0x5c]
add eax, ebx
mov dword [esp + 0xb4], eax
jmp 0x505ed1
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0xb4], 0
mov ebp, edx
test ecx, ecx
je 0x506045
mov edx, dword [edx + 0x6c]
mov eax, dword [esp + 0x3c]
add edx, ebx
sub eax, edx
cmp eax, ecx
jl 0x505fb8
sub ecx, 2
je 0x505f87
sub ecx, 2
je 0x505f5d
sub ecx, 4
je 0x505f0c
movzx eax, byte [edx]
cdq
mov ecx, eax
jmp 0x505f9f
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov esi, edx
and esi, 0xff0000
mov dword [esp + 0x14], 0
mov eax, edx
shrd ecx, eax, 0x10
or dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
shr eax, 0x10
or esi, eax
mov eax, edx
shrd ecx, esi, 0x10
and eax, 0xff00
shr esi, 0x10
or esi, eax
movzx eax, dl
shrd ecx, esi, 0x10
shr esi, 0x10
or esi, eax
shrd ecx, esi, 8
mov esi, dword [esp + 0x1814]
jmp 0x505f9f
mov edx, dword [edx]
mov eax, edx
mov ecx, edx
and eax, 0xff0000
shr ecx, 0x10
or eax, ecx
mov ecx, edx
shl ecx, 0x10
and edx, 0xff00
or ecx, edx
shr eax, 8
shl ecx, 8
or eax, ecx
cdq
mov ecx, eax
jmp 0x505f9f
movzx eax, word [edx]
mov ecx, eax
mov dword [esp + 0x50], 0
movzx eax, al
shr ecx, 8
shl eax, 8
or ecx, eax
test ecx, ecx
mov eax, ecx
cmove eax, esi
mov dword [esp + 0xa0], eax
mov eax, esi
cmovne eax, ecx
mov dword [esp + 0x14], eax
jmp 0x505fc5
mov dword [esp + 0xa0], esi
mov eax, esi
mov dword [esp + 0x14], esi
mov edx, ebp
cmp dword [edx + 8], eax
jg 0x505fd7
cmp eax, dword [esp + 0x34]
jg 0x505fd7
cmp eax, dword [edx + 0x58]
jge 0x50604c
push esi
push edx
call fcn.00502860
mov ecx, dword [esp + 0x38]
add esp, 4
mov esi, ebp
push eax
push dword [esi + 0x58]
mov eax, dword [esp + 0x20]
push eax
push dword [ecx]
push dword [esi + 8]
push eax
push str.__invalid_versionindicator_value:_expect_indicator__d__in__base_ver__d___cur_ver__d___and_indicator__d__NOT_less_than_min_ver__d__of_meta__s_s_versionindicator__a_iVersion__d_
push 0x400
call fcn.00508350
push eax
call fcn.00486c20
mov eax, dword [esp + 0x90]
add esp, 0x28
mov dword [eax + 4], 0
mov eax, dword [esp + 0x58]
mov dword [eax + 4], 0
mov eax, 0x82010470
pop esi
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x17f0]
xor ecx, esp
call fcn.004ad99f
add esp, 0x17f4
ret
mov dword [esp + 0xa0], esi
xor ecx, ecx
mov dword [esp + 0x38], 1
mov dword [esp + 0xa4], 0
mov dword [esp + 0xb8], 1
mov dword [esp + 0x84], 0
mov dword [esp + 0x2c], ecx
nop dword [eax + eax]
mov dword [esp + 0x34], edi
test ecx, ecx
je 0x50619d
mov eax, dword [edi + 0x14]
mov dword [esp + 0x2c], 0
test eax, eax
je 0x506138
mov edx, dword [edi + 0x34]
sub eax, 2
je 0x506104
sub eax, 2
je 0x5060fb
sub eax, 4
je 0x5060b9
movzx eax, byte [edx]
cdq
mov ebp, eax
jmp 0x50611c
mov ecx, dword [edx]
xor ebp, ebp
mov edx, dword [edx + 4]
mov esi, edx
and esi, 0xff0000
mov dword [esp + 0x4c], ecx
mov eax, edx
shrd ecx, eax, 0x10
shr eax, 0x10
or ebp, ecx
or esi, eax
mov eax, edx
shrd ebp, esi, 0x10
and eax, 0xff00
shr esi, 0x10
or esi, eax
movzx eax, dl
shrd ebp, esi, 0x10
shr esi, 0x10
or esi, eax
shrd ebp, esi, 8
jmp 0x50611c
mov eax, dword [edx]
bswap eax
cdq
mov ebp, eax
jmp 0x50611c
movzx eax, word [edx]
mov ebp, eax
mov dword [esp + 0x50], 0
movzx eax, al
shr ebp, 8
shl eax, 8
or ebp, eax
mov ebx, dword [edi + 0x30]
mov esi, dword [esp + 0x3c]
add ebx, ebp
mov dword [esp + 0x18], ebx
cmp ebx, esi
ja 0x506e84
mov ebp, dword [esp + 0x1c]
mov eax, dword [edi + 0x14]
cmp dword [edi + 0xc], 0
mov ecx, ebx
mov dword [esp + 0x28], ecx
jle 0x506176
test eax, eax
je 0x506173
mov esi, dword [edi + 0x18]
mov edx, ecx
sub ebx, esi
test esi, esi
cmovs edx, ebx
mov ebx, dword [esp + 0x28]
lea eax, [ecx + esi]
mov dword [edi + 0x30], edx
cmovns ecx, eax
sub ebx, esi
test esi, esi
mov dword [edi + 0x34], ecx
cmovns ebx, dword [esp + 0x28]
mov dword [esp + 0x18], ebx
jmp 0x506176
mov dword [edi + 0x30], ebx
mov ecx, dword [esp + 0x38]
cmp ecx, 1
jle 0x5061a1
mov eax, dword [edi + 4]
test byte [eax + 0x44], 4
je 0x50618d
mov eax, dword [eax + 0x18]
jmp 0x506190
mov eax, dword [ebp + 0x1c]
add dword [edi - 0x98], eax
mov dword [edi + 0x24], 0
mov ecx, dword [esp + 0x38]
mov esi, dword [edi + 0xc]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x78], ebx
test esi, esi
jg 0x5061fe
dec ecx
sub edi, 0xbc
mov dword [esp + 0x44], edi
mov dword [esp + 0x38], ecx
test ecx, ecx
jle 0x507187
mov ecx, dword [edi]
mov dword [esp + 0x1c], ecx
cmp dword [ecx + 0x10], 0
je 0x5061e9
inc dword [edi + 0x10]
mov eax, dword [edi + 0x10]
cmp eax, dword [ecx + 0x2c]
jl 0x506e6c
mov dword [edi + 0x10], 0
dec dword [edi + 0xc]
mov eax, dword [ecx + 0x1c]
add dword [edi + 0x28], eax
mov ecx, dword [edi + 0x38]
mov dword [esp + 0x2c], ecx
jmp 0x506e70
mov edx, dword [edi + 0x10]
mov ecx, dword [esp + 0x1c]
imul eax, edx, 0xb4
lea ebp, [ecx + 0xb8]
add ebp, eax
mov dword [esp + 0x48], ebp
movzx eax, word [ebp + 0x44]
test al, 2
je 0x50622e
cmp dword [ecx + 0x10], 0
je 0x5062bf
lea eax, [edx + 1]
jmp 0x5062ac
mov eax, dword [ebp + 0x58]
test eax, eax
je 0x506281
mov esi, dword [ebp + 0x5c]
add esi, dword [edi + 0x28]
sub eax, 2
je 0x506272
sub eax, 2
je 0x506264
sub eax, 4
je 0x506259
movzx eax, byte [esi]
mov esi, dword [edi + 0xc]
cdq
mov dword [esp + 0x10], eax
mov edx, eax
jmp 0x506288
mov edx, dword [esi]
mov esi, dword [edi + 0xc]
mov dword [esp + 0x10], edx
jmp 0x506288
mov eax, dword [esi]
mov esi, dword [edi + 0xc]
cdq
mov dword [esp + 0x10], eax
mov edx, eax
jmp 0x506288
movzx eax, word [esi]
mov esi, dword [edi + 0xc]
cdq
mov dword [esp + 0x10], eax
mov edx, eax
jmp 0x506288
mov edx, dword [ebp + 0x24]
mov dword [esp + 0x10], edx
test edx, edx
js 0x507142
mov eax, dword [ebp + 0x24]
cmp eax, edx
jge 0x50629f
test eax, eax
jg 0x507142
test edx, edx
jne 0x5062d7
cmp dword [ecx + 0x10], edx
je 0x5062bf
mov eax, dword [edi + 0x10]
inc eax
mov dword [edi + 0x10], eax
cmp eax, dword [ecx + 0x2c]
jl 0x506e6c
mov dword [edi + 0x10], 0
lea eax, [esi - 1]
mov dword [edi + 0xc], eax
mov eax, dword [ecx + 0x1c]
add dword [edi + 0x28], eax
mov ecx, dword [edi + 0x38]
mov dword [esp + 0x2c], ecx
jmp 0x506e70
mov esi, dword [ebp + 0x2c]
movzx eax, word [ebp + 0x44]
add esi, dword [edi + 0x28]
test al, 4
je 0x506307
cmp dword [ebp + 8], 1
mov esi, dword [esi]
jle 0x5062f4
mov eax, dword [ebp + 0x14]
add eax, esi
jmp 0x50630a
mov ebx, dword [esp + 0x64]
mov eax, dword [ebp + 0x78]
mov eax, dword [eax + ebx + 0x1c]
mov ebx, dword [esp + 0x18]
add eax, esi
jmp 0x50630a
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0x20]
mov dword [esp + 0x70], eax
cmp dword [ebp + 4], eax
jle 0x50648b
cmp dword [esp + 0x1818], 0
je 0x506354
mov ecx, dword [ebp + 0x20]
test ecx, ecx
jne 0x506332
mov ecx, dword [ebp + 0x18]
mov eax, dword [esp + 0x40]
imul ecx, edx
sub eax, esi
mov edx, dword [esp + 0x20]
cmp eax, ecx
mov eax, 0x82010407
cmovl edx, eax
add esi, ecx
mov dword [esp + 0x20], edx
jmp 0x506460
cmp dword [ebp + 0x98], 0xffffffff
jne 0x5063a3
mov ecx, dword [ebp + 0x20]
test ecx, ecx
jne 0x506367
mov ecx, dword [ebp + 0x18]
mov eax, dword [esp + 0x40]
imul ecx, edx
sub eax, esi
mov dword [esp + 0x28], ecx
cmp eax, ecx
jge 0x506388
mov edx, 0x82010407
add esi, ecx
mov dword [esp + 0x20], edx
jmp 0x506460
push ecx
push 0
push esi
call fcn.004b0090
mov ecx, dword [esp + 0x34]
add esp, 0xc
mov edx, dword [esp + 0x20]
add esi, ecx
jmp 0x506460
mov eax, dword [ebp + 8]
cmp eax, 0x15
je 0x5063b5
cmp eax, 0x16
je 0x5063b5
mov ecx, dword [ebp + 0x18]
jmp 0x5063c3
mov ecx, dword [esp + 0x40]
mov eax, dword [ebp + 0x20]
sub ecx, esi
test eax, eax
cmovne ecx, eax
mov eax, dword [esp + 0x40]
sub eax, esi
cmp eax, ecx
cmovge eax, ecx
mov ecx, dword [ebp + 0x8c]
mov dword [esp + 0x28], eax
cmp eax, ecx
jl 0x506ec6
mov eax, dword [ebp + 0x98]
add eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x14], eax
test edx, edx
jle 0x50645c
mov edi, dword [esp + 0x28]
mov ebx, edx
mov dword [esp + 0x34], edx
cmp ecx, 0x40
ja 0x50642e
xor ebp, ebp
test ecx, ecx
je 0x506428
mov ebx, dword [esp + 0x48]
mov edx, eax
mov al, byte [edx]
lea edx, [edx + 1]
mov byte [esi], al
inc ebp
mov ecx, dword [ebx + 0x8c]
inc esi
cmp ebp, ecx
jb 0x506411
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x48]
jmp 0x506441
push ecx
push eax
push esi
call fcn.004af590
mov ecx, dword [ebp + 0x8c]
add esp, 0xc
add esi, ecx
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
sub ebx, 1
mov dword [esp + 0x34], ebx
jne 0x506400
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x44]
mov edx, dword [esp + 0x20]
test edx, edx
js 0x506ece
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 0x10], 0
jne 0x506c64
dec dword [edi + 0xc]
mov eax, dword [ecx + 0x1c]
add dword [edi + 0x28], eax
mov ecx, dword [edi + 0x38]
mov dword [esp + 0x2c], ecx
jmp 0x506e70
mov eax, dword [ebp + 8]
cmp eax, 1
jle 0x506a94
sub eax, 0x15
je 0x506868
sub eax, 1
je 0x506662
mov eax, dword [ebp + 0x18]
imul eax, edx
add eax, esi
cmp eax, dword [esp + 0x40]
ja 0x506f32
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x28], eax
imul eax, edx
add eax, ebx
cmp eax, dword [esp + 0x3c]
ja 0x506f0b
mov eax, dword [esp + 0x28]
sub eax, 1
je 0x506625
sub eax, 1
je 0x5065f5
sub eax, 2
je 0x5065a9
test edx, edx
jle 0x506a56
mov edi, dword [ebx]
mov ebp, edi
mov ebx, dword [ebx + 4]
mov eax, edi
and eax, 0xff00
mov ecx, ebx
shld ecx, ebp, 0x10
mov edx, ebx
shl ebp, 0x10
and edx, 0xff0000
or ebp, eax
mov eax, edi
shld ecx, ebp, 0x10
and eax, 0xff0000
shl ebp, 0x10
or ebp, eax
mov eax, edi
shld ecx, ebp, 0x10
and eax, 0xff000000
shl ebp, 0x10
or ebp, eax
mov eax, ebx
shld ecx, ebp, 8
shrd edi, eax, 0x10
mov dword [esp + 0x28], ecx
xor ecx, ecx
shr eax, 0x10
or ecx, edi
or edx, eax
shl ebp, 8
shrd ecx, edx, 0x10
mov eax, ebx
shr edx, 0x10
and eax, 0xff00
or edx, eax
movzx eax, bl
mov ebx, dword [esp + 0x18]
shrd ecx, edx, 0x10
add ebx, 8
shr edx, 0x10
or edx, eax
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x28]
shrd ecx, edx, 8
shr edx, 8
or ebp, ecx
or eax, edx
mov dword [esi], ebp
mov dword [esi + 4], eax
add esi, 8
sub dword [esp + 0x10], 1
jne 0x5064f8
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x48]
jmp 0x506a52
test edx, edx
jle 0x506a56
mov edi, dword [esp + 0x10]
mov ecx, dword [ebx]
mov edx, ecx
and edx, 0xff0000
mov eax, ecx
shr eax, 0x10
add ebx, 4
or edx, eax
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shr edx, 8
shl eax, 8
or edx, eax
mov dword [esi], edx
add esi, 4
sub edi, 1
jne 0x5065b5
mov edi, dword [esp + 0x44]
mov dword [esp + 0x18], ebx
jmp 0x506a52
test edx, edx
jle 0x506a56
nop dword [eax]
mov ax, word [ebx]
movzx ecx, byte [ebx + 1]
add ebx, 2
shl ax, 8
or cx, ax
mov word [esi], cx
add esi, 2
sub edx, 1
jne 0x506600
mov dword [esp + 0x18], ebx
jmp 0x506a52
cmp edx, 0x40
jg 0x506646
test edx, edx
je 0x506a56
mov al, byte [ebx]
inc ebx
mov byte [esi], al
inc esi
sub edx, 1
jne 0x506632
mov dword [esp + 0x18], ebx
jmp 0x506a56
push edx
push ebx
push esi
call fcn.004af590
add ebx, dword [esp + 0x1c]
add esp, 0xc
add esi, dword [esp + 0x10]
mov dword [esp + 0x18], ebx
jmp 0x506a52
mov dword [esp + 0x28], 0
test edx, edx
jle 0x506a56
mov eax, dword [ebp + 0x20]
mov ecx, dword [esp + 0x40]
sub ecx, esi
test eax, eax
cmovne ecx, eax
mov eax, dword [ebp + 0x50]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x30], eax
lea ebp, [eax + ebx]
mov dword [esp + 0x5c], ebp
cmp ebp, dword [esp + 0x3c]
jae 0x506fdd
sub eax, 2
je 0x506798
sub eax, 2
je 0x506760
sub eax, 4
je 0x5066c4
movzx eax, byte [ebx]
cdq
mov ebp, eax
mov eax, edx
mov edx, dword [esp + 0x10]
jmp 0x5067aa
mov edx, dword [ebx]
xor ebp, ebp
mov ebx, dword [ebx + 4]
mov eax, ebx
and eax, 0xff0000
mov ecx, ebx
mov dword [esp + 0x24], eax
mov eax, edx
shrd eax, ecx, 0x10
shr ecx, 0x10
or ebp, eax
or dword [esp + 0x24], ecx
mov eax, ebx
mov ecx, dword [esp + 0x24]
and eax, 0xff00
shrd ebp, ecx, 0x10
shr ecx, 0x10
or ecx, eax
movzx eax, bl
shrd ebp, ecx, 0x10
shr ecx, 0x10
or ecx, eax
mov eax, edx
shrd ebp, ecx, 8
and eax, 0xff00
shr ecx, 8
mov dword [esp + 0x24], ecx
mov ecx, edx
shld ebx, ecx, 0x10
shl ecx, 0x10
or ecx, eax
mov eax, edx
shld ebx, ecx, 0x10
and eax, 0xff0000
and edx, 0xff000000
shl ecx, 0x10
or ecx, eax
mov eax, dword [esp + 0x24]
shld ebx, ecx, 0x10
shl ecx, 0x10
or ecx, edx
mov edx, dword [esp + 0x10]
shld ebx, ecx, 8
shl ecx, 8
or ebp, ecx
mov ecx, dword [esp + 0x14]
or eax, ebx
mov ebx, dword [esp + 0x18]
jmp 0x5067aa
mov edx, dword [ebx]
mov eax, edx
mov ecx, edx
and eax, 0xff0000
shr ecx, 0x10
or eax, ecx
mov ecx, edx
shl ecx, 0x10
and edx, 0xff00
or ecx, edx
shr eax, 8
shl ecx, 8
or eax, ecx
mov ecx, dword [esp + 0x14]
cdq
mov ebp, eax
mov dword [esp + 0x24], edx
mov eax, edx
mov edx, dword [esp + 0x10]
jmp 0x5067ae
movzx eax, word [ebx]
mov ebp, eax
movzx eax, al
shr ebp, 8
shl eax, 8
or ebp, eax
xor eax, eax
mov dword [esp + 0x24], eax
test eax, eax
jl 0x506fd0
jg 0x5067c1
cmp ebp, 2
jb 0x506fd0
mov eax, dword [esp + 0x30]
add eax, ebp
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x3c]
sub eax, ebx
cmp eax, dword [esp + 0x34]
jl 0x506fbc
mov eax, dword [esp + 0x24]
test eax, eax
jg 0x506f8c
jl 0x5067f1
cmp ebp, ecx
ja 0x506f8c
mov eax, dword [esp + 0x34]
mov dword [esp + 0x34], 0
movzx eax, word [eax + ebx - 2]
mov ecx, eax
cmp word [esp + 0x34], ax
jne 0x506f60
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x18], ebx
cmp ebp, 0x40
ja 0x50682f
test ebp, ebp
je 0x506846
mov ecx, ebp
mov al, byte [ebx]
inc ebx
mov byte [esi], al
inc esi
sub ecx, 1
jne 0x506822
jmp 0x506842
push ebp
push ebx
push esi
call fcn.004af590
mov edx, dword [esp + 0x1c]
add esp, 0xc
add ebx, ebp
add esi, ebp
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x14]
sub eax, ebp
mov ebp, dword [esp + 0x48]
add esi, eax
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, edx
jl 0x506672
jmp 0x506a52
mov dword [esp + 0x34], 0
test edx, edx
jle 0x506a56
nop dword [eax + eax]
mov edx, dword [ebp + 0x20]
mov eax, dword [esp + 0x40]
sub eax, esi
test edx, edx
cmove edx, eax
mov eax, dword [ebp + 0x50]
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x30], edx
mov dword [esp + 0x14], eax
lea ecx, [eax + ebx]
mov dword [esp + 0x5c], ecx
cmp ecx, ebp
jae 0x50704b
sub eax, 2
je 0x50699c
sub eax, 2
je 0x50696c
sub eax, 4
je 0x5068d4
movzx eax, byte [ebx]
cdq
mov ecx, edx
mov ebp, eax
mov edx, dword [esp + 0x30]
jmp 0x5069ae
mov edx, dword [ebx]
xor ebp, ebp
mov ebx, dword [ebx + 4]
mov eax, ebx
and eax, 0xff0000
mov ecx, ebx
mov dword [esp + 0x24], eax
mov eax, edx
shrd eax, ecx, 0x10
shr ecx, 0x10
or ebp, eax
or dword [esp + 0x24], ecx
mov eax, ebx
mov ecx, dword [esp + 0x24]
and eax, 0xff00
shrd ebp, ecx, 0x10
shr ecx, 0x10
or ecx, eax
movzx eax, bl
shrd ebp, ecx, 0x10
shr ecx, 0x10
or ecx, eax
mov eax, edx
shrd ebp, ecx, 8
and eax, 0xff00
shr ecx, 8
mov dword [esp + 0x24], ecx
mov ecx, edx
shld ebx, ecx, 0x10
shl ecx, 0x10
or ecx, eax
mov eax, edx
shld ebx, ecx, 0x10
and eax, 0xff0000
and edx, 0xff000000
shl ecx, 0x10
or ecx, eax
shld ebx, ecx, 0x10
shl ecx, 0x10
or ecx, edx
mov edx, dword [esp + 0x30]
shld ebx, ecx, 8
shl ecx, 8
or ebp, ecx
mov ecx, dword [esp + 0x24]
or ecx, ebx
mov ebx, dword [esp + 0x18]
jmp 0x5069ae
mov edx, dword [ebx]
mov eax, edx
mov ecx, edx
and eax, 0xff0000
shr ecx, 0x10
or eax, ecx
mov ecx, edx
shl ecx, 0x10
and edx, 0xff00
or ecx, edx
shr eax, 8
shl ecx, 8
or eax, ecx
cdq
mov ecx, edx
mov ebp, eax
mov edx, dword [esp + 0x30]
jmp 0x5069ae
movzx eax, word [ebx]
mov ebp, eax
movzx eax, al
shr ebp, 8
shl eax, 8
or ebp, eax
xor ecx, ecx
test ecx, ecx
jl 0x50703e
jg 0x5069c1
cmp ebp, 1
jb 0x50703e
mov eax, dword [esp + 0x14]
add eax, ebp
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x3c]
sub eax, ebx
cmp eax, dword [esp + 0x28]
jl 0x50702a
mov eax, edx
cdq
cmp ecx, edx
jg 0x507011
jl 0x5069f0
cmp ebp, eax
ja 0x507011
mov eax, dword [esp + 0x28]
mov al, byte [eax + ebx - 1]
test al, al
jne 0x506fe5
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x18], ebx
cmp ebp, 0x40
ja 0x506a20
test ebp, ebp
je 0x506a33
mov ecx, ebp
mov al, byte [ebx]
inc ebx
mov byte [esi], al
inc esi
sub ecx, 1
jne 0x506a13
jmp 0x506a2f
push ebp
push ebx
push esi
call fcn.004af590
add esp, 0xc
add ebx, ebp
add esi, ebp
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x30]
sub eax, ebp
mov ebp, dword [esp + 0x48]
add esi, eax
mov eax, dword [esp + 0x34]
inc eax
mov dword [esp + 0x34], eax
cmp eax, dword [esp + 0x10]
jl 0x506880
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x20], 0
jl 0x50706e
test byte [ebp + 0x44], 4
je 0x506a6f
mov esi, dword [ebp + 0x18]
add esi, dword [ebp + 0x2c]
jmp 0x506a72
sub esi, dword [edi + 0x28]
mov dword [edi + 0x24], esi
cmp dword [ecx + 0x10], 0
jne 0x5061d3
dec dword [edi + 0xc]
mov eax, dword [ecx + 0x1c]
add dword [edi + 0x28], eax
mov ecx, dword [edi + 0x38]
mov dword [esp + 0x2c], ecx
jmp 0x506e70
cmp dword [esp + 0x38], 0x20
jge 0x507110
test eax, eax
jne 0x506c70
mov ecx, dword [ebp + 0x68]
mov eax, dword [ebp + 0x64]
add ecx, dword [edi + 0x28]
sub eax, 2
je 0x506acc
sub eax, 2
je 0x506ac8
sub eax, 4
je 0x506ac4
movzx eax, byte [ecx]
jmp 0x506acf
mov eax, dword [ecx]
jmp 0x506ad4
mov eax, dword [ecx]
jmp 0x506acf
movzx eax, word [ecx]
cdq
mov edx, dword [esp + 0x10]
mov ecx, dword [ebp + 0x78]
add ecx, dword [esp + 0x64]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], 0
mov eax, dword [ecx + 0x138]
add ecx, 0x134
mov dword [esp + 0x30], ecx
cmp eax, dword [ecx]
mov ecx, dword [esp + 0x10]
setg cl
dec ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x24]
sub ecx, eax
js 0x506b59
mov eax, dword [esp + 0x1c]
cmp ecx, dword [eax + 0x2c]
jge 0x506b59
imul eax, ecx, 0xb4
add eax, dword [esp + 0x1c]
mov dword [esp + 0x5c], eax
mov ebx, dword [eax + 0x138]
mov eax, dword [esp + 0x24]
cmp ebx, eax
mov ebx, dword [esp + 0x18]
jne 0x506b5d
mov edi, dword [esp + 0x5c]
mov ebp, dword [edi + 0x138]
cmp ebp, dword [edi + 0x134]
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x48]
jg 0x506b5d
jmp 0x506c30
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x2c]
mov dword [esp + 0x28], ecx
cmp ecx, 0x10
jge 0x506bb9
cmp dword [esp + 0x28], 0
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x14], 0
jle 0x506c30
mov ecx, dword [esp + 0x30]
nop dword [eax]
cmp dword [ecx + 4], eax
jg 0x506b99
cmp eax, dword [ecx]
jle 0x506bb3
mov ebx, dword [esp + 0x28]
add ecx, 0xb4
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x18]
jl 0x506b90
jmp 0x506c2c
mov ecx, dword [esp + 0x14]
jmp 0x506c30
xor eax, eax
add ecx, 0xffffffff
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], eax
js 0x506c30
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
add ecx, eax
sar ecx, 1
imul eax, ecx, 0xb4
mov ebp, dword [eax + edi + 0x138]
mov eax, dword [eax + edi + 0x134]
cmp ebp, eax
mov edi, dword [esp + 0x44]
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x5c], eax
jg 0x506c1d
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jge 0x506c17
lea eax, [ecx - 1]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x30]
jmp 0x506c24
cmp eax, dword [esp + 0x5c]
jle 0x506c30
lea eax, [ecx + 1]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x14]
cmp eax, ecx
jle 0x506bd0
mov ecx, dword [esp + 0x10]
cmp ecx, 0xffffffff
je 0x506c54
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x70]
imul eax, ecx, 0xb4
cmp dword [eax + ebx + 0xbc], edi
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x44]
jle 0x506c7d
mov ecx, dword [edi]
mov dword [esp + 0x1c], ecx
cmp dword [ecx + 0x10], 0
je 0x5061e9
mov eax, dword [edi + 0x10]
inc eax
mov dword [edi + 0x10], eax
jmp 0x5061d9
mov eax, dword [ebp + 0x78]
add eax, dword [esp + 0x64]
xor ecx, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x34]
add edi, 0xbc
mov ebx, dword [esp + 0x1c]
inc dword [esp + 0x38]
mov dword [esp + 0x44], edi
mov dword [eax + 0xcc], ecx
mov ecx, ebx
mov dword [eax + 0xc8], edx
mov dword [edi], ebx
mov ebx, dword [esp + 0x18]
mov edx, dword [ecx + 0x64]
mov dword [eax + 0xe0], 0
mov dword [eax + 0xe4], esi
test edx, edx
je 0x506cf8
cmp dword [ecx + 0x68], 0xffffffff
mov dword [eax + 0xd0], edx
je 0x506ce4
mov esi, dword [esp + 0x78]
add ebx, edx
neg edx
mov dword [eax + 0xf0], esi
mov dword [esp + 0x18], ebx
mov dword [eax + 0xd4], edx
jmp 0x506d59
mov edx, dword [ecx + 0x5c]
lea esi, [edx + ebx]
mov dword [eax + 0xf0], esi
mov dword [eax + 0xd4], edx
jmp 0x506d59
mov edx, dword [ebp + 0x50]
test edx, edx
je 0x506d4f
cmp dword [ebp + 0x54], 0xffffffff
mov dword [eax + 0xd0], edx
je 0x506d25
mov esi, dword [esp + 0x4c]
add ebx, edx
neg edx
mov dword [esp + 0x18], ebx
mov dword [eax + 0xd4], edx
mov dword [eax + 0xf0], esi
jmp 0x506d59
mov edx, dword [ebp + 0x48]
mov esi, dword [ebp + 0x28]
cmp edx, esi
jl 0x506d42
sub edx, esi
mov dword [eax + 0xd4], edx
lea esi, [ebx + edx]
mov dword [eax + 0xf0], esi
jmp 0x506d59
mov esi, dword [eax + 0x30]
add esi, edx
mov dword [eax + 0xf0], esi
jmp 0x506d59
mov dword [eax + 0xd0], 0
mov edx, dword [esp + 0x40]
mov dword [eax + 0xe8], edx
mov edx, dword [ecx + 0x74]
mov dword [eax + 0xec], ebx
mov dword [eax + 0xc0], ebp
mov dword [eax + 0xf4], 1
test edx, edx
je 0x506e51
mov esi, dword [ecx + 0x6c]
mov eax, dword [esp + 0x3c]
add esi, ebx
sub eax, esi
cmp eax, edx
jl 0x506e4d
sub edx, 2
je 0x506e25
sub edx, 2
je 0x506df7
sub edx, 4
je 0x506db5
movzx eax, byte [esi]
cdq
mov ebp, eax
jmp 0x506e3d
mov edx, dword [esi + 4]
xor ebp, ebp
mov ecx, dword [esi]
mov eax, edx
shrd ecx, eax, 0x10
mov esi, edx
and esi, 0xff0000
shr eax, 0x10
or esi, eax
or ebp, ecx
mov ecx, dword [esp + 0x1c]
mov eax, edx
shrd ebp, esi, 0x10
and eax, 0xff00
shr esi, 0x10
or esi, eax
movzx eax, dl
shrd ebp, esi, 0x10
shr esi, 0x10
or esi, eax
shrd ebp, esi, 8
jmp 0x506e3d
mov edx, dword [esi]
mov eax, edx
mov ecx, edx
and eax, 0xff0000
shr ecx, 0x10
or eax, ecx
mov ecx, edx
shl ecx, 0x10
and edx, 0xff00
or ecx, edx
shr eax, 8
shl ecx, 8
or eax, ecx
mov ecx, dword [esp + 0x1c]
cdq
mov ebp, eax
jmp 0x506e3d
movzx eax, word [esi]
mov ebp, eax
mov dword [esp + 0x50], 0
movzx eax, al
shr ebp, 8
shl eax, 8
or ebp, eax
mov eax, dword [esp + 0x34]
mov dword [eax + 0xdc], ebp
test ebp, ebp
jne 0x506e5a
jmp 0x506e51
mov eax, dword [esp + 0x34]
mov ebp, dword [eax + 0x20]
mov dword [eax + 0xdc], ebp
cmp dword [ecx + 8], ebp
jg 0x5070d5
cmp ebp, dword [ecx + 0x58]
jl 0x5070d5
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x38], 0
jle 0x507183
mov ebp, dword [esp + 0x1c]
jmp 0x506080
push dword [edi + 0xc]
push dword [edi]
call fcn.00502860
add esp, 4
push eax
push dword [edi + 4]
call fcn.00501de0
add esp, 4
push eax
push ebp
push esi
push ebx
push str.__net_buffer_NOT_enough:_pszNetStart__p__pszNetEnd__p__sizeinfo__d__entry__s__meta__s__unpacked_entry_count__d_
push 0x400
call fcn.00508350
push eax
call fcn.00486c20
add esp, 0x24
mov dword [esp + 0x20], 0x82010402
jmp 0x507183
mov dword [esp + 0x20], 0x82010407
push dword [esp + 0x40]
push esi
push dword [esp + 0x24]
call fcn.00502860
add esp, 4
push eax
push dword [esp + 0x1c]
push ebp
call fcn.00501de0
add esp, 4
push eax
push str.__failed_to_set_default_value__entry__s___count__d___meta__s___pszHostStart__p___pszHostEnd__p_
push 0x400
call fcn.00508350
push eax
call fcn.00486c20
add esp, 0x20
jmp 0x50717d
push edx
push dword [esp + 0x2c]
push dword [esp + 0x44]
push ebx
push str.__net_buffer_NOT_enough:_net_start__p__net_end__p__unit_size__u__count__d_
push 0x400
call fcn.00508350
push eax
call fcn.00486c20
add esp, 0x1c
jmp 0x507066
push edx
push dword [ebp + 0x18]
push dword [esp + 0x48]
push esi
push str.__host_buffer_NOT_enough:_host_start__p__host_end__p__unit_size__u__count__d_
push 0x400
call fcn.00508350
push eax
call fcn.00486c20
add esp, 0x1c
mov dword [esp + 0x20], 0x82010407
jmp 0x50706e
push dword [esp + 0x30]
push ebp
push ebx
push ecx
push str.__wstring_from_net_buffer_format_error:_expect_last_char_of_wstring__hu__is_null_wchar_0___net_start__p__length__d__sizeinfo__u_
push 0x400
call fcn.00508350
push eax
call fcn.00486c20
add esp, 0x1c
mov dword [esp + 0x20], 0x82010406
jmp 0x50706e
push dword [esp + 0x30]
push dword [esp + 0x40]
push ebx
push ecx
push ebp
push str.__has_NO_sapce_for_wstrings_null:_length__d__buffer_size__d___start__p__end__p__custom_size__u__
push 0x400
call fcn.00508350
push eax
call fcn.00486c20
add esp, 0x20
mov dword [esp + 0x20], 0x82010406
jmp 0x50706e
push dword [esp + 0x30]
push ebp
push ebx
push dword [esp + 0x48]
push str.__net_buffer_NOT_enough:_expect__end__p____start__p______length__d___sizeinfo__u__
jmp 0x506f1a
push dword [esp + 0x30]
push ebx
push ebp
push str.__net_buffer_wstring_length_error:_expect_length__d____min_wstring_len_2___start__p___sizeinfo__u__
jmp 0x507053
push eax
push ebx
push dword [esp + 0x44]
jmp 0x50704e
push dword [esp + 0x14]
movsx eax, al
push ebp
push ebx
push eax
push str.__string_from_net_buffer_format_error:_expect_last_char_of_string__d__is_null_char_0___net_start__p__length__d__sizeinfo__u_
push 0x400
call fcn.00508350
push eax
call fcn.00486c20
add esp, 0x1c
mov dword [esp + 0x20], 0x82010406
jmp 0x50706e
push dword [esp + 0x14]
mov eax, dword [esp + 0x34]
push dword [esp + 0x40]
push ebx
push eax
push ebp
push str.__has_NO_sapce_for_strings_null:_length__d__buffer_size__d___start__p__end__p__custom_size__u__
jmp 0x506f9c
push dword [esp + 0x14]
push ebp
push ebx
push dword [esp + 0x48]
push str.__net_buffer_NOT_enough:_expect__end__p____start__p______length__d___sizeinfo__u__
jmp 0x506f1a
push dword [esp + 0x14]
push ebx
push ebp
push str.__net_buffer_string_length_error:_expect_length__d____min_string_len_1___start__p___sizeinfo__u__
jmp 0x507053
push eax
push ebx
push ebp
push str.__net_buffer_NOT_enough:_expect_end__p_____start__p___sizeinfo__u__
push 0x400
call fcn.00508350
push eax
call fcn.00486c20
add esp, 0x18
mov dword [esp + 0x20], 0x82010402
push 0x400
call fcn.00508350
push eax
call fcn.004dc6c5
mov edi, eax
add esp, 8
cmp edi, 0x400
jge 0x507094
mov esi, 0x400
sub esi, edi
jmp 0x507096
xor esi, esi
push 0x33c
push str.lib_src_tdr_tdr_net.c
push dword [esp + 0x24]
call fcn.00502860
add esp, 4
push eax
push dword [esp + 0x54]
call fcn.00501de0
add esp, 4
push eax
push str.__entry__s__of_meta__s___s:_d
push esi
call fcn.00508350
add eax, edi
push eax
call fcn.00486c20
add esp, 0x1c
jmp 0x507183
mov esi, dword [esp + 0x54]
push esi
call fcn.00502860
add esp, 4
push eax
push dword [esi + 0x58]
mov eax, dword [esp + 0x24]
push dword [eax + 8]
push ebp
push str.__invalid_cut_off_version:_expect_cut_off_version__d__NOT_less_than_max_base_ver__d___min_ver__d___about_meta__s_
push 0x400
call fcn.00508350
push eax
call fcn.00486c20
add esp, 0x1c
mov dword [esp + 0x20], 0x82010401
jmp 0x507183
mov esi, dword [esp + 0x54]
push 0x20
push esi
call fcn.00502860
add esp, 4
push eax
push str.__meta__s__is_too_complex__contains_more_than__d_layers_of_children
push 0x400
call fcn.00508350
push eax
call fcn.00486c20
add esp, 0x14
mov dword [esp + 0x20], 0x82010404
jmp 0x50717d
push ecx
call fcn.00502860
add esp, 4
push eax
push ebp
call fcn.00501de0
add esp, 4
push eax
push dword [ebp + 0x24]
push dword [esp + 0x1c]
push str.__invalid_refer_value:_expect_refer_value__d__in__0__array_count__d___about_entry__s__of_meta__s_
push 0x400
call fcn.00508350
push eax
call fcn.00486c20
add esp, 0x1c
mov dword [esp + 0x20], 0x82010403
mov eax, dword [ebp + 0x2c]
mov dword [edi + 0x24], eax
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x68]
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0xa4]
mov dword [esi + 4], eax
test ebp, ebp
jns 0x5071d3
mov edx, 1
cmp ecx, edx
jle 0x5071d3
lea ecx, [esp + 0x160]
nop dword [eax]
mov eax, dword [ecx - 0x20]
test byte [eax + 0x44], 4
jne 0x5071cd
mov eax, dword [ecx]
inc edx
add dword [esi + 4], eax
add ecx, 0xbc
cmp edx, dword [esp + 0x38]
jl 0x5071b0
jmp 0x5071d3
mov eax, dword [eax + 0x18]
add dword [esi + 4], eax
mov eax, dword [esp + 0x58]
sub ebx, dword [eax]
mov dword [eax + 4], ebx
test ebp, ebp
js 0x5071f0
mov eax, dword [esp + 0x6c]
cmp eax, dword [esp + 0x7c]
cmovg eax, dword [esp + 0x7c]
mov dword [esi + 4], eax
mov eax, ebp
jmp 0x50602c
push edi
call fcn.00502860
add esp, 4
push eax
push dword [ebx]
push dword [edi + 8]
push esi
push str.__invalid_parameter:_expect_a_iVersion__d__in__base_ver__d___cur_ver__d___of_meta__s_
push 0x400
call fcn.00508350
push eax
call fcn.00486c20
add esp, 0x1c
mov eax, dword [esp + 0x58]
mov dword [ebp + 4], 0
mov dword [eax + 4], 0
mov eax, 0x82010401
jmp 0x50602c
push dword [ebp + 4]
push dword [ebp]
push dword [ebx + 4]
push eax
push str.__invalid_parameters:_a_pstNet__pszBuff__p_NULL_or_a_pstNet__iBuff__u__0_or_a_pstHost__pszBuff__p_NULL_or_a_pstHost__iBuff__u__0
push 0x400
call fcn.00508350
push eax
call fcn.00486c20
add esp, 0x1c
mov eax, 0x82010468
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x17f0]
xor ecx, esp
call fcn.004ad99f
add esp, 0x17f4
ret
push ebp
push ebx
push edi
push str.__invalid_parameters:_a_pstMeta__p_NULL_or_a_pstMeta__iTypeTDR_TYPE_UNION_or_a_pstNext__p_NULL_or_a_pstHost__p_NULL
push 0x400
call fcn.00508350
push eax
call fcn.00486c20
mov ecx, dword [esp + 0x1814]
add esp, 0x18
mov eax, 0x82010468
pop edi
pop ebp
pop ebx
xor ecx, esp
call fcn.004ad99f
add esp, 0x17f4
ret