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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x4a8
lea eax, [ecx + 0x110]
mov ebx, ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x400], ecx
mov dword [esp + 0x13c], eax
lea eax, [ecx + 0x58]
mov dword [esp + 0xc], ebx
mov dword [esp + 0xd8], eax
lea eax, [ecx + 0x121]
mov dword [esp + 0x3fc], eax
lea eax, [ecx + 0xf8]
mov dword [esp + 0x108], eax
lea eax, [ecx + 0xa0]
mov dword [esp + 0x3f0], eax
lea eax, [ecx + 0x78]
mov dword [esp + 0x3f4], eax
lea eax, [ecx + 0xe0]
mov dword [esp + 0x154], eax
lea eax, [ecx + 0x74]
mov dword [esp + 0x3e4], eax
lea eax, [ecx + 0xc8]
mov dword [esp + 0x244], eax
lea eax, [ecx + 0xb8]
mov dword [esp + 0xdc], eax
lea eax, [ecx + 0x104]
mov dword [esp + 0x3ec], eax
xor eax, eax
cmp eax, 0x10
je 0x594cd1
inc eax
mov dword [esp + 0x3f8], eax
mov dword [esp + 4], edi
cmp byte [ebx + 0x128], 0
jne 0x592bde
mov eax, dword [ebx + 0x40]
mov ecx, dword [ebx + 0x44]
mov edx, eax
or edx, ecx
jne 0x590884
mov esi, dword [esp + 0xd8]
mov edx, dword [esi]
mov esi, dword [esi + 4]
add edx, 0xfffffffe
adc esi, 0xffffffff
push 3
pop edi
cmp edi, edx
mov edi, 0
sbb edi, esi
mov edi, dword [esp + 4]
jb 0x590965
test edx, edx
jne 0x590965
mov dl, byte [ebx + 0x120]
mov byte [ebx + 0x120], 3
cmp dl, 3
je 0x592826
mov ecx, dword [esp + 0x13c]
dec eax
lea esi, [esp + 0x1b1]
cmp eax, 2
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
movsd qword [esp + 0x1a8], xmm1
movsd qword [esp + 0x1a0], xmm0
mov byte [esp + 0x1b0], dl
mov edx, dword [esp + 0x3fc]
mov cl, byte [edx + 2]
movzx edx, word [edx]
mov byte [esi + 2], cl
mov word [esi], dx
jae 0x590c0b
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x1a0]
call fcn.004e7689
test eax, eax
jne 0x592879
test edx, edx
je 0x5909af
mov dword [esp + 0x358], edx
mov eax, dword [0xa70a24]
test eax, eax
je 0x590a66
mov eax, dword [ebx + 0x40]
xor eax, 1
or eax, dword [ebx + 0x44]
jne 0x590931
and dword [ebx + 0x44], 0
mov dword [ebx + 0x40], 2
lea ecx, [esp + 0x20]
mov edx, ebx
push dword [esp + 0x1c]
call fcn.005982ff
pop eax
test byte [esp + 0x20], 1
je 0x590b8b
cmp dword [esp + 0x24], 0
je 0x590b80
lea ecx, [esp + 0x24]
call fcn.00579450
jmp 0x590b8b
mov eax, dword [esp + 0x108]
cmp dword [eax], 2
je 0x590996
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0x1c]
call fcn.00578f61
test al, al
jne 0x59101e
mov eax, dword [0xa70a24]
test eax, eax
je 0x590b22
mov eax, dword [0xa70a24]
test eax, eax
je 0x590ac4
mov ecx, ebx
call fcn.00596430
jmp 0x59083b
lea ecx, [esp + 0x418]
mov edx, ebx
push dword [esp + 0x1c]
call fcn.005982ff
pop eax
mov eax, dword [esp + 0x418]
test eax, eax
je 0x590c0b
cmp eax, 1
jne 0x592879
cmp dword [esp + 0x41c], 0
je 0x590c1c
lea eax, [esp + 0x41c]
lea ecx, [esp + 0x20]
lea edx, [esp + 0x1a8]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
lea eax, [esp + 0x248]
movsd qword [esp + 0x250], xmm1
movsd qword [esp + 0x248], xmm0
push eax
call fcn.004e4263
pop eax
cmp byte [esp + 0x30], 2
jne 0x590c7a
mov esi, dword [esp + 0x13c]
mov ecx, esi
call fcn.0058a861
mov eax, dword [esp + 0x1b0]
movsd xmm0, qword [esp + 0x1a0]
movsd xmm1, qword [esp + 0x1a8]
mov dword [esi + 0x10], eax
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
jmp 0x59083b
mov ecx, 0xa70588
call fcn.0040e00b
test al, al
je 0x59091b
mov ecx, dword [0xa70588]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x59091b
mov ecx, dword [0xa70588]
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp], eax
test edx, edx
je 0x590cdc
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x590cde
mov ecx, 0xa70564
call fcn.0040e00b
test al, al
je 0x5909a3
mov ecx, dword [0xa70564]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x5909a3
mov ecx, dword [0xa70564]
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp], eax
test edx, edx
je 0x590d70
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x590d72
mov ecx, 0xa6feb0
call fcn.0040e00b
test al, al
je 0x590996
mov ecx, dword [0xa6feb0]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x590996
mov ecx, dword [0xa6feb0]
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp], eax
test edx, edx
je 0x590ef6
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x590ef8
lea eax, [esp + 0x28]
push eax
call fcn.00578f41
pop eax
mov eax, dword [ebx + 0x40]
test eax, eax
je 0x590b97
cmp eax, 3
jne 0x590bf6
mov eax, dword [0xa70a24]
test eax, eax
jne 0x590bfd
mov ecx, 0xa70468
call fcn.0040e00b
test al, al
je 0x590bfd
mov ecx, dword [0xa70468]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x590bfd
mov ecx, dword [0xa70468]
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp], eax
test edx, edx
je 0x590e04
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x590e06
mov ecx, ebx
call fcn.004e88c7
lea eax, [esp + 0x358]
push eax
call fcn.004e39ce
pop eax
lea ecx, [esp + 0x1a0]
call fcn.0058ab03
jmp 0x59083b
mov ebx, dword [esp + 0x424]
mov esi, dword [esp + 0x420]
push 8
pop ecx
call fcn.004e415f
mov edi, eax
mov ecx, eax
mov edx, esi
push ebx
mov ebx, dword [esp + 0x10]
call fcn.004e763e
pop ecx
mov dword [esp + 0x24c], edi
mov edi, dword [esp + 4]
and dword [esp + 0x248], 0
lea esi, [esp + 0x20]
lea eax, [esp + 0x248]
lea edx, [esp + 0x1a8]
mov ecx, esi
push eax
call fcn.004e4263
pop eax
mov ecx, esi
call fcn.004e7897
jmp 0x590c0b
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
test ecx, ecx
je 0x594de1
mov dword [esp + 0x2e0], ecx
mov ecx, dword [ebx + 0x40]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x2e4], eax
dec ecx
mov dword [esp + 0x2ec], esi
mov dword [esp + 0x2e8], edx
cmp ecx, 2
jae 0x590ccb
mov eax, dword [0xa70a24]
test eax, eax
je 0x590e98
mov ecx, ebx
call fcn.004e88c7
lea ecx, [esp + 0x2e0]
call fcn.00579450
jmp 0x590c0b
xor eax, eax
lea edi, [esp + 0x248]
lea esi, [esp + 0x20]
mov dword [esp + 0x20], eax
mov ecx, edi
mov edx, esi
push 0xa01b74
call fcn.0057917a
pop eax
xor ecx, ecx
lea eax, [esp + 0x418]
mov dword [esp + 0x20], 0xa01bbc
lea edx, [esp + 0x2e0]
mov dword [esp + 0x418], edi
mov dword [esp + 0x41c], esi
mov dword [esp + 0x420], 0x9fd8ec
inc ecx
mov dword [esp + 0x2e0], eax
mov eax, dword [esp]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2e4], ecx
mov ecx, dword [0xa70588]
and dword [esp + 0x30], 0
mov dword [esp + 0x28], str.dest_is_out_of_bounds
and dword [esp + 0x2c], 0
mov dword [esp + 0x2e8], eax
call fcn.00606f01
mov edi, dword [esp + 4]
jmp 0x59091b
xor eax, eax
lea edi, [esp + 0x248]
lea esi, [esp + 0x20]
mov dword [esp + 0x20], eax
mov ecx, edi
mov edx, esi
push 0xa01acc
call fcn.0057917a
pop eax
xor ecx, ecx
lea eax, [esp + 0x418]
mov dword [esp + 0x20], 0xa01b04
lea edx, [esp + 0x1a0]
mov dword [esp + 0x418], edi
mov dword [esp + 0x41c], esi
mov dword [esp + 0x420], 0x9fd8ec
inc ecx
mov dword [esp + 0x1a0], eax
mov eax, dword [esp]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1a4], ecx
mov ecx, dword [0xa70564]
and dword [esp + 0x30], 0
mov dword [esp + 0x28], str.dest_is_out_of_bounds
and dword [esp + 0x2c], 0
mov dword [esp + 0x1a8], eax
call fcn.00606f01
mov edi, dword [esp + 4]
jmp 0x5909a3
xor eax, eax
lea edi, [esp + 0x248]
lea esi, [esp + 0x20]
mov dword [esp + 0x20], eax
mov ecx, edi
mov edx, esi
push 0xa015a4
call fcn.0057917a
pop eax
xor ecx, ecx
lea eax, [esp + 0x418]
mov dword [esp + 0x20], 0xa015c0
lea edx, [esp + 0x2e0]
mov dword [esp + 0x418], edi
mov dword [esp + 0x41c], esi
mov dword [esp + 0x420], 0x9fd8ec
inc ecx
mov dword [esp + 0x2e0], eax
mov eax, dword [esp]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2e4], ecx
mov ecx, dword [0xa70468]
and dword [esp + 0x30], 0
mov dword [esp + 0x28], str.dest_is_out_of_bounds
and dword [esp + 0x2c], 0
mov dword [esp + 0x2e8], eax
call fcn.00606f01
mov edi, dword [esp + 4]
jmp 0x590bfd
mov ecx, 0xa70594
call fcn.0040e00b
test al, al
je 0x590cc4
mov ecx, dword [0xa70594]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x590cc4
mov ecx, dword [0xa70594]
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp], eax
test edx, edx
je 0x590f8a
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x590f8c
xor eax, eax
lea edi, [esp + 0x248]
lea esi, [esp + 0x20]
mov dword [esp + 0x20], eax
mov ecx, edi
mov edx, esi
push 0x9fd8b4
call fcn.0057917a
pop eax
xor ecx, ecx
lea eax, [esp + 0x418]
mov dword [esp + 0x20], 0x9fd8e4
lea edx, [esp + 0x1a0]
mov dword [esp + 0x418], edi
mov dword [esp + 0x41c], esi
mov dword [esp + 0x420], 0x9fd8ec
inc ecx
mov dword [esp + 0x1a0], eax
mov eax, dword [esp]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1a4], ecx
mov ecx, dword [0xa6feb0]
and dword [esp + 0x30], 0
mov dword [esp + 0x28], str.dest_is_out_of_bounds
and dword [esp + 0x2c], 0
mov dword [esp + 0x1a8], eax
call fcn.00606f01
mov edi, dword [esp + 4]
jmp 0x590996
xor eax, eax
lea edi, [esp + 0x248]
lea esi, [esp + 0x20]
mov dword [esp + 0x20], eax
mov ecx, edi
mov edx, esi
push 0xa01bc4
call fcn.0057917a
pop eax
xor ecx, ecx
lea eax, [esp + 0x358]
mov dword [esp + 0x20], 0xa01c00
lea edx, [esp + 0x160]
mov dword [esp + 0x358], edi
mov dword [esp + 0x35c], esi
mov dword [esp + 0x360], 0x9fd8ec
inc ecx
mov dword [esp + 0x160], eax
mov eax, dword [esp]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x164], ecx
mov ecx, dword [0xa70594]
and dword [esp + 0x30], 0
mov dword [esp + 0x28], str.dest_is_out_of_bounds
and dword [esp + 0x2c], 0
mov dword [esp + 0x168], eax
call fcn.00606f01
mov edi, dword [esp + 4]
jmp 0x590cc4
mov eax, dword [0xa70a24]
test eax, eax
je 0x591343
mov dl, byte [ebx + 0x92]
mov cl, byte [ebx + 0x93]
mov al, byte [ebx + 0x91]
mov byte [esp + 8], dl
mov byte [esp + 0x10], cl
mov dl, byte [ebx + 0x94]
mov cl, byte [ebx + 0x95]
mov byte [esp], al
mov byte [esp + 0x14], dl
mov byte [esp + 0x104], cl
mov dl, byte [ebx + 0x96]
mov cl, byte [ebx + 0x98]
mov byte [esp + 0x240], dl
mov byte [esp + 0xe0], cl
mov eax, dword [esp + 0x3f4]
mov cl, byte [esp]
mov dword [esp + 0x120], ebx
mov dl, byte [esp + 8]
cmp dword [ebx + 0xe4], 0
mov dword [esp + 0x124], eax
mov byte [esp + 0x128], cl
mov cl, byte [esp + 0x10]
mov byte [esp + 0x129], dl
mov dl, byte [esp + 0x14]
mov byte [esp + 0x12a], cl
mov cl, byte [esp + 0x104]
mov byte [esp + 0x12b], dl
mov dl, byte [esp + 0x240]
mov byte [esp + 0x12c], cl
mov cl, byte [esp + 0xe0]
mov byte [esp + 0x12d], dl
mov byte [esp + 0x12e], cl
je 0x591220
mov eax, dword [0xa70a24]
test eax, eax
je 0x5912ae
and dword [esp + 0x35c], 0
and dword [esp + 0x358], 0
and dword [esp + 0x368], 0
mov edx, dword [esp + 0x154]
lea ecx, [esp + 0x20]
lea eax, [esp + 0x120]
push eax
call fcn.004e8bc7
pop eax
lea esi, [esp + 0x358]
mov ecx, esi
call fcn.0058bfa1
mov ecx, esi
call fcn.004cb2d7
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov eax, ecx
xor eax, 4
or eax, edx
movzx eax, byte [esp + 0x28]
je 0x591460
lea esi, [esp + 0x24]
mov dword [esp + 0x150], eax
movzx eax, byte [esp + 0x2b]
mov edi, dword [esp + 0x48]
mov ebx, dword [esi + 0x20]
movsd xmm1, qword [esi + 0x10]
movsd xmm0, qword [esi + 8]
movsd xmm3, qword [esi + 0x34]
movsd xmm2, qword [esi + 0x44]
mov dword [esp + 0x3e8], eax
movzx eax, word [esp + 0x29]
mov dword [esp + 0x178], ebx
mov ebx, dword [esp + 0x50]
movsd qword [esp + 0x168], xmm1
movsd xmm1, qword [esi + 0x18]
movsd qword [esp + 0x160], xmm0
movsd qword [esp + 0x1a0], xmm3
movsd qword [esp + 0x1b0], xmm2
mov dword [esp + 0x414], ebx
mov ebx, dword [esp + 0x4c]
movsd qword [esp + 0x170], xmm1
movsd xmm1, qword [esi + 0x3c]
mov dword [esp + 0x410], ebx
mov ebx, ecx
movsd qword [esp + 0x1a8], xmm1
movsd xmm1, qword [esi + 0x4c]
xor ebx, 3
or ebx, edx
mov ebx, dword [esp + 0x54]
movsd qword [esp + 0x1b8], xmm1
jne 0x591470
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 4]
mov eax, dword [ebx + 0xe4]
jmp 0x591222
xor eax, eax
xor ecx, ecx
cmp byte [ebx + 0xa0], 0
sete cl
mov ecx, dword [ebx + ecx*4 + 0xa4]
cmp eax, ecx
mov dword [esp + 0xf0], ecx
jae 0x5913a1
mov edx, dword [esp + 0x3f0]
lea ecx, [esp + 0x20]
push dword [esp + 0x1c]
call fcn.00595f38
pop eax
cmp byte [esp + 0x20], 5
je 0x59140d
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x148]
mov dword [esp + 0x14c], ecx
lea ecx, [esp + 0x358]
mov dword [esp + 0x148], eax
call fcn.00599c67
cmp dword [esp + 0x358], 0
jne 0x591427
cmp dword [esp + 0x35c], 0
jne 0x591079
jmp 0x591449
mov ecx, 0xa70480
call fcn.0040e00b
test al, al
je 0x5910fd
mov ecx, dword [0xa70480]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x5910fd
mov edx, dword [0xa70480]
mov dword [esp + 0x10c], str.dest_is_out_of_bounds
and dword [esp + 0x110], 0
lea ecx, [esp + 0x358]
lea eax, [edx + 0x1c]
mov dword [esp + 0x114], eax
lea eax, [esp + 0x10c]
push eax
call fcn.00605c1b
pop eax
mov eax, dword [esp + 0x358]
or eax, dword [esp + 0x35c]
je 0x591115
mov ecx, dword [esp + 0x360]
mov edx, dword [esp + 0x364]
lea eax, [esp + 0x358]
push eax
call fcn.00606ebe
pop eax
jmp 0x591115
mov ecx, 0xa703f0
call fcn.0040e00b
test al, al
je 0x59102b
mov ecx, dword [0xa703f0]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x59102b
mov ecx, dword [0xa703f0]
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp], eax
test edx, edx
je 0x591625
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x591627
mov eax, dword [0xa70a24]
cmp eax, 1
ja 0x591767
mov ecx, 0xa70348
call fcn.0040e00b
test al, al
je 0x591767
mov ecx, dword [0xa70348]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x591767
mov ecx, dword [0xa70348]
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp], eax
test edx, edx
je 0x5916b9
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x5916bb
push 4
pop edx
mov eax, dword [esp + 0xe8]
mov esi, dword [esp + 0xec]
mov ecx, dword [esp + 0xe4]
jmp 0x59143f
mov ecx, dword [esp + 0x35c]
push 3
pop edx
mov eax, dword [esp + 0xe8]
mov esi, dword [esp + 0xec]
xor edi, edi
mov dword [esp], eax
jmp 0x59198e
mov eax, dword [0xa70a24]
test eax, eax
je 0x5915c7
call fcn.004e7a8a
jmp 0x591771
xor ecx, ecx
mov edx, eax
call fcn.004e415f
mov ecx, eax
jmp 0x5919e3
mov esi, dword [esp + 0x3e8]
movsd xmm1, qword [esp + 0x168]
mov dword [esp + 0x10], ecx
movsd xmm0, qword [esp + 0x160]
mov ecx, dword [esp + 0x414]
movsd xmm3, qword [esp + 0x1a0]
movsd xmm2, qword [esp + 0x1b0]
mov dword [esp + 8], edi
mov dword [esp], ebx
mov edi, edx
shl esi, 0x10
movsd qword [esp + 0x360], xmm1
movsd xmm1, qword [esp + 0x170]
movsd qword [esp + 0x358], xmm0
mov dword [esp + 0x15c], ecx
movsd qword [esp + 0x20], xmm3
movsd qword [esp + 0x30], xmm2
or eax, esi
shl eax, 8
add eax, dword [esp + 0x150]
movsd qword [esp + 0x368], xmm1
movsd xmm1, qword [esp + 0x1a8]
mov esi, eax
mov eax, dword [esp + 0x178]
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esp + 0x1b8]
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0x410]
movsd qword [esp + 0x38], xmm1
mov dword [esp + 0x158], eax
mov eax, dword [0xa70a24]
mov ebx, dword [esp + 0xc]
cmp eax, 1
ja 0x5918e8
mov ecx, 0xa7033c
mov dword [esp + 0xe4], esi
call fcn.0040e00b
mov esi, dword [esp + 0xe4]
test al, al
je 0x5918e8
mov ecx, dword [0xa7033c]
movzx edx, al
call fcn.00605cf4
mov esi, dword [esp + 0xe4]
test al, al
je 0x5918e8
mov ecx, dword [0xa7033c]
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp + 0x14], eax
test edx, edx
je 0x59180c
mov ebx, dword [ecx + 0x24]
mov eax, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x124], edx
mov dword [esp + 0x128], ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x12c], ecx
and dword [esp + 0x130], 0
jmp 0x59180e
mov ecx, 0xa70354
call fcn.0040e00b
test al, al
je 0x591456
mov ecx, dword [0xa70354]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x591456
mov ecx, dword [0xa70354]
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp], eax
test edx, edx
je 0x591778
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x59177a
xor eax, eax
lea edi, [esp + 0x248]
lea esi, [esp + 0x20]
mov dword [esp + 0x20], eax
mov ecx, edi
mov edx, esi
push 0xa01384
call fcn.0057917a
pop eax
xor ecx, ecx
lea eax, [esp + 0x1a0]
mov dword [esp + 0x20], 0xa013a4
lea edx, [esp + 0x2e0]
mov dword [esp + 0x1a0], edi
mov dword [esp + 0x1a4], esi
mov dword [esp + 0x1a8], 0x9fd8ec
inc ecx
mov dword [esp + 0x2e0], eax
mov eax, dword [esp]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2e4], ecx
mov ecx, dword [0xa703f0]
and dword [esp + 0x30], 0
mov dword [esp + 0x28], str.dest_is_out_of_bounds
and dword [esp + 0x2c], 0
mov dword [esp + 0x2e8], eax
call fcn.00606f01
mov edi, dword [esp + 4]
jmp 0x59102b
xor eax, eax
lea edi, [esp + 0x358]
lea esi, [esp + 0x20]
mov dword [esp + 0x20], eax
mov ecx, edi
mov edx, esi
push 0xa00f2c
call fcn.0057917a
pop eax
lea ecx, [esp + 0x120]
lea edx, [esp + 0xcc]
mov dword [esp + 0x20], 0xa00f5c
mov dword [esp + 0x24], 2
and dword [esp + 0x30], 0
lea eax, [esp + 0xf0]
mov dword [esp + 0x120], edi
mov dword [esp + 0x124], esi
mov dword [esp + 0x128], 0x9fd8ec
mov dword [esp + 0x10c], ecx
mov ecx, dword [esp]
mov dword [esp + 0x28], edx
xor edx, edx
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], fcn.0043ddb0
inc edx
mov dword [esp + 0x110], edx
mov dword [esp + 0x2c], edx
lea edx, [esp + 0x10c]
mov dword [esp + 0x114], ecx
mov ecx, dword [0xa70348]
call fcn.00606f01
mov edi, dword [esp + 4]
xor ecx, ecx
push 9
pop edx
call fcn.004e415f
mov ecx, eax
jmp 0x5919e7
xor eax, eax
lea edi, [esp + 0x358]
lea esi, [esp + 0x20]
mov dword [esp + 0x20], eax
mov ecx, edi
mov edx, esi
push 0xa00f6c
call fcn.0057917a
pop eax
lea ecx, [esp + 0x120]
xor eax, eax
mov dword [esp + 0x20], 0xa00f88
lea edx, [esp + 0x10c]
mov dword [esp + 0x120], edi
mov dword [esp + 0x124], esi
mov dword [esp + 0x128], 0x9fd8ec
mov dword [esp + 0x10c], ecx
mov ecx, dword [esp]
inc eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x24], eax
and dword [esp + 0x30], 0
mov dword [esp + 0x28], str.dest_is_out_of_bounds
and dword [esp + 0x2c], 0
mov dword [esp + 0x114], ecx
mov ecx, dword [0xa70354]
call fcn.00606f01
mov edi, dword [esp + 4]
jmp 0x591456
xor eax, eax
lea esi, [esp + 0x120]
mov dword [esp + 0x120], eax
lea ecx, [esp + 0x10c]
mov edx, esi
push 0xa00efc
call fcn.0057917a
pop eax
mov eax, dword [esp + 8]
mov ecx, dword [esp]
lea edx, [esp + 0x140]
mov dword [esp + str.parsed__headers], 0xa00f1c
mov dword [esp + 0x124], 2
and dword [esp + 0x130], 0
mov dword [esp + 0x128], edx
xor edx, edx
inc edx
mov dword [esp + 0x12c], edx
add eax, ecx
lea ecx, [esp + 0x40c]
mov dword [esp + 0x140], ecx
lea ecx, [esp + 0x10c]
mov dword [esp + 0x40c], eax
mov dword [esp + 0x144], fcn.0043ddb0
mov dword [esp + 0xcc], ecx
lea ecx, [esp + 0xcc]
mov dword [esp + 0xd0], esi
mov dword [esp + 0xd4], 0x9fd8ec
mov dword [esp + 0xf0], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xf4], edx
lea edx, [esp + 0xf0]
mov dword [esp + 0xf8], ecx
mov ecx, dword [0xa7033c]
call fcn.00606f01
mov esi, dword [esp + 0xe4]
movsd xmm1, qword [esp + 0x360]
mov eax, dword [esp + 0x370]
movsd xmm2, qword [esp + 0x358]
mov ecx, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x368]
movsd xmm3, qword [esp + 0x20]
mov edx, dword [esp + 0x10]
movsd qword [esp + 0x228], xmm1
movsd xmm1, qword [esp + 0x28]
mov dword [esp + 0x238], eax
movsd qword [esp + 0x220], xmm2
mov eax, dword [esp + 0x158]
movsd xmm2, qword [esp + 0x30]
mov dword [esp + 0x408], ecx
mov ecx, esi
mov esi, dword [esp + 8]
movsd qword [esp + 0x230], xmm0
movsd qword [esp + 0x2e0], xmm3
movsd qword [esp + 0x2e8], xmm1
movsd xmm1, qword [esp + 0x38]
mov dword [esp + 0x404], eax
movsd qword [esp + 0x2f0], xmm2
movsd qword [esp + 0x2f8], xmm1
mov eax, edx
xor eax, 3
or eax, edi
je 0x5919d2
mov eax, ecx
mov ecx, edx
mov dword [esp + 8], edi
xor ecx, 4
mov dword [esp + 0xe4], eax
or ecx, edi
mov edi, eax
jne 0x591a44
mov ecx, dword [esp]
mov dword [esp + 0xec], esi
mov dword [esp + 0xe8], ecx
push 5
pop edx
mov edi, dword [esp + 4]
xor eax, eax
jmp 0x591e9e
mov eax, dword [esp]
mov dword [esp + 0xec], esi
mov dword [esp + 0xe8], eax
mov edi, dword [esp + 4]
mov esi, ebx
mov bl, byte [ebx + 0x9a]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xcc], ecx
mov ecx, esi
call fcn.004e88c7
mov eax, dword [esi + 0xe4]
test eax, eax
je 0x591b8f
mov ecx, dword [esp + 0x154]
xor edx, edx
mov ecx, dword [ecx]
cmp eax, edx
je 0x591a36
movzx esi, byte [ecx + edx]
cmp esi, 0xd
je 0x591a33
cmp esi, 0xa
jne 0x591b74
inc edx
jmp 0x591a1d
mov dword [esp + 0x160], eax
mov edx, eax
jmp 0x591b83
mov eax, dword [esp + 0x238]
movsd xmm0, qword [esp + 0x230]
lea ecx, [esp + 0x254]
movsd xmm1, qword [esp + 0x228]
movsd xmm2, qword [esp + 0x2e0]
mov dword [ecx + 0x18], eax
movsd qword [ecx + 0x10], xmm0
movsd xmm0, qword [esp + 0x220]
mov eax, dword [esp + 0x408]
movsd qword [ecx + 8], xmm1
movsd xmm1, qword [esp + 0x2f0]
movsd qword [ecx], xmm0
mov dword [esp + 0x270], esi
mov dword [esp + 0x278], eax
mov eax, dword [esp + 0x404]
movsd xmm0, qword [esp + 0x2f8]
mov dword [esp + 0x274], eax
mov eax, dword [esp]
mov dword [esp + 0x27c], eax
movsd qword [ecx + 0x3c], xmm1
movsd xmm1, qword [esp + 0x2e8]
mov eax, dword [esp + 8]
movsd qword [ecx + 0x44], xmm0
movsd qword [ecx + 0x2c], xmm2
movsd qword [ecx + 0x34], xmm1
mov dword [esp + 0x24c], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x248], edx
mov dword [esp + 0x250], eax
mov eax, dword [0xa70a24]
mov dword [esp + 8], esi
cmp eax, 1
ja 0x5923cf
mov ecx, 0xa703fc
call fcn.0040e00b
test al, al
je 0x5923cf
mov ecx, dword [0xa703fc]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x5923cf
mov ecx, dword [0xa703fc]
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp + 4], eax
test edx, edx
je 0x592328
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x59232a
cmp eax, edx
mov dword [esp + 0x160], edx
jb 0x594e90
mov ecx, dword [esp + 0x154]
call fcn.0043d32c
mov eax, dword [esp + 0xcc]
cmp byte [eax + 8], 0
je 0x591c21
test bl, bl
jne 0x591c21
mov eax, dword [esp + 0xc]
cmp dword [eax + 0xe4], 0
jne 0x591c21
mov eax, dword [0xa70a24]
mov ebx, dword [esp + 0xc]
cmp eax, 1
ja 0x591e84
mov ecx, 0xa70420
call fcn.0040e00b
test al, al
je 0x591e84
mov ecx, dword [0xa70420]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x591e84
mov ecx, dword [0xa70420]
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp], eax
test edx, edx
je 0x591df5
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x591df7
mov eax, dword [0xa70a24]
mov ebx, dword [esp + 0xc]
cmp eax, 1
ja 0x591d63
mov ecx, 0xa70414
call fcn.0040e00b
test al, al
je 0x591d63
mov ecx, dword [0xa70414]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x591d63
mov ecx, dword [0xa70414]
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp], eax
test edx, edx
je 0x591c8a
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x591c8c
xor eax, eax
lea edi, [esp + 0x1a0]
lea esi, [esp + 0x20]
mov dword [esp + 0x20], eax
mov ecx, edi
mov edx, esi
push 0xa0141c
call fcn.0057917a
pop eax
lea ecx, [esp + 0xcc]
mov dword [esp + 0x20], 0xa01440
mov dword [esp + 0x24], 3
and dword [esp + 0x30], 0
lea edx, [esp + 0x10c]
mov eax, dword [ebx + 0xe4]
mov dword [esp + 0x160], edi
mov dword [esp + 0x164], esi
mov dword [esp + 0x168], 0x9fd8ec
mov dword [esp + 0x358], ecx
lea ecx, [esp + 0x358]
mov dword [esp + 0x35c], 0x4e7c00
mov dword [esp + 0x360], edx
lea edx, [esp + 0x160]
mov dword [esp + 0x364], fcn.0043ddb0
mov dword [esp + 0x28], ecx
mov ecx, dword [esp]
mov dword [esp + 0x120], edx
mov dword [esp + 0x124], 1
lea edx, [esp + 0x120]
mov dword [esp + 0x2c], 2
mov dword [esp + 0x10c], eax
mov dword [esp + 0x128], ecx
mov ecx, dword [0xa70414]
call fcn.00606f01
mov edi, dword [esp + 4]
mov ecx, dword [esp + 0xd8]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
add eax, 0xfffffffe
adc ecx, 0xffffffff
push 3
pop edx
cmp edx, eax
mov edx, 0
sbb edx, ecx
mov edx, dword [esp + 0xcc]
mov dword [esp + 0x20], edx
mov dword [esp + 0x100], edx
jb 0x591dec
test eax, eax
jne 0x591dec
mov edx, dword [ebx + 0xe4]
cmp edx, 0x18
jb 0x591dec
mov eax, dword [esp + 0x154]
mov ecx, dword [eax]
push 0xa011a4
push 0x18
pop esi
push esi
call fcn.00567e98
pop ecx
pop ecx
mov ecx, eax
push esi
push str.PRI__HTTP_2.0_r_n_r_nSM_r_n_r_nD
call fcn.004bdd23
pop ecx
pop edx
test al, al
je 0x591dec
xor ecx, ecx
push 5
pop edx
call fcn.004e415f
mov dword [esp + 0x100], eax
lea eax, [esp + 0x20]
push eax
call fcn.004e39ce
pop eax
xor eax, eax
push 3
jmp 0x591e9d
xor eax, eax
lea edi, [esp + 0x1a0]
lea esi, [esp + 0x20]
mov dword [esp + 0x20], eax
mov ecx, edi
mov edx, esi
push 0xa01458
call fcn.0057917a
pop eax
xor ecx, ecx
lea eax, [esp + 0x358]
mov dword [esp + 0x20], 0xa01470
lea edx, [esp + 0x160]
mov dword [esp + 0x358], edi
mov dword [esp + 0x35c], esi
mov dword [esp + 0x360], 0x9fd8ec
inc ecx
mov dword [esp + 0x160], eax
mov eax, dword [esp]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x164], ecx
mov ecx, dword [0xa70420]
and dword [esp + 0x30], 0
mov dword [esp + 0x28], str.dest_is_out_of_bounds
and dword [esp + 0x2c], 0
mov dword [esp + 0x168], eax
call fcn.00606f01
mov edi, dword [esp + 4]
mov ecx, ebx
call fcn.004e899f
lea eax, [esp + 0xcc]
push eax
call fcn.004e39ce
pop eax
xor eax, eax
push 4
pop edx
mov ecx, dword [esp + 0xe8]
mov esi, dword [esp + 0xec]
mov dword [esp], ecx
mov ecx, edx
xor ecx, 5
or ecx, eax
je 0x592af7
mov ecx, edx
and cl, 7
cmp cl, 3
je 0x591f0d
mov ecx, edx
and ecx, 7
cmp ecx, 4
jne 0x591f9e
mov ecx, dword [esp + 0xd8]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
add eax, 0xfffffffe
adc ecx, 0xffffffff
push 3
pop edx
cmp edx, eax
mov edx, 0
sbb edx, ecx
jb 0x592312
cmp eax, 3
jne 0x592312
mov ecx, ebx
call fcn.00596430
jmp 0x592312
mov ecx, dword [esp + 0x100]
mov dword [esp + 8], esi
mov dword [esp + 0x160], ecx
mov eax, dword [0xa70a24]
cmp eax, 1
ja 0x5922de
mov ecx, 0xa70570
call fcn.0040e00b
mov ecx, dword [esp + 0x100]
test al, al
je 0x5922de
mov ecx, dword [0xa70570]
movzx edx, al
call fcn.00605cf4
mov ecx, dword [esp + 0x100]
test al, al
je 0x5922de
mov ecx, dword [0xa70570]
mov dword [esp + 4], edi
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp + 0x10], eax
test edx, edx
je 0x59222c
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x59222e
mov dword [esp + 0x248], edx
mov dword [esp + 0x24c], eax
mov eax, dword [esp + 0x100]
mov edx, dword [esp + 0x3cc]
mov dword [esp + 8], esi
mov dword [esp + 0x250], eax
mov eax, edx
or eax, edi
push 0xf
pop ecx
mov eax, edi
lea edi, [esp + 0x254]
lea esi, [esp + 0x418]
rep movsd dword es:[edi], dword [esi]
je 0x5920b9
mov bl, byte [esp + 0x1b]
mov edi, eax
lea ecx, [esp + 0x20]
mov eax, ebx
and al, 1
movzx eax, al
push eax
push edi
call fcn.004e6de5
pop eax
pop ecx
mov ecx, dword [esp + 0x38]
movsd xmm1, qword [esp + 0x28]
movsd xmm0, qword [esp + 0x20]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x13c]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x24]
movsd qword [esp + 0x2e8], xmm1
movsd qword [esp + 0x2e0], xmm0
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x2f0], eax
movsd xmm1, qword [ecx + 0x24]
movsd xmm0, qword [ecx + 0x1c]
mov dword [esp + 0x104], edx
movsd qword [esp + 0x1a8], xmm1
movsd xmm1, qword [ecx + 0x2c]
mov ecx, dword [esp + 0x5c]
movsd qword [esp + 0x1a0], xmm0
mov dword [esp + 0x3e0], ecx
mov ecx, esi
movsd qword [esp + 0x1b0], xmm1
call fcn.0058a861
mov eax, dword [esp + 0x2f0]
movsd xmm0, qword [esp + 0x2e0]
movsd xmm1, qword [esp + 0x2e8]
mov dword [esi + 0x10], eax
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
lea esi, [esp + 0x248]
mov eax, edi
jmp 0x5920df
mov bl, byte [esp + 0x1b]
mov dword [esp + 0x104], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
lea esi, [esp + 0x248]
test bl, 2
mov dword [esp + 4], eax
je 0x59214b
mov eax, dword [0xa70a24]
test eax, eax
je 0x5921d1
call fcn.004e65c5
mov ecx, dword [esp + 0xc]
mov edi, eax
mov esi, edx
cmp dword [ecx + 0x70], 0
je 0x592114
mov ecx, dword [esp + 0x3e4]
call fcn.004e659b
mov eax, dword [esp + 0xc]
xor edx, edx
lea ecx, [esp + 0x288]
inc edx
mov dword [eax + 0x70], 1
mov dword [eax + 0x74], edi
push esi
call fcn.0058d737
pop ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
call fcn.0058d7df
lea esi, [esp + 0x248]
push 0x12
pop ecx
lea edx, [esp + 0x20]
lea eax, [esp + 0x24]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
movsd xmm0, qword [esp + 0x1b0]
movsd xmm2, qword [esp + 0x1a0]
movsd xmm1, qword [esp + 0x1a8]
mov ecx, dword [esp + 0x108]
movsd qword [eax + 0x5c], xmm0
movsd qword [eax + 0x54], xmm1
movsd qword [eax + 0x4c], xmm2
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x8c], eax
call fcn.00579d9c
test eax, eax
jne 0x5947f4
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 4]
jmp 0x59230e
mov ecx, 0xa70360
call fcn.0040e00b
test al, al
je 0x5920f5
mov ecx, dword [0xa70360]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x5920f5
mov ecx, dword [0xa70360]
mov edx, dword [ecx + 0x20]
lea ebx, [ecx + 0x1c]
test edx, edx
je 0x5925f5
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x5925f7
xor eax, eax
lea edi, [esp + 0x248]
lea esi, [esp + 0x20]
mov dword [esp + 0x20], eax
mov ecx, edi
mov edx, esi
push 0xa01b0c
call fcn.0057917a
pop eax
xor ecx, ecx
lea eax, [esp + 0x160]
lea edx, [esp + 0x1a0]
mov dword [esp + 0x20], 0xa01b30
mov dword [esp + 0x1a0], edi
mov dword [esp + 0x1a4], esi
mov dword [esp + 0x1a8], 0x9fd8ec
mov dword [esp + 0x358], eax
inc ecx
lea eax, [esp + 0x358]
mov dword [esp + 0x2e0], edx
lea edx, [esp + 0x2e0]
mov dword [esp + 0x35c], 0x4e7c00
mov dword [esp + 0x24], ecx
and dword [esp + 0x30], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x2e4], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x2e8], ecx
mov ecx, dword [0xa70570]
call fcn.00606f01
mov ecx, dword [esp + 0x160]
mov edi, dword [esp + 4]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x108]
and dword [esp + 0x24], 0
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 3
call fcn.00579d9c
test eax, eax
jne 0x5947fc
mov ecx, ebx
call fcn.00596430
mov esi, dword [esp + 8]
mov eax, dword [esp]
mov dword [esp + 0xec], esi
mov dword [esp + 0xe8], eax
jmp 0x590837
xor eax, eax
lea edi, [esp + 0x1a0]
lea esi, [esp + 0x20]
mov dword [esp + 0x20], eax
mov ecx, edi
mov edx, esi
push 0xa013ac
call fcn.0057917a
pop eax
xor ecx, ecx
lea eax, [esp + 0x290]
lea edx, [esp + 0x2e0]
mov dword [esp + 0x20], 0xa013d0
mov dword [esp + 0x2e0], edi
mov dword [esp + 0x2e4], esi
mov dword [esp + 0x2e8], 0x9fd8ec
mov dword [esp + 0x160], eax
inc ecx
lea eax, [esp + 0x160]
mov dword [esp + 0x358], edx
lea edx, [esp + 0x358]
mov dword [esp + 0x164], 0x4e79e8
mov dword [esp + 0x24], ecx
and dword [esp + 0x30], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x35c], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x360], ecx
mov ecx, dword [0xa703fc]
call fcn.00606f01
mov byte [ebx + 0x98], 0
cmp byte [ebx + 0x9a], 2
je 0x5923e6
mov byte [ebx + 0x9a], 1
cmp byte [esp + 0x299], 0
jne 0x592404
mov eax, dword [0xa70a24]
test eax, eax
je 0x59251f
mov byte [ebx + 0x9a], 2
mov al, byte [esp + 0x28e]
mov edx, dword [esp + 0x290]
mov cl, byte [esp + 0x29a]
mov edi, dword [esp + 0x294]
mov byte [ebx + 0x9b], al
mov eax, edx
add cl, cl
or eax, edi
mov al, byte [esp + 0x298]
mov byte [esp + 0x1b], cl
je 0x59247e
test al, al
mov eax, edi
mov ecx, edx
mov dword [esp + 0x3cc], edx
mov dword [esp + 4], edi
not eax
je 0x5924f3
mov esi, edx
mov edx, dword [esp + 0x3dc]
and ecx, edi
cmp ecx, 0xffffffff
je 0x59257e
mov ecx, esi
xor ecx, 0xfffffffe
or ecx, eax
jne 0x592589
xor ecx, ecx
mov al, 1
xor edx, edx
jmp 0x59258f
test al, al
je 0x5927bb
mov eax, dword [0xa70a24]
cmp eax, 1
ja 0x5927bb
mov ecx, 0xa70408
call fcn.0040e00b
test al, al
je 0x5927bb
mov ecx, dword [0xa70408]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x5927bb
mov ecx, dword [0xa70408]
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp + 4], eax
test edx, edx
je 0x59272f
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x592731
mov esi, edx
mov edx, dword [esp + 0x3d4]
and ecx, edi
cmp ecx, 0xffffffff
je 0x5925b9
mov ecx, esi
xor ecx, 0xfffffffe
or ecx, eax
jne 0x5925c4
xor ecx, ecx
mov al, 1
xor edx, edx
jmp 0x5925ca
mov ecx, 0xa6fe6c
call fcn.0040e00b
test al, al
je 0x5923fd
mov ecx, dword [0xa6fe6c]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x5923fd
mov ecx, dword [0xa6fe6c]
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp + 4], eax
test edx, edx
je 0x59269e
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x5926a0
mov ecx, dword [esp + 0x3d8]
mov al, 2
jmp 0x59258f
xor eax, eax
mov ecx, esi
mov edx, edi
and dword [ebx + 0x44], 0
or byte [esp + 0x1b], 1
mov dword [ebx + 0x40], 1
mov byte [ebx + 0x48], al
mov byte [ebx + 0x49], 0
mov dword [esp + 0x3d8], ecx
mov dword [ebx + 0x50], ecx
mov dword [esp + 0x3dc], edx
jmp 0x5925ed
mov ecx, dword [esp + 0x3d0]
mov al, 2
jmp 0x5925ca
xor eax, eax
mov ecx, esi
mov edx, edi
and dword [ebx + 0x44], 0
mov dword [ebx + 0x40], 2
mov byte [ebx + 0x48], al
mov byte [ebx + 0x49], 0
mov dword [esp + 0x3d0], ecx
mov dword [ebx + 0x50], ecx
mov dword [esp + 0x3d4], edx
mov dword [ebx + 0x54], edx
jmp 0x5927ea
xor eax, eax
lea edi, [esp + 0x2e0]
lea esi, [esp + 0x20]
mov dword [esp + 0x20], eax
mov ecx, edi
mov edx, esi
push 0xa00fe8
call fcn.0057917a
pop eax
mov dword [esp + 0x20], 0xa01018
mov dword [esp + 0x24], 2
and dword [esp + 0x30], 0
xor ecx, ecx
lea eax, [esp + 0x220]
lea edx, [esp + 0x160]
mov dword [esp + str.roleclient], 0xa01038
mov dword [esp + 0x358], edi
mov dword [esp + 0x35c], esi
mov dword [esp + 0x224], fcn.0042d43d
mov dword [esp + 0x360], 0x9fd8ec
mov dword [esp + 0x28], eax
inc ecx
lea eax, [esp + 0x358]
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [0xa70360]
mov dword [esp + 0x168], ebx
call fcn.00606f01
jmp 0x5920f5
xor eax, eax
lea edi, [esp + 0x1a0]
lea esi, [esp + 0x20]
mov dword [esp + 0x20], eax
mov ecx, edi
mov edx, esi
push 0x9d3928
call fcn.0057917a
pop eax
xor ecx, ecx
lea eax, [esp + 0x2e0]
mov dword [esp + 0x20], 0x9d3954
lea edx, [esp + 0x358]
mov dword [esp + 0x2e0], edi
mov dword [esp + 0x2e4], esi
mov dword [esp + 0x2e8], 0x9d2c20
inc ecx
mov dword [esp + 0x358], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x35c], ecx
mov ecx, dword [0xa6fe6c]
and dword [esp + 0x30], 0
mov dword [esp + 0x28], str.dest_is_out_of_bounds
and dword [esp + 0x2c], 0
mov dword [esp + 0x360], eax
call fcn.00606f01
jmp 0x5923fd
xor eax, eax
lea edi, [esp + 0x1a0]
lea esi, [esp + 0x20]
mov dword [esp + 0x20], eax
mov ecx, edi
mov edx, esi
push 0xa013d8
call fcn.0057917a
pop eax
xor ecx, ecx
lea eax, [esp + 0x2e0]
mov dword [esp + 0x20], 0xa01414
lea edx, [esp + 0x358]
mov dword [esp + 0x2e0], edi
mov dword [esp + 0x2e4], esi
mov dword [esp + 0x2e8], 0x9fd8ec
inc ecx
mov dword [esp + 0x358], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x35c], ecx
mov ecx, dword [0xa70408]
and dword [esp + 0x30], 0
mov dword [esp + 0x28], str.dest_is_out_of_bounds
and dword [esp + 0x2c], 0
mov dword [esp + 0x360], eax
call fcn.00606f01
mov edx, dword [esp + 0x1c]
and dword [ebx + 0x44], 0
mov ecx, ebx
mov dword [ebx + 0x40], 3
call fcn.00595a84
mov eax, dword [esp + 0x290]
mov ecx, dword [esp + 0x294]
mov dword [esp + 0x3cc], eax
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x250]
mov edx, dword [esp + 0x248]
mov eax, dword [esp + 0x24c]
mov dword [esp + 0x100], ecx
push 0xf
pop ecx
lea edi, [esp + 0x418]
lea esi, [esp + 0x254]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 4]
mov esi, dword [esp + 8]
jmp 0x591eaf
mov edx, eax
xor edx, 4
or edx, ecx
je 0x592bde
or eax, ecx
je 0x5928b1
cmp byte [ebx + 0x90], 0
mov edi, 1
jne 0x592bc9
cmp dword [ebx + 0xe4], 0
jne 0x592bc9
lea ecx, [esp + 0x20]
mov edx, ebx
push dword [esp + 0x1c]
call fcn.00599b32
pop eax
cmp byte [esp + 0x20], 5
jne 0x59295b
xor edi, edi
inc edi
jmp 0x592bc9
mov esi, dword [esp + 0x13c]
mov ecx, esi
call fcn.0058a861
mov eax, dword [esp + 0x1b0]
movsd xmm0, qword [esp + 0x1a0]
movsd xmm1, qword [esp + 0x1a8]
mov dword [esi + 0x10], eax
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
jmp 0x592bde
mov ecx, dword [esp + 0xd8]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
add eax, 0xfffffffe
adc ecx, 0xffffffff
push 3
pop edx
cmp edx, eax
mov esi, 0
sbb esi, ecx
jb 0x592837
test eax, eax
jne 0x592837
mov esi, dword [ebx + 0xe4]
test esi, esi
je 0x5929b3
mov eax, dword [0xa70a24]
cmp eax, 1
ja 0x592bc0
mov ecx, 0xa7042c
call fcn.0040e00b
test al, al
je 0x592bc0
mov ecx, dword [0xa7042c]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x592bc0
mov ecx, dword [0xa7042c]
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp], eax
test edx, edx
je 0x592b0d
mov ebx, dword [ecx + 0x24]
mov eax, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x592b0f
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x358]
mov dword [esp + 0x35c], ecx
lea ecx, [esp + 0x248]
mov dword [esp + 0x358], eax
call fcn.00599c67
cmp dword [esp + 0x248], 0
je 0x59299c
mov esi, dword [esp + 0x24c]
xor edi, edi
jmp 0x592bc9
xor edi, edi
cmp dword [esp + 0x24c], 0
je 0x592a83
xor esi, esi
jmp 0x592bc9
lea ecx, [esp + 0x20]
mov edx, ebx
push dword [esp + 0x1c]
call fcn.00599b32
pop eax
cmp byte [esp + 0x20], 5
je 0x592871
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x358]
mov dword [esp + 0x35c], ecx
lea ecx, [esp + 0x248]
mov dword [esp + 0x358], eax
call fcn.00599c67
cmp dword [esp + 0x248], 0
jne 0x59298e
mov eax, dword [esp + 0x24c]
test eax, eax
mov dword [esp + 0x160], eax
je 0x5947d5
mov eax, dword [0xa70a24]
cmp eax, 1
ja 0x594c21
mov ecx, 0xa70438
call fcn.0040e00b
test al, al
je 0x594c21
mov ecx, dword [0xa70438]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x594c21
mov ecx, dword [0xa70438]
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp], eax
test edx, edx
je 0x594b77
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x594b79
mov eax, dword [0xa70a24]
test eax, eax
je 0x592a9d
mov ecx, ebx
call fcn.004e88c7
call fcn.004e7a8a
jmp 0x592bc7
mov ecx, 0xa7045c
call fcn.0040e00b
test al, al
je 0x592a8c
mov ecx, dword [0xa7045c]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x592a8c
mov ecx, dword [0xa7045c]
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp], eax
test edx, edx
je 0x594834
mov ebx, dword [ecx + 0x24]
mov eax, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x594836
mov eax, dword [esp]
mov dword [esp + 0xec], esi
mov dword [esp + 0xe8], eax
jmp 0x592bde
xor eax, eax
lea edi, [esp + 0x248]
mov dword [esp + 0x20], eax
lea edx, [esp + 0x20]
mov ecx, edi
push 0xa01478
call fcn.0057917a
pop eax
mov dword [esp + 0x20], 0xa014a0
mov dword [esp + 0x24], 2
and dword [esp + 0x30], 0
xor ecx, ecx
lea edx, [esp + 0x2e0]
mov dword [esp + 0x160], esi
lea eax, [esp + 0x160]
lea esi, [esp + 0x20]
mov dword [esp + 0x418], edi
mov dword [esp + 0x28], edx
inc ecx
lea edx, [esp + 0x418]
mov dword [esp + 0x2e0], eax
mov dword [esp + 0x41c], esi
mov dword [esp + 0x2e4], fcn.0043ddb0
mov dword [esp + 0x420], 0x9fd8ec
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1a4], ecx
mov ecx, dword [esp]
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a8], ecx
mov ecx, dword [0xa7042c]
call fcn.00606f01
xor edi, edi
call fcn.004e7a93
mov esi, eax
test edi, edi
jne 0x592bda
mov edi, dword [esp + 4]
test esi, esi
je 0x592bde
jmp 0x594cf2
mov edi, dword [esp + 4]
mov dword [esp + 4], edi
cmp byte [ebx + 0x128], 0
jne 0x59466d
mov eax, dword [ebx + 0x124]
cmp dword [eax], 0
jne 0x592c49
mov eax, dword [ebx + 0x40]
xor eax, 4
or eax, dword [ebx + 0x44]
je 0x592c49
mov ecx, dword [esp + 0xd8]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
add eax, 0xfffffffe
adc ecx, 0xffffffff
push 3
pop edx
cmp edx, eax
mov esi, 0
sbb esi, ecx
jb 0x592c49
test eax, eax
jne 0x592c49
mov ecx, dword [esp + 0x244]
call fcn.005963fd
test eax, eax
jne 0x592c49
mov eax, dword [esp + 0x108]
cmp dword [eax], 2
je 0x5931ea
cmp byte [ebx + 0xf0], 0
jne 0x592c80
cmp byte [ebx + 0xdc], 0
je 0x592c68
cmp dword [ebx + 0xd4], 0xf
ja 0x592e5e
mov ecx, dword [esp + 0xdc]
call fcn.005961ba
cmp eax, dword [ebx + 0xd8]
jae 0x592e5e
mov ecx, dword [ebx + 0x124]
mov eax, dword [ecx]
lea esi, [ecx + 4]
test eax, eax
cmove esi, eax
je 0x594632
mov dword [esp], ecx
mov ecx, dword [esp + 0xd8]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
add eax, 0xfffffffe
adc ecx, 0xffffffff
push 3
pop edx
cmp edx, eax
mov edx, 0
sbb edx, ecx
jb 0x592d2c
cmp eax, 1
je 0x592d2c
mov eax, dword [0xa70a24]
mov bl, 1
test eax, eax
jne 0x592df7
mov ecx, 0xa70540
call fcn.0040e00b
test al, al
je 0x592df7
mov ecx, dword [0xa70540]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x592df7
mov ecx, dword [0xa70540]
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp + 8], eax
test edx, edx
je 0x592e80
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x592e82
lea ecx, [esp + 0x20]
mov edx, esi
push dword [esp + 0x1c]
call fcn.0057a87c
pop eax
cmp dword [esp + 0x20], 2
je 0x594639
movsd xmm0, qword [esp + 0x20]
mov eax, dword [esp + 0x30]
movsd xmm1, qword [esp + 0x28]
movsd qword [esp + 0x220], xmm0
mov dword [esp + 0x230], eax
movsd qword [esp + 0x228], xmm1
cmp dword [esp + 0x220], 0
je 0x592fc9
mov eax, dword [esp + 0x224]
mov ecx, dword [esp + 0x228]
test eax, eax
je 0x594643
mov edx, dword [esp + 0x230]
mov edi, dword [esp + 0x22c]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], ecx
mov ecx, esi
mov dword [esp + 0x114], edi
mov dword [esp + 0x118], edx
call fcn.005905e0
mov edi, dword [esp + 0x114]
test al, al
jne 0x592ffc
test edi, edi
jne 0x59313b
mov eax, dword [0xa70a24]
test eax, eax
je 0x592e0b
lea ecx, [esp + 0x10c]
call fcn.00579450
xor ebx, ebx
mov edi, dword [esp + 4]
mov ecx, dword [esp]
movzx edx, bl
call fcn.005978e4
mov ebx, dword [esp + 0xc]
jmp 0x592be2
mov ecx, 0xa70558
call fcn.0040e00b
test al, al
je 0x592de5
mov ecx, dword [0xa70558]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x592de5
mov ecx, dword [0xa70558]
mov edx, dword [ecx + 0x20]
lea esi, [ecx + 0x1c]
test edx, edx
je 0x592f3c
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x592f3e
mov edx, dword [esp + 0x1c]
mov ecx, ebx
call fcn.00594eec
test eax, eax
jne 0x59466d
mov esi, edx
test edx, edx
je 0x592be2
jmp 0x5946a6
xor eax, eax
lea edi, [esp + 0x248]
mov dword [esp + 0x20], eax
lea edx, [esp + 0x20]
mov ecx, edi
push 0xa01a3c
call fcn.0057917a
pop eax
mov ecx, esi
call fcn.005905e0
xor ecx, ecx
lea edx, [esp + 0x358]
mov dword [esp + 0x20], 0xa01a84
lea esi, [esp + 0x160]
mov byte [esp + 0x160], al
mov dword [esp + 0x1a0], edi
inc ecx
mov dword [esp + 0x358], esi
lea esi, [esp + 0x20]
mov dword [esp + 0x35c], fcn.00447000
mov dword [esp + 0x24], ecx
and dword [esp + 0x30], 0
mov dword [esp + 0x28], edx
lea edx, [esp + 0x1a0]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1a4], esi
mov dword [esp + 0x1a8], 0x9fd8ec
mov dword [esp + 0x2e0], edx
mov dword [esp + 0x2e4], ecx
mov ecx, dword [esp + 8]
lea edx, [esp + 0x2e0]
mov dword [esp + 0x2e8], ecx
mov ecx, dword [0xa70540]
call fcn.00606f01
jmp 0x592df3
xor eax, eax
lea ebx, [esp + 0x20]
lea edi, [esp + 0x248]
mov dword [esp + 0x20], eax
mov ecx, edi
mov edx, ebx
push 0xa01abc
call fcn.0057917a
pop eax
xor ecx, ecx
lea eax, [esp + 0x1a0]
mov dword [esp + 0x20], 0xa01ab4
lea edx, [esp + 0x2e0]
mov dword [esp + 0x1a0], edi
mov dword [esp + 0x1a4], ebx
mov dword [esp + 0x1a8], 0x9fd8ec
inc ecx
mov dword [esp + 0x2e0], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2e4], ecx
mov ecx, dword [0xa70558]
and dword [esp + 0x30], 0
mov dword [esp + 0x28], str.dest_is_out_of_bounds
and dword [esp + 0x2c], 0
mov dword [esp + 0x2e8], esi
call fcn.00606f01
jmp 0x592de5
mov ecx, ebx
call fcn.005978f5
mov esi, eax
test eax, eax
mov eax, dword [esp + 0x220]
jne 0x5946aa
mov bl, 1
test eax, eax
je 0x592df7
lea ecx, [esp + 0x224]
call fcn.005979aa
jmp 0x592df7
test edi, edi
je 0x593524
mov ecx, dword [esp + 0xd8]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, eax
mov esi, ecx
add edx, 0xfffffffe
adc esi, 0xffffffff
push 3
pop ebx
cmp ebx, edx
mov ebx, 0
sbb ebx, esi
mov esi, dword [esp + 0x118]
jb 0x593038
cmp edx, 1
jne 0x594e4a
movsd xmm0, qword [esp + 0x10c]
mov ebx, dword [esp + 0xc]
or eax, ecx
mov dword [esp + 0x158], edi
movsd qword [esp + 0xf0], xmm0
je 0x593657
mov eax, dword [ebx + 0x60]
mov dword [esp + 0x10], esi
mov ebx, dword [ebx + 0x64]
mov ecx, edi
mov dword [esp + 8], eax
mov eax, dword [0xa70a24]
test eax, eax
je 0x593815
mov esi, dword [esp + 8]
xor eax, eax
mov edx, esi
xor edx, ecx
or edx, ebx
setne al
cmp ecx, esi
mov ecx, 0
sbb ecx, ebx
mov ecx, 0xff
cmovb eax, ecx
test al, al
je 0x59394c
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
movzx eax, al
cmp eax, 1
jne 0x593987
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf0]
mov esi, dword [esp + 8]
cmp byte [ebx + 0xdc], 0
mov dword [esp + 0x164], eax
mov dword [esp + 0x160], ecx
mov dword [esp + 0x168], edi
mov dword [esp + 0x16c], edx
mov dword [esp + 0x170], esi
je 0x593ae6
mov eax, dword [0xa70a24]
test eax, eax
je 0x593bcd
mov eax, dword [esp + 0x170]
movsd xmm0, qword [esp + 0x160]
movsd xmm1, qword [esp + 0x168]
lea ecx, [esp + 0x24]
mov dword [ecx + 0x10], eax
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov dword [esp + 0x20], 1
jmp 0x59370d
mov ecx, dword [esp + 0xd8]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, eax
mov esi, ecx
add edx, 0xfffffffe
adc esi, 0xffffffff
push 3
pop ebx
cmp ebx, edx
mov ebx, 0
sbb ebx, esi
mov ebx, dword [esp + 0x118]
mov dword [esp + 8], ebx
jb 0x593173
cmp edx, 1
jne 0x594e0c
movsd xmm0, qword [esp + 0x10c]
mov dword [esp + 0xcc], edi
or eax, ecx
lea ebx, [esp + 0x20]
movsd qword [esp + 0x160], xmm0
mov eax, dword [0xa70a24]
mov esi, dword [esp + 0xc]
je 0x593559
test eax, eax
mov ecx, edi
je 0x593722
mov eax, dword [esi + 0x60]
mov edx, dword [esi + 0x64]
cmp eax, ecx
mov ebx, edx
sbb ebx, 0
jae 0x59359d
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x164]
and dword [esi + 0x64], 0
and dword [esi + 0x60], 0
xor ebx, ebx
inc ebx
mov dword [esp + 0x248], ecx
mov dword [esp + 0x24c], edx
jmp 0x5935c6
mov edx, dword [esp + 0x3ec]
lea ecx, [esp + 0x20]
push dword [esp + 0x1c]
call fcn.005791c8
pop eax
mov eax, dword [esp + 0x20]
mov ecx, eax
and cl, 7
cmp cl, 3
je 0x5946c3
cmp eax, 4
je 0x594703
push 0x98
lea eax, [esp + 0x24]
push eax
lea esi, [esp + 0x250]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x9c]
movsd xmm0, qword [ecx + 0x94]
lea ecx, [esp + 0xf0]
mov dword [esp + 0xf8], eax
movsd qword [esp + 0xf0], xmm0
call fcn.00578f61
test al, al
je 0x5946d5
push 0x20
pop ecx
lea edi, [esp + 0x1a0]
lea edx, [esp + 0x18c]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x1b1]
mov eax, dword [esp + 0x2c8]
mov dword [esp + 8], eax
mov al, byte [esp + 0x2cc]
mov byte [esp + 0x10], al
lea eax, [esp + 0x254]
movsd xmm0, qword [eax + 0x7c]
movsd xmm1, qword [eax + 0x84]
lea eax, [esp + 0x224]
movsd qword [eax + 7], xmm1
movsd qword [eax - 1], xmm0
mov eax, dword [ecx + 0x6b]
movsd xmm0, qword [ecx + 0x5b]
movsd xmm1, qword [ecx + 0x63]
mov dword [edx + 0x10], eax
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
push 0xb
pop ecx
lea edx, [esp + 0x160]
lea esi, [esp + 0x1e0]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x24c]
mov ebx, dword [esp + 0x248]
mov dword [esp], eax
mov eax, dword [esp + 0x250]
mov dword [esp + 0x14], eax
push 0xd
pop ecx
lea esi, [esp + 0x254]
lea edi, [esp + 0x2e0]
rep movsd dword es:[edi], dword [esi]
push 0x10
pop ecx
mov esi, edx
lea edi, [esp + 0x314]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x108]
mov eax, dword [esp + 0xf8]
movsd xmm0, qword [esp + 0xf0]
mov ecx, esi
mov dword [esp + 0x168], eax
movsd qword [esp + 0x160], xmm0
call fcn.005793e5
mov edx, dword [esp]
mov eax, dword [esp + 0x168]
movsd xmm0, qword [esp + 0x160]
mov ecx, ebx
xor ecx, 4
mov dword [esi + 8], eax
movsd qword [esi], xmm0
or ecx, edx
push 0x1d
pop ecx
lea edi, [esp + 0x358]
lea esi, [esp + 0x2e0]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 4]
je 0x594703
mov eax, ebx
xor eax, 3
or eax, edx
je 0x5946fa
mov eax, dword [esp + 0x22f]
movsd xmm0, qword [esp + 0x220]
movsd xmm1, qword [esp + 0x228]
mov dword [esp + 0x418], ebx
mov dword [esp + 0x41c], edx
mov dword [esp + 0x12f], eax
mov eax, dword [esp + 0x14]
movsd qword [esp + 0x128], xmm1
movsd qword [esp + 0x120], xmm0
mov dword [esp + 0x420], eax
push 0x1d
pop ecx
lea edi, [esp + 0x424]
lea esi, [esp + 0x358]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x41c]
mov eax, dword [esp + 8]
mov dh, byte [esp + 0x10]
movzx esi, word [esp + 0x220]
mov dl, byte [esp + 0x222]
and dword [esp + 0x20], 0
mov dword [esp + 0x498], eax
mov byte [esp + 0x49c], dh
mov word [ecx + 0x81], si
mov byte [ecx + 0x83], dl
lea ecx, [esp + 0x123]
lea esi, [esp + 0x20]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
mov ecx, esi
movsd qword [esp + 0x250], xmm1
movsd qword [esp + 0x248], xmm0
call fcn.004e4eee
cmp dword [esp + 0x248], 0
je 0x593789
cmp dword [esp + 0x250], 0
je 0x5937a5
mov ecx, esi
lea edx, [esp + 0x248]
call fcn.0058b82f
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
movsd xmm1, qword [esp + 0x250]
movsd xmm0, qword [esp + 0x248]
mov dword [esp], 0
or eax, dword [esp + 0x24]
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
sete al
xor ecx, ebx
xor edx, edi
or edx, ecx
setne cl
or cl, al
movzx eax, cl
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], eax
mov esi, dword [ecx + 0x124]
mov ecx, esi
call fcn.005b8ea3
mov dword [esi], 1
xor eax, eax
movsd xmm0, qword [esp + 0x20]
movsd xmm1, qword [esp + 0x28]
movsd qword [esi + 4], xmm0
movsd qword [esi + 0xc], xmm1
mov esi, dword [esp + 8]
jmp 0x5937d1
mov eax, dword [0xa70a24]
test eax, eax
je 0x59388a
mov ecx, ebx
call fcn.005978f5
lea ecx, [esp + 0x10c]
mov esi, eax
call fcn.00579450
mov edi, dword [esp + 4]
test esi, esi
mov bl, 1
je 0x592df7
jmp 0x59464a
test eax, eax
mov edx, edi
je 0x5938e9
mov ecx, ebx
call fcn.004e8aa7
mov ecx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov edx, ebx
mov dword [esp + 0x24c], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x28]
push 2
pop ebx
jmp 0x5935ca
sub eax, ecx
mov ecx, dword [esp + 0x164]
mov dword [esi + 0x60], eax
mov eax, dword [esp + 0x160]
sbb edx, 0
xor ebx, ebx
mov dword [esi + 0x64], edx
mov dword [esp + 0x24c], ecx
mov dword [esp + 0x248], eax
lea edx, [esp + 0x20]
mov esi, dword [esp + 0x24c]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x248]
mov dword [esp + 0x24], esi
mov esi, dword [esp + 8]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], esi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x34], eax
mov esi, dword [esp + 0x10]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x38], esi
mov dword [esp + 0x40], 0xa01a10
mov dword [esp + 0x44], 2
call fcn.005979c0
mov ecx, dword [esp + 0xc]
xor ebx, ebx
mov eax, dword [ecx + 0x58]
or eax, dword [ecx + 0x5c]
je 0x592df3
mov eax, dword [ecx + 0x64]
mov edi, dword [esp + 4]
or eax, dword [ecx + 0x60]
jne 0x592df7
mov ecx, dword [esp + 0xc]
xor eax, eax
cmp byte [ecx + 0x68], 0
sete al
xor ecx, ecx
xor ebx, ebx
xor eax, 5
jmp 0x593b55
mov eax, dword [0xa70a24]
mov edx, edi
test eax, eax
je 0x5939be
lea ecx, [esp + 0x30]
call fcn.004e8aa7
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
cmp byte [ebx + 0xdc], 0
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x38]
movsd xmm0, qword [esp + 0x30]
movsd xmm2, qword [esp + 0x28]
movsd xmm1, qword [esp + 0x20]
mov dword [esp + 0x260], eax
movsd qword [esp + 0x258], xmm0
movsd qword [esp + 0x250], xmm2
movsd qword [esp + 0x248], xmm1
mov dword [esp + 0x264], str._r_n0_r_n_r_n0_r_n_r_n_
mov dword [esp + 0x268], 7
je 0x593a25
mov eax, dword [0xa70a24]
test eax, eax
je 0x593a7f
push 9
pop ecx
lea edi, [esp + 0x24]
lea esi, [esp + 0x248]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x20], 2
mov ecx, dword [esp + 0x244]
lea edx, [esp + 0x20]
call fcn.00597dc0
jmp 0x593b3c
mov ecx, 0xa7051c
call fcn.0040e00b
test al, al
mov ecx, edi
je 0x5931ab
mov ecx, dword [0xa7051c]
movzx edx, al
call fcn.00605cf4
test al, al
mov ecx, edi
je 0x5931ab
mov ecx, dword [0xa7051c]
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp + 0x10], eax
test edx, edx
je 0x593c3e
mov eax, dword [ecx + 0x1c]
mov ebx, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x593c40
mov eax, dword [esp + 0x250]
push dword [esp + 0x24c]
call dword [eax + 0x14]
add esp, 4
test al, al
je 0x59348c
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 0x124]
mov ecx, esi
call fcn.005b8ea3
and dword [esi], 0
xor eax, eax
mov cl, 1
mov dword [esp], ecx
push 2
pop esi
mov edi, dword [esp + 0x104]
mov ebx, dword [esp + 0x240]
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x418]
mov dword [esp + 0x240], ebx
push ebx
mov dword [esp + 0x108], edi
push edi
push eax
push esi
call fcn.00596448
add esp, 0x10
cmp byte [esp], 0
je 0x593808
lea ecx, [esp + 0x248]
call fcn.00579417
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 4]
jmp 0x592be2
mov ecx, 0xa70504
call fcn.0040e00b
test al, al
mov ecx, edi
je 0x59307a
mov ecx, dword [0xa70504]
movzx edx, al
call fcn.00605cf4
test al, al
mov ecx, edi
je 0x59307a
mov ecx, dword [0xa70504]
mov edx, dword [ecx + 0x20]
lea esi, [ecx + 0x1c]
test edx, edx
je 0x593d64
mov dword [esp + 0xe0], esi
mov esi, dword [ecx + 0x24]
mov eax, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0xe0]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x593d66
mov ecx, 0xa7054c
call fcn.0040e00b
test al, al
je 0x593531
mov ecx, dword [0xa7054c]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x593531
mov ecx, dword [0xa7054c]
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp + 8], eax
test edx, edx
je 0x593e1a
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x593e1c
mov ecx, 0xa70528
call fcn.0040e00b
test al, al
mov edx, edi
je 0x593563
mov ecx, dword [0xa70528]
movzx edx, al
call fcn.00605cf4
test al, al
mov edx, edi
je 0x593563
mov ecx, dword [0xa70528]
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp + 0x10], eax
test edx, edx
je 0x593eab
mov eax, dword [ecx + 0x1c]
mov ebx, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x593ead
mov ecx, dword [esp + 0xf4]
mov eax, dword [esp + 0xf0]
lea edx, [esp + 0x20]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0xdc]
call fcn.00597f23
mov ebx, dword [esp + 0xc]
jmp 0x593b3c
mov ecx, dword [esp + 0xf4]
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edx
lea edx, [esp + 0x20]
call fcn.00597f23
mov edi, dword [esp + 4]
jmp 0x593b46
mov ecx, 0xa70510
call fcn.0040e00b
test al, al
mov edx, edi
je 0x593666
mov ecx, dword [0xa70510]
movzx edx, al
call fcn.00605cf4
test al, al
mov edx, edi
je 0x593666
mov ecx, dword [0xa70510]
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp + 8], eax
test edx, edx
je 0x593f67
mov ebx, dword [ecx + 0x24]
mov eax, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x593f69
lea ecx, [esp + 0x248]
call fcn.0057aa38
mov ecx, dword [esp + 0xdc]
mov edx, eax
call fcn.004e8b6c
mov eax, dword [0xa70a24]
test eax, eax
je 0x593b66
lea edi, [esp + 0x248]
mov ecx, edi
call fcn.00597dfe
test edx, edx
je 0x593b35
mov ecx, dword [esp + 0xdc]
mov esi, edx
mov edx, eax
push esi
call fcn.0043be28
pop eax
mov ecx, edi
mov edx, esi
call fcn.005962cb
jmp 0x593a53
mov ecx, 0xa702e8
call fcn.0040e00b
test al, al
je 0x5936f5
mov ecx, dword [0xa702e8]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x5936f5
mov esi, dword [0xa702e8]
mov ebx, dword [esi + 0x20]
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x28]
test ebx, ebx
mov dword [esp + 8], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
je 0x594025
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
and dword [esp + 0x30], 0
xor edi, edi
inc edi
jmp 0x594029
mov ecx, dword [esp + 0xdc]
cmp edi, esi
cmovb esi, edi
mov edx, esi
call fcn.004e8b6c
mov eax, dword [0xa70a24]
test eax, eax
je 0x593cf6
lea edi, [esp + 0x160]
mov ecx, edi
call fcn.005963c6
test edx, edx
je 0x593b35
mov ecx, dword [esp + 0xdc]
mov esi, edx
mov edx, eax
push esi
call fcn.0043be28
pop eax
mov ecx, edi
mov edx, esi
call fcn.005962a0
jmp 0x593b0d
mov ecx, edi
call fcn.00579450
cmp byte [ebx + 0x68], 0
mov edi, dword [esp + 4]
je 0x593b4e
xor ecx, ecx
mov bl, 1
push 5
jmp 0x593b54
xor ecx, ecx
mov bl, 1
push 4
pop eax
mov edx, dword [esp + 0xd8]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x592df7
mov ecx, 0xa702f4
call fcn.0040e00b
test al, al
je 0x593a4c
mov ecx, dword [0xa702f4]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x593a4c
mov esi, dword [0xa702f4]
mov ebx, dword [esi + 0x20]
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x28]
test ebx, ebx
mov dword [esp + 8], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
je 0x5941a0
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
and dword [esp + 0x30], 0
xor edi, edi
inc edi
jmp 0x5941a4
mov ecx, 0xa702e8
call fcn.0040e00b
test al, al
je 0x593105
mov ecx, dword [0xa702e8]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x593105
mov esi, dword [0xa702e8]
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x24]
mov ebx, dword [esi + 0x28]
mov dword [esp + 0x10], esi
test ecx, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0xe0], edx
mov dword [esp + 0x150], ebx
je 0x59431f
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ebx
and dword [esp + 0x30], 0
xor esi, esi
inc esi
jmp 0x594323
xor eax, eax
lea ecx, [esp + 0x248]
lea ebx, [esp + 0x20]
mov dword [esp + 0x20], eax
mov edx, ebx
push 0xa019f0
call fcn.0057917a
pop eax
xor ecx, ecx
lea eax, [esp + 0xcc]
lea edx, [esp + 0x1a0]
mov dword [esp + 0x20], 0xa019a8
mov dword [esp + 0x358], eax
inc ecx
lea eax, [esp + 0x358]
mov dword [esp + 0x2e0], edx
lea edx, [esp + 0x2e0]
mov dword [esp + 0x35c], fcn.0043ddb0
mov dword [esp + 0x24], ecx
and dword [esp + 0x30], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x2e4], ecx
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x248]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ebx
mov dword [esp + 0x1a8], 0x9fd8ec
mov dword [esp + 0x2e8], ecx
mov ecx, dword [0xa7051c]
call fcn.00606f01
mov ecx, dword [esp + 0xcc]
jmp 0x5931ab
mov ecx, 0xa702f4
call fcn.0040e00b
test al, al
je 0x593b06
mov ecx, dword [0xa702f4]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x593b06
mov dword [esp + 8], esi
mov esi, dword [0xa702f4]
mov ebx, dword [esi + 0x20]
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x28]
test ebx, ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0xe0], edx
je 0x5944b5
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
and dword [esp + 0x30], 0
xor edi, edi
inc edi
jmp 0x5944b9
xor eax, eax
lea ecx, [esp + 0x248]
mov dword [esp + 0x20], eax
lea edx, [esp + 0x20]
push 0xa01984
call fcn.0057917a
pop eax
xor ecx, ecx
lea eax, [esp + 0x158]
lea edx, [esp + 0x1a0]
mov dword [esp + 0x20], 0xa019a8
mov dword [esp + 0x358], eax
inc ecx
lea eax, [esp + 0x358]
mov dword [esp + 0x2e0], edx
lea edx, [esp + 0x2e0]
mov dword [esp + 0x35c], fcn.0043ddb0
mov dword [esp + 0x24], ecx
and dword [esp + 0x30], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2e4], ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [0xa70504]
lea eax, [esp + 0x248]
mov dword [esp + 0x2e8], esi
mov dword [esp + 0x1a0], eax
lea eax, [esp + 0x20]
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], 0x9fd8ec
call fcn.00606f01
mov ecx, dword [esp + 0x158]
jmp 0x59307a
xor eax, eax
lea edi, [esp + 0x248]
lea esi, [esp + 0x20]
mov dword [esp + 0x20], eax
mov ecx, edi
mov edx, esi
push 0xa01a8c
call fcn.0057917a
pop eax
xor ecx, ecx
lea eax, [esp + 0x1a0]
mov dword [esp + 0x20], 0xa01ab4
lea edx, [esp + 0x2e0]
mov dword [esp + 0x1a0], edi
mov dword [esp + 0x1a4], esi
mov dword [esp + 0x1a8], 0x9fd8ec
inc ecx
mov dword [esp + 0x2e0], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2e4], ecx
mov ecx, dword [0xa7054c]
and dword [esp + 0x30], 0
mov dword [esp + 0x28], str.dest_is_out_of_bounds
and dword [esp + 0x2c], 0
mov dword [esp + 0x2e8], eax
call fcn.00606f01
jmp 0x593531
xor eax, eax
lea ebx, [esp + 0x20]
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x248]
mov edx, ebx
push 0xa01a00
call fcn.0057917a
pop eax
mov dword [esp + 0x20], 0xa019d4
mov dword [esp + 0x24], 2
and dword [esp + 0x30], 0
xor ecx, ecx
lea edx, [esp + 0x358]
lea eax, [esp + 0xcc]
lea esi, [esp + 0x248]
mov dword [esp + 0x28], edx
inc ecx
lea edx, [esp + 0x1a0]
mov dword [esp + 0x358], eax
mov dword [esp + 0x1a0], esi
mov dword [esp + 0x1a4], ebx
mov dword [esp + 0x35c], fcn.0043ddb0
mov dword [esp + 0x1a8], 0x9fd8ec
mov dword [esp + 0x2e0], edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x2e4], ecx
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x2e0]
mov dword [esp + 0x2e8], ecx
mov ecx, dword [0xa70528]
call fcn.00606f01
mov edx, dword [esp + 0xcc]
jmp 0x593563
xor eax, eax
lea edx, [esp + 0x20]
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x248]
push 0xa019b0
call fcn.0057917a
pop eax
lea eax, [esp + 0x158]
mov dword [esp + 0x20], 0xa019d4
mov dword [esp + 0x24], 2
and dword [esp + 0x30], 0
xor ecx, ecx
lea edx, [esp + 0x1a0]
mov dword [esp + 0x358], eax
lea eax, [esp + 0x358]
inc ecx
mov dword [esp + 0x2e0], edx
lea edx, [esp + 0x2e0]
mov dword [esp + 0x35c], fcn.0043ddb0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x2e4], ecx
mov ecx, dword [esp + 8]
lea eax, [esp + 0x248]
mov dword [esp + 0x1a0], eax
lea eax, [esp + 0x20]
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], 0x9fd8ec
mov dword [esp + 0x2e8], ecx
mov ecx, dword [0xa70510]
call fcn.00606f01
mov edx, dword [esp + 0x158]
jmp 0x593666
xor edi, edi
xor eax, eax
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x160]
lea edx, [esp + 0x20]
push 0xa00d8c
call fcn.0057917a
pop eax
mov dword [esp + str.buffer.queue], 0xa00da8
mov dword [esp + 0x1a4], 1
and dword [esp + 0x1b0], 0
mov dword [esp + 0x1a8], str.dest_is_out_of_bounds
and dword [esp + 0x1ac], 0
cmp edi, ebx
jae 0x594097
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x30], edi
inc edi
jmp 0x594099
xor eax, eax
add esi, 0x1c
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x358]
lea edx, [esp + 0x20]
push 0xa00d8c
call fcn.0057917a
pop eax
mov ecx, dword [esp + 0xdc]
call fcn.005961ba
mov dword [esp + 0x140], eax
xor eax, eax
cmp edi, ebx
jae 0x5940eb
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x30], edi
lea ebx, [esp + 0x20]
lea edi, [esp + 0x2e0]
mov dword [esp + 0x20], eax
mov ecx, edi
mov edx, ebx
push 0xa00d8c
call fcn.0057917a
pop eax
lea ecx, [esp + 0x248]
call fcn.0057aa38
lea edx, [esp + 0x160]
lea ecx, [esp + 0x1a0]
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], 3
mov dword [esp + 0x148], eax
mov dword [esp + 0xd4], esi
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
lea edx, [esp + 0x358]
lea ecx, [esp + 0x140]
mov dword [esp + 0x28], 0x9fd8ec
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ecx
mov ecx, 0x9fe8c8
lea edx, [esp + 0x148]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], ecx
mov ecx, dword [0xa702e8]
lea edx, [esp + 0xcc]
call fcn.00606f01
mov ebx, dword [esp + 0xc]
jmp 0x5936f5
xor edi, edi
xor eax, eax
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x160]
lea edx, [esp + 0x20]
push 0xa00db0
call fcn.0057917a
pop eax
mov dword [esp + str.buffer.flatten], 0xa00dd0
mov dword [esp + 0x1a4], 1
and dword [esp + 0x1b0], 0
mov dword [esp + 0x1a8], str.dest_is_out_of_bounds
and dword [esp + 0x1ac], 0
cmp edi, ebx
jae 0x594212
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x30], edi
inc edi
jmp 0x594214
xor eax, eax
add esi, 0x1c
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x358]
lea edx, [esp + 0x20]
push 0xa00db0
call fcn.0057917a
pop eax
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0xc0]
sub eax, dword [ecx + 0xc4]
mov dword [esp + 0x140], eax
xor eax, eax
cmp edi, ebx
jae 0x59426a
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x30], edi
lea ebx, [esp + 0x20]
lea edi, [esp + 0x2e0]
mov dword [esp + 0x20], eax
mov ecx, edi
mov edx, ebx
push 0xa00db0
call fcn.0057917a
pop eax
lea ecx, [esp + 0x248]
call fcn.0057aa38
lea edx, [esp + 0x160]
lea ecx, [esp + 0x1a0]
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], 3
mov dword [esp + 0x148], eax
mov dword [esp + 0xd4], esi
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
lea edx, [esp + 0x358]
lea ecx, [esp + 0x140]
mov dword [esp + 0x28], 0x9fd8ec
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ecx
mov ecx, 0x9fe8c8
lea edx, [esp + 0x148]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], ecx
mov ecx, dword [0xa702f4]
lea edx, [esp + 0xcc]
call fcn.00606f01
mov ebx, dword [esp + 0xc]
jmp 0x593a4c
xor esi, esi
xor eax, eax
mov ebx, ecx
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x358]
lea edx, [esp + 0x20]
push 0xa00d8c
call fcn.0057917a
pop eax
mov dword [esp + str.buffer.queue], 0xa00da8
mov dword [esp + 0x24c], 1
and dword [esp + 0x258], 0
mov dword [esp + 0x250], str.dest_is_out_of_bounds
and dword [esp + 0x254], 0
cmp esi, ebx
jae 0x59439d
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x24], ebx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], esi
inc esi
jmp 0x5943a3
mov eax, dword [esp + 0x10]
xor ecx, ecx
add eax, 0x1c
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x2e0]
lea edx, [esp + 0x20]
mov dword [esp + 0x10], eax
push 0xa00d8c
call fcn.0057917a
pop eax
mov ecx, dword [esp + 0xdc]
call fcn.005961ba
mov dword [esp + 0x140], eax
xor eax, eax
cmp esi, ebx
jae 0x5943ff
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], esi
lea ebx, [esp + 0x1a0]
lea esi, [esp + 0x20]
mov dword [esp + 0x20], eax
mov ecx, ebx
mov edx, esi
push 0xa00d8c
call fcn.0057917a
pop eax
lea edx, [esp + 0x358]
lea ecx, [esp + 0x248]
mov eax, dword [esp + 8]
mov dword [esp + 0xcc], esi
mov dword [esp + 0xd0], 3
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
lea edx, [esp + 0x2e0]
lea ecx, [esp + 0x140]
mov dword [esp + 0x28], 0x9fd8ec
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ecx
mov ecx, 0x9fe8c8
lea edx, [esp + 0x148]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0xcc]
cmp edi, eax
cmovb eax, edi
mov dword [esp + 0x148], eax
mov dword [esp + 0xd4], ecx
mov ecx, dword [0xa702e8]
call fcn.00606f01
mov ebx, dword [esp + 0xc]
jmp 0x593105
xor edi, edi
xor eax, eax
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x358]
lea edx, [esp + 0x20]
push 0xa00db0
call fcn.0057917a
pop eax
mov dword [esp + str.buffer.flatten], 0xa00dd0
mov dword [esp + 0x24c], 1
and dword [esp + 0x258], 0
mov dword [esp + 0x250], str.dest_is_out_of_bounds
and dword [esp + 0x254], 0
cmp edi, ebx
jae 0x59452a
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], edi
inc edi
jmp 0x59452c
xor eax, eax
add esi, 0x1c
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x2e0]
lea edx, [esp + 0x20]
push 0xa00db0
call fcn.0057917a
pop eax
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0xc0]
sub eax, dword [ecx + 0xc4]
mov dword [esp + 0x140], eax
xor eax, eax
cmp edi, ebx
jae 0x594585
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], edi
lea ebx, [esp + 0x20]
lea edi, [esp + 0x1a0]
mov dword [esp + 0x20], eax
mov ecx, edi
mov edx, ebx
push 0xa00db0
call fcn.0057917a
pop eax
lea edx, [esp + 0x358]
lea ecx, [esp + 0x248]
mov eax, dword [esp + 8]
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], 3
mov dword [esp + 0xd4], esi
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
lea edx, [esp + 0x2e0]
lea ecx, [esp + 0x140]
mov dword [esp + 0x28], 0x9fd8ec
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ecx
mov ecx, 0x9fe8c8
lea edx, [esp + 0x148]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], ecx
mov ecx, dword [0xa702f4]
lea edx, [esp + 0xcc]
mov dword [esp + 0x148], eax
call fcn.00606f01
mov ebx, dword [esp + 0xc]
jmp 0x593b06
xor ebx, ebx
xor edi, edi
inc edi
jmp 0x594651
xor ebx, ebx
xor edi, edi
inc edi
mov ecx, dword [esp]
jmp 0x594651
call fcn.00590751
mov esi, eax
mov ecx, dword [esp]
xor edi, edi
mov bl, 1
movzx edx, bl
call fcn.005978e4
mov ebx, dword [esp + 0xc]
test edi, edi
mov edi, dword [esp + 4]
jne 0x59466d
test esi, esi
jne 0x594cf2
mov edx, dword [esp + 0x1c]
mov ecx, ebx
call fcn.00594eec
test eax, eax
jne 0x594686
mov esi, edx
test edx, edx
jne 0x594cf2
cmp byte [ebx + 0x99], 0
mov eax, dword [esp + 0x3f8]
mov byte [ebx + 0x99], 0
jne 0x590826
jmp 0x594cf0
xor edi, edi
jmp 0x59465d
xor edi, edi
mov bl, 1
test eax, eax
je 0x59463e
lea ecx, [esp + 0x224]
call fcn.005979aa
jmp 0x59463e
mov eax, dword [0xa70a24]
test eax, eax
je 0x59470c
mov byte [ebx + 0x10c], 1
jmp 0x5946fa
mov eax, dword [0xa70a24]
test eax, eax
je 0x59476e
lea ecx, [esp + 0xf0]
call fcn.00579309
lea ecx, [esp + 0x248]
call fcn.005793cf
mov ecx, dword [esp + 0xc]
call fcn.00596430
mov ebx, dword [esp + 0xc]
jmp 0x59466d
mov ecx, 0xa6fec8
call fcn.0040e00b
test al, al
je 0x5946cc
mov ecx, dword [0xa6fec8]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x5946cc
mov ecx, dword [0xa6fec8]
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp], eax
test edx, edx
je 0x594a28
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24c], edx
mov dword [esp + 0x250], edi
mov dword [esp + 0x254], ecx
and dword [esp + 0x258], 0
jmp 0x594a2a
mov ecx, 0xa6febc
call fcn.0040e00b
test al, al
je 0x5946e2
mov ecx, dword [0xa6febc]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x5946e2
mov ecx, dword [0xa6febc]
mov edx, dword [ecx + 0x20]
lea esi, [ecx + 0x1c]
test edx, edx
je 0x594ad1
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x1a4], edx
mov dword [esp + 0x1a8], edi
mov dword [esp + 0x1ac], ecx
and dword [esp + 0x1b0], 0
jmp 0x594ad3
cmp byte [ebx + 0x9a], 0
mov eax, dword [0xa70a24]
je 0x59481e
test eax, eax
je 0x5948da
call fcn.004e7a8a
mov esi, eax
jmp 0x594828
mov ebx, dword [esp + 0xc]
mov esi, eax
jmp 0x594802
mov esi, eax
mov dword [esp + 4], edi
mov eax, dword [esp + 8]
mov ecx, dword [esp]
xor edi, edi
mov dword [esp + 0xec], eax
mov dword [esp + 0xe8], ecx
jmp 0x592bc9
xor esi, esi
test eax, eax
je 0x594938
mov ecx, ebx
call fcn.004e88c7
jmp 0x592995
xor eax, eax
lea esi, [esp + 0x248]
mov dword [esp + 0x20], eax
lea edx, [esp + 0x20]
mov ecx, esi
push 0xa01594
call fcn.0057917a
pop eax
xor ecx, ecx
lea edx, [esp + 0x418]
lea eax, [esp + 0x2e0]
mov dword [esp + 0x20], 0xa0153c
mov dword [esp + 0x418], esi
lea esi, [esp + 0x20]
mov dword [esp + 0x2e0], ebx
mov dword [esp + 0x2e4], 0x4e851e
inc ecx
mov dword [esp + 0x1a0], edx
lea edx, [esp + 0x1a0]
mov dword [esp + 0x41c], esi
mov dword [esp + 0x420], 0x9fd8ec
mov dword [esp + 0x24], ecx
and dword [esp + 0x30], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1a4], ecx
mov ecx, dword [esp]
mov dword [esp + 0x1a8], ecx
mov ecx, dword [0xa7045c]
call fcn.00606f01
jmp 0x592a8c
mov ecx, 0xa70444
call fcn.0040e00b
test al, al
je 0x5947eb
mov ecx, dword [0xa70444]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x5947eb
mov ecx, dword [0xa70444]
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp], eax
test edx, edx
je 0x594c2d
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x594c2f
mov ecx, 0xa70450
call fcn.0040e00b
test al, al
je 0x594828
mov ecx, dword [0xa70450]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x594828
mov ecx, dword [0xa70450]
xor esi, esi
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x1c]
mov dword [esp], eax
mov eax, 0
test edx, edx
je 0x594998
mov ebx, dword [ecx + 0x24]
mov eax, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
lea edi, [esp + 0x248]
mov dword [esp + 0x20], eax
lea edx, [esp + 0x20]
mov ecx, edi
push 0xa01544
call fcn.0057917a
pop eax
xor ecx, ecx
lea edx, [esp + 0x418]
mov dword [esp + 0x20], 0xa0157c
lea eax, [esp + 0x20]
mov dword [esp + 0x418], edi
inc ecx
mov dword [esp + 0x1a0], edx
lea edx, [esp + 0x1a0]
mov dword [esp + 0x41c], eax
mov dword [esp + 0x420], 0x9fd8ec
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1a4], ecx
mov ecx, dword [esp]
and dword [esp + 0x30], 0
mov dword [esp + 0x28], str.dest_is_out_of_bounds
and dword [esp + 0x2c], 0
mov dword [esp + 0x1a8], ecx
mov ecx, dword [0xa70450]
call fcn.00606f01
jmp 0x594828
xor eax, eax
lea edi, [esp + 0x248]
lea esi, [esp + 0x1a0]
mov dword [esp + 0x248], eax
mov ecx, esi
mov edx, edi
push 0x9fd924
call fcn.0057917a
pop eax
lea ecx, [esp + 0x160]
xor eax, eax
mov dword [esp + str.client_tx_closed4], 0x9fd944
lea edx, [esp + 0x10c]
mov dword [esp + 0x160], esi
mov dword [esp + 0x164], edi
mov dword [esp + 0x168], 0x9fd8ec
mov dword [esp + 0x10c], ecx
mov ecx, dword [esp]
inc eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x24c], eax
and dword [esp + 0x258], 0
mov dword [esp + 0x250], str.dest_is_out_of_bounds
and dword [esp + 0x254], 0
mov dword [esp + 0x114], ecx
mov ecx, dword [0xa6fec8]
call fcn.00606f01
mov edi, dword [esp + 4]
jmp 0x5946cc
xor eax, eax
lea edi, [esp + 0x1a0]
lea ebx, [esp + 0x160]
mov dword [esp + 0x1a0], eax
mov ecx, ebx
mov edx, edi
push 0x9fd8fc
call fcn.0057917a
pop eax
xor eax, eax
lea ecx, [esp + 0x10c]
mov dword [esp + str.request_canceled_f], 0x9fd91c
lea edx, [esp + 0xcc]
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], edi
mov dword [esp + 0x114], 0x9fd8ec
inc eax
mov dword [esp + 0xcc], ecx
mov ecx, dword [0xa6febc]
mov dword [esp + 0x1a4], eax
and dword [esp + 0x1b0], 0
mov dword [esp + 0x1a8], str.dest_is_out_of_bounds
and dword [esp + 0x1ac], 0
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], esi
call fcn.00606f01
mov edi, dword [esp + 4]
jmp 0x5946e2
xor eax, eax
lea edi, [esp + 0x248]
lea esi, [esp + 0x20]
mov dword [esp + 0x20], eax
mov ecx, edi
mov edx, esi
push 0xa014b0
call fcn.0057917a
pop eax
lea eax, [esp + 0x160]
mov dword [esp + 0x20], 0xa014f0
mov dword [esp + 0x24], 2
and dword [esp + 0x30], 0
xor ecx, ecx
lea edx, [esp + 0x418]
mov dword [esp + 0x418], edi
mov dword [esp + 0x41c], esi
mov dword [esp + 0x420], 0x9fd8ec
mov dword [esp + 0x2e0], eax
lea eax, [esp + 0x2e0]
inc ecx
mov dword [esp + 0x1a0], edx
lea edx, [esp + 0x1a0]
mov dword [esp + 0x2e4], fcn.0043ddb0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1a4], ecx
mov ecx, dword [esp]
mov dword [esp + 0x1a8], ecx
mov ecx, dword [0xa70438]
call fcn.00606f01
call fcn.004e7a93
mov esi, eax
jmp 0x592995
xor eax, eax
lea edi, [esp + 0x248]
lea esi, [esp + 0x20]
mov dword [esp + 0x20], eax
mov ecx, edi
mov edx, esi
push 0xa01500
call fcn.0057917a
pop eax
xor ecx, ecx
lea edx, [esp + 0x418]
lea eax, [esp + 0x2e0]
mov dword [esp + 0x20], 0xa0153c
mov dword [esp + 0x2e0], ebx
mov dword [esp + 0x418], edi
mov dword [esp + 0x41c], esi
mov dword [esp + 0x2e4], 0x4e851e
mov dword [esp + 0x420], 0x9fd8ec
inc ecx
mov dword [esp + 0x1a0], edx
lea edx, [esp + 0x1a0]
mov dword [esp + 0x24], ecx
and dword [esp + 0x30], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1a4], ecx
mov ecx, dword [esp]
mov dword [esp + 0x1a8], ecx
mov ecx, dword [0xa70444]
call fcn.00606f01
jmp 0x5947eb
mov eax, dword [0xa70a24]
test eax, eax
je 0x594cfe
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov ecx, dword [eax]
push dword [eax + 4]
call dword [ecx + 8]
add esp, 4
xor eax, eax
inc eax
jmp 0x594cf4
xor esi, esi
xor eax, eax
mov edx, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, 0xa7057c
call fcn.0040e00b
test al, al
je 0x594cda
mov ecx, dword [0xa7057c]
movzx edx, al
call fcn.00605cf4
test al, al
je 0x594cda
mov ecx, dword [0xa7057c]
mov edx, dword [ecx + 0x20]
lea edi, [ecx + 0x1c]
test edx, edx
je 0x594d4a
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
jmp 0x594d4c
xor eax, eax
lea esi, [esp + 0x20]
lea ebx, [esp + 0x248]
mov dword [esi], eax
mov ecx, ebx
mov edx, esi
push 0xa01b38
call fcn.0057917a
pop eax
lea edx, [esp + 0x1a0]
lea ecx, [esp + 0x418]
lea eax, [esp + 0x400]
mov dword [esi], 0xa01b64
mov dword [esi + 4], 2
and dword [esi + 0x10], 0
mov dword [esp + 0x418], ebx
mov dword [esp + 0x41c], esi
mov dword [esp + 0x420], 0x9fd8ec
mov dword [edx], ecx
mov ecx, dword [0xa7057c]
mov dword [esp + 0x2e0], eax
lea eax, [esp + 0x2e0]
mov dword [esp + 0x2e4], fcn.00576040
mov dword [esi + 8], eax
xor eax, eax
inc eax
mov dword [edx + 4], eax
mov dword [esi + 0xc], eax
mov dword [edx + 8], edi
call fcn.00606f01
jmp 0x594cda
mov dword [esp + 0x248], eax
push 0xc
pop edx
mov ecx, str.just_sent_Ok_f
push 0x9d2b6c
push 0x9d20f8
lea eax, [esp + 0x250]
push eax
call fcn.0063cff0
add esp, 0xc
ud2
mov eax, dword [esp + 0xd8]
lea ecx, [esp + 0x20]
lea edx, [esp + 0x248]
mov dword [ecx], str.internal_error:_entered_unreachable_code:_write_body_invalid_state:_l
mov dword [esp + 0x248], eax
xor eax, eax
mov dword [esp + 0x24c], 0x4e861c
inc eax
mov dword [ecx + 4], eax
and dword [ecx + 0x10], 0
mov dword [ecx + 8], edx
mov edx, 0xa010b8
jmp 0x594e86
mov eax, dword [esp + 0xd8]
lea ecx, [esp + 0x20]
lea edx, [esp + 0x248]
mov dword [ecx], str.internal_error:_entered_unreachable_code:_write_body_invalid_state:_l
mov dword [esp + 0x248], eax
xor eax, eax
mov dword [esp + 0x24c], 0x4e861c
inc eax
mov dword [ecx + 4], eax
and dword [ecx + 0x10], 0
mov dword [ecx + 8], edx
mov edx, 0xa01584
mov dword [ecx + 0xc], eax
call fcn.0063cbf0
ud2
mov dword [esp + 0x358], eax
lea eax, [esp + 0x160]
lea ecx, [esp + 0x358]
mov dword [esp + 0x1a0], eax
mov eax, fcn.004c9748
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x1ac], eax
mov dword [ecx], str.cannot_advance_past__remaining_:___
push 2
pop eax
mov dword [ecx + 4], eax
and dword [ecx + 0x10], 0
lea edx, [esp + 0x1a0]
mov dword [ecx + 8], edx
mov edx, 0xa11b78
jmp 0x594e86