Function at 0x436df0
Capabilities:
Check http status code
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x66961c
mov eax, dword fs:[0]
push eax
mov eax, 0x32404
call fcn.00632960
mov eax, dword [0x73bb00]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x32408], edi
mov eax, dword [ebp + 8]
xor ecx, ecx
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x323f4], ecx
mov dword [ebp - 0x323d8], ecx
lea ecx, [ebp - 0x323ec]
push dword [eax + 0x20]
mov dword [ebp - 0x323d4], eax
push dword [eax + 0x24]
mov dword [ebp - 0x323dc], esi
call fcn.00611290
lea ecx, [ebp - 0x31bb4]
mov dword [ebp - 0x313a8], 0
mov word [ebp - 0x313a4], 1
call fcn.00611270
lea eax, [ebp - 0x31bb4]
push eax
lea eax, [ebp - 0x323ec]
push eax
lea eax, [ebp - 0x30378]
push eax
lea eax, [ebp - 0x323f9]
push eax
lea eax, [ebp - 0x32410]
push eax
call fcn.00611400
add esp, 0x14
test eax, eax
je 0x438864
cmp eax, 2
jne 0x436ec4
mov eax, dword [edi]
lea ecx, [ebp - 0x31bb4]
push 1
push ecx
push esi
mov ecx, edi
call dword [eax + 0xbc]
cmp byte [ebp - 0x323f9], 0
je 0x4387e6
mov eax, dword [ebp - 0x32410]
test esi, esi
jne 0x437674
mov ecx, dword [ebp - 0x323d4]
mov edx, dword [ecx + 0x1c]
test dl, 1
je 0x4374dc
cmp eax, 0x10005
jne 0x436fc6
push 6
lea ecx, [ebp - 0x323ec]
call fcn.00611150
push 0x20
lea ecx, [ebp - 0x323ec]
mov dword [ebp - 0x323cc], eax
call fcn.00611120
lea ecx, [ebp - 0x323ec]
mov dword [ebp - 0x323d0], eax
call fcn.00611080
lea ecx, [ebp - 0x323ec]
mov dword [ebp - 0x323d8], eax
call fcn.00611080
cmp byte [ebp - 0x323e0], 0
jne 0x438864
push 2
lea ecx, [ebp - 0x323ec]
call fcn.00611150
cmp byte [ebp - 0x323e0], 0
mov esi, 0x67a95c
push 0x100
push dword [ebp - 0x323cc]
cmove esi, eax
mov byte [edi + 0xfb469], 1
lea eax, [edi + 0xfb46a]
push eax
call fcn.00623c10
mov eax, dword [ebp - 0x323d0]
push 0x100
push esi
movups xmm0, xmmword [eax]
movups xmmword [edi + 0xfb570], xmm0
movups xmm0, xmmword [eax + 0x10]
mov eax, dword [ebp - 0x323d8]
mov dword [edi + 0xfb56c], eax
lea eax, [edi + 0xfb590]
push eax
movups xmmword [edi + 0xfb580], xmm0
call fcn.00623c10
add esp, 0x18
jmp 0x438864
cmp eax, 0x10006
jne 0x437037
cmp byte [edi + 0x1d0b1c], 0
je 0x438864
lea ecx, [ebp - 0x323ec]
call fcn.00611080
lea ecx, [ebp - 0x323ec]
mov esi, eax
call fcn.00611080
cmp byte [ebp - 0x323e0], 0
jne 0x438864
test esi, esi
jle 0x438864
push eax
lea eax, [ebp - 0x32404]
push esi
push eax
call fcn.004338f0
add esp, 0xc
mov ecx, dword [eax]
mov al, byte [eax + 4]
mov dword [edi + 0x1d0b1e], ecx
mov byte [edi + 0x1d0b22], al
mov word [edi + 0x1d0b1c], 0x100
jmp 0x438864
cmp eax, 2
jne 0x4374dc
cmp byte [edi + 0x1d0b1c], 0
je 0x437061
mov dword [edi + 0x1d0b1e], 0x1000000
mov byte [edi + 0x1d0b22], 0
mov byte [edi + 0x1d0b1c], 0
mov al, byte [edi + 0xfb469]
lea ecx, [ebp - 0x323ec]
push 6
mov byte [ebp - 0x323fa], al
mov byte [edi + 0xfb469], 0
call fcn.00611150
mov esi, eax
lea ecx, [ebp - 0x323ec]
mov dword [ebp - 0x323d4], esi
call fcn.00611080
lea ecx, [ebp - 0x323ec]
mov dword [ebp - 0x323dc], eax
call fcn.00611080
cmp byte [ebp - 0x323e0], 0
mov dword [ebp - 0x323d0], eax
jne 0x438864
cmp eax, 0x40000000
ja 0x4374cb
mov al, byte [esi]
test al, al
je 0x4370e0
mov ecx, esi
nop dword [eax + eax]
cmp al, 0x2f
je 0x437151
cmp al, 0x5c
je 0x437151
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x4370d0
cmp byte [edi + 0x130932], 0
je 0x4370f2
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x10]
xor esi, esi
cmp byte [ebp - 0x323fa], 0
mov dword [ebp - 0x323f8], esi
mov dword [ebp - 0x323cc], esi
je 0x437162
push dword [ebp - 0x323d4]
lea eax, [edi + 0xfb46a]
push eax
call fcn.00623ad0
mov edx, dword [ebp - 0x323dc]
add esp, 8
test eax, eax
jne 0x437168
cmp dword [edi + 0xfb56c], edx
jne 0x437168
lea eax, [edi + 0xfb590]
xor ecx, ecx
cmp byte [eax], cl
lea esi, [edi + 0xfb570]
mov dword [ebp - 0x323f8], esi
cmovne ecx, eax
mov dword [ebp - 0x323cc], ecx
jmp 0x437168
push str.strange_character_in_map_name
mov ecx, edi
call fcn.00432a80
jmp 0x438864
mov edx, dword [ebp - 0x323dc]
push edx
push esi
push dword [ebp - 0x323d4]
mov ecx, edi
call fcn.00436170
test eax, eax
jne 0x4371b6
mov ecx, dword [edi + 0x1814]
sub esp, 0x10
movups xmm0, xmmword [0x7330bc]
mov eax, esp
mov edx, dword [ecx]
push str.loading_done
push str.client_network
push 1
movups xmmword [eax], xmm0
call dword [edx + 0x4c]
push 0
mov ecx, edi
mov dword [edi + 0xc], 3
call fcn.0043ba60
jmp 0x438864
mov eax, dword [edi + 0xfb434]
test eax, eax
je 0x4371df
push eax
call fcn.0061fe80
mov ecx, dword [edi + 0x1844]
add esp, 4
mov eax, dword [ecx]
push 0
mov edx, dword [eax + 0x34]
lea eax, [edi + 0xfb234]
push eax
call edx
push 0x100
lea eax, [edi + 0xfb134]
push eax
push 0
push dword [ebp - 0x323dc]
push esi
push dword [ebp - 0x323d4]
call fcn.00433530
mov ecx, dword [ebp - 0x323f8]
lea esi, [edi + 0xfb234]
push 0x100
push esi
push 1
push dword [ebp - 0x323dc]
push ecx
push dword [ebp - 0x323d4]
call fcn.00433530
push esi
push str.starting_to_download_map_to__s
lea eax, [ebp - 0x250]
push 0x100
push eax
call fcn.00623dd0
mov ecx, dword [edi + 0x1814]
add esp, 0x40
movups xmm0, xmmword [0x7330bc]
sub esp, 0x10
mov eax, dword [ecx]
mov edx, dword [eax + 0x4c]
mov eax, esp
movups xmmword [eax], xmm0
lea eax, [ebp - 0x250]
push eax
push str.client_network
push 1
call edx
push 0x100
push dword [ebp - 0x323d4]
lea eax, [edi + 0xfb334]
mov dword [edi + 0xfb438], 0
push eax
call fcn.00623c10
mov esi, dword [ebp - 0x323f8]
add esp, 0xc
test esi, esi
mov ecx, edi
setne al
test esi, esi
mov byte [edi + 0xfb448], al
mov eax, 0x6eb434
cmovne eax, esi
movups xmm0, xmmword [eax]
movups xmmword [edi + 0xfb449], xmm0
movups xmm0, xmmword [eax + 0x10]
mov eax, dword [ebp - 0x323dc]
mov dword [edi + 0xfb43c], eax
mov eax, dword [ebp - 0x323d0]
movups xmmword [edi + 0xfb459], xmm0
mov dword [edi + 0xfb444], eax
mov dword [edi + 0xfb440], 0
call fcn.00439620
test esi, esi
je 0x4374bf
lea eax, [edi + 0xfb143]
push eax
lea eax, [ebp - 0x30c8c]
push 0x100
push eax
call fcn.0060aa90
push str.https:__maps.ddnet.org
push 0x78056c
call fcn.00623ad0
add esp, 0x14
test eax, eax
jne 0x43732b
cmp byte [edi + 0xfb02b], 0
lea eax, [edi + 0xfb02b]
jne 0x437330
mov eax, 0x78056c
lea ecx, [ebp - 0x30c8c]
push ecx
push eax
push 0x67d0f8
lea eax, [ebp - 0x30478]
push 0x100
push eax
call fcn.00623dd0
mov eax, dword [edi + 0x1844]
mov dword [ebp - 0x323f0], eax
mov eax, dword [ebp - 0x323cc]
lea esi, [ebp - 0x30478]
test eax, eax
mov dword [ebp - 4], 0
push 0x758
cmovne esi, eax
call fcn.006326f1
add esp, 0x18
mov dword [ebp - 0x32400], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x437399
push esi
mov ecx, eax
call fcn.0060a100
mov esi, eax
jmp 0x43739b
xor esi, esi
mov eax, dword [ebp - 0x323d8]
mov ecx, esi
or eax, 7
mov byte [ebp - 4], 0
mov dword [ebp - 0x323f4], eax
lea eax, [edi + 0xfb234]
push 0
push eax
push dword [ebp - 0x323f0]
mov dword [ebp - 0x323cc], esi
call fcn.0060c440
mov dword [esi + 0x114], 0xfa0
lea eax, [edi + 0xfb12c]
mov dword [esi + 0x118], 0
lea ecx, [ebp - 0x323cc]
mov dword [esi + 0x11c], 0x1f4
push ecx
mov dword [esi + 0x120], 5
mov ecx, eax
mov dword [ebp - 0x323d8], eax
call fcn.0042e110
mov ecx, dword [ebp - 0x323cc]
mov dword [ebp - 4], 0xffffffff
test ecx, ecx
je 0x437424
mov eax, dword [ecx]
push 1
call dword [eax + 8]
mov eax, dword [ebp - 0x323d8]
sub esp, 8
mov esi, dword [0x7805d4]
mov edi, dword [0x7805d8]
mov ecx, dword [0x7805d0]
mov edx, dword [eax]
mov dword [edx + 0x114], ecx
mov dword [edx + 0x118], 0
mov dword [edx + 0x11c], esi
mov dword [edx + 0x120], edi
mov ecx, dword [ebp - 0x323d8]
mov eax, dword [ebp - 0x323d0]
mov edi, dword [ebp - 0x32408]
cdq
mov ecx, dword [ecx]
mov dword [ecx + 0x12c], edx
mov edx, dword [ebp - 0x323d8]
mov dword [ecx + 0x128], eax
mov ecx, dword [ebp - 0x323f8]
mov eax, dword [edx]
movups xmm0, xmmword [ecx]
movups xmmword [eax + 0x1c8], xmm0
movups xmm0, xmmword [ecx + 0x10]
mov ecx, esp
push edx
movups xmmword [eax + 0x1d8], xmm0
mov eax, dword [edi + 0x1850]
mov esi, dword [eax + 8]
call fcn.0042dfd0
lea ecx, [edi + 0x1850]
call esi
jmp 0x438864
mov ecx, edi
call fcn.0043b7e0
jmp 0x438864
push str.invalid_map_size
mov ecx, edi
call fcn.00432a80
jmp 0x438864
cmp eax, 3
jne 0x43765a
lea ecx, [ebp - 0x323ec]
call fcn.00611080
lea ecx, [ebp - 0x323ec]
mov dword [ebp - 0x323d8], eax
call fcn.00611080
lea ecx, [ebp - 0x323ec]
mov dword [ebp - 0x323cc], eax
call fcn.00611080
lea ecx, [ebp - 0x323ec]
mov dword [ebp - 0x323d0], eax
call fcn.00611080
mov esi, eax
lea ecx, [ebp - 0x323ec]
push esi
call fcn.00611120
cmp byte [ebp - 0x323e0], 0
mov ecx, eax
jne 0x438864
test esi, esi
jle 0x438864
mov eax, dword [ebp - 0x323cc]
cmp eax, dword [edi + 0xfb43c]
jne 0x438864
mov eax, dword [ebp - 0x323d0]
cmp eax, dword [edi + 0xfb438]
jne 0x438864
mov eax, dword [edi + 0xfb434]
test eax, eax
je 0x438864
push esi
push ecx
push eax
call fcn.00620490
add dword [edi + 0xfb440], esi
add esp, 0xc
cmp dword [ebp - 0x323d8], 0
je 0x4375bd
mov eax, dword [edi + 0xfb434]
test eax, eax
je 0x4375b1
push eax
call fcn.0061fe80
add esp, 4
mov dword [edi + 0xfb434], 0
mov ecx, edi
call fcn.00433310
jmp 0x438864
inc dword [edi + 0xfb438]
lea ecx, [ebp - 0x313a0]
mov dword [ebp - 0x30b94], 0x13
mov word [ebp - 0x30b90], 1
call fcn.00611270
push dword [edi + 0xfb438]
lea ecx, [ebp - 0x313a0]
call fcn.00610f30
mov eax, dword [edi]
lea ecx, [ebp - 0x313a0]
push 3
push ecx
push 0
mov ecx, edi
call dword [eax + 0xbc]
cmp dword [0x78201c], 0
je 0x438864
push dword [edi + 0xfb438]
lea eax, [ebp - 0x30478]
push str.requested_chunk__d
push 0x100
push eax
call fcn.00623dd0
movups xmm0, xmmword [0x7330bc]
mov ecx, dword [edi + 0x1814]
mov eax, esp
mov edx, dword [ecx]
movups xmmword [eax], xmm0
lea eax, [ebp - 0x30478]
push eax
push str.client_network
push 2
call dword [edx + 0x4c]
jmp 0x438864
test dl, 1
je 0x4376ca
cmp eax, 4
jne 0x4376ca
mov ecx, dword [edi + 0x1828]
mov eax, dword [ecx]
call dword [eax + 0x34]
jmp 0x438864
cmp esi, 1
jne 0x4376c4
cmp eax, 4
jne 0x4376c4
mov byte [edi + 0x130932], 1
mov ecx, edi
mov dword [0x780c78], esi
mov eax, dword [edi]
push str.crashmeplx
call dword [eax + 0x98]
cmp dword [edi + 0xfa518], 0
je 0x438864
mov edx, dword [edi]
lea eax, [edi + 0xfa540]
push eax
lea eax, [edi + 0xfa520]
mov ecx, edi
push eax
call dword [edx + 0x8c]
jmp 0x438864
mov ecx, dword [ebp - 0x323d4]
cmp eax, 0x16
jne 0x437714
lea ecx, [ebp - 0x30b8c]
mov dword [ebp - 0x30380], 0x17
mov word [ebp - 0x3037c], 1
call fcn.00611270
mov eax, dword [ebp - 0x323d4]
mov ecx, edi
mov edx, dword [edi]
mov eax, dword [eax + 0x1c]
and eax, 1
or eax, 2
push eax
lea eax, [ebp - 0x30b8c]
push eax
push esi
call dword [edx + 0xbc]
jmp 0x438864
cmp eax, 0x10008
jne 0x437793
push 0x10
lea ecx, [ebp - 0x323ec]
call fcn.00611120
cmp byte [ebp - 0x323e0], 0
mov dword [ebp - 0x323cc], eax
jne 0x438864
lea ecx, [ebp - 0x30b8c]
mov dword [ebp - 0x30380], 0x10009
mov word [ebp - 0x3037c], 1
call fcn.00611270
push 0x10
push dword [ebp - 0x323cc]
lea ecx, [ebp - 0x30b8c]
call fcn.00610f80
mov eax, dword [ebp - 0x323d4]
mov ecx, edi
mov edx, dword [edi]
mov eax, dword [eax + 0x1c]
and eax, 1
or eax, 2
push eax
lea eax, [ebp - 0x30b8c]
push eax
push esi
call dword [edx + 0xbc]
jmp 0x438864
test esi, esi
jne 0x437898
cmp eax, 0x10009
jne 0x437898
push 0x10
lea ecx, [ebp - 0x323ec]
call fcn.00611120
cmp byte [ebp - 0x323e0], 0
mov ecx, eax
jne 0x438864
cmp byte [edi + 0x1d0b20], 0
je 0x438864
cmp dword [edi + 0x1d39a4], esi
jl 0x438864
jg 0x4377e9
cmp dword [edi + 0x1d39a0], esi
jb 0x438864
lea eax, [edi + 0x1d398c]
push eax
call fcn.00616260
test al, al
je 0x438864
call fcn.00625aa0
sub eax, dword [edi + 0x1d39a0]
push 0
sbb edx, dword [edi + 0x1d39a4]
push 0x3e8
push edx
push eax
call fcn.00632ff0
mov edi, eax
mov esi, edx
call fcn.00625a90
push edx
push eax
push esi
push edi
call fcn.00632e60
mov edi, dword [ebp - 0x32408]
mov esi, eax
push esi
mov ecx, edi
mov edx, dword [edi]
mov edx, dword [edx + 0x70]
call edx
push eax
lea ecx, [edi + 0xb1c80]
call fcn.0045ede0
push esi
push str.got_pong_from_current_server__latency_dms
lea eax, [ebp - 0x50]
mov dword [edi + 0x1d39a0], 0xffffffff
push 0x40
push eax
mov dword [edi + 0x1d39a4], 0xffffffff
call fcn.00623dd0
movups xmm0, xmmword [0x7330bc]
mov ecx, dword [edi + 0x1814]
mov eax, esp
mov edx, dword [ecx]
movups xmmword [eax], xmm0
lea eax, [ebp - 0x50]
push eax
push str.client
push 0
call dword [edx + 0x4c]
jmp 0x438864
cmp eax, 0x1000a
jne 0x43794b
push 0x10
lea ecx, [ebp - 0x323ec]
call fcn.00611120
cmp byte [ebp - 0x323e0], 0
mov dword [ebp - 0x323cc], eax
jne 0x438864
mov ecx, dword [edi]
movups xmm0, xmmword [eax]
mov edx, dword [ecx + 0x150]
lea ecx, [ebp - 0x323ec]
push ecx
sub esp, 0x10
mov ecx, esp
push esi
movups xmmword [ecx], xmm0
mov ecx, edi
call edx
mov dword [ebp - 0x323d0], eax
test eax, eax
je 0x438864
lea ecx, [ebp - 0x30b8c]
mov dword [ebp - 0x30380], 0x1000c
mov word [ebp - 0x3037c], 1
call fcn.00611270
push 0x10
push dword [ebp - 0x323cc]
lea ecx, [ebp - 0x30b8c]
call fcn.00610f80
push dword [ebp - 0x323d0]
lea ecx, [ebp - 0x30b8c]
call fcn.00610f30
mov eax, dword [edi]
lea ecx, [ebp - 0x30b8c]
push 1
push ecx
push esi
mov ecx, edi
call dword [eax + 0xbc]
jmp 0x438864
cmp eax, 0x1000d
jne 0x4379d7
lea ecx, [ebp - 0x323ec]
call fcn.00611080
cmp byte [ebp - 0x323e0], 0
mov esi, eax
jne 0x438864
mov edx, dword [edi]
mov ecx, edi
mov edx, dword [edx + 0x70]
call edx
push 0
push 0x40
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x30368], xmm0
movq xmm0, qword [eax + 0x10]
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x30368]
movq qword [ebp - 0x30358], xmm0
push eax
call fcn.00620af0
push esi
lea eax, [ebp - 0x50]
push eax
push str._s:_d
lea eax, [ebp - 0x1d0]
push pe_nt_image_headers32
push eax
call fcn.00623dd0
mov eax, dword [edi]
lea ecx, [ebp - 0x1d0]
add esp, 0x24
push 0
push ecx
mov ecx, edi
call dword [eax + 8]
jmp 0x438864
test esi, esi
jne 0x437a74
test byte [ecx + 0x1c], 1
je 0x437a74
cmp eax, 0x19
jne 0x437a44
push 2
lea ecx, [ebp - 0x323ec]
call fcn.00611150
push 2
lea ecx, [ebp - 0x323ec]
mov esi, eax
call fcn.00611150
push 2
lea ecx, [ebp - 0x323ec]
mov dword [ebp - 0x323cc], eax
call fcn.00611150
cmp byte [ebp - 0x323e0], 0
jne 0x438864
push dword [ebp - 0x323cc]
mov ecx, dword [edi + 0x1814]
push 4
push eax
push esi
mov edx, dword [ecx]
call dword [edx + 0x20]
jmp 0x438864
cmp eax, 0x1a
jne 0x437a74
push 2
lea ecx, [ebp - 0x323ec]
call fcn.00611150
cmp byte [ebp - 0x323e0], 0
jne 0x438864
mov ecx, dword [edi + 0x1814]
push eax
mov edx, dword [ecx]
call dword [edx + 0x24]
jmp 0x438864
mov edx, dword [ecx + 0x1c]
and edx, 1
je 0x437af7
cmp eax, 0xa
jne 0x437af7
lea ecx, [ebp - 0x323ec]
call fcn.00611080
cmp byte [ebp - 0x323e0], 0
jne 0x437a9c
mov dword [edi + esi*4 + 0xfa518], eax
test esi, esi
jne 0x438864
mov esi, dword [edi + 0xfa5c0]
lea ecx, [ebp - 0x323ec]
call fcn.00611080
cmp byte [ebp - 0x323e0], 0
mov dword [edi + 0xfa5c0], eax
je 0x437ad0
mov dword [edi + 0xfa5c0], 0
xor eax, eax
test esi, esi
je 0x438864
test eax, eax
jne 0x438864
mov ecx, dword [edi + 0x1814]
mov eax, dword [ecx]
call dword [eax + 0x28]
mov byte [edi + 0xfa5c4], 0
jmp 0x438864
cmp byte [ebp + 0x10], 0
jne 0x437b31
test edx, edx
je 0x437b31
cmp eax, 0xb
jne 0x437b31
push 1
lea ecx, [ebp - 0x323ec]
call fcn.00611150
cmp byte [ebp - 0x323e0], 0
jne 0x438864
mov ecx, dword [edi + 0x1828]
push eax
mov edx, dword [ecx]
call dword [edx + 0x10]
jmp 0x438864
test esi, esi
jne 0x437bdc
cmp eax, 0x17
jne 0x437bdc
call fcn.00625aa0
sub eax, dword [edi + 0xfa6e0]
push esi
sbb edx, dword [edi + 0xfa6e4]
push 0x3e8
push edx
push eax
call fcn.00632ff0
mov ecx, eax
call fcn.00633280
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x323cc], xmm0
call fcn.00625a90
mov ecx, eax
call fcn.00633280
movss xmm1, dword [ebp - 0x323cc]
lea eax, [ebp - 0x30478]
cvtsd2ss xmm0, xmm0
sub esp, 8
divss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
push str.latency__.2f
push 0x100
push eax
call fcn.00623dd0
movups xmm0, xmmword [0x7330bc]
mov ecx, dword [edi + 0x1814]
add esp, 4
mov eax, esp
mov edx, dword [ecx]
movups xmmword [eax], xmm0
lea eax, [ebp - 0x30478]
push eax
push str.client_network
push esi
call dword [edx + 0x4c]
jmp 0x438864
cmp eax, 9
jne 0x437cf5
lea ecx, [ebp - 0x323ec]
call fcn.00611080
lea ecx, [ebp - 0x323ec]
mov dword [ebp - 0x323d0], eax
call fcn.00611080
cmp byte [ebp - 0x323e0], 0
mov dword [ebp - 0x323cc], eax
jne 0x438864
call fcn.00625aa0
imul ecx, esi, 0x1a900
mov dword [ebp - 0x323f0], edx
xor edx, edx
mov dword [ebp - 0x323d8], eax
mov eax, dword [ebp - 0x323d0]
add ecx, 0xfb928
add ecx, edi
nop dword [eax + eax]
cmp dword [ecx], eax
je 0x437c58
inc edx
add ecx, 0x220
cmp edx, 0xc8
jl 0x437c40
jmp 0x438864
imul eax, esi, 0xc8
add eax, edx
imul eax, eax, 0x220
mov esi, dword [eax + edi + 0xfb930]
sub esi, dword [eax + edi + 0xfb940]
mov ecx, dword [eax + edi + 0xfb934]
sbb ecx, dword [eax + edi + 0xfb944]
add esi, dword [ebp - 0x323d8]
adc ecx, dword [ebp - 0x323f0]
mov dword [ebp - 0x323d0], ecx
call fcn.00625a90
mov ecx, eax
call fcn.00633280
movd xmm1, dword [ebp - 0x323cc]
cvtdq2ps xmm1, xmm1
cvtsd2ss xmm0, xmm0
divss xmm1, dword [0x67b0c8]
mulss xmm0, xmm1
call fcn.00633160
mov ecx, dword [ebp - 0x323d0]
sub esi, eax
mov eax, esi
sbb ecx, edx
or eax, ecx
je 0x438864
push 1
push dword [ebp - 0x323cc]
lea eax, [edi + 0x130938]
push ecx
push esi
push eax
lea ecx, [edi + 0xfb6f8]
call fcn.00464840
jmp 0x438864
cmp eax, 5
je 0x437d81
cmp eax, 7
je 0x437d81
cmp eax, 6
je 0x437d81
test esi, esi
jne 0x438864
cmp eax, 0x10004
jne 0x437d4d
lea ecx, [ebp - 0x323ec]
call fcn.00611080
and al, 1
cmp byte [ebp - 0x323e0], 0
mov byte [ebp - 0x323cc], al
jne 0x438864
mov ecx, dword [edi + 0x1828]
push dword [ebp - 0x323cc]
mov eax, dword [ecx]
call dword [eax + 0xc]
jmp 0x438864
test byte [ecx + 0x1c], 1
je 0x438864
cmp eax, 0x1000e
jne 0x437d6a
mov byte [edi + 0xfa5c4], 1
jmp 0x438864
cmp eax, 0x1000f
jne 0x438864
mov byte [edi + 0xfa5c4], 0
jmp 0x438864
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x70]
call eax
push eax
mov eax, dword [ebp - 0x323d4]
add eax, 4
push eax
call fcn.00620600
add esp, 8
test eax, eax
jne 0x438864
cmp dword [edi + 8], 2
jl 0x438864
lea ecx, [ebp - 0x323ec]
call fcn.00611080
lea ecx, [ebp - 0x323ec]
mov dword [ebp - 0x323d4], eax
call fcn.00611080
mov ecx, dword [ebp - 0x323d4]
sub ecx, eax
mov dword [ebp - 0x323f8], 1
mov dword [ebp - 0x323d8], ecx
mov ecx, dword [ebp - 0x32410]
mov dword [ebp - 0x323f4], 0
cmp ecx, 5
jne 0x437e20
lea ecx, [ebp - 0x323ec]
call fcn.00611080
lea ecx, [ebp - 0x323ec]
mov dword [ebp - 0x323f8], eax
call fcn.00611080
mov ecx, dword [ebp - 0x32410]
mov dword [ebp - 0x323f4], eax
xor eax, eax
mov dword [ebp - 0x323cc], 0
mov dword [ebp - 0x3240c], eax
mov dword [ebp - 0x323d0], eax
cmp ecx, 6
je 0x437e65
lea ecx, [ebp - 0x323ec]
call fcn.00611080
lea ecx, [ebp - 0x323ec]
mov dword [ebp - 0x323cc], eax
call fcn.00611080
mov dword [ebp - 0x3240c], eax
mov dword [ebp - 0x323d0], eax
push eax
lea ecx, [ebp - 0x323ec]
call fcn.00611120
cmp byte [ebp - 0x323e0], 0
mov dword [ebp - 0x323f0], eax
jne 0x438864
mov eax, dword [ebp - 0x323f8]
lea ecx, [eax - 1]
cmp ecx, 0x3f
ja 0x438864
mov ecx, dword [ebp - 0x323f4]
test ecx, ecx
js 0x438864
cmp ecx, eax
jge 0x438864
cmp dword [ebp - 0x323d0], 0x384
ja 0x438864
mov edx, dword [edi + esi*4 + 0xfa510]
mov eax, dword [ebp - 0x323d4]
cmp eax, edx
jl 0x438864
cmp eax, dword [edi + esi*4 + 0xfa508]
jle 0x438864
cmp eax, edx
je 0x437f0a
mov dword [edi + esi*8 + 0xfa4d0], 0
mov dword [edi + esi*8 + 0xfa4d4], 0
mov dword [edi + esi*4 + 0xfa510], eax
mov dword [edi + esi*4 + 0x150a20], 0
imul esi, ecx, 0x384
lea eax, [ebp - 0x3240c]
mov edx, 0x10000
mov dword [ebp - 0x323d0], 0
lea ecx, [ebp - 0x323d0]
sub edx, esi
cmp dword [ebp - 0x3240c], 0
mov dword [ebp - 0x32400], edx
cmovge ecx, eax
cmp edx, dword [ebp - 0x3240c]
lea eax, [ebp - 0x32400]
cmovge eax, ecx
add esi, 0x130a20
push dword [eax]
mov eax, dword [ebp - 0x323dc]
push dword [ebp - 0x323f0]
shl eax, 0x10
add eax, edi
add eax, esi
push eax
call fcn.006205c0
mov eax, dword [ebp - 0x323f4]
xor edx, edx
mov esi, dword [ebp - 0x323dc]
bts edx, eax
xor ecx, ecx
add esp, 0xc
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
or edx, dword [edi + esi*8 + 0xfa4d0]
or ecx, dword [edi + esi*8 + 0xfa4d4]
mov dword [ebp - 0x323d0], ecx
mov dword [edi + esi*8 + 0xfa4d4], ecx
mov ecx, dword [ebp - 0x323f8]
mov dword [ebp - 0x323f0], edx
mov dword [edi + esi*8 + 0xfa4d0], edx
lea eax, [ecx - 1]
cmp dword [ebp - 0x323f4], eax
jne 0x437feb
mov edx, dword [ebp - 0x3240c]
imul eax, ecx, 0x384
add edx, 0xfffffc7c
add eax, edx
mov edx, dword [ebp - 0x323f0]
mov dword [edi + esi*4 + 0x150a20], eax
cmp ecx, 0x40
jge 0x43802d
mov eax, ecx
xor edx, edx
xor ecx, ecx
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
mov eax, dword [ebp - 0x323d0]
cmovae edx, ecx
add ecx, 0xffffffff
adc edx, 0xffffffff
cmp dword [ebp - 0x323f0], ecx
jne 0x43801f
cmp eax, edx
je 0x438047
mov ecx, dword [ebp - 0x323f8]
mov edx, dword [ebp - 0x323f0]
jmp 0x438033
mov eax, dword [ebp - 0x323d0]
cmp ecx, 0x40
jne 0x438864
and edx, eax
cmp edx, 0xffffffff
jne 0x438864
mov eax, dword [ebp - 0x323d8]
mov dword [edi + esi*8 + 0xfa4d0], 0
mov dword [edi + esi*8 + 0xfa4d4], 0
mov dword [ebp - 0x323f0], 0x6e9c50
test eax, eax
js 0x4380d5
push 0
lea ecx, [ebp - 0x323f0]
push ecx
push 0
lea ecx, [esi + 0x2613f]
push eax
lea ecx, [edi + ecx*8]
call fcn.00612c20
test eax, eax
jns 0x4380d5
cmp dword [0x78201c], 0
je 0x4380be
mov ecx, dword [edi + 0x1814]
sub esp, 0x10
movups xmm0, xmmword [0x7330bc]
mov eax, esp
mov edx, dword [ecx]
push str.error__couldnt_find_the_delta_snapshot
push str.client
push 2
movups xmmword [eax], xmm0
call dword [edx + 0x4c]
mov ecx, edi
mov dword [edi + esi*4 + 0xfa508], 0xffffffff
call fcn.0043b520
jmp 0x438864
lea ecx, [edi + 0x190a78]
call fcn.006129e0
mov edx, dword [edi + esi*4 + 0x150a20]
mov ecx, eax
mov eax, 0xc
mov dword [ebp - 0x323f4], eax
test edx, edx
je 0x43812e
push 0x10000
lea eax, [ebp - 0x20350]
push eax
mov eax, esi
shl eax, 0x10
add eax, 0x130a20
push edx
add eax, edi
push eax
call fcn.005edcb0
add esp, 0x10
mov dword [ebp - 0x323f4], eax
test eax, eax
js 0x438864
lea ecx, [ebp - 0x20350]
push eax
push ecx
lea eax, [ebp - 0x10350]
push eax
push dword [ebp - 0x323f0]
lea ecx, [edi + 0x190a78]
call fcn.006132e0
mov dword [ebp - 0x323d0], eax
push eax
test eax, eax
jns 0x43816a
push str.delta_unpack_failed._error_d
push str.client
call fcn.0061d2f0
add esp, 0xc
jmp 0x438864
lea ecx, [ebp - 0x10350]
call fcn.00612fc0
test al, al
jne 0x43819c
push dword [ebp - 0x323f4]
push dword [ebp - 0x323d0]
push str.snapshot_invalid._SnapSize_d__DeltaSize_d
push str.client
call fcn.0061d2f0
add esp, 0x10
jmp 0x438864
cmp dword [ebp - 0x32410], 6
je 0x438270
lea ecx, [ebp - 0x10350]
call fcn.00612490
cmp eax, dword [ebp - 0x323cc]
je 0x438270
cmp dword [0x78201c], 0
je 0x438239
mov esi, dword [edi + esi*4 + 0x150a20]
lea ecx, [ebp - 0x10350]
call fcn.00612490
push dword [ebp - 0x323d8]
push esi
push eax
push dword [ebp - 0x323cc]
lea eax, [ebp - 0x30478]
push dword [ebp - 0x323d4]
push dword [edi + 0xfa500]
push str.snapshot_crc_error__d___tick_d_wantedcrc_d_gotcrc_d_compressed_size_d_delta_tick_d
push 0x100
push eax
call fcn.00623dd0
movups xmm0, xmmword [0x7330bc]
mov ecx, dword [edi + 0x1814]
add esp, 0x14
mov eax, esp
mov edx, dword [ecx]
movups xmmword [eax], xmm0
lea eax, [ebp - 0x30478]
push eax
push str.client
push 2
call dword [edx + 0x4c]
mov esi, dword [ebp - 0x323dc]
mov eax, dword [edi + 0xfa500]
inc eax
mov dword [edi + 0xfa500], eax
cmp eax, 0xa
jle 0x438864
mov ecx, edi
mov dword [edi + esi*4 + 0xfa508], 0xffffffff
call fcn.0043b520
mov dword [edi + 0xfa500], 0
jmp 0x438864
mov eax, dword [edi + 0xfa500]
test eax, eax
je 0x438281
dec eax
mov dword [edi + 0xfa500], eax
mov eax, dword [edi + esi*8 + 0x130a0c]
mov ecx, dword [ebp - 0x323d8]
test eax, eax
je 0x438299
cmp dword [eax + 0x10], ecx
cmovl ecx, dword [eax + 0x10]
mov eax, dword [edi + esi*8 + 0x130a08]
test eax, eax
je 0x4382ab
cmp dword [eax + 0x10], ecx
cmovl ecx, dword [eax + 0x10]
lea eax, [esi + 0x2613f]
lea eax, [edi + eax*8]
push ecx
mov ecx, eax
call fcn.00613220
lea eax, [ebp - 0x30350]
mov ecx, edi
push eax
lea eax, [ebp - 0x10350]
push eax
call fcn.0043c760
test eax, eax
jns 0x4382ed
push eax
push str.unpack_snapshot_and_validate_failed._error_d
push str.client
call fcn.0061d2f0
add esp, 0xc
jmp 0x438864
lea ecx, [ebp - 0x30350]
push ecx
push eax
lea eax, [ebp - 0x10350]
push eax
push dword [ebp - 0x323d0]
call fcn.00625aa0
push edx
push eax
push dword [ebp - 0x323d4]
lea ecx, [esi + 0x2613f]
lea ecx, [edi + ecx*8]
call fcn.006123b0
cmp byte [ebp + 0x10], 0
jne 0x43838b
lea eax, [ebp - 0x10350]
push eax
call fcn.00539b00
lea eax, [edi + 0x6db70]
add esp, 4
lea ecx, [eax + 0x40cd0]
mov dword [ebp - 0x32400], ecx
cmp eax, ecx
je 0x43838b
lea esi, [edi + 0x6db70]
nop
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 8]
call eax
test al, al
je 0x438377
push dword [ebp - 0x323d0]
lea eax, [ebp - 0x10350]
mov ecx, esi
push eax
push dword [ebp - 0x323d4]
call fcn.00606c50
add esi, 0x10334
cmp esi, dword [ebp - 0x32400]
jne 0x438350
mov esi, dword [ebp - 0x323dc]
inc dword [edi + esi*4 + 0x130a18]
cmp dword [edi + esi*4 + 0x130a18], 2
jne 0x438500
cmp byte [ebp + 0x10], 0
jne 0x43843f
call fcn.00625a90
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0x323d4]
cdq
push edx
push eax
push ecx
push esi
call fcn.00632ff0
push 0
push 0x32
push edx
push eax
call fcn.00632e60
push edx
push eax
lea ecx, [edi + 0xfb6f8]
call fcn.004647d0
push ecx
mov dword [esp], 0x447a0000
lea ecx, [edi + 0xfb6f8]
push 1
call fcn.00464820
mov eax, dword [ebp - 0x32408]
mov edi, 0xa
cmp byte [eax + 0x1d0b22], 0
cmovne edi, dword [0x780444]
call fcn.00625a90
mov esi, eax
mov ecx, edx
mov eax, edi
cdq
push edx
push eax
push ecx
push esi
call fcn.00632ff0
push 0
push 0x3e8
push edx
push eax
call fcn.00632e60
mov edi, dword [ebp - 0x32408]
push edx
push eax
lea ecx, [edi + 0xfb6f8]
call fcn.00464a40
call fcn.00625a90
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0x323d4]
dec eax
cdq
push edx
push eax
push ecx
push esi
call fcn.00632ff0
push 0
push 0x32
push edx
push eax
call fcn.00632e60
mov esi, dword [ebp - 0x323dc]
push edx
push eax
lea ecx, [esi + esi*2]
shl ecx, 4
add ecx, 0xfb698
add ecx, edi
call fcn.004647d0
cmp byte [ebp + 0x10], 0
mov ecx, dword [edi + esi*8 + 0x1309f8]
mov dword [edi + esi*8 + 0x130a0c], ecx
mov eax, dword [edi + esi*8 + 0x1309fc]
mov dword [edi + esi*8 + 0x130a08], eax
mov eax, dword [ecx + 0x10]
mov dword [edi + esi*4 + 0x18], eax
mov eax, dword [edi + esi*8 + 0x130a08]
mov eax, dword [eax + 0x10]
mov dword [edi + esi*4 + 0x20], eax
jne 0x4384ef
call fcn.00625aa0
mov dword [edi + 0xfa4e0], eax
mov dword [edi + 0xfa4e4], edx
mov dword [0x7862d0], eax
mov dword [0x7862d4], edx
mov ecx, dword [edi + 0x1828]
mov eax, dword [ecx]
call dword [eax + 0x1c]
push 3
mov ecx, edi
call fcn.0043bae0
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x38]
jmp 0x4384f8
push 3
mov ecx, edi
call fcn.0043bae0
cmp dword [edi + esi*4 + 0x130a18], 2
jle 0x4385e9
lea esi, [esi + esi*2]
add edi, 0xfb698
shl esi, 4
add esi, edi
mov dword [ebp - 0x323f4], esi
call fcn.00625aa0
push edx
push eax
mov ecx, esi
call fcn.004646f0
mov dword [ebp - 0x323cc], eax
mov dword [ebp - 0x323d0], edx
call fcn.00625a90
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0x323d4]
cdq
push edx
push eax
push ecx
push esi
call fcn.00632ff0
push 0
push 0x32
push edx
push eax
call fcn.00632e60
mov dword [ebp - 0x32400], eax
mov esi, edx
call fcn.00625a90
mov dword [ebp - 0x323d8], eax
mov edi, edx
mov eax, dword [ebp - 0x32400]
sub eax, dword [ebp - 0x323cc]
push 0
sbb esi, dword [ebp - 0x323d0]
push 0x3e8
push esi
push eax
call fcn.00632ff0
push edi
push dword [ebp - 0x323d8]
push edx
push eax
call fcn.00632e60
push 0
push eax
mov dword [ebp - 0x32400], edx
call fcn.00625a90
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0x323d4]
dec eax
cdq
push edx
push eax
push ecx
push esi
call fcn.00632ff0
push 0
push 0x32
push edx
push eax
call fcn.00632e60
mov edi, dword [ebp - 0x32408]
mov ecx, dword [ebp - 0x323f4]
push edx
push eax
lea eax, [edi + 0x130978]
push eax
call fcn.00464840
mov esi, dword [ebp - 0x323dc]
cmp dword [edi + esi*4 + 0x130a18], 0x32
jle 0x4387d4
cmp byte [esi + edi + 0xfab28], 0
jne 0x4387d4
cmp byte [edi + 0x1d0b1e], 0
je 0x4387cc
cmp byte [0x782984], 0
mov dword [ebp - 0x32404], 0
jne 0x43863c
cmp dword [0x780c74], 0
jne 0x43863c
cmp dword [0x7807e8], 0
mov ecx, str._timeout__s
je 0x438641
mov ecx, str._mc_timeout__s
mov eax, esi
mov edx, edi
shl eax, 5
add edx, 0xfaae8
add eax, edx
push eax
push ecx
lea eax, [ebp - 0x350]
push 0x100
push eax
call fcn.00623dd0
add esp, 0x10
cmp byte [0x782984], 0
je 0x4386a5
push 0x782984
push 0x67d258
lea eax, [ebp - 0x150]
push pe_nt_image_headers32
push eax
call fcn.00623dd0
push 0x100
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x350]
push eax
call fcn.00623a30
add esp, 0x1c
mov edx, dword [0x780c74]
mov ecx, dword [0x7807e8]
test edx, edx
jne 0x4386bd
test ecx, ecx
je case.default.0x4386e1
cmp dword [0x780c78], 0
mov eax, dword [ebp + 0x10]
je 0x4386cb
xor al, 1
test al, al
mov byte [ebp - 0xd0], 0
cmovne ecx, edx
dec ecx
cmp ecx, 4
ja case.default.0x4386e1
jmp dword [ecx*4 + 0x438884]
push dword [0x7804fc]
push str.emote_pain__d
jmp 0x438727
push dword [0x7804fc]
push str.emote_happy__d
jmp 0x438727
push dword [0x7804fc]
push str.emote_surprise__d
jmp 0x438727
push dword [0x7804fc]
push str.emote_angry__d
jmp 0x438727
push dword [0x7804fc]
push str.emote_blink__d
lea eax, [ebp - 0xd0]
push pe_nt_image_headers32
push eax
call fcn.00623dd0
add esp, 0x10
cmp byte [ebp - 0xd0], 0
je case.default.0x4386e1
lea eax, [ebp - 0xd0]
push eax
push 0x67d258
lea eax, [ebp - 0x150]
push pe_nt_image_headers32
push eax
call fcn.00623dd0
push 0x100
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x350]
push eax
call fcn.00623a30
add esp, 0x1c
lea eax, [ebp - 0x350]
mov dword [ebp - 0x31bbc], 0x11
lea ecx, [ebp - 0x323c8]
mov dword [ebp - 0x32400], eax
mov word [ebp - 0x31bb8], 0
call fcn.00611270
lea eax, [ebp - 0x323c8]
push eax
lea ecx, [ebp - 0x32404]
call fcn.00436680
mov eax, dword [edi]
lea ecx, [ebp - 0x323c8]
push 1
push ecx
push esi
mov ecx, edi
call dword [eax + 0xbc]
mov byte [esi + edi + 0xfab28], 1
mov eax, dword [ebp - 0x323d4]
mov dword [edi + esi*4 + 0xfa508], eax
jmp 0x438864
mov eax, dword [ebp - 0x323d4]
test byte [eax + 0x1c], 1
je 0x438864
cmp byte [ebp + 0x10], 0
jne 0x438848
lea eax, [edi + 0x6db70]
lea ecx, [eax + 0x40cd0]
mov dword [ebp - 0x32400], ecx
cmp eax, ecx
je 0x438848
lea esi, [edi + 0x6db70]
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 8]
call eax
test al, al
je 0x438834
mov eax, dword [ebp - 0x323d4]
mov ecx, esi
push dword [eax + 0x20]
push dword [eax + 0x24]
call fcn.00606c10
add esi, 0x10334
cmp esi, dword [ebp - 0x32400]
jne 0x438814
mov esi, dword [ebp - 0x323dc]
push dword [ebp + 0x10]
mov ecx, dword [edi + 0x1828]
lea edx, [ebp - 0x323ec]
push esi
push edx
push dword [ebp - 0x32410]
mov eax, dword [ecx]
call dword [eax + 0x38]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0063292f
mov esp, ebp
pop ebp
ret 0xc