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

Disassembly:
mov eax, 0x17e4
call fcn.004ade10
mov eax, dword [0x5770a4]
xor eax, esp
mov dword [esp + 0x17e0], eax
push ebx
mov ebx, dword [esp + 0x17f4]
push ebp
mov ebp, dword [esp + 0x17f4]
push edi
mov edi, dword [esp + 0x17f4]
mov dword [esp + 0x58], edi
mov dword [esp + 0x60], ebp
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x24], 0
call fcn.00508350
mov byte [eax], 0
test edi, edi
je 0x505c90
cmp dword [edi + 0x10], 0
je 0x505c90
test ebp, ebp
je 0x505c90
test ebx, ebx
je 0x505c90
mov eax, dword [ebp]
test eax, eax
je 0x505c52
cmp dword [ebp + 4], 0
jbe 0x505c52
cmp dword [ebx], 0
je 0x505c52
cmp dword [ebx + 4], 0
jbe 0x505c52
push edi
call fcn.00502880
mov ecx, dword [ebx + 4]
add esp, 4
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x1800]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x28], eax
test eax, eax
je 0x504a9e
cmp eax, dword [edi + 0xc]
jle 0x504aa5
mov eax, dword [edi + 0xc]
mov dword [esp + 0x28], eax
push esi
cmp dword [edi + 8], eax
jg 0x505bfa
mov edx, dword [edi + 0x74]
test edx, edx
je 0x504abf
cmp dword [edi + 0x58], eax
jg 0x505bfa
mov esi, dword [ebp]
mov eax, dword [ebp + 4]
mov ebp, dword [ebx]
add eax, esi
mov dword [esp + 0x48], eax
mov ebx, edi
sub ebx, dword [edi + 0x3c]
mov dword [esp + 0x54], ebx
lea ebx, [esp + 0x70]
lea eax, [ecx + ebp]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x9c], eax
mov ecx, edi
mov eax, dword [edi + 0x64]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x70], edi
mov dword [esp + 0x7c], 1
mov dword [esp + 0x80], 0
mov dword [esp + 0x98], ebp
test eax, eax
je 0x504b39
cmp dword [edi + 0x68], 0xffffffff
mov dword [esp + 0x84], eax
je 0x504b2b
mov dword [esp + 0xa4], esi
add esi, eax
jmp 0x504b5a
mov eax, dword [edi + 0x5c]
add eax, esi
mov dword [esp + 0xa4], eax
jmp 0x504b5a
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], esi
mov dword [esp + 0xa8], 1
mov dword [esp + 0x94], 0
test edx, edx
je 0x504c64
mov edi, dword [edi + 0x70]
mov eax, dword [esp + 0x58]
add edi, ebp
add eax, ebp
sub eax, edi
cmp eax, edx
jge 0x504c3e
mov eax, dword [esp + 0x58]
push edx
push dword [ecx + 0x70]
add eax, ebp
push eax
push ebp
push ecx
call fcn.00502860
add esp, 4
push eax
push str.__host_buffer_NOT_enough:_meta__s___a_pszHostBase__p___a_pszHostEnd__p___version_indicator_offset__u__and_size__u_
push 0x400
call fcn.00508350
push eax
call fcn.00486c20
add esp, 0x20
push 0x400
call fcn.00508350
push eax
call fcn.004dc6c5
mov esi, eax
add esp, 8
cmp esi, 0x400
jge 0x504be8
mov ecx, 0x400
sub ecx, esi
jmp 0x504bea
xor ecx, ecx
push 0xfb
push str.lib_src_tdr_tdr_net.c
push str.___s:_d
push ecx
call fcn.00508350
add eax, esi
push eax
call fcn.00486c20
mov eax, dword [esp + 0x74]
add esp, 0x14
mov dword [eax + 4], 0
mov eax, dword [esp + 0x64]
mov dword [eax + 4], 0
mov eax, 0x82010407
pop esi
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x17e0]
xor ecx, esp
call fcn.004ad99f
add esp, 0x17e4
ret
mov eax, dword [esp + 0x2c]
sub edx, 2
je 0x504c61
sub edx, 2
je 0x504c5d
sub edx, 4
je 0x504c55
mov byte [edi], al
jmp 0x504c64
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x504c64
mov dword [edi], eax
jmp 0x504c64
mov word [edi], ax
xor eax, eax
mov dword [esp + 0x24], 1
mov dword [esp + 0x74], 0
mov dword [esp + 0x18], eax
nop word [eax + eax]
mov dword [esp + 0x34], esi
test eax, eax
je 0x504e1a
mov ebp, dword [ebx + 0x14]
mov dword [esp + 0x18], 0
test ebp, ebp
je 0x504daa
mov edi, esi
sub edi, dword [ebx + 0x30]
mov eax, edi
cdq
mov ecx, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], ecx
cmp ecx, dword [ebp*8 + 0x580d84]
jg 0x505860
jl 0x504ccd
cmp eax, dword [ebp*8 + 0x580d80]
ja 0x505860
mov edx, ebp
sub edx, 2
je 0x504d98
sub edx, 2
je 0x504d8f
sub edx, 4
je 0x504cf4
mov eax, dword [ebx + 0x34]
mov ecx, dword [esp + 0x14]
mov byte [eax], cl
jmp 0x504daa
mov edi, ecx
mov ebp, dword [esp + 0x14]
shrd eax, ecx, 0x10
and edi, 0xff0000
xor edx, edx
or edx, eax
shr ecx, 0x10
or edi, ecx
and ebp, 0xff000000
mov ecx, dword [esp + 0x30]
mov eax, ecx
and eax, 0xff00
shrd edx, edi, 0x10
shr edi, 0x10
or edi, eax
movzx eax, cl
shrd edx, edi, 0x10
shr edi, 0x10
or edi, eax
mov eax, dword [esp + 0x14]
mov ecx, eax
and eax, 0xff00
shld dword [esp + 0x30], ecx, 0x10
shrd edx, edi, 8
shl ecx, 0x10
or ecx, eax
shr edi, 8
mov eax, dword [esp + 0x30]
shld eax, ecx, 0x10
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x14]
shl ecx, 0x10
and eax, 0xff0000
or ecx, eax
mov eax, dword [esp + 0x30]
shld eax, ecx, 0x10
shl ecx, 0x10
or ecx, ebp
mov ebp, dword [ebx + 0x14]
shld eax, ecx, 8
shl ecx, 8
or edx, ecx
or edi, eax
mov eax, dword [ebx + 0x34]
mov dword [eax], edx
mov dword [eax + 4], edi
jmp 0x504daa
mov eax, dword [ebx + 0x34]
bswap edi
mov dword [eax], edi
jmp 0x504daa
rol ax, 8
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x34]
mov ecx, dword [esp + 0x14]
mov word [eax], cx
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x504def
mov edi, dword [esp + 0x48]
cmp esi, edi
ja 0x5058a7
test ebp, ebp
je 0x504dec
mov edi, dword [ebx + 0x18]
mov eax, esi
mov ebp, dword [esp + 0x34]
sub eax, edi
test edi, edi
mov ecx, ebp
cmovs esi, eax
mov edx, esi
lea eax, [edi + ebp]
cmovns ecx, eax
mov dword [ebx + 0x30], edx
mov esi, ebp
mov dword [ebx + 0x34], ecx
sub esi, edi
test edi, edi
cmovns esi, ebp
jmp 0x504def
mov dword [ebx + 0x30], esi
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
cmp eax, 1
jle 0x504e1e
mov eax, dword [ebx + 4]
test byte [eax + 0x44], 4
je 0x504e0a
mov eax, dword [eax + 0x18]
jmp 0x504e0d
mov eax, dword [ecx + 0x1c]
add dword [ebx - 0x98], eax
mov dword [ebx + 0x24], 0
mov eax, dword [esp + 0x24]
mov edx, dword [ebx + 0xc]
mov dword [esp + 0x50], esi
mov dword [esp + 0x68], esi
test edx, edx
jg 0x504e7b
dec eax
sub ebx, 0xbc
mov dword [esp + 0x40], ebx
mov dword [esp + 0x24], eax
test eax, eax
jle 0x505b8b
mov ecx, dword [ebx]
mov dword [esp + 0x1c], ecx
cmp dword [ecx + 0x10], 0
je 0x504e66
inc dword [ebx + 0x10]
mov eax, dword [ebx + 0x10]
cmp eax, dword [ecx + 0x2c]
jl 0x50584b
mov dword [ebx + 0x10], 0
dec dword [ebx + 0xc]
mov eax, dword [ecx + 0x1c]
add dword [ebx + 0x28], eax
mov eax, dword [ebx + 0x38]
mov dword [esp + 0x18], eax
jmp 0x50584f
mov ebp, dword [ebx + 0x10]
mov eax, dword [esp + 0x2c]
imul edi, ebp, 0xb4
add edi, 0xb8
add edi, ecx
mov dword [esp + 0x44], edi
cmp dword [edi + 4], eax
jle 0x504eb7
cmp dword [ecx + 0x10], 0
jne 0x504ee8
lea eax, [edx - 1]
mov dword [ebx + 0xc], eax
mov eax, dword [ecx + 0x1c]
add dword [ebx + 0x28], eax
mov eax, dword [ebx + 0x38]
mov dword [esp + 0x18], eax
jmp 0x50584f
movzx eax, word [edi + 0x44]
test al, 2
jne 0x504e99
mov eax, dword [edi + 0x58]
test eax, eax
je 0x504f34
mov ebp, dword [edi + 0x5c]
add ebp, dword [ebx + 0x28]
sub eax, 2
je 0x504f27
sub eax, 2
je 0x504f1b
sub eax, 4
je 0x504f16
movzx eax, byte [ebp]
cdq
mov dword [esp + 0x20], eax
mov edx, eax
jmp 0x504f3b
lea eax, [ebp + 1]
mov dword [ebx + 0x10], eax
cmp eax, dword [ecx + 0x2c]
jl 0x50584b
lea eax, [edx - 1]
mov dword [ebx + 0x10], 0
mov dword [ebx + 0xc], eax
mov eax, dword [ecx + 0x1c]
add dword [ebx + 0x28], eax
mov eax, dword [ebx + 0x38]
mov dword [esp + 0x18], eax
jmp 0x50584f
mov edx, dword [ebp]
jmp 0x504f37
mov eax, dword [ebp]
cdq
mov dword [esp + 0x20], eax
mov edx, eax
jmp 0x504f3b
movzx eax, word [ebp]
cdq
mov dword [esp + 0x20], eax
mov edx, eax
jmp 0x504f3b
mov edx, dword [edi + 0x24]
mov dword [esp + 0x20], edx
test edx, edx
js 0x505b1e
mov eax, dword [edi + 0x24]
cmp eax, edx
jge 0x504f52
test eax, eax
jg 0x505b1e
test edx, edx
jg 0x504fbf
mov eax, dword [edi + 0x50]
test eax, eax
je 0x504fa0
cmp dword [edi + 0x54], 0xffffffff
jne 0x504fa0
mov ebp, dword [edi + 0x48]
cmp ebp, dword [edi + 0x28]
jge 0x504fa0
mov edx, dword [ebx + 0x30]
add edx, ebp
sub eax, 2
je 0x504f9b
sub eax, 2
je 0x504f93
sub eax, 4
je 0x504f84
mov byte [edx], 0
jmp 0x504fa0
mov dword [edx], 0
mov dword [edx + 4], 0
jmp 0x504fa0
mov dword [edx], 0
jmp 0x504fa0
xor eax, eax
mov word [edx], ax
cmp dword [ecx + 0x10], 0
jne 0x50572e
dec dword [ebx + 0xc]
mov eax, dword [ecx + 0x1c]
add dword [ebx + 0x28], eax
mov eax, dword [ebx + 0x38]
mov dword [esp + 0x18], eax
jmp 0x50584f
mov ebp, dword [edi + 0x2c]
add ebp, dword [ebx + 0x28]
movzx eax, word [edi + 0x44]
mov dword [esp + 0x10], ebp
test al, 4
je 0x50501e
mov eax, dword [edi + 8]
mov ebp, dword [ebp]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x34], eax
cmp eax, 1
jle 0x504ff7
mov ebx, dword [edi + 0x14]
mov dword [esp + 0x3c], ebx
add ebx, ebp
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x40]
jmp 0x505028
mov eax, dword [edi + 0x78]
mov edi, dword [esp + 0x54]
mov eax, dword [eax + edi + 0x1c]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x3c], eax
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x34]
add ebx, ebp
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x40]
jmp 0x505028
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x30], eax
mov eax, dword [edi + 8]
cmp eax, 1
jle 0x505512
sub eax, 0x15
je 0x50536d
sub eax, 1
je 0x5051d9
mov eax, dword [edi + 0x18]
imul eax, edx
add eax, ebp
cmp eax, dword [esp + 0x30]
ja 0x505915
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x34], eax
imul eax, edx
add eax, esi
cmp eax, dword [esp + 0x48]
ja 0x5058e6
mov eax, dword [esp + 0x34]
sub eax, 1
je 0x5051a2
sub eax, 1
je 0x505180
sub eax, 2
je 0x50513e
nop word [eax + eax]
mov ebx, dword [ebp + 4]
mov ecx, ebx
mov edi, dword [ebp]
mov edx, ebx
mov ebp, edi
mov eax, edi
shld ecx, ebp, 0x10
and eax, 0xff00
and edx, 0xff0000
shl ebp, 0x10
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 + 0x34], 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
shrd ecx, edx, 0x10
shr edx, 0x10
or edx, eax
mov eax, dword [esp + 0x34]
shrd ecx, edx, 8
or ebp, ecx
shr edx, 8
mov dword [esi], ebp
or eax, edx
mov ebp, dword [esp + 0x10]
mov dword [esi + 4], eax
add ebp, 8
add esi, 8
mov dword [esp + 0x10], ebp
sub dword [esp + 0x20], 1
jne 0x505090
mov edi, dword [esp + 0x44]
jmp 0x5054d8
mov edi, dword [esp + 0x20]
mov ecx, dword [ebp]
mov edx, ecx
shl edx, 0x10
mov eax, ecx
and eax, 0xff00
add ebp, 4
or edx, eax
mov eax, ecx
and eax, 0xff0000
shr ecx, 0x10
or eax, ecx
shl edx, 8
shr eax, 8
or edx, eax
mov dword [esi], edx
add esi, 4
sub edi, 1
jne 0x505142
mov edi, dword [esp + 0x44]
jmp 0x5054dc
mov ax, word [ebp]
movzx ecx, byte [ebp + 1]
add ebp, 2
shl ax, 8
or cx, ax
mov word [esi], cx
add esi, 2
sub edx, 1
jne 0x505180
jmp 0x5054dc
cmp edx, 0x40
jg 0x5051c1
test edx, edx
je 0x5054e0
nop
mov al, byte [ebp]
inc ebp
mov byte [esi], al
inc esi
sub edx, 1
jne 0x5051b0
jmp 0x5054e0
push edx
push ebp
push esi
call fcn.004af590
add ebp, dword [esp + 0x2c]
add esp, 0xc
add esi, dword [esp + 0x20]
jmp 0x5054dc
mov dword [esp + 0x34], 0
mov eax, dword [edi + 0x20]
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x5051f6
mov eax, dword [esp + 0x30]
sub eax, ebp
mov dword [esp + 0x3c], eax
push eax
push ebp
call fcn.00509e40
add esp, 8
lea ebx, [eax*2 + 2]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x4c], ebx
cmp ebx, eax
jg 0x50597f
mov edx, dword [edi + 0x50]
mov eax, dword [esp + 0x48]
sub eax, esi
lea ecx, [edx + ebx]
cmp eax, ecx
jl 0x50596e
mov ecx, edx
mov eax, ebx
cdq
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
cmp edx, dword [ecx*8 + 0x580d84]
jg 0x505943
jl 0x50525a
mov edx, dword [ecx*8 + 0x580d80]
cmp eax, edx
ja 0x50594a
mov edx, dword [esp + 0x10]
sub ecx, 2
je 0x505317
sub ecx, 2
je 0x50530f
sub ecx, 4
je 0x505278
mov byte [esi], bl
jmp 0x505321
mov ecx, edx
and ebx, 0xff00
shld ecx, eax, 0x10
xor edi, edi
and edx, 0xff0000
shl eax, 0x10
or edi, ecx
or ebx, eax
xor ecx, ecx
mov eax, dword [esp + 0x4c]
shld edi, ebx, 0x10
and eax, 0xff0000
shl ebx, 0x10
or ebx, eax
mov eax, dword [esp + 0x14]
shld edi, ebx, 0x10
and eax, 0xff000000
shl ebx, 0x10
or ebx, eax
mov eax, dword [esp + 0x10]
shrd dword [esp + 0x14], eax, 0x10
or ecx, dword [esp + 0x14]
shr eax, 0x10
or edx, eax
mov eax, dword [esp + 0x10]
shrd ecx, edx, 0x10
and eax, 0xff00
shr edx, 0x10
or edx, eax
mov eax, dword [esp + 0x10]
shrd ecx, edx, 0x10
shld edi, ebx, 8
shr edx, 0x10
movzx eax, al
or edx, eax
shl ebx, 8
shrd ecx, edx, 8
or ebx, ecx
shr edx, 8
or edi, edx
mov dword [esi], ebx
mov ebx, dword [esp + 0x4c]
mov dword [esi + 4], edi
mov edi, dword [esp + 0x44]
jmp 0x505321
mov eax, ebx
bswap eax
mov dword [esi], eax
jmp 0x505321
mov ax, bx
rol ax, 8
mov word [esi], ax
add esi, dword [edi + 0x50]
cmp ebx, 0x40
ja 0x50533e
test ebx, ebx
je 0x50534d
mov ecx, ebx
nop
mov al, byte [ebp]
inc ebp
mov byte [esi], al
inc esi
sub ecx, 1
jne 0x505330
jmp 0x50534d
push ebx
push ebp
push esi
call fcn.004af590
add esp, 0xc
add ebp, ebx
add esi, ebx
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
sub eax, ebx
inc ecx
add ebp, eax
mov dword [esp + 0x34], ecx
cmp ecx, dword [esp + 0x20]
jl 0x5051e1
jmp 0x5054d8
mov dword [esp + 0x4c], 0
mov eax, dword [edi + 0x20]
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x50538a
mov eax, dword [esp + 0x30]
sub eax, ebp
mov dword [esp + 0x3c], eax
push eax
push ebp
call fcn.004dc6c5
mov ebx, eax
add esp, 8
mov eax, dword [esp + 0x3c]
cmp ebx, eax
jge 0x5059a1
mov eax, dword [edi + 0x50]
inc ebx
mov edx, dword [esp + 0x48]
sub edx, esi
mov dword [esp + 0x34], ebx
lea ecx, [eax + ebx]
cmp edx, ecx
jl 0x505990
mov ecx, eax
mov eax, ebx
cdq
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
cmp edx, dword [ecx*8 + 0x580d84]
jg 0x505943
jl 0x5053ea
mov edx, dword [ecx*8 + 0x580d80]
cmp eax, edx
ja 0x50594a
mov edx, dword [esp + 0x14]
sub ecx, 2
je 0x5054a7
sub ecx, 2
je 0x50549f
sub ecx, 4
je 0x505408
mov byte [esi], bl
jmp 0x5054b1
mov ecx, edx
and ebx, 0xff00
shld ecx, eax, 0x10
xor edi, edi
and edx, 0xff0000
shl eax, 0x10
or edi, ecx
or ebx, eax
xor ecx, ecx
mov eax, dword [esp + 0x34]
shld edi, ebx, 0x10
and eax, 0xff0000
shl ebx, 0x10
or ebx, eax
mov eax, dword [esp + 0x10]
shld edi, ebx, 0x10
and eax, 0xff000000
shl ebx, 0x10
or ebx, eax
mov eax, dword [esp + 0x14]
shrd dword [esp + 0x10], eax, 0x10
or ecx, dword [esp + 0x10]
shr eax, 0x10
or edx, eax
mov eax, dword [esp + 0x14]
shrd ecx, edx, 0x10
and eax, 0xff00
shr edx, 0x10
or edx, eax
mov eax, dword [esp + 0x14]
shrd ecx, edx, 0x10
shld edi, ebx, 8
shr edx, 0x10
movzx eax, al
or edx, eax
shl ebx, 8
shrd ecx, edx, 8
or ebx, ecx
shr edx, 8
or edi, edx
mov dword [esi], ebx
mov ebx, dword [esp + 0x34]
mov dword [esi + 4], edi
mov edi, dword [esp + 0x44]
jmp 0x5054b1
mov eax, ebx
bswap eax
mov dword [esi], eax
jmp 0x5054b1
mov ax, bx
rol ax, 8
mov word [esi], ax
add esi, dword [edi + 0x50]
push ebx
push ebp
push esi
call fcn.004af590
mov ecx, dword [esp + 0x58]
add esp, 0xc
add ebp, dword [esp + 0x3c]
inc ecx
add esi, ebx
mov dword [esp + 0x4c], ecx
cmp ecx, dword [esp + 0x20]
jl 0x505375
mov ebx, dword [esp + 0x40]
mov ecx, dword [esp + 0x1c]
test byte [edi + 0x44], 4
je 0x5054ed
mov ebp, dword [edi + 0x2c]
add ebp, ebp
jmp 0x5054f0
sub ebp, dword [ebx + 0x28]
mov dword [ebx + 0x24], ebp
cmp dword [ecx + 0x10], 0
jne 0x504e50
dec dword [ebx + 0xc]
mov eax, dword [ecx + 0x1c]
add dword [ebx + 0x28], eax
mov eax, dword [ebx + 0x38]
mov dword [esp + 0x18], eax
jmp 0x50584f
cmp dword [esp + 0x24], 0x20
jge 0x505ae6
test eax, eax
jne 0x50573a
mov ecx, dword [edi + 0x68]
mov eax, dword [edi + 0x64]
add ecx, dword [ebx + 0x28]
sub eax, 2
je 0x50554a
sub eax, 2
je 0x505546
sub eax, 4
je 0x505542
movzx eax, byte [ecx]
jmp 0x50554d
mov eax, dword [ecx]
jmp 0x505552
mov eax, dword [ecx]
jmp 0x50554d
movzx eax, word [ecx]
cdq
mov edx, dword [esp + 0x20]
mov ecx, dword [edi + 0x78]
add ecx, dword [esp + 0x54]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], 0
mov eax, dword [ecx + 0x138]
add ecx, 0x134
mov dword [esp + 0x4c], ecx
cmp eax, dword [ecx]
mov ecx, dword [esp + 0x20]
setg cl
dec ecx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x14]
sub ecx, eax
js 0x5055d7
mov eax, dword [esp + 0x1c]
cmp ecx, dword [eax + 0x2c]
jge 0x5055d7
imul eax, ecx, 0xb4
add eax, dword [esp + 0x1c]
mov dword [esp + 0x34], eax
mov ebx, dword [eax + 0x138]
mov eax, dword [esp + 0x14]
cmp ebx, eax
mov ebx, dword [esp + 0x40]
jne 0x5055db
mov edi, dword [esp + 0x34]
mov ebx, dword [edi + 0x138]
cmp ebx, dword [edi + 0x134]
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
jg 0x5055db
jmp 0x5056b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x2c]
mov dword [esp + 0x34], ecx
cmp ecx, 0x10
jge 0x505639
cmp dword [esp + 0x34], 0
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x10], 0
jle 0x5056b0
mov ecx, dword [esp + 0x4c]
nop word [eax + eax]
cmp dword [ecx + 4], eax
jg 0x505619
cmp eax, dword [ecx]
jle 0x505633
inc dword [esp + 0x10]
add ecx, 0xb4
mov ebx, dword [esp + 0x34]
cmp dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x40]
jl 0x505610
jmp 0x5056ac
mov ecx, dword [esp + 0x10]
jmp 0x5056b0
xor eax, eax
add ecx, 0xffffffff
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x3c], eax
js 0x5056b0
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
add ecx, eax
sar ecx, 1
imul eax, ecx, 0xb4
mov ebx, dword [eax + edi + 0x138]
mov eax, dword [eax + edi + 0x134]
cmp ebx, eax
mov edi, dword [esp + 0x44]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
jg 0x50569d
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x34]
jge 0x505697
lea eax, [ecx - 1]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
jmp 0x5056a4
cmp eax, dword [esp + 0x4c]
jle 0x5056b0
lea eax, [ecx + 1]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x10]
cmp eax, ecx
jle 0x505650
mov ecx, dword [esp + 0x20]
cmp ecx, 0xffffffff
je 0x5056d4
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
imul eax, ecx, 0xb4
cmp dword [eax + ebx + 0xbc], edi
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
jle 0x505749
mov eax, dword [edi + 0x50]
test eax, eax
je 0x50571e
cmp dword [edi + 0x54], 0xffffffff
jne 0x50571e
mov edx, dword [edi + 0x48]
cmp edx, dword [edi + 0x28]
jge 0x50571e
mov ecx, dword [ebx + 0x30]
add ecx, edx
sub eax, 2
je 0x505719
sub eax, 2
je 0x505711
sub eax, 4
je 0x505702
mov byte [ecx], 0
jmp 0x50571e
mov dword [ecx], 0
mov dword [ecx + 4], 0
jmp 0x50571e
mov dword [ecx], 0
jmp 0x50571e
xor eax, eax
mov word [ecx], ax
mov ecx, dword [ebx]
mov dword [esp + 0x1c], ecx
cmp dword [ecx + 0x10], 0
je 0x504e66
mov eax, dword [ebx + 0x10]
inc eax
mov dword [ebx + 0x10], eax
jmp 0x504e56
mov eax, dword [edi + 0x78]
add eax, dword [esp + 0x54]
xor ecx, ecx
mov dword [esp + 0x1c], eax
jmp 0x50574d
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
cmp dword [eax + 0x58], edi
mov edi, dword [esp + 0x44]
jg 0x505aac
inc dword [esp + 0x24]
add ebx, 0xbc
mov dword [esp + 0x40], ebx
mov dword [ebx + 0x10], ecx
mov ecx, dword [esp + 0x1c]
mov dword [ebx], eax
mov dword [ebx + 0x24], 0
mov dword [ebx + 0xc], edx
mov eax, dword [ecx + 0x64]
mov dword [ebx + 0x28], ebp
test eax, eax
je 0x5057b0
cmp dword [ecx + 0x68], 0xffffffff
mov dword [ebx + 0x14], eax
je 0x5057a2
mov edx, dword [esp + 0x68]
add esi, eax
neg eax
mov dword [ebx + 0x34], edx
mov dword [ebx + 0x18], eax
jmp 0x5057fb
mov eax, dword [ecx + 0x5c]
lea edx, [eax + esi]
mov dword [ebx + 0x34], edx
mov dword [ebx + 0x18], eax
jmp 0x5057fb
mov eax, dword [edi + 0x50]
test eax, eax
je 0x5057f4
cmp dword [edi + 0x54], 0xffffffff
mov dword [ebx + 0x14], eax
je 0x5057d0
mov edx, dword [esp + 0x50]
add esi, eax
neg eax
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x34], edx
jmp 0x5057fb
mov eax, dword [edi + 0x48]
mov edx, dword [edi + 0x28]
cmp eax, edx
jl 0x5057e7
sub eax, edx
mov dword [ebx + 0x18], eax
lea edx, [eax + esi]
mov dword [ebx + 0x34], edx
jmp 0x5057fb
mov edx, dword [ebx - 0x8c]
add edx, eax
mov dword [ebx + 0x34], edx
jmp 0x5057fb
mov dword [ebx + 0x14], 0
mov edx, dword [ecx + 0x74]
mov eax, dword [esp + 0x30]
mov dword [ebx + 0x30], esi
mov dword [ebx + 0x2c], eax
mov dword [ebx + 4], edi
mov dword [ebx + 0x38], 1
test edx, edx
je 0x50584b
mov edi, dword [ecx + 0x70]
add edi, ebp
sub eax, edi
cmp eax, edx
jl 0x505a2c
mov eax, dword [esp + 0x2c]
sub edx, 2
je 0x505848
sub edx, 2
je 0x505844
sub edx, 4
je 0x50583c
mov byte [edi], al
jmp 0x50584b
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x50584b
mov dword [edi], eax
jmp 0x50584b
mov word [edi], ax
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x24]
test ebp, ebp
jg 0x504c80
jmp 0x505b8f
push dword [ebx + 0xc]
push dword [ebx]
call fcn.00502860
add esp, 4
push eax
push dword [ebx + 4]
call fcn.00501de0
add esp, 4
push eax
push dword [ebp*8 + 0x580d80]
push edi
push str.__sizeinfo_numeric_overflow:_real_value__d__value_limit__u__entry__s__meta__s__unpacked_entry_count__d_
push 0x400
call fcn.00508350
push eax
call fcn.00486c20
add esp, 0x20
mov dword [esp + 0x28], 0x82010479
jmp 0x505b8b
push eax
push dword [ebx]
call fcn.00502860
add esp, 4
push eax
push dword [ebx + 4]
call fcn.00501de0
add esp, 4
push eax
push edi
push esi
push str.__net_buffer_NOT_enough:_pszNetStart__p__pszNetEnd__p__entry__s__meta__s__unpacked_entry_count__d_
push 0x400
call fcn.00508350
push eax
call fcn.00486c20
add esp, 0x20
mov dword [esp + 0x28], 0x82010402
jmp 0x505b8b
push edx
push dword [esp + 0x38]
push dword [esp + 0x50]
push esi
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
mov dword [esp + 0x28], 0x82010402
jmp 0x5059cb
push edx
push dword [edi + 0x18]
push dword [esp + 0x38]
push ebp
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 + 0x28], 0x82010407
jmp 0x5059cb
mov edx, dword [ecx*8 + 0x580d80]
push edx
push ebx
push str.__sizeinfo_numeric_overflow:_real_value__d__value_limit__u_
push 0x400
call fcn.00508350
push eax
call fcn.00486c20
add esp, 0x14
mov dword [esp + 0x28], 0x82010479
jmp 0x5059cb
push dword [esp + 0x48]
push esi
push edx
push ebx
push str.__net_buffer_NOT_enough:_real_len__d__sizeinfo_size__u__net_start__p__net_end__p_
jmp 0x5058f5
push dword [edi + 0x20]
push dword [esp + 0x4c]
push esi
push eax
push ebx
push str.__wstring_length_error:_real_len__d__available_len__d__net_start__p__net_end__p__custom_size__u_
jmp 0x5059b0
push dword [esp + 0x48]
push esi
push eax
push ebx
push str.__net_buffer_NOT_enough:_real_len__d__sizeinfo_size__u__net_start__p__net_end__p_
jmp 0x5058f5
push dword [edi + 0x20]
push dword [esp + 0x4c]
push esi
push eax
push ebx
push str.__string_length_error:_real_len__d__available_len__d__net_start__p__net_end__p__custom_size__u_
push 0x400
call fcn.00508350
push eax
call fcn.00486c20
mov dword [esp + 0x48], 0x82010406
add esp, 0x20
push 0x400
call fcn.00508350
push eax
call fcn.004dc6c5
mov ebp, eax
add esp, 8
cmp ebp, 0x400
jge 0x5059f1
mov ebx, 0x400
sub ebx, ebp
jmp 0x5059f3
xor ebx, ebx
push 0x19a
push str.lib_src_tdr_tdr_net.c
push dword [esp + 0x24]
call fcn.00502860
add esp, 4
push eax
push edi
call fcn.00501de0
add esp, 4
push eax
push str.__entry__s__of_meta__s___s:_d
push ebx
call fcn.00508350
add eax, ebp
push eax
call fcn.00486c20
jmp 0x505b88
push edx
push dword [ecx + 0x70]
push dword [esp + 0x38]
push ebp
push ecx
call fcn.00502860
add esp, 4
push eax
push str.__host_buffer_NOT_enough:_meta__s___a_pszHostBase__p___a_pszHostEnd__p___version_indicator_offset__u__and_size__u_
push 0x400
call fcn.00508350
push eax
call fcn.00486c20
add esp, 0x20
mov dword [esp + 0x28], 0x82010407
push 0x400
call fcn.00508350
push eax
call fcn.004dc6c5
mov edi, eax
add esp, 8
cmp edi, 0x400
jge 0x505a85
mov ecx, 0x400
sub ecx, edi
jmp 0x505a87
xor ecx, ecx
push 0x1df
push str.lib_src_tdr_tdr_net.c
push str.___s:_d
push ecx
call fcn.00508350
add eax, edi
push eax
call fcn.00486c20
add esp, 0x14
jmp 0x505b8b
push eax
call fcn.00502860
add esp, 4
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0x58]
push dword [esp + 0x34]
push str.__invalid_cut_off_version:_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
mov dword [esp + 0x28], 0x82010401
jmp 0x505b8b
mov ecx, dword [esp + 0x5c]
push 0x20
push ecx
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
mov eax, dword [edi + 0x2c]
add esp, 0x14
mov dword [esp + 0x28], 0x82010404
mov dword [ebx + 0x24], eax
jmp 0x505b8b
push 0x400
call fcn.00508350
push eax
call fcn.004dc6c5
add esp, 8
mov dword [esp + 0x50], eax
cmp eax, 0x400
jge 0x505b45
mov ebp, 0x400
sub ebp, eax
jmp 0x505b47
xor ebp, ebp
push dword [esp + 0x1c]
call fcn.00502860
add esp, 4
push eax
push edi
call fcn.00501de0
add esp, 4
push eax
push dword [edi + 0x24]
push dword [esp + 0x2c]
push str.__invalid_refer_value:_expect_refer_value__d__in__0__array_count__d___about_entry__s__of_meta__s_
push ebp
call fcn.00508350
add eax, dword [esp + 0x68]
push eax
call fcn.00486c20
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x44], 0x82010403
mov dword [ebx + 0x24], eax
add esp, 0x1c
mov ebp, dword [esp + 0x24]
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x94]
mov dword [ebx + 4], eax
test edi, edi
jns 0x505bd6
mov edx, 1
cmp ebp, edx
jle 0x505bd6
lea ecx, [esp + 0x150]
mov eax, dword [ecx - 0x20]
test byte [eax + 0x44], 4
jne 0x505bd0
mov eax, dword [ecx]
inc edx
add dword [ebx + 4], eax
add ecx, 0xbc
cmp edx, ebp
jl 0x505bb5
jmp 0x505bd6
mov eax, dword [eax + 0x18]
add dword [ebx + 4], eax
mov eax, dword [esp + 0x64]
sub esi, dword [eax]
mov dword [eax + 4], esi
test edi, edi
js 0x505bf3
mov eax, dword [esp + 0x58]
cmp eax, dword [esp + 0x6c]
cmovg eax, dword [esp + 0x6c]
mov dword [ebx + 4], eax
mov eax, edi
jmp 0x504c25
mov dword [ebx + 4], 0
mov dword [ebp + 4], 0
mov esi, dword [edi + 8]
push edi
call fcn.00502860
add esp, 4
mov ebx, eax
cmp esi, dword [esp + 0x2c]
jle 0x505c26
mov edi, dword [edi + 8]
mov esi, str.__invalid_parameter:_expect_a_iVersion__d__NOT_less_than_base_version__d__of_meta__s_
jmp 0x505c2e
mov edi, dword [edi + 0x58]
mov esi, str.__invalid_parameter:_expect_a_iVersion__d__NOT_less_than_min_ver__d__of_meta__s_s_versionindicator
call fcn.00508350
push ebx
push edi
push dword [esp + 0x34]
push esi
push 0x400
push eax
call fcn.00486c20
add esp, 0x18
mov eax, 0x82010401
jmp 0x504c25
push dword [ebx + 4]
push dword [ebx]
push dword [ebp + 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 + 0x17e0]
xor ecx, esp
call fcn.004ad99f
add esp, 0x17e4
ret
push ebx
push ebp
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 + 0x1804]
add esp, 0x18
mov eax, 0x82010468
pop edi
pop ebp
pop ebx
xor ecx, esp
call fcn.004ad99f
add esp, 0x17e4
ret